- 相關推薦
CAN總線與以太網(wǎng)互連系統(tǒng)設計
摘要:介紹了一種基于單片機SX52的CAN與以太網(wǎng)互連方案,闡述了以太網(wǎng)和CAN總線網(wǎng)絡協(xié)議轉換的軟硬件設計,實現(xiàn)了以太網(wǎng)與現(xiàn)有CAN總線網(wǎng)的直接連接。保證管理監(jiān)控層(以太網(wǎng))與生產(chǎn)測控層(CAN總線網(wǎng))之間的連接,使得上下層數(shù)據(jù)能方便地通信。在大型企業(yè)自動化系統(tǒng)中,上層企業(yè)管理層和生產(chǎn)監(jiān)控層一般都采用以太網(wǎng)和PC機,而下層車間現(xiàn)場則采用現(xiàn)場總線和單片機測控設備。上下兩層的溝通,通常采用工業(yè)控制機加以太網(wǎng)卡,再加上PC機插槽上的接口卡或并行打印口的EPP接口卡實現(xiàn)。這種連接方式成本高,開發(fā)周期長。針對這種情況,筆者設計一種單獨的CAN以太網(wǎng)網(wǎng)關互連系統(tǒng),成功地實現(xiàn)以太網(wǎng)與現(xiàn)有CAN總線網(wǎng)的直接數(shù)據(jù)互聯(lián)。
1 系統(tǒng)結構
系統(tǒng)總體結構分為三部分:現(xiàn)場測控網(wǎng)絡(CAN網(wǎng)絡)、嵌入式透明SX52網(wǎng)關、以太網(wǎng)信息管理終端(如監(jiān)控平臺和網(wǎng)絡數(shù)據(jù)庫等),如圖1所示。
CAN總線是一個設備互連總線型控制網(wǎng)絡。在CAN總線上可以掛接多達110個設備節(jié)點,各設備間可以自主相互通信,實現(xiàn)復雜網(wǎng)絡控制系統(tǒng)。但設備信息層無法直接到達信息管理層,要想設備信息進入信息管理層需通過數(shù)據(jù)網(wǎng)關。嵌入式透明SX52網(wǎng)關就是為此而設計的。
透明式網(wǎng)關在以太網(wǎng)應用層構建和解析完整的CAN協(xié)議數(shù)據(jù)包。CAN協(xié)議數(shù)據(jù)包作為TCP/IP網(wǎng)絡應用層的數(shù)據(jù)進行傳輸,它對通信數(shù)據(jù)的具體實際意義不做任何解釋。透明式網(wǎng)關由通信處理器、CAN總線控制器和以太網(wǎng)控制器三部分組成。其中SX52單片機為核心處理器,它實現(xiàn)了CAN控制網(wǎng)絡與以太網(wǎng)之間的協(xié)議轉換。以太網(wǎng)信息管理層的控制指令發(fā)送到嵌入式透明SX52網(wǎng)關,將TCP/IP協(xié)議包數(shù)據(jù)轉換為CAN協(xié)議形式發(fā)送至CAN控制網(wǎng)絡中的指定設備節(jié)點,完成信息管理層對現(xiàn)場設備層的控制。同樣地,當CAN網(wǎng)絡上的設備數(shù)據(jù)(如定時采樣數(shù)據(jù)或報警信息)要傳輸?shù)叫畔⒐芾韺訒r,可將數(shù)據(jù)發(fā)送到嵌入式透明SX52網(wǎng)關,再通過網(wǎng)關協(xié)議轉換程序將CAN協(xié)議數(shù)據(jù)封裝成TCP/IP協(xié)議的以太網(wǎng)數(shù)據(jù)幀發(fā)送至以太網(wǎng)上的監(jiān)控計算機。
以太網(wǎng)信息管理終端是一個根據(jù)用戶的具體要求而設計的用戶層應用軟件。它可以是一個WIN32監(jiān)控程序或網(wǎng)絡數(shù)據(jù)庫(記錄CAN節(jié)點設備數(shù)據(jù))軟件等;甚至可能是CAN節(jié)點設備的服務器軟件,為設備提供較復雜的數(shù)據(jù)處理工作。
2 硬件設計
系統(tǒng)硬件分為兩大部分:CAN總線網(wǎng)絡設備接口設計和嵌入式透明SX52網(wǎng)關設計。
2.1 CAN總線網(wǎng)絡設備接口設計
CAN總線網(wǎng)絡設備接口設計較網(wǎng)關設計簡單。它是在完成設備功能的基礎上加入一個CAN通信控制器接口芯片,實現(xiàn)與CAN總線網(wǎng)絡的連接?紤]到開發(fā)成本和靈活性,筆者在設計中選用PHILIPHS公司的獨立CAN通信控制器SJA1000芯片和CAN總線收發(fā)器82C250芯片。其結構如圖2所示。
2.2 嵌入式透明SX52網(wǎng)關設計
嵌入式透明網(wǎng)關設計是整個系統(tǒng)設計的核心。其結構如圖3所示。它由CAN控制器協(xié)議轉換模塊和以太網(wǎng)控制器協(xié)議轉換模塊兩部分組成。網(wǎng)關硬件中SX52微處理器起核心作用。它是由美國Ubicom公司研制的高速可配置通信控制器,其處理速度相當高。在外接100MHz時鐘時,指令執(zhí)行速度可達100 MIPS。它可實現(xiàn)TCP/IP協(xié)議棧中的ARP、IP、UDP、TCP、HTTP、SMTP、ICMP等網(wǎng)絡協(xié)議。
CAN控制器協(xié)議轉換模塊硬件電路原理如圖3左框圖。它由三部分組成:微控制器SX52、獨立CAN通信控制器SJA1000、CAN總線收發(fā)器82C250。其中SX52為唯一的CPU核心,負責SJA1000的初始化,通過讀寫SJA1000內(nèi)部寄存器實現(xiàn)數(shù)據(jù)的接收、發(fā)送和錯誤處理等。PCA82C250則提供對總線的差動發(fā)送能力和對CAN控制器的差動接收能力。
以太網(wǎng)控制器協(xié)議轉換模塊主要由微控制器SX52、以太網(wǎng)通信控制器RTL8019AS和隔離濾波器FB2002組成。RTL8019AS是臺灣Realtek公司制造的一種高集成度的全雙工10Mbps以太網(wǎng)控制芯片,實現(xiàn)了基于Ethernet協(xié)議的MAC層的全部功能,內(nèi)置16KB的SRAM、雙DMA通道和FIFO完成數(shù)據(jù)包的接收和發(fā)送功能。在網(wǎng)關設計中,使用跳線模式(JP置為高)硬配置RTL8019AS為8位模式。使用RTL8019的低5位地址線A0~A4以及低8位數(shù)據(jù)線D0~D7。SX52的B口的B0~B4腳作為地址線連接RTL8019AS的低5位地址線,B5~B7作為控制線分別連接讀寫時序控制腳IORB、IOWB、IOCHRDY;C口作為數(shù)據(jù)線連接RTL8019AS的低8位數(shù)據(jù)線;A口保留,用作日后擴展。圖3中AT24C64為8KB EEPROM,主要用來保存嵌入式透明SX-52網(wǎng)關的配置信息,如網(wǎng)關IP地址、MAC地址和SJA1000的ID網(wǎng)絡標示符、網(wǎng)絡掩碼AMR和總線定時(BTR0、BTR1)等。這樣,可以靈活方便地修改網(wǎng)關參數(shù),適應不同環(huán)境,同時也考慮到以后的擴展。
RTL8019AS除與SX52連接外,還將其網(wǎng)絡收發(fā)器的4根引腳TPOUT+、TPOUT-、TPIN+、TPIN-通過外接的隔離濾波器FB2002與以太網(wǎng)相連。采用隔離濾波器FB2002是為了提高網(wǎng)絡通信的抗干擾能力。
3 軟件設計
整個互聯(lián)系統(tǒng)的軟件設計可以分為三部分:CAN總線設備接口通信程序、透明網(wǎng)關協(xié)議轉換程序和以太網(wǎng)層應用程序設計。其中,CAN總線設備接口通信程序和透明網(wǎng)關協(xié)議轉換程序的CAN控制器協(xié)議模塊在結構上有較大的相似性,但有可能因采用微控制器不同而導致實現(xiàn)的程序語言相異。因而,在此不作論述,而主要討論后兩個方面的程序設計。
3.1 透明網(wǎng)關協(xié)議轉換程序
透明網(wǎng)關協(xié)議轉換程序的整體設計思路為:當以太網(wǎng)
【CAN總線與以太網(wǎng)互連系統(tǒng)設計】相關文章:
基于CAN總線的EV電控系統(tǒng)通信的設計與開發(fā)03-19
CAN總線在樓宇監(jiān)控系統(tǒng)中的應用03-07
論基于CAN總線與以太網(wǎng)互聯(lián)的實時溫度和濕度監(jiān)控系統(tǒng)的研究與設03-27
基于CAN總線的工業(yè)通訊網(wǎng)絡系統(tǒng)的設計與實現(xiàn)03-07
基于CAN總線的汽車液晶儀表設計03-07