智能裝置CAN轉以太互連通信方案設計
(2)RABBIT2000從處理器
該處理器使用內核為RABBIT2000的RCM2100集成卡。其SD0~SD7連接到DSP的GPIOB0-GPIOB7。SA1、SA0用來選擇從處理器接口的四個數據寄存器中的一個,連接到DSP的GPIOD1、GPIOD0。從芯片選擇管腳連接到DSP芯片的一個輸出端GPIOD4。連接到DSP的GPIOD3,如果為低,這根線被拉低使地址線所選擇的寄存器的內容被放置到總線上,連接到DSP的GPIOD2 ,這根線能夠將數據總線上的數據鎖存進入地址線所選擇的寄存器中。連接到DSP的一個中斷口,在它變低時向DSP申請中斷。如果從處理器寫SPD0R寄存器,這根線置為低電平,聲明從處理器中有可用的數據;如果主處理器寫從處理器狀態(tài)寄存器,這根線變?yōu)楦唠娖?。使用串口A作為編程口,串口B及CLKB作為同步串口和DSP的SPI口相連,組成另一種接口方案。使用PC2作為RABBIT2000運行指示燈,以太網模塊(RCM2100自帶RJ-45接口)引出通信指示燈。PE4、本文引用地址:http://www.ex-cimer.com/article/157798.htm
4.2 協(xié)議轉換與以太網通信程序
嵌入式協(xié)議轉換程序的設計思路為:當有以太網應用層數據發(fā)送到現場智能裝置時,Rabbit把TCP數據報文解析出來后即發(fā)送給DSP處理,而當來自DSP的裝置內部數據要發(fā)往以太網應用層時則將其打包成TCP數據報文發(fā)送給目標TCP客戶端。該程序由Dynamic C開發(fā)環(huán)境開發(fā)。Dynamic C是Z-world 公司為其Rabbit系列產品開發(fā)的一種改進C語言開發(fā)系統(tǒng)。它提供豐富的函數庫,能實現Socket級別的TCP/IP編程,并支持各種網絡協(xié)議(如Http,Ftp等)。調用“dcrtcp.lib”,定義數據類型為tcp_Socket的變量,建立TCP套接字,利用其特殊的協(xié)語句(CoState),可以實現在單一程序中實現多線程,同時建立與處理多個TCP連接,支持多客戶端同時登入。
4.3 上位機應用層TCP/IP客戶端程序
后臺接口軟件具有后臺監(jiān)控軟件的中轉代理和智能裝置定值下載、報文監(jiān)視,以及PC調試等功能。后臺接口軟件使用Delphi 6.0快速開發(fā)環(huán)境(RAD)開發(fā)。利用其自帶的TClientSocket組件建立TCP客戶端,TClientSocket組件封裝了Socket套接字,只要將組件Active屬性設置為True,那么它就會自動不斷嘗試連接指定IP地址與端口(IEC60870-5-104指定端口為2404)的TCP服務器。TClientSocket組件自帶的TNMUDP組件與其他應用程序(如后臺監(jiān)控軟件)通信;開放原代碼的tmsAdvstring第三方組件包實現報表的生成與打印。
本文提出的基于雙處理器的CAN總線與以太網互連方案是一種高性能、可靠快捷的互連方案,已經在局地網成功應用于智能裝置中,滿足水電站、變電站等工業(yè)場合的應用要求。該互連方案使智能裝置與上位機系統(tǒng)有更深層次的互連,為遠程管理智能設備創(chuàng)造條件,具有非常廣闊的應用前景。
tcp/ip相關文章:tcp/ip是什么
評論