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