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