??????? 由于IP 尋址簡單, 適于異構網互連, 為實現分布式處理、實時監控的測控系統的實現提供了很好的條件。本文所構建的系統被用于將多個采集點的數據傳給主控機, 實時網絡還有其他三個采集節點, 主控機按順序給各個節點發指令字, 并依次從它們那里接收數據包, 其通信協議采用了T CP 和U DP。并以KEIL uVision3 的RT L 實時庫為軟件平臺, 基于ATMEL公司ARM7 系列處理器, 實現了完整的功能。
1 系統的硬件構成
1. 1 系統的硬件
系統的三個采集節點都采用ATMEL 的A T91SAM7X256, 該微控制器具備嵌入式10/ 100 以太網(Ethernet) MA C、CA N、全速( 12Mbps) U SB 2. 0。它針對廣泛的網絡化實時嵌入式系統而設計的,AT 91SAM7X256 還具備一個10 位模數轉換器( ADC) 、兩個串行外圍接口( SPI) 、同步串行接口( SSC) 、雙線接口( TWI) 、三個通用異步收發器( UART) 、一個8 級( 8- level) 優先中斷控制器( pr ior ity inter rupt controller ) 和眾多的監管功能。這個新型的50 MIPS MCU 擁有64KB 的靜態存儲器和256K B 的25ns 閃存, 這種閃存支持實時控制系統所需的可確定性處理能力。
主控機用PC 機, 操作系統用RedHat9. 0, 它主要用于輪詢各個采集節點, 并將從它們那里收到的數據包儲存和顯示出來。
1. 2 系統的拓撲結構
實時以太網的拓撲結構與以太網相同。主機通過以太網卡連到通信電纜上。通信電纜可以是同軸電纜, 也可以用非屏蔽雙絞線。如果是非屏蔽雙絞線, 則需要用HUB。
2 系統的軟件構成
2. 1 體系結構
實時以太網參照ISO 的OSI 模型, 采用縮減的網絡體系結構。網絡體系結構分為四層: 物理層、數據鏈路層、傳輸層和應用層, 其中數據鏈路層又可細分為MAC 子層和LLC 子層。以太網卡實現了物理層和MAC 子層能; LLC子層設計為向傳輸層提供無連接無確認的服務。傳輸層實現基于消息的數據傳輸, 并向應用層提供網絡中節點間實時數據傳輸服務。下面將著重討論傳輸層協議的設計。
2. 2 KEIL uVision3 的RTL 實時庫
RealView RL- ARM 是為解決基于ARM MCU 的嵌入式系統中的實時及通信問題而設計的緊密耦合庫集合。
它可以非常方便地應用于所有A RM7、ARM9 和Cort ex-M3 系列的處理器, 使得在ARM 處理器上運行實時程序非常容易。它包含四個部分: RT X 實時內核、Flash 文件系統、TCP/ IP 協議簇、RT L - CAN ( 控制域網絡) , Real??
V iew 實時庫可以解決嵌入式開發中的如下幾個常見問題:
( 1) 多任務( 可以在單CPU 上管理幾個工作或任務) ;( 2) 實時控制( 可以控制任務在既定時間內完成) ;( 3) 任務間通信( 可以實現系統中的任務間通信) ;( 4) Internet 連接( 通過以太網或串口( Modem) ) ;( 5) 嵌入式Web 服務器( 包括CGI 腳本) ;( 6)E- mail 公告( 通過SMT P) 。
系統的網絡功能正是構建在RT L 實時庫之上的。下面簡述一些RTL 實時庫的網絡函數。
( 1) TCP 發送函數BOOL t cp_ send ( U8 Socket , U8* buf, U16 dlen) ;其中Socket 為通信TCP Socket, 它包含了對方的IP和端口信息, buf 為要發送數據的首地址, dlen 為發送數據包的最大值。
( 2)U DP 的發送函數udp _ send ( U8 Socket , U8 *remip, U16 rempor t, U 8 * buf, U16 dlen) , 其中Socket 為通信U DP S ocket , remip 為對方的IP 地址, rempor t 為對方的通信端口, buf 為要發送數據的首地址, dlen 為發送數據包的最大值。
( 3) 接收數據時, RT L 實時庫不像BSD Socket 一樣有專門的接收函數, 而是利用回調機制, 即收到數據時, 就觸發相應的回調函數。另外, 對于T CP, 在回調函數里它有多個響應事件, 如TCP_EVT _CON REQ ( 連接請求) ; T CP_EVT_CONN ECT( 已建立連接) ; T CP_EVT _CLOSE( 連接已關閉) ; T CP_EV T_ABORT ( 連接異常終止) ; TCP_EV T_ACK( 發送的數據已被對方響應) ; T CP_EVT _DATA ( 收到數據包) , 提取收到的數據并進行處理就是在該事件下完成的。然而, 對于UDP, 它沒有各個響應事件。
2. 3 主控機的功能及系統的性能分析
主控機的運行環境為RedH at9. 0, 采用標準的BSDSocket , 它按順序給各點發指令字, 然后依次從它們那里接收數據包并進行存儲和顯示。
按照上述的硬件和軟件構建后, 調試和測試后可得系統的通信速率如表1 和表2 所示。
表1 PC 對3 個SAM7( 基于TCP )
?
表2 PC 對3 個SAM7( 基于UDP)
?
對照發現, U DP 的傳輸速率可以達到TCP 的約2. 5倍。由于U DP 協議并不提供數據傳送的保證機制, 如果在從發送方到接收方的傳遞過程中出現數據報的丟失, 協議本身并不能做出任何檢測或提示。因此, 我們把U DP協議稱為不可靠的傳輸協議。而T CP 協議中包含了專門的傳遞保證機制, 當數據接收方收到發送方傳來的信息時, 會自動向發送方發出確認消息; 發送方只有在接收到該確認消息之后才繼續傳送其它信息, 否則將一直等待直到收到確認信息為止。鑒于此, 我們在系統在采用了以下的機制, 即在PC 先采集節點發送指令字時用TCP 協議,而在傳輸采集數據包是就用UDP 協議。
3 結束語
保證網絡通信的實時性, 對整個實時系統的正常可靠運轉起著決定性作用。實時以太網具有實時、高速、價格便宜等優點。但也有其不足之處。如抗惡劣環境能力差;傳輸層在主機實現, 占用了主機的資源; 與主機上程序的協調運行也是要考慮的問題。
評論
查看更多