新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式無線局域網(wǎng)設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)

嵌入式無線局域網(wǎng)設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)

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

本文引用地址:http://m.butianyuan.cn/article/152636.htm

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

  NAND FLASH采用三星公司64MB的K9S1208VOM。它可進(jìn)行10萬次的編程/擦除,數(shù)據(jù)保存長達(dá)10年,被用來裝載操作系統(tǒng)鏡像和大容量的數(shù)據(jù)。

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

  S3C2410X自帶USB主從接口,不需要專門的USB芯片支持,只要對(duì)其安裝驅(qū)動(dòng)程序即可進(jìn)行USB傳輸數(shù)據(jù)。

  4軟件系統(tǒng)

  軟件系統(tǒng)主要包括操作系統(tǒng)、TCP/IP協(xié)議的移植、驅(qū)動(dòng)程序的安裝以及用戶應(yīng)用程序的編寫等。

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

  Linux是從UNIX發(fā)展而來,繼承了UNIX大多數(shù)的優(yōu)點(diǎn)且彌補(bǔ)其不適合在PC機(jī)上運(yùn)行的缺點(diǎn),Linux公開的內(nèi)核源代碼使得它成為目前最流行的操作系統(tǒng)。

  Linux是真正的多用戶、多任務(wù)、多平臺(tái)操作系統(tǒng),可運(yùn)行于許多硬件平臺(tái),具有內(nèi)置安全措施的分層的文件系統(tǒng),支持多達(dá)32種文件系統(tǒng),支持大量的外部。

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

  將操作系統(tǒng)下載到目標(biāo)板上有如下幾種方法:通過BDM或JTAG接口下載、USB下載、網(wǎng)絡(luò)接口下載和串口下載等。后面幾種方法都要先通過JTAG接口將相應(yīng)的監(jiān)控程序下載到Flash中,然后CPU從Flash啟動(dòng)。

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

圖3 任務(wù)關(guān)系

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

  USB驅(qū)動(dòng)程序包含如下幾個(gè)部分:

  (1)創(chuàng)建設(shè)備

  創(chuàng)建設(shè)備函數(shù)帶兩個(gè)參數(shù)調(diào)用,一個(gè)參數(shù)是指向驅(qū)動(dòng)程序?qū)ο蟮闹羔?另一個(gè)參數(shù)是指向物理設(shè)備對(duì)象的指針。

  (2)關(guān)閉設(shè)備

 ?。?)讀取設(shè)備數(shù)據(jù)

  當(dāng)客戶應(yīng)用程序有讀取設(shè)備數(shù)據(jù)的要求時(shí),系統(tǒng)將此要求以IRP_MJ_READ的IRP形式傳遞給功能驅(qū)動(dòng)程序,由設(shè)備的D12Meter_Read程序執(zhí)行,然后再由D12Meter_Read指定USB總線驅(qū)動(dòng)程序直接與設(shè)備實(shí)現(xiàn)信息交互。

  (4)對(duì)設(shè)備寫入數(shù)據(jù)

  當(dāng)客戶應(yīng)用程序有寫設(shè)備數(shù)據(jù)的要求時(shí),系統(tǒng)將此要求以IRP_MJ_WRITE的IRP形式傳遞給功能驅(qū)動(dòng)程序,并由D12Meter_Write執(zhí)行,然后再由D12Meter_Write指定USB總線驅(qū)動(dòng)程序直接與設(shè)備實(shí)現(xiàn)信息交互。

  USB驅(qū)動(dòng)程序通過安裝文件(.inf文件)中PID(產(chǎn)品識(shí)別號(hào))和VID(廠商識(shí)別號(hào))識(shí)別USB設(shè)備。

  一旦操作系統(tǒng)裝載完成后,就可以安裝無線網(wǎng)卡的驅(qū)動(dòng)程序和其他相應(yīng)的應(yīng)用程序。將無線網(wǎng)卡的驅(qū)動(dòng)程序作為一個(gè)模塊打包到操作系統(tǒng)中,可避免系統(tǒng)掉電后每次都要重裝無線網(wǎng)卡驅(qū)動(dòng)程序。


  用戶應(yīng)用程序要針對(duì)具體的應(yīng)用情況而定,一般都用C語言編寫。

  5 總結(jié)

  嵌入式設(shè)備可以用于有線網(wǎng)絡(luò)無法延伸或難以安裝、有可靈活移動(dòng)和臨時(shí)性使用等要求的場合??梢詳?shù)據(jù)的采集和無線傳輸、可以用于嵌入式手持移動(dòng)終端、可以用來構(gòu)建家庭,若加攝像頭和圖象處理芯片,還可以用于工業(yè)現(xiàn)場中的遠(yuǎn)程無線視頻監(jiān)控。

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

上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