色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于AT89C51CC01單片機的CAN-LIN網關設計

          基于AT89C51CC01單片機的CAN-LIN網關設計

          作者: 時間:2011-08-11 來源:網絡 收藏

          圖2 單片機電路

            

          基于AT89C51CC01單片機的CAN—LIN網關設計

            圖3 CAN接口電路

            

          基于AT89C51CC01單片機的CAN—LIN網關設計

            圖4 LIN接口電路

            在電路中我們設計了一個5位的撥碼開關,由于在各個不同的工作系統(tǒng)中,LIN總線和CAN總線的傳輸是不一樣的,這就需要改換軟件,因此在此設計中用一個5位的撥碼開關用于波特率設置,三位用于LIN波特率設置,兩位用于CAN波特率設置。同時為了展示網關的工作狀態(tài),特意設計了工作指示燈,在接收和發(fā)送信號時分別以一定的頻率閃爍,當有故障出現(xiàn)時,兩個燈同時點亮。

            為增強CAN節(jié)點的抗干擾能力,單片機的TXDC和RXDC引腳并不是直接與PCA82C250A的TXD和RXD引腳相連,而是通過高速光耦6N137相連(圖3)。這樣很好的實現(xiàn)了總線上各個節(jié)點間的電氣隔離,光耦部分電路所采用的兩個電源VCC和VDD必須是完全隔離的,否則采用光耦也就失去了意義。

            網關軟件設計

            網關的軟件設計主要包括主控程序模塊和CAN模塊軟件設計以及LIN模塊軟件設計,CAN模塊軟件設計主要有三個子函數,一個是CAN初始化CAN_INIT(),另外兩個是CAN_RE_ISR()和CAN_SEND()。CAN_INIT()主要是設置CAN通信的波特率和CAN基本設置,波特率可以根據撥碼開關的值來設定,在系統(tǒng)上電之后通過自檢程序自動掃描,查預先設定好的波特率表格,設定CAN通信波特率。

            CAN_RE_ISR()負責信息的接收和處理,CAN_SEND()負責信息發(fā)送。

            LIN模塊軟件設計主要包括幾個文件:LIN.H、LIN.C、TEMR0.H TEMRO.C,其中LIN.H、LIN.C分別實現(xiàn)LIN規(guī)范的設定以及UART波特率的設定和LIN信息的接收與發(fā)送,TEMR0.H TEMRO.C用于產生LIN總線波特率。主控程序設計主要完成整個網關的信息轉發(fā)功能,當CAN接收中斷發(fā)生時,置LIN發(fā)送標志位,準備轉發(fā)CAN信息到LIN網絡;同樣,當LIN接收中斷生時,置CAN發(fā)送標志位,準備發(fā)送LIN信息到CAN網絡。

            整個軟件以C51編寫,并利用KEIL公司的仿真軟件進行軟件調試,最后將完整程序燒寫到的flash空間。

            結語

            本文提出了基于單片機的,解決了現(xiàn)場總線控制中的CAN總線控制網絡和LIN總線控制網絡之間的信息傳輸問題,為現(xiàn)場總線的靈活應用提供了基礎。本設計經過現(xiàn)場實驗,實驗結果表明網關運行良好,工作可靠穩(wěn)定,并已應用到實際工作中。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