《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM的IEEE 802.11b MAC層協議IP核設計
基于ARM的IEEE 802.11b MAC層協議IP核設計
李安新 陳 曦 鄭繼榮 周
摘要: 介紹了IEEE 802.11b MAC層協議的IP核設計,提出了基于32位微處理器ARM7TDMI的系統設計方案,闡述了系統硬件平臺的設計、結構及主要模塊單元的功能:給出了利用形式描述語言SDL進行MAC層協議設計開發的完整設計流程:闡述了軟件的層次結構,并針對設計中遇到的代碼生成器的選擇、設計優化、與實時操作系統(RTOS)的集成和環境函數編寫等問題進行了深入討論。
Abstract:
Key words :

  摘  要: 介紹了IEEE 802.11b MAC層協議" title="MAC層協議">MAC層協議的IP核設計,提出了基于32位微處理器ARM" title="ARM">ARM7TDMI的系統設計方案,闡述了系統硬件平臺的設計、結構及主要模塊單元的功能:給出了利用形式描述語言SDL" title="SDL">SDL進行MAC層協議設計開發的完整設計流程:闡述了軟件的層次結構,并針對設計中遇到的代碼生成器的選擇、設計優化、與實時操作系統(RTOS)的集成和環境函數編寫等問題進行了深入討論。

  關鍵詞: MAC層協議  無線局域網" title="無線局域網">無線局域網  SDL  ARM

  目前各種協議的設計實現,大多數是基于微處理器、微控制器或DSP的嵌入式系統。ARM是ARM公司推出的高性能32位RISC微處理器,具有業界領先的體系結構,被廣泛應用于各種系統設計中?;贏RM的開發通常使用C、C++或匯編語言。筆者采用了更高級的形式語言SDL,大大縮短了協議的開發周期并提高了設計的可移植性。無線局域網是目前通信領域的一個研究熱點,無線局域網的協議是非常典型的協議。本文將詳細討論使用SDL進行無線局域網802.11b MAC層協議的設計以及基于微處理器ARM7TDMI的系統實現方案。其設計方法具有普遍意義。

1系統硬件平臺設計及功能描述

  整個系統硬件平臺的設計主要分MAC層和物理層兩部分。硬件平臺的結構框圖如圖1所示。其中MAC層部分主要圍繞32位微處理器ARM7TDMI和AMBA總線設計,其主要的單元模塊和功能如下:

 

  ·PCMCIA接口,此接口為硬件平臺和主機的通信接口。其設計遵循PC Card標準(版本5)。

  ·WEP算法加解密模塊,此模塊用硬件實現IEEE 802.11b MAC層協議定義的有線網等效加/解密算法。

  ·物理層數據接口,此接口用于完成物理層與MAC的數據交互操作,內部設計有發送和接收FIFO,用于完成數據的接收發送緩存。

  ·物理層控制接口,此接口用于完成MAC層對物理層的控制功能。例如無數據收發時,可以通過此接口控制物理層部分轉入節能狀態。

  ·存儲器管理模塊,此模塊用于實現對系統所有存儲器(如FLASH、ROM、RAM)的管理,處理器通過此模塊對存儲器進行訪問。

  ·中斷控制邏輯,此模塊用于對系統中各模塊產生的中斷信號進行控制和管理。

  ·微處理器單元ARM7TDMI,用于完成與主機的通信,負責整個系統的控制和管理。

  物理層部分的設計主要分為四個單元:

  ·基帶處理單元,主要用于完成基帶信號的處理操作,如Rake接收、均衡、數/模、模/數轉換等。

  ·中頻處理單元,主要用于完成信號的調制解調處理。

  ·混頻處理單元,主要用于完成射頻中頻的變頻處理。

  ·射頻處理單元,主要完成射頻信號的功率放大處理。

  MAC層的主要模塊單元(外部存儲器單元除外)用Verilog硬件描述語言設計并用Xilinx的FPGA VirtexⅡxc2v3000編程實現。物理層部分則主要用Intersil公司的PRISM芯片組及少量外圍電路設計實現。

