新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式無線局域網設備的設計與實現

        嵌入式無線局域網設備的設計與實現

        作者: 時間:2009-02-26 來源:網絡 收藏
        技術分類: 通信 | 2009-02-23
        黃學雷 陳祖爵
          S3C2410X是一款基于ARM920T內核的16/32位RISC微處理器,該處理器是為手持以及高性價比、低功耗微控制器而的。它采用了一種叫做AMBA(Advanced Microcontroller Bus Architecture)的新總線架構。S3C2410X內部的主要資源有內存管理單元MMU、系統管理器、各為16KB的指令和數據緩存、LCD控制器(STN TFT)、NAND FLASH Boot Loader、3通道UART、4通道DMA、4個PWM時鐘、1個內部時鐘、8通道10為ADC、觸摸屏接口、多媒體卡接口、I2C和I2S總線接口、 2個USB主機接口、1個USB接口、SD主接口、2SPI接口、PLL時鐘發生器以及通用I/O端口等。

        本文引用地址:http://www.104case.com/article/152636.htm

          S3C2410X內部包含一個叫MMU的內存管理單元,可以虛擬存儲空間到物理存儲空間的映射。通常系統的程序存放在 ROM/FLASH中,系統斷電后程序能夠得到保存,但ROM/FLASH與SDRAM相比,速度要慢的多,而且系統中通常把異常中斷向量表存放在 RAM中,利用內存映射機構可以解決這種需要。

          NAND FLASH采用三星公司64MB的K9S1208VOM。它可進行10萬次的編程/擦除,數據保存長達10年,被用來裝載操作系統鏡像和大容量的數據。

          SDRAM是用來運行操作系統和存儲程序運行過程中所需要的數據, 采用三星公司的K4S561632C,它是4M*16bit*4bank的同步DRAM,容量為32MB。用兩片K4S561632C位擴展,使數據總線寬度為32bit.

          S3C2410X自帶USB主從接口,不需要專門的USB芯片支持,只要對其安裝驅動程序即可進行USB傳輸數據。

          4軟件系統

          軟件系統主要包括操作系統、TCP/IP協議的移植、驅動程序的安裝以及用戶應用程序的編寫等。

          S3C2410X集成了內存管理單元,因而可以嵌入式操作系統中更多的功能。在本文中采用Linux作為嵌入式操作系統。

          Linux是從UNIX發展而來,繼承了UNIX大多數的優點且彌補其不適合在PC機上運行的缺點,Linux公開的內核源代碼使得它成為目前最流行的操作系統。

          Linux是真正的多用戶、多任務、多平臺操作系統,可運行于許多硬件平臺,具有內置安全措施的分層的文件系統,支持多達32種文件系統,支持大量的外部

          定制操作系統的步驟如下:(1)編寫板基支持包BSP;(2)裁剪和配置操作系統的各個部件,并修改相應的配置文件;(3)編譯Kernel、組件和BSP,生成操作系統鏡像文件;(4)將鏡像文件下載到目標板上,進行調試。

          將操作系統下載到目標板上有如下幾種方法:通過BDM或JTAG接口下載、USB下載、網絡接口下載和串口下載等。后面幾種方法都要先通過JTAG接口將相應的監控程序下載到Flash中,然后CPU從Flash啟動。

          要在操作系統支持下實現TCP/IP協議,就需要進行任務劃分,可以將TCP/IP的實現劃分為4個任務來實現:①IP任務,主要用來解決IP 分片的重組;②TCP輸入任務,主要用來處理接收到的TCP報文段;③TCP輸出任務,主要用來將要輸出的數據打包、發送;④TCP定時器任務,主要用來為各種時延事件(如重發事件)提供時鐘。它們之間的關系可用圖3來表示。

        圖3 任務關系

          USB驅動程序采用WDM(Winddows Drive Mode)。WDM設備驅動程序提供了一個參考框架,大大降低了由DDK書寫驅動程序帶來的難度。

          USB驅動程序包含如下幾個部分:

          (1)創建設備

          創建設備函數帶兩個參數調用,一個參數是指向驅動程序對象的指針,另一個參數是指向物理設備對象的指針。

          (2)關閉設備

          (3)讀取設備數據

          當客戶應用程序有讀取設備數據的要求時,系統將此要求以IRP_MJ_READ的IRP形式傳遞給功能驅動程序,由設備的D12Meter_Read程序執行,然后再由D12Meter_Read指定USB總線驅動程序直接與設備實現信息交互。

          (4)對設備寫入數據

          當客戶應用程序有寫設備數據的要求時,系統將此要求以IRP_MJ_WRITE的IRP形式傳遞給功能驅動程序,并由D12Meter_Write執行,然后再由D12Meter_Write指定USB總線驅動程序直接與設備實現信息交互。

          USB驅動程序通過安裝文件(.inf文件)中PID(產品識別號)和VID(廠商識別號)識別USB設備。

          一旦操作系統裝載完成后,就可以安裝無線網卡的驅動程序和其他相應的應用程序。將無線網卡的驅動程序作為一個模塊打包到操作系統中,可避免系統掉電后每次都要重裝無線網卡驅動程序。


          用戶應用程序要針對具體的應用情況而定,一般都用C語言編寫。

          5 總結

          嵌入式設備可以用于有線網絡無法延伸或難以安裝、有可靈活移動和臨時性使用等要求的場合。可以數據的采集和無線傳輸、可以用于嵌入式手持移動終端、可以用來構建家庭,若加攝像頭和圖象處理芯片,還可以用于工業現場中的遠程無線視頻監控。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 汉川市| 文水县| 福鼎市| 温州市| 贵阳市| 博爱县| 克什克腾旗| 定结县| 晋江市| 高尔夫| 电白县| 尖扎县| 军事| 横峰县| 宜君县| 舟曲县| 牟定县| 邢台县| 绥江县| 绵阳市| 玛曲县| 理塘县| 桐梓县| 阿坝县| 北海市| 宣城市| 商城县| 和林格尔县| 西乌珠穆沁旗| 通许县| 张家口市| 仁布县| 泰安市| 乐亭县| 潜江市| 银川市| 沾化县| 怀集县| 吉木乃县| 肥西县| 内乡县|