引 言
傳統的移動通信系統是集中式控制的,網絡的運行要基于預先架設好的網絡設備,但是在不能采用有中心的控制方式時并不適用。這時需要能實現臨時快速自動組網、節點能夠移動的網絡。
移動Ad hoc網絡是一種有特殊用途的對等式網絡,使用無線通信技術、網絡中的節點互相作為其鄰居的路由器,通過節點轉發實現節點間的通信,節點可以移動。與傳統的移動通信系統相比,它無需固定網絡作為支撐,具有組網快速靈活、支持高移動性、抗毀性強、成本低廉等優點,特別適用于軍事、搶險救災、電子教室等領域。這種網絡已經成為無線通信領域中一種有效的通信網絡形式,而且已經取得了廣泛的應用,如802.11系統、美國海陸空一體化數字通信系統。
在移動Ad hoc網絡中,由于通信節點是可移動的,因此網絡的拓撲結構也隨之動態變化,在Ad hoc網絡的研制階段,要驗證網絡通信協議的正確性,必須依托于實際的物理信道,做大量的野外試驗,給網絡通信實驗帶來很大的困難。網絡環境模擬器就是在這種背景下提出的,利用網絡環境模擬器,可以不依賴實際的物理信道,而且可以不用考慮物理層的傳輸協議,而只考慮MAC層和網絡層的協議開發,可以加快系統研發進程,便于系統調試和維護,是應用于通信網絡模擬試驗中的一種簡便而有效的設備。
網絡環境模擬器的功能要求
基于網絡環境模擬器的Ad Hoc網絡實驗系統由一個網絡環境模擬器和16個節點的網絡控制器組成。網絡環境模擬器模擬一個真實的Ad Hoc網絡環境,網絡控制器模擬Ad Hoc網絡中的節點,網絡環境模擬器是針對移動Ad hoc網而研制的,移動Ad hoc網具有自組織和自適應的特性,包括自適應拓撲探測、自適應拓撲更新、自適應路由選擇、網絡自動管理功能等。在Ad hoc網絡的研制階段,還需要MAC層多址協議的支撐,常用的有CSMA和TDMA。網絡環境模擬器也要為MAC層接入協議提供相應的支持。為了適應這些特性,網絡環境模擬器應具有以下功能:
能夠任意改變網絡拓撲關系,并且網絡節點的移動速度可以按照真實的情況模擬;
模擬無線傳輸環境,實現節點間的數據傳輸,并能實現無線信道的特性,在各通信節點傳輸路徑上可以加不同的誤碼;
能夠為網絡中的節點提供時間基準和時間同步信息,以支持TDMA或者跳頻接入協議;
支持多頻分層分布式的網絡拓撲結構,能夠模擬網絡中的節點之間的多信道;
能夠跟蹤每個節點接收和發送的數據包,為網絡層和MAC層的調試提供支持;
能夠提供相關信息的界面顯示,能夠顯示網絡拓撲結構,以及網絡節點收發狀態、收發歷程及信道信息;
系統硬件設計
網絡環境模擬器主要由主控MCU、總線驅動模塊、多串口擴展模塊、LCD顯示模塊、鍵盤模塊等組成。其系統框圖如圖1所示。
主控MCU與多串口擴展模塊和LCD顯示模塊之間采用EBI總線通信,為了增強MCU總線的驅動能力,在主控MCU與外圍之間有一個總線驅動模塊。鍵盤模塊跟MCU的IO口相連。主控MCU完成外圍電路的控制,處理整個模擬器的工作流程。多串口擴展模塊完成網絡環境模擬器的端口擴展。LCD顯示模塊完成網絡拓撲、節點收發狀態、節點是否碰撞、節點收發數據的長度以及節點收發歷程的顯示。鍵盤模塊完成節點移動,改變網絡拓撲結構。
主控MCU模塊
主控MCU模塊是網絡環境模擬器的核心處理部分,完成外圍顯示模塊、串口擴展模塊及鍵盤控制模塊的控制,處理整個模擬器的工作流程。
MCU采用ATMEL公司的32位ARM微處理器AT91RM9200。AT91RM9200芯片基于ARM920T內核,為32位 RISC處理器,它工作在180MHz頻率下,運算速度可高達200MIPS。由于AT91RM9200 內部只有16KB的SRAM,遠遠不能滿足應用程序的要求,需要擴展外部SDRAM及FLASH。外擴的存儲芯片采用ICSI公司的SDRAM芯片IC42S32200L和MICRON公司的FLASH芯片 MT28F640J3。IC42S32200L數據總線是32位的,存儲空間為64Mbit,MT28F640J3數據總線是16位的,存儲空間為64Mbit。
串口擴展模塊
網絡環境模擬器需要提供多個與網絡節點的接口,這里我們采用RS-232標準串口作為通信端口。AT91RM9200的串口只有4個(其中有一個是DEBUG串口),所以我們需要外部擴展串口。在串口擴展模塊中,我們采用TI公司的TL16C554A作為串口擴展芯片。基于AT91RM9200+TL16C554A的嵌入式系統的多串口擴展是網絡環境模擬器硬件的主體部分。TL16C554A與主控MCU的接口連接如圖2所示。
TL16C554A是TI公司生產的4通道異步收發器集成芯片,TL16C554A的主要特點如下:由4個帶有邏輯控制的TL16C550A異步通信單元組成,每個通道相對獨立;最高可達1M的波特率,具有可編程的波特率發生器,便于靈活選擇數收發頻率;每個通道獨立控制發送和接收數據,有獨立的Modem控制信號,數據和控制總線均采用三態TTL驅動;具有完全可編程的串行數據格式,數據位長度可設為5,6,7或8,停止位長度可為1或2,校驗模式可以是偶校驗、奇校驗或無校驗。
LCD顯示模塊
LCD顯示模塊提供了人機交互界面,在LCD上可以顯示網絡拓撲結構,節點移動情況,節點的收發狀態,節點的收發歷程,以及節點收發數據所用到的信道。在LCD上,左邊的區域是節點收發歷程及收發信道顯示,每個節點有一個長條形窗口與其對應,節點的收發歷程及收發信道在窗口內流動顯示,窗口的上半部分顯示節點的收發歷程,下半部分顯示節點當前收發所用的信道。右邊的區域是網絡拓撲顯示,網絡中的節點如果在通信范圍之內,節點間有實線連接。LCD顯示示意圖如圖3所示。
LCD顯示采用EPSON公司的圖形控制芯片S1D13806,它是專為嵌入式系統設計的,,內置SDRAM,最高達到800 x 601的分辨率。這里S1D13806采用EBI總線方式與AR91RM9200通信(20位地址線,16位數據線),內置1.28M的 SDRAM與系統統一編址,作為顯示緩存,這樣控制端將圖像數據通過系統總線送到主機接口單元。根據寄存器設置,數據被送往內置SDRAM,余下的工作由13806接管,既不需要MCU的干預,也克服了其他接入方式帶寬不足的缺點,可以有效地避免圖像的抖動和花屏。
對S1D13506的控制,首先應該配置AT91RM9200的EBI總線寄存器,即定義讀寫信號脈沖長度、等待狀態、數據流動時間、字節訪問類型、數據總線寬度。然后再通過EBI總線配置S1D13806的工作模式。
S1D13506驅動LCD顯示屏需要的50MHz的BUCLK時鐘由外部晶振提供,25MHz的CLK1和12.5MHz的CLK2由可編程時鐘發生器芯片ICS1523提供,AT91RM9200通過I2C總線控制ICS1523,使其輸出所需CLK1和CLK2的頻率,以適應不同規格的LCD或VGA需求,提高顯示解決方案的通用性。由于S1D13506訪問RAM需要等待70ns,這造成LCD顯示速度比較慢。本系統并不需要頻繁切換圖形界面,主要考慮到AT91RM9200是一款很適合工業控制用的高速ARM處理器。
鍵盤控制模塊
鍵盤控制模塊與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路由協議的開發,驗證了方案的正確性。