2 SDL及軟件開發平臺

  SDL是一種層次化的描述語言,采用結構化和自頂向下的設計原則,把系統規范分為系統、塊、子塊、進程、服務和過程幾個層次進行描述。系統、塊和子塊是靜態描述,用于描述系統的結構;進程、服務和過程是動態描述,用于描述系統的行為。SDL的理論模型是通信擴展有限狀態機,每個進程都是一個通信擴展有限狀態機。

  SDL與常用的高級語言有很好的接口,如可以從SDL描述的系統規范直接導出C、CHILL甚至VHDL語言,以嵌入式系統和軟硬件混合系統實現;在進行規范定義時,SDL又允許嵌入高級語言,如C/C++語言、OMT/UML對象模型、ASN.1或CORBA/IDL數據類型定義等。因而可以在多個層次上對系統進行準確的規范和描述。因為SDL的上述特性,目前已被越來越多地用于協議軟件的開發實現[2][3]。

  本文選用Telelogic公司的SDT4.3和ARM公司的ADS1.2作為主要的軟件開發工具。使用SDT進行協議軟件的開發步驟如圖2所示。

 

  在系統行為定義階段,要特別注意代碼生成器對SDL設計的約束,例如對于C advanced生成器不支持信道子結構、信號細化等;對于C micro生成器不支持連續信號、服務、優先輸入/輸出等。在系統行為分析仿真調試階段,使用C basic/C advanced代碼生成器產生系統代碼,與SDT提供的仿真內核一起編譯鏈接,得到系統行為的仿真模型,然后可以使用text、SDL、MSC等多種跟蹤方式進行仿真調試。在系統行為驗證時,使用相同的代碼只不過編譯鏈接時加入SDT提供的驗證內核,可得到系統行為的驗證模型,可以使用自動狀態空間遍歷、覆蓋率分析等方式進行系統行為的驗證。仿真和驗證都無環境函數,由仿真器和驗證器充當系統的環境,產生和接收與系統交互的信號。在系統行為經仿真驗證正確后,可以應用C advanced/C micro生成器產生面向應用的系統代碼和環境函數。      

  應用SDT生成的代碼經過適當修改和處理后可以輸入ARM開發工具ADS,進行嵌入式系統的開發,其方法和設計流程詳見后。

3 系統軟件的設計和開發

  系統的軟件設計主要分為三部分:協議軟件、驅動軟件和接口軟件。其中協議軟件部分主要用于實現IEEE 802.11bMAC層協議定義的各種服務(如授權、關聯等)和算法(如DCF、PCF、時鐘同步算法等)。這一部分軟件采用圖2所示的設計流程,完全使用形式描述語言SDL進行設計實現,并使用SDT的代碼生成器將SDL的系統描述轉換成面向應用的C/C++代碼。驅動軟件部分主要用于實現對硬件設備的驅動功能。如PCMCIA接口驅動,這一部分軟件用C/C++語言進行設計實現。接口軟件部分主要完成SDL轉換出的系統代碼與RTOS及硬件平臺的接口功能。這一部分軟件借助于代碼生成器產生的環境函數,用C/C++語言設計實現。軟件部分的層次結構如圖3所示。

 

4 與ADS接口及軟件后端開發

  從SDL轉化出C/C++代碼后,可使用ARM的開發工具ADS進行后續的軟件開發。其與SDT工具的接口及開發流程如圖4所示。

由SDL描述轉換出的C/C++代碼,與環境函數、Runtime庫以及C/C++庫一起用ARM的編譯器編譯,產生面向ARM的可執行程序。其中,環境函數主要用描述系統運行的具體物理環境。由SDT工具根據用戶所作的系統描述自動生成一個結構框架,然后用戶根據所采用的具體硬件平臺環境編輯這個文件,以描述真實的系統工作環境。Runtime庫主要包含SDL預定義的數據類型、操作符的實現、調度函數、運行錯誤處理等信息。SDT工具提供簡單的Runtime庫。C advanced/C micro代碼生成器都有各自對應的Runtime庫。C/C++庫是ADS本身攜帶的函數庫,主要包含ISO標準定義的C/C++庫函數。

  在使用ARM編譯器編譯后,產生ARM的目標文件(.o文件)。如果還有用ARM匯編指令編寫的匯編程序,可用匯編器(armasm)匯編,產生相應的目標文件。把所有的目標文件用鏈接器[armlink]鏈接,便可得到能在ARM7TDMI處理器上執行的映像文件(.aof文件)。這時可以用ADS提供的調試工具AXD進行程序的調試。

  因為SDL的系統設計在高層進行了仿真和驗證,所以調試的主要工作集中在驅動、中斷和環境函數的調試上。對SDL系統的調試主要是通過仿真確定對系統性能影響嚴重的模塊并對其進行優化以及系統在實時運行狀態下能否滿足設計要求。如果在調試中發現問題需要修改SDL的系統設計,可重新執行如圖4所示的流程,直到滿足設計要求。

 

