新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 54M無線網絡適配器在嵌入式系統中的研究與應用

        54M無線網絡適配器在嵌入式系統中的研究與應用

        ——
        作者: 時間:2007-09-27 來源: 收藏

        目前,嵌入式技術已廣泛應用于工業控制、消費類電子產品、通信系統等各類市場產品。并且隨著互聯網的日益發達,具有接入功能的嵌入式系統更加具有發展前景。本文將介紹支持IEEE 802.11g協議的54M USB網卡在嵌入式系統上的應用,嵌入式系統使用了系列的

        1 系統硬件體系結構

        1.1 系統結構

        系統總體結構如圖1所示。

         

        系統核心芯片采用三星公司的,該處理器是三星公司的一款基于20T內核的16/32位RISC嵌入式微處理器,主要面向手持設備以及高性價比,低功耗的應用,運行的頻率可以達到203MHz。該處理器集成了很多重要的功能模塊,并且支持多種總線。處理器集成了USB HOST控制器,并支持兩個USB HOST端口。

        系統使用64M NAND FLASH作為仔儲器,存儲了系統軟件部分必需的BOOTLOADER、LINUXKERNEL、FILESYSTEM。系統中的串口、USBDEVICE接口、JTAG接口主要在開發調試時使用。系統通過TOUCH&LCD進行人機信息交換,滿足廣大消費類電子產品的需求。

        網卡是這個移動終端的關鍵設備,鑒于市面上大部分的llM無線網卡已經停產或者即將停產,以及社會對具有更高接入性能的嵌入式設備的需求,我們選擇芯片組型號為rt2573的54M無線網卡。由于已經集成了USB HOST控制器,所以不需要附加額外的芯片,網卡可以直接通過USBHOST PORT接入,非常方便。

        1.2 USB主機接口的硬件實現

        在USB系統中,各種USB設備要與主機相連,就必須通過一個共同的接口接入豐機。這個接口就是USB豐機控制器(USB Host Controller)。USB總線協議定義了四條信號線,其中兩條信號線負責供電,而另外兩條信號線負責數據的傳輸。USB通信模型是一種Host-Slave(主機——外設)主從式結構,因此經由USB總線進行通信的雙方必有一方在通信控制中擔當主機(HOST)的角色。

        USB接口可從主機上獲得500mA的電流,并且支持熱插拔,真正做到即插即用。一個USB接口可同時支持高速和低速USB外設的訪問,有一條4芯電纜連接,其中2條是正負電源,傳送的是5V的電源,2條是數據傳輸線,數據線是單工的,在整個的一個系統中的數據速率是一定的,或者是高速,或者是低速。

        S3C2410處理器內部集成了USB HOST控制器,可以直接從CPU引線出來,而不需要添加額外的控制芯片,圖2為系統的USB HOST接口擴展。S3C2410處理器可以支持兩個USB HOST通信端口。

         

        2 USB網卡無線功能的實現

        2.1 無線網卡的軟件管理層實現

        嵌入式系統硬件部分建立好后,需要建立軟件系統。本系統中采用了vivi做為BOOTLOADER(引導啟動程序),嵌入式Linux作為操作系統,以Cramfs作為主文件系統,為支持可讀寫功能還添加了Jffs2文件系統。 接著,需要軟件上實現無線網卡的功能。

        無線網卡的軟件包括無線網卡固件(Firmware)、無線網卡驅動程序(Driver)和無線網卡配置管理程序三部分。

        無線網卡的軟件實現結構圖如圖3所示。固件是無線網卡上最基本的控制系統,主要基于MAC芯片來實現對整個網卡的控制和管理,并向下提供與物理層的接口,向上提供一個程序開發接口,為程序開發附加的移動主機應用程序提供支持。在嵌入式系統中,IEEE802.11提供的服務,包括認證、解除認證、登錄、重登錄等均由固件完成。

         

        無線網卡的驅動程序使用固件提供的軟件編程接口,對無線網卡進行控制,配合固件完成數據的收發以及對信息幀的處理。無線網卡驅動程序主要是針對相應的無線網卡芯片進行設計的,不同的芯片,它們的固件和寄存器相關設置存在很大的差異。除了要完成對下層的控制外,無線網卡驅動還要向上層應用程序和管理程序提供操作和配置無線網卡的應用程序編程接口,以實現其傳輸功能。

        所有的Linux網絡驅動程序遵循通用的接口。設計時采用的是面向對象的方法。一個設備就是一個對象(device結構),它內部有自己的數據和方法。每一個設備的方法被調用時的第一個參數都是這個設備對象本身,這樣這個方法就可以存取自身的數據(類似面向對象程序設計時的this引用)。一個網絡設備最基本的方法有初始化、發送和接收。如圖4所示。

         

        初始化程序完成硬件的初始化,device中變量的初始化和系統資源的申請,發送程序是在驅動程序的上層協議層有數據要發送時自動調用的。一般驅動程序中不對發送數據進行緩存,直接使用硬件的發送功能把數據發送出去。接收數據一般是通過硬件中斷來通知的。在中斷處理程序里,把硬件幀信息填入一個skbuff結構中,然后調用 netif_rx()傳遞給上層處理。

        本系統的無線網卡驅動接口主要實現了以下接口函數:

         

        無線網卡配置管理程序利用驅動程序提供的信息查詢和設置接口,向用戶實時提供無線網卡的狀態,同時利用該管理軟什可以實現對IP、SSID等無線剛卡參數進行必要的配置。常見的無線網卡配置管理程序有iwconfig、iwlistt、iwspy、iwpriv等。這里介紹幾個主要的無線網卡配置管理程序:



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沁水县| 五台县| 德州市| 嵊州市| 乐东| 周口市| 阿荣旗| 德庆县| 化德县| 来安县| 西平县| 泸定县| 墨竹工卡县| 济阳县| 新野县| 亚东县| 小金县| 高州市| 平远县| 临沂市| 涟水县| 时尚| 库尔勒市| 乌苏市| 开封县| 临安市| 清原| 聊城市| 景谷| 井冈山市| 垣曲县| 新丰县| 民和| 江山市| 老河口市| 得荣县| 澄江县| 霍城县| 苗栗市| 武乡县| 汝南县|