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












評論