5 問題及分析

  (1)代碼生成器的選擇問題[4]。SDT提供三種代碼生成器,即C basic、C advanced和C micro。其中C basic是最簡單的代碼產生器,一般只用于在SDT開發環境中仿真系統的行為。C advanced和C micro是面向應用的代碼產生器,可以產生高效的代碼。C advanced支持幾乎所有的SDL概念,對SDL設計的約束較少。C micro可以產生性能更優越、占用存儲器空間更小的代碼,代價是對SDL設計的約束較多,例如不支持使能條件、連續信號、過程的繼承等[5]。

  (2)設計優化問題。在進行系統設計時,應注意的設計要點有:當輸出信號時,應帶上接收進程的PID,這樣可以減少對信號進行路由的開銷;信號應盡量少帶占用大量存儲空間的參數,因為在信號傳遞時同時復制信號的參數,占用大量存儲空間的參數將占用過多存儲空間并引起附加延時;兩個狀態之間的傳輸操作不宜過多,否則會帶來較大延時(可以用實時仿真確定影響時延的關鍵路徑并進行優化);如果系統中有比較復雜的模塊,對時延又有嚴格要求,可以用C/C++或匯編單獨編寫,也可用硬件完成,如圖1中的WEP算法模塊。

  (3)與RTOS的集成問題。用戶可以不使用RTOS,而使用SDT提供的缺省內核程序,也可以自己編寫所需的調度算法、內存管理、中斷處理等。SDT工具直接支持的RTOS有Solaris(Posix 4)、Win32、VxWorks和OSE delta。SDT提供三種與RTOS的集成方式,即松集成、線程集成和緊集成。松集成把整個系統映射為OS的一個任務,使用SDT提供的標準內核進行調度,每次執行一個完整的傳輸。因此松集成調度的最大延時是SDL設計中狀態之間傳輸的最長時間。緊集成把每個進程映射為一個OS的任務,可以使用OS的調度算法,給不同的任務以不同的優先級執行,因而性能好于松集成。線程集成則是兩者的折衷。

  (4)環境函數的編寫。環境函數主要是完成四個函數的編寫。xInitEnv():主要用于完成系統的初始化操作。xInEnv():主要用于接收來自硬件或RTOS的信號并轉換成SDL系統所需要的信號。調度器每隔一段時間輪詢一次xInEnv()函數,檢查是否有信號輸入。如果發現有信號輸入則發送適當信號給SDL系統。xInEnv()函數中不能使用阻塞函數,如getchar()等。阻塞函數會妨礙調度器處理SDL系統。xOutEnv():主要用于接收來自SDL系統的信號并轉換成對RTOS的信號或對硬件的操作。當SDL系統有信號輸出時,則調用xOutEnv()函數,根據用戶編寫的代碼產生相應的物理信號或硬件操作。xCloseEnv():用來完成關閉環境的操作。

 

參考文獻

1 ITU-T Recommendation Z.100. Programming Languages: CCITT Specification and Description Language[SDL],1993

2 J.M.Alvarez,M.Diaz,L.Llopis,et al. Deriving hard realtime systems implementations directly from SDL specifications. Proceedings of the Ninth International Symposium on Hardware/Software Codesign,2001:128~133

3 M.Hannikainen,J.Knuutila,T.hamalainen,et al. Using SDL for implementing a wireless medium access control

  Protocol. International Symposium on Multimedia Software Engineering,2000:229~236

4 M.Hannikainen,A.Takko,J.knuutila,et al. SDL-to-C conversion for implementing embedded WLAN protocols,

  Industrial Electronics Society,2000. IECON 2000. 26th Annual Conference of the IEEE,2000;(4):2455~2460

5 Telelogic Tau 4.3 User's Manual.Telelogic AB. Sweden, 2001

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩视频在线第一区| 韩国女主播一区| 久久福利电影| 午夜视频久久久| 亚洲午夜国产一区99re久久| 亚洲精品一区二区三区婷婷月| 久久精品国产综合精品| 欧美在线日韩在线| 午夜日韩视频| 亚洲女人小视频在线观看| 亚洲一区二区成人在线观看| 中文一区二区| 国产精品99久久久久久www| 99视频精品| 在线亚洲一区观看| 中国av一区| 亚洲午夜伦理| 亚洲综合导航| 欧美在线高清| 亚洲电影免费观看高清完整版在线观看| 欧美一区二区三区视频免费| 久久精品国产欧美亚洲人人爽| 欧美在线一区二区| 亚洲国产美女久久久久| 亚洲人永久免费| aⅴ色国产欧美| 亚洲午夜国产成人av电影男同| 亚洲综合色噜噜狠狠| 亚洲欧美日韩国产精品| 亚洲欧美三级伦理| 欧美自拍偷拍| 老色批av在线精品| 免费日韩av片| 欧美日韩一区二区在线观看| 国产精品久久久久久久久免费桃花| 国产精品夜色7777狼人| 国产一区二区| 亚洲国产欧美不卡在线观看 | 影音先锋久久资源网| 在线视频观看日韩| 日韩视频中文| 亚洲淫性视频| 久久精品道一区二区三区| 最新国产の精品合集bt伙计| 一区二区三区国产在线| 午夜国产不卡在线观看视频| 久久久国产成人精品| 欧美大片一区二区三区| 欧美午夜电影在线| 国产一区二区| 亚洲精品一区二区三区99| 亚洲欧美精品一区| 亚洲人成77777在线观看网| 亚洲一二三区精品| 久久久爽爽爽美女图片| 欧美精品乱码久久久久久按摩| 国产精品青草久久| 娇妻被交换粗又大又硬视频欧美| 亚洲狼人综合| 欧美一区二区三区日韩| 亚洲日韩视频| 欧美在线观看www| 欧美福利电影网| 国产精品日韩欧美一区二区三区| 黄色成人在线免费| 宅男66日本亚洲欧美视频| 久久精品视频99| 亚洲影音一区| 欧美二区不卡| 国产精品尤物| 亚洲美女毛片| 亚洲高清影视| 欧美一区二区精品| 欧美激情亚洲自拍| 国产一区白浆| 亚洲四色影视在线观看| 亚洲人成网站999久久久综合| 欧美亚洲在线播放| 欧美精品一区二区蜜臀亚洲| 国产情人综合久久777777| 日韩视频在线观看| 久久精品国产综合| 欧美一区二区久久久| 欧美理论在线播放| 影音先锋亚洲视频| 欧美亚洲在线播放| 亚洲自拍偷拍视频| 欧美精品在线极品| 一区二区三区自拍| 欧美一区二区精美| 亚洲自拍偷拍一区| 欧美日本国产在线| 激情伊人五月天久久综合| 亚洲欧美第一页| 亚洲一品av免费观看| 欧美福利视频| 136国产福利精品导航网址| 欧美亚洲视频| 午夜精品一区二区三区电影天堂 | 午夜日韩电影| 午夜视频在线观看一区二区三区 | 亚洲视频你懂的| 一本大道久久a久久综合婷婷| 美女91精品| 国内成人精品2018免费看| 亚洲天堂av在线免费观看| 一区二区日韩免费看| 欧美激情一级片一区二区| 亚洲高清av在线| 91久久线看在观草草青青| 久色成人在线| 伊人男人综合视频网| 亚洲高清在线精品| 免费h精品视频在线播放| 怡红院精品视频| 91久久久在线| 欧美大香线蕉线伊人久久国产精品| 永久免费精品影视网站| 亚洲福利国产| 免费人成网站在线观看欧美高清 | 亚洲精品日韩在线观看| 99视频有精品| 欧美片第一页| 亚洲另类黄色| 亚洲图片欧美午夜| 国产精品s色| 亚洲影视中文字幕| 性欧美video另类hd性玩具| 国产免费成人在线视频| 欧美一区二区三区另类| 久久精品伊人| 亚洲第一福利在线观看| 99精品欧美| 欧美视频在线不卡| 亚洲性图久久| 久久精品成人欧美大片古装| 国产综合色在线| 亚洲国产精品久久久久婷婷老年 | 亚洲高清在线视频| 欧美电影免费观看大全| 亚洲美女在线视频| 亚洲一区二区影院| 国产精品一区二区三区久久久| 欧美一区激情| 欧美成人国产va精品日本一级| 亚洲人体1000| 亚洲欧美日韩区| 国模大胆一区二区三区| 亚洲欧洲精品一区二区三区不卡| 欧美日本韩国一区二区三区| 亚洲性夜色噜噜噜7777| 久久蜜臀精品av| 亚洲国产精品一区制服丝袜| 亚洲视频你懂的| 国产午夜精品久久久久久免费视| 久久精品日韩一区二区三区| 欧美精品一区二区三区在线播放 | 国产日韩欧美一区二区三区四区| 久久精品av麻豆的观看方式| 欧美精品aa| 亚洲性感美女99在线| 久久亚洲私人国产精品va媚药| 亚洲精品视频在线观看免费| 欧美亚洲尤物久久| 亚洲高清视频在线| 亚洲欧美文学| 亚洲国产精品久久久久秋霞不卡| 亚洲欧美另类久久久精品2019| 国内精品美女av在线播放| 一区二区日韩| 狠狠色狠狠色综合人人| 亚洲午夜激情网站| 好看的日韩视频| 亚洲在线网站| **性色生活片久久毛片| 午夜免费日韩视频| 亚洲国产成人精品久久| 亚洲欧美日本另类| 亚洲丰满在线| 久久国产精品黑丝| 亚洲精选久久| 久久综合影视| 国产精品99久久久久久www| 老司机一区二区| 亚洲天堂偷拍| 欧美高清你懂得| 欧美亚洲免费高清在线观看| 欧美美女日韩| 亚洲第一在线| 国产精品系列在线播放| 99热在线精品观看| 国产综合久久| 午夜伦理片一区| 亚洲精品欧美专区| 美国十次成人| 销魂美女一区二区三区视频在线| 欧美色大人视频| 亚洲人久久久| 韩国精品主播一区二区在线观看| 亚洲欧美日韩另类|