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