基于嵌入式系統(tǒng)的網(wǎng)絡(luò)環(huán)境模擬器的設(shè)計(06-100)
鍵盤控制模塊
本文引用地址:http://www.ex-cimer.com/article/81188.htm鍵盤控制模塊與AT91RM9200的IO口相連,AT91RM9200利用查詢方式,監(jiān)測相應(yīng)IO引腳有無電平變化,然后進行相應(yīng)的處理。鍵盤控制模塊可以控制節(jié)點移動,并且可以選擇節(jié)點的移動速度。同時也可以預(yù)設(shè)幾種網(wǎng)絡(luò)拓撲結(jié)構(gòu),利用鍵盤直接選擇一種拓撲結(jié)構(gòu),節(jié)點能按照選擇的移動速度,移動到相應(yīng)的位置。
系統(tǒng)的軟件實現(xiàn)
網(wǎng)絡(luò)環(huán)境模擬器的軟件分兩個模塊,一個模塊用來實現(xiàn)網(wǎng)絡(luò)環(huán)境的模擬,另一個模塊用來實現(xiàn)相關(guān)信息在LCD上的顯示。對于網(wǎng)絡(luò)中的每個節(jié)點,網(wǎng)絡(luò)環(huán)境模擬器都有一個端口與其對應(yīng),在程序中每個網(wǎng)絡(luò)環(huán)境模擬器的端口都有一個結(jié)構(gòu)體與其對應(yīng)。
網(wǎng)絡(luò)環(huán)境的模擬
在網(wǎng)絡(luò)環(huán)境模擬器中,網(wǎng)絡(luò)環(huán)境的模擬主要有:物理層無線傳輸、網(wǎng)絡(luò)拓撲變化、提供同步信號等方面。
模擬無線信道傳輸
模擬物理層傳輸主要有三方面,一、網(wǎng)絡(luò)節(jié)點發(fā)送數(shù)據(jù),其它節(jié)點當滿足接收條件時應(yīng)該能收到數(shù)據(jù);二、要模擬節(jié)點數(shù)據(jù)傳輸速率;三、模擬節(jié)點間傳輸路徑上誤碼。
在真實的網(wǎng)絡(luò)環(huán)境中,一個網(wǎng)絡(luò)中的節(jié)點能夠接收到另一個節(jié)點的數(shù)據(jù),需要滿足的條件有:一個節(jié)點是發(fā)狀態(tài),另一個是收狀態(tài),并且兩個節(jié)點處在同一個信道上,而且接收方應(yīng)該處在發(fā)射方的功率覆蓋范圍之內(nèi)。在網(wǎng)絡(luò)環(huán)境模擬器中的模擬是這樣做的,網(wǎng)絡(luò)環(huán)境模擬器和網(wǎng)絡(luò)中節(jié)點的數(shù)據(jù)交互有兩種類型:控制信息和數(shù)據(jù)信息。網(wǎng)絡(luò)節(jié)點利用控制信息給網(wǎng)絡(luò)環(huán)境模擬器對應(yīng)的端口設(shè)置相應(yīng)的狀態(tài),數(shù)據(jù)信息是網(wǎng)絡(luò)節(jié)點與其它節(jié)點之間收發(fā)的數(shù)據(jù)。網(wǎng)絡(luò)環(huán)境模擬器依靠串口的RTS和 CTS的引腳電平來判斷是哪種類型的信息,利用串口的TX和RX來收發(fā)信息實體。在每次處理過程中,網(wǎng)絡(luò)環(huán)境模擬器可以根據(jù)先前每個網(wǎng)絡(luò)節(jié)點發(fā)來的的相關(guān)信息,把從每個網(wǎng)絡(luò)節(jié)點接收的數(shù)據(jù)發(fā)送給滿足接收條件的其它網(wǎng)絡(luò)節(jié)點。
在網(wǎng)絡(luò)環(huán)境模擬器中,我們利用AT91RM9200的定時器中斷來模擬節(jié)點間的數(shù)據(jù)傳輸速率。每次中斷處理完后向每個端口發(fā)送一個字節(jié)數(shù)據(jù)。假設(shè)我們要模擬短波信道的2.4Kbps—4.8Kbps信道速率,利用AT91RM9200的定時器中斷,每隔1/300秒或1/150秒產(chǎn)生一次中斷,在中斷里我們通過TL16C554A讀出各個網(wǎng)絡(luò)節(jié)點的串口數(shù)據(jù),這個過程相當于網(wǎng)絡(luò)節(jié)點發(fā)送數(shù)據(jù),并進行相應(yīng)的處理,得出網(wǎng)絡(luò)中哪些節(jié)點可以收到,然后再通過TL16C554A向?qū)?yīng)的各個網(wǎng)絡(luò)節(jié)點的串口發(fā)送數(shù)據(jù),這個過程相當于網(wǎng)絡(luò)節(jié)點接收數(shù)據(jù)。這樣相當于網(wǎng)絡(luò)節(jié)點每隔1/300秒或1/150秒收發(fā)一個字節(jié)數(shù)據(jù),即傳輸速率為2.4Kbps~4.8Kbps。
在任意傳輸路徑上可以加誤碼,且誤碼率可以控制,通過對從每個端口讀回的數(shù)據(jù)取反,便實現(xiàn)了誤碼的要求,只要周期性的控制誤碼開關(guān),就可以使傳輸路徑上的數(shù)據(jù)的得到不同的誤碼。
同步信號的提供
網(wǎng)絡(luò)模擬器能夠為每個網(wǎng)絡(luò)節(jié)點發(fā)送同步信號,為MAC層協(xié)議的調(diào)試提供支持,例如TDMA、跳頻等。節(jié)點可以用每次網(wǎng)絡(luò)環(huán)境模擬器發(fā)來的數(shù)據(jù)作為時間基準,這樣全網(wǎng)的節(jié)點時間基準就是一樣的了。同時網(wǎng)絡(luò)環(huán)境模擬器可以在特定時間,給每個節(jié)點發(fā)送一個時間同步信號,實現(xiàn)同步,為TDMA協(xié)議的調(diào)試帶來了很大的便利。
LCD信息顯示
LCD上可以顯示相關(guān)信息,先實現(xiàn)畫點、畫線、畫矩形等基本繪圖函數(shù),我們要顯示相應(yīng)的圖形可以用這些基本繪圖單元組合起來。在網(wǎng)絡(luò)環(huán)境模擬器的中斷處理過程中設(shè)置相應(yīng)的狀態(tài),例如,收發(fā)狀態(tài)、碰撞狀態(tài)和節(jié)點位置坐標,然后更新顯示狀態(tài)隊列,在主程序中執(zhí)行顯示程序,只要按照顯示狀態(tài)隊列中的信息畫圖就可以了。
結(jié)語
研制的具有16個端口的網(wǎng)絡(luò)環(huán)境模擬器,可以實現(xiàn)數(shù)據(jù)終端之間的任意連通關(guān)系,支持信道數(shù)據(jù)傳輸速率可變及傳輸路徑上加不同的誤碼。通過網(wǎng)絡(luò)環(huán)境模擬器,模擬網(wǎng)絡(luò)拓撲結(jié)構(gòu)的動態(tài)變化,可以在LCD上清楚地觀察節(jié)點之間數(shù)據(jù)收發(fā)歷程及節(jié)點是否碰撞的信息。
網(wǎng)絡(luò)環(huán)境模擬器為研究分組無線網(wǎng)的自組織自適應(yīng)功能、驗證網(wǎng)絡(luò)協(xié)議提供了一個良好的平臺,基于該網(wǎng)絡(luò)環(huán)境模擬器已經(jīng)實現(xiàn)了TDMA協(xié)議及AODV路由協(xié)議的開發(fā),驗證了方案的正確性。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論