1嵌入式系統簡介
嵌入式系統是指以計算機技術為基礎、以應用為中心、軟件硬件可裁剪,功能、可靠性、功耗、體積、成本有著嚴格要求的專用計算機系統。追求“短、小、輕、薄,省電、快、成本低”的目標。嵌入式系統設備已廣泛應用于制造工業、過程控制、儀器儀表、軍事裝備、消費類產品等領域。嵌入式系統由軟硬件組成,一般分為五個部分:處理器、存儲器、輸入輸出、操作系統和應用軟件。如圖1所示:
圖1:嵌入式系統組成結構圖
嵌入式系統最初的應用是基于單片機的,它只是使用8位的芯片執行一些簡單的單進程的程序,沒有多進程的任務調度,還談不上系統。隨著16/32位嵌入式微處理器的出現,嵌入式系統開始引入嵌入式操作系統,從而使得應用開發人員從小范圍的開發中解放出來,也使嵌入式有了更廣闊的應用空間。比較著名的嵌入式操作系統有ISI的pSOS、WindRiver的VxWorks、QNX的QNX、微軟的WinCE、以及源代碼開放的Linux和uC/os等。
2無線局域網概述
無線局域網(Wireless Local Area Network ,WLAN)屬于一種短距離無線通信技術,是現代計算機網絡與無線通信技術相結合的產物。通過無線射頻(RF)或紅外(Infra Red ,IR)技術在空中傳輸數據、語音和視頻信號等。無線局域網可在一些特殊的應用環境中彌補依靠線纜或光纜構成的有線以太網的不足,實現網絡的延伸。
無線局域網標準的物理層定義了兩種射頻傳輸方式和一種紅外傳輸方式。RF方式使用的頻段有三個:L頻段(902MHz~928MHz)、S頻段(2.4GHz“2.4835GHz)、C頻段(5.725GHz”5.85GHz)。一般使用S頻段,該頻段被叫做ISM(Industry Science Medical)頻段即工業科學醫療頻段,ISM頻段不受美國聯邦通信委員會(FCC)的限制,屬于工業自由輻射頻段。工作在此頻段的無線局域網有直接序列擴頻(Direct Sequence Spread Spectrum, DSSS)和跳頻擴頻(Frequency Hopping Spread Sprectrum ,FHSS)兩種擴頻方法。
1997 年6 月, IEEE 通過了無線局域網的標準,即802.11標準。IEEE 802.11無線局域網標準的制定是無線網絡技術發展的一個里程碑, 標準主要是對網絡的物理層(PHY)和媒質訪問控制層(MAC) 進行了規定,其中對MAC 層的規定是重點。
802.11速率最高只能達到2Mbps ,不能滿足人們的需要, IEEE小組又推出了802.11b標準。IEEE802.11b工作在2.4GHz頻段,采用直接序列擴頻DSSS技術和補償碼鍵控CCK調制方式,可提供11Mb/ s、5.5Mb/s、2Mb/s、1Mb
/s多種速率,且在2Mb/s、1Mb/s 速率時與IEEE802.11 兼容。802.11b是目前技術最成熟且使用最多的無線局域網標準。本文采用的就是IEEE-802.11b無線網卡。
目前,人們對無線局域網技術的應用僅局限在PC機和筆記本,且一般用于熱點(Hot Spot)分布地區。而嵌入式系統整合無線局域網技術實現無線通信和數據傳輸將成為今后應用的熱點。例如無線數字機頂盒、計算機、無線網關和家用電器等可構成家庭無線局域網,同時經過AP、無線路由器或無線網橋可以連接到Internet;無線儀表進行數據采集和無線傳輸;無線儀器設備在工作現場布置自組織網絡(Ad Hoc網絡)相互進行信息傳遞、遠程無線監控,減少布線的麻煩和不便,將極大地提高工業生產效率,方便人們的生活。
3嵌入式無線局域網模塊的硬件設計
本文以三星S3C2410X為嵌入式微處理器,結合無線局域網技術,設計了一款嵌入式無線局域網設備,實現數據采集和無線傳輸。設備硬件結構圖如圖2所示。
圖2:系統硬件結構圖
NAND FLASH用于存放啟動程序、操作系統、TCP/IP協議棧、驅動程序和相關應用程序。S3C2410X支持NAND FLASH Boot Loader,系統上電后,S3C2410X通過內置的NAND FLASH CONTROLLER將NAND FLASH中的啟動代碼加載到其內部叫“Steppingstone”的4KB SRAM buffer執行啟動任務,而不需要經過外部的SDRAM進行系統啟動,從而加快整個系統的啟動過程。等啟動完成后,運行操作系統,這時的代碼以及后來的應用程序都在外部的SDRAM執行。操作系統啟動完成后,就可以執行設計的應用程序,通過RS232/485接口進行數據采集,再通過802.11b無線網卡將數據傳輸出去。S3C2410X的所有GPIO都被引出來,以備將來系統功能的擴展。
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端口等。
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總結
嵌入式無線局域網設備可以用于有線網絡無法延伸或難以安裝、有可靈活移動和臨時性使用等要求的場合??梢詳祿牟杉蜔o線傳輸、可以用于嵌入式手持移動終端、可以用來構建家庭無線局域網,若加攝像頭和圖象處理芯片,還可以用于工業現場中的遠程無線視頻監控。
責任編輯:gt
-
嵌入式
+關注
關注
5091文章
19176瀏覽量
307019 -
無線
+關注
關注
31文章
5470瀏覽量
173710 -
微處理器
+關注
關注
11文章
2274瀏覽量
82687
發布評論請先 登錄
相關推薦
評論