• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設計應用 > CAN總線到Ethernet網的網關研究實現

    CAN總線到Ethernet網的網關研究實現

    作者: 時間:2009-09-21 來源:網絡 收藏
    引言

    是一種開放式、數字化、多點通信的控制系統局域網絡,是當今自動化領域中最具有應用前景的技術之一。由于具有通信速率高、開放性好、報文短、糾錯能力強以及控制簡單、擴展能力強、系統成本低等特點,越來越受到人們的關注。以太網具有快速、靈活、方便、可靠的特長,如果把現場與以太網互聯的話,可過程控制中從設備層到管理層的一體化,使得企業可以廣泛地應用如互聯網、無線通信、智能設備和決策支持系統等新技術,以達到提高效率和降低成本的目的。

    硬件設計

    硬件選擇
    現場總線設備接入Internet,關鍵就是要TCP/IP 協議、以及傳輸信息介質的選擇。筆者用SX52微控制器作為處理器, 以太網驅動芯片RTL8019AS經耦合隔離濾波器HR61101G和RJ45接口接入以太網,配有RS232和總線兩個擴展接口,可以將具有RS232接口的設備或采用CAN總線協議通信的設備連到以太網上。RS232接口采用MAX232CPE芯片,CAN總線控制器采用Philips公司的SJA1000芯片,CAN收發器采用PCA82C250芯片。硬件結構框圖見圖1。

    圖1  硬件結構框圖
    工作原理為:當以太網中發送數據和請求,通過RJ45送到RTL8019AS,RTL8019AS 負責將處理后的以太網幀送入SX52的TCP/IP協議棧,由協議棧對數據報進行解析,得到原始的請求和控制信息。請求和控制信息再經過SJA1000進行CAN協議格式的數據封裝,然后和現場的CAN總線設備進行通信。請求和控制的回復信息到局域網的過程與上面正好相反。

    硬件電路圖
    在CAN到的硬件設計中,在確保通信功能順利實現的同時,充分利用了SX52芯片I/O口靈活配置的特點,最大程度地節約了微控制器SX52的硬件資源。其電路簡圖見圖2。

    圖2  電路簡圖

    SX52有5個I/O口共40個引腳,在設計中利用SX52的C口的RC0~RC7連接RTL8019AS的數據口SD0~SD7,SX52的B口兼顧選址和讀寫控制功能,在開發中用它與RTL8019AS 的地址及讀寫控制引腳連接。RTL8019AS 基地址選擇引腳IOS0~ IOS3接地,此時I/O基地址為300H,即001100000000,所以地址線SA9、SA8接+ 5V。又因為寄存器地址偏移量為00H~1FH 共32個,對應地址從300H到31FH,所以只需將地址線SA0~SA4接SX52 的RB0~RB4,其余地址線接地即可。芯片IORB、IOWB引腳為讀寫信號線,接SX52的RB6、RB5讀寫控制引腳。RTL8019AS 可以兼容8位和16位操作。圖2中IOCS16是16位I/O的選擇腳,當RTL8019AS上電復位的時候,如果這個腳為低電平,選擇8位模式,為高電平選擇16位模式。由于SX52是8位的數據總線,因此要用8位總線模式,所以將這個腳接地。RTL8019AS有3種工作方式,筆者采用第一種工作方式,此時JP 引腳接高電平。AUI引腳決定使用AUI還是BNC接口。高電平時使用AUI 接口,低電平時使用BNC接口,支持8線雙絞線或同軸電纜。設計中采用雙絞線為通信介質,將該引腳接地。RTL8019AS 使用引腳TPIN+ 、TPIN- 、TPOUT+和TPOUT-連接耦合隔離濾波器HR61101G,通過RJ45插頭實現與以太網的連接。SJA1000是獨立的CAN 通信控制器, 支持CAN2.0B協議。它的AD0~AD7為地址數據復用線,與SX52的D口RD0~RD7相連。當遠程用戶通過Web服務器查詢現場的CAN總線數據時,SJA1000將現場控制單元的CAN 總線數據解析,發送到SX52,再傳到Internet。PCA82C250對總線提供發送能力并對CAN控制器提供接收能力,它支持1Mbps的速度。為保證SX52與SJA1000協同工作,在硬件設計中將兩個芯片共用一個硬件復位線,以確保SX52與SJA1000硬件同步復位。MAX232CPE完成232電平與TTL電平轉換。用于提供一個本地接口,為調試和維護提供方便。TXD接SX52的RA2腳,RXD接SX52的RA3腳,RS―RXD和RS―TXD是RS232電平,為標準串口電平。數據可以從串口輸入到單片機SX52,SX52再把數據送到RTL8019AS。

    的軟件設計

      整個互聯系統的軟件設計可以分為3個部分:CAN總線設備接口通信程序、協議轉換程序和基于以太網的TCP/IP協議的程序實現。

    網關協議轉換程序
    網關協議轉換程序的整體設計思路為:當以太網應用層有數據要發送到CAN節點時,首先,數據發送到網關,由以太網控制器協議轉換模塊從UDP數據報文中解析出完整的CAN 協議數據包,存放在數據緩沖區A,再調用CAN 控制器協議模塊將它發送到CAN 總線上。反過來,當CAN 設備有數據要發送到用戶層時,首先數據發送到網關,由CAN控制器協議模塊將完整的CAN 協議數據包存放在數據緩沖區B,再調用以太網控制器協議轉換模塊將完整的CAN協議數據包作為應用層數據封裝發送到以太網應用層。

    tcp/ip相關文章:tcp/ip是什么



    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 潼关县| 陆川县| 台南市| 新平| 隆德县| 五原县| 乐陵市| 罗山县| 岗巴县| 温泉县| 黄大仙区| 紫阳县| 和林格尔县| 安岳县| 龙游县| 南华县| 苏尼特右旗| 苗栗市| 札达县| 青阳县| 龙川县| 澳门| 吉安县| 仁寿县| 卓尼县| 绥化市| 廊坊市| 繁峙县| 凌云县| 高邮市| 洛南县| 威海市| 丹东市| 于田县| 建昌县| 应城市| 大名县| 霍州市| 饶河县| 赤城县| 阳山县|