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