VxWorks下基于緩沖隊列的網(wǎng)絡(luò )通信
1引言
本文引用地址:http://dyxdggzs.com/article/157520.htm現代監控系統的監控對象越來(lái)越復雜,越來(lái)越分散,信號采集終端呈現分布式趨勢。各個(gè)信號采集終端經(jīng)常用小巧靈便、易于控制和性?xún)r(jià)比高的嵌入式系統構成相對獨立的數據采集系統,然后通過(guò)網(wǎng)絡(luò )將數據傳輸到上位機服務(wù)器進(jìn)行統一分析處理 [1]。負責數據傳輸的網(wǎng)絡(luò )通信協(xié)議和軟件在整個(gè)監控系統中起著(zhù)十分重要的作用,然而周?chē)h(huán)境的電磁干擾、上位機 CPU被占用等情況可能導致網(wǎng)絡(luò )阻塞、連接中斷等,如果軟件不能及時(shí)發(fā)現故障并做出相應的處理,將會(huì )直接影響到整個(gè)系統的穩定性,導致數據采集中斷,甚至使系統癱瘓。利用實(shí)時(shí)操作系統 VxWorks對多任務(wù)的良好支持,本文提出了一種基于緩沖隊列的網(wǎng)絡(luò )通信模式,并添加了網(wǎng)絡(luò )狀態(tài)監測功能,使系統能夠快速的對網(wǎng)絡(luò )斷線(xiàn)等故障做出響應,提高了網(wǎng)絡(luò )通信的穩定性和可靠性。
2 VxWorks及分布式數據采集系統介紹
VxWorks是美國風(fēng)河( Wind River Systems)公司開(kāi)發(fā)的一套具有微內核、可裁減的高性能實(shí)時(shí)操作系統,適用于當下所有流行的目標 CPU平臺,支持廣泛的網(wǎng)絡(luò )通信協(xié)議,為開(kāi)發(fā)者提供了高效的實(shí)時(shí)多任務(wù)調度、終端管理、實(shí)時(shí)的系統資源及實(shí)時(shí)的任務(wù)間通信功能,是嵌入式領(lǐng)域中應用最多的實(shí)時(shí)操作系統之一[2]。VxWorks采用了與 4.4BSD TCP/IP兼容的實(shí)時(shí)網(wǎng)絡(luò )協(xié)議棧,使得網(wǎng)絡(luò )開(kāi)發(fā)變得易于進(jìn)行和方便移植。利用 VxWorks對多任務(wù)和Socket的良好支持,可以方便地實(shí)現網(wǎng)絡(luò )通訊。
圖1是我們開(kāi)發(fā)的一個(gè)基于 TCP/IP協(xié)議的分布式監測系統的結構示意圖。該系統主要可分為三個(gè)層次結構:服務(wù)器、采樣節點(diǎn)、傳感器。傳感器負責采集信號,將物理信號轉換為電信號;采樣節點(diǎn)首先對信號進(jìn)行預處理,然后通過(guò) A/D芯片將信號轉換為數字信號,最后通過(guò)網(wǎng)絡(luò )傳送給服務(wù)器;服務(wù)器負責數據的接收、分析、存儲并顯示結果。服務(wù)器和采樣節點(diǎn)之間通過(guò)TCP/IP協(xié)議進(jìn)行數據的傳輸與接收,網(wǎng)絡(luò )通訊程序的質(zhì)量直接影響著(zhù)整個(gè)系統的穩定性和可靠性。TCP/IP協(xié)議是目前廣泛采用的一組完整的網(wǎng)絡(luò )通信協(xié)議,可以用在各種各樣的信道和底層協(xié)議之上,是一組不基于任何特定硬件平臺而可實(shí)現異種機互聯(lián)的網(wǎng)絡(luò )通信協(xié)議,在網(wǎng)絡(luò )通信中被廣泛應用[3-4]。
評論