S3C2410X在無(wú)線寬帶通信網(wǎng)中的應(yīng)用
1 無(wú)線寬帶通信簡(jiǎn)介
自1997年IEEE802工作組制定了802.11無(wú)線局域網(wǎng)標(biāo)準(zhǔn),基于WLAN技術(shù)的無(wú)線寬帶通信得到了迅速發(fā)展。在短短的六年發(fā)展歷程中,WLAN技術(shù)不斷地發(fā)展和成熟,先后推出了802.11b/a/g協(xié)議?;?02.11b協(xié)議的無(wú)線局域網(wǎng),工作在2.4GHz頻段,采用CCK調(diào)制技術(shù),最高數(shù)據(jù)傳輸速率能夠達(dá)到11Mbps?;?02.11a協(xié)議的無(wú)線局域網(wǎng),工作在5GHz頻段,采用OFDM調(diào)制技術(shù),使數(shù)據(jù)的傳輸速率可高達(dá)54Mbps。802.11g協(xié)議結(jié)合802.11a和802.11b的優(yōu)點(diǎn),工作在2.4GHz頻段,采用OFDM調(diào)制技術(shù),具有與802.11a標(biāo)準(zhǔn)相同的速率。為了解決通信設(shè)備在三個(gè)不同標(biāo)準(zhǔn)的無(wú)線網(wǎng)絡(luò)間的兼容問(wèn)題,現(xiàn)已有幾家公司提供了IEEE802.11a/b/g的雙頻多模的解決方案。802.11e和802.11i標(biāo)準(zhǔn)即將出爐。這兩個(gè)標(biāo)準(zhǔn)將分別解決目前WLAN突出的兩個(gè)問(wèn)題:QoS和網(wǎng)絡(luò)安全。Intel公司將迅馳技術(shù)成功地應(yīng)用到筆記本上,人們可以通過(guò)WLAN技術(shù)輕松地進(jìn)行無(wú)線寬帶上網(wǎng)。然而人們對(duì)WLAN技術(shù)的應(yīng)用不僅僅局限于通用的PC機(jī)或筆記本的無(wú)線聯(lián)網(wǎng),嵌入式系統(tǒng)整合WLAN技術(shù)實(shí)現(xiàn)無(wú)線寬帶通信成為今后應(yīng)用的熱點(diǎn)。例如由無(wú)線數(shù)字機(jī)頂盒、計(jì)算機(jī)、無(wú)線網(wǎng)關(guān)等構(gòu)成的家庭無(wú)線網(wǎng)絡(luò),嵌入式手持移動(dòng)終端和工業(yè)控制現(xiàn)場(chǎng)無(wú)線設(shè)備等。近年來(lái),嵌入式微處理器性能的大力提高,基于嵌入式系統(tǒng)的無(wú)線寬帶通信模塊不僅能實(shí)現(xiàn)數(shù)據(jù)傳輸,而且還能夠滿足人們對(duì)于多媒體通信的需求。在這里,利用一款基于ARM920T內(nèi)核的微處理器S3C2410X構(gòu)建一個(gè)嵌入式系統(tǒng)完成無(wú)線寬帶通信的功能。
2 S3C2410X嵌入式處理器
S3C2410是韓國(guó)三星電子公司最近推出的一款基于ARM920T內(nèi)核的16/32位RISC嵌入式微處理器。該處理器主要面向手持式設(shè)備以及高性價(jià)比、低功耗的應(yīng)用。圖1為ARM920T的結(jié)構(gòu)框圖,圖2為S3C2410X在內(nèi)核外所集成資源的功能框圖[1]。
ARM920T核由ARM9TDMI、存儲(chǔ)管理單元MMU和高速緩存三部分組成。其中,MMU可以管理虛擬內(nèi)存,高速緩存由獨(dú)立的16KB地址和16KB數(shù)據(jù)高速Cache組成。ARM920T有兩個(gè)內(nèi)部協(xié)處理器:CP14和CP15。CP14用于調(diào)試控制,CP15用于存儲(chǔ)系統(tǒng)控制以及測(cè)試控制。S3C2410X集成了一個(gè)LCD控制器(支持STN和TFT帶有觸摸屏的液晶顯示屏)、SDRAM控制器、3個(gè)通道的UART、4個(gè)通道的DMA、4個(gè)具有PWM功能的計(jì)時(shí)器和一個(gè)內(nèi)部時(shí)鐘、8通道的10位ADC。S3C2410還有很多豐富的外部接口,例如觸摸屏接口、I2C總線接口、I2S總線接口、兩個(gè)USB主機(jī)接口、一個(gè)USB設(shè)備接口、兩個(gè)SPI接口、SD接口和MMC卡接口。在時(shí)鐘方面S3C2410X也有突出的特點(diǎn),該芯片集成了一個(gè)具有日歷功能的RTC和具有PLL(MPLL和UPLL)的芯片時(shí)鐘發(fā)生器。MPLL產(chǎn)生主時(shí)鐘,能夠使處理器工作頻率最高達(dá)到203MHz。這個(gè)工作頻率能夠使處理器輕松運(yùn)行WinCE、Linux等操作系統(tǒng)以及進(jìn)行較為復(fù)雜的信息處理。UPLL產(chǎn)生實(shí)現(xiàn)主從USB功能的時(shí)鐘。
S3C2410X將系統(tǒng)的存儲(chǔ)空間分成8個(gè)bank,每個(gè)bank的大小是128M字節(jié),共1G字節(jié)。bank0到bank5的開始地址是固定的,用于ROM或SRAM。bank6和bank7用于ROM、SRAM或SDRAM,這兩個(gè)bank可編程,且大小相同。bank7的開始地址是bank6的結(jié)束地址,靈活可變。所有內(nèi)存塊的訪問(wèn)周期都可編程,外部Wait擴(kuò)展了訪問(wèn)周期。S3C2410X采用nGCS[7:0]8個(gè)通用片選線選擇8個(gè)bank區(qū)。
S3C2410X支持NAND閃存Boot Load, NAND閃存具有容量大、比NOR閃存更具競(jìng)爭(zhēng)力的價(jià)格等特點(diǎn),系統(tǒng)采用NAND閃存與SDRAM組合,可以獲得非常高的性價(jià)比。S3C2410X具有三種boot方式,由OM[1:0]管腳選擇:00時(shí)處理器從NAND閃存boot;01時(shí)從16位寬的ROM boot;10時(shí)從32位寬ROM boot。用戶將bootload代碼和操作系統(tǒng)鏡像放在外部的NAND閃存,采用NAND閃存boot。處理器上電復(fù)位時(shí),通過(guò)內(nèi)置的NAND閃存訪問(wèn)控制接口將bootload代碼自動(dòng)加載到內(nèi)部的4KB SRAM(此時(shí)該SRAM定位于起始地址空間0x00000000)并且運(yùn)行,在boot SRAM運(yùn)行的bootload程序?qū)⒉僮飨到y(tǒng)的鏡像加載到SDRAM,之后操作系統(tǒng)就能夠在SDRAM運(yùn)行。啟動(dòng)完畢后,4KB boot SRAM就可以用于其他用途。如果從其他方式boot,boot ROM就要被定位于內(nèi)存的起始地址空間0x00000000,處理器直接在ROM上運(yùn)行boot程序,此時(shí)4KB boot SRAM被定位于內(nèi)存地址0x40000000處。
S3C2410X對(duì)于片內(nèi)的各個(gè)部件采用了獨(dú)立的電源供給:內(nèi)核采用1.8V供電;存儲(chǔ)單元采用3.3V獨(dú)立供電,對(duì)于一般SDRAM可以采用3.3V,對(duì)于移動(dòng)SDRAM可以采用VDD等于1.8/2.5V,VDDQ等于3.0/3.3V;I/O采用獨(dú)立3.3V供電[1]。
3 系統(tǒng)硬件平臺(tái)
利用S3C2410X出色的內(nèi)核性能和豐富的外部接口構(gòu)造一個(gè)嵌入式系統(tǒng)平臺(tái),用于嵌入式無(wú)線寬帶通信。圖3是該系統(tǒng)的硬件框圖。
在這個(gè)嵌入式硬件平臺(tái)中,主CPU是SAMSUNG公司的S3C2410X。作為boot的NAND閃存是SAMSUNG公司的SmartMedia卡。根據(jù)應(yīng)用中對(duì)于容量的需求可以選用K9S1208VOM,容量為64MB,或者K9D1G08,容量為128MB。
SmartMedia卡為大容量的固態(tài)存儲(chǔ)提供了相當(dāng)高的性價(jià)比。它按照頁(yè)進(jìn)行自動(dòng)編程,每一頁(yè)大小為528個(gè)字節(jié),編程的典型時(shí)間為200μs;擦除則按照塊進(jìn)行,每一塊的大小為16K字節(jié),典型的擦除時(shí)間為2ms。它在頁(yè)面中讀取單個(gè)數(shù)據(jù)的時(shí)間為50ns。SmartMedia卡總共只有22個(gè)引腳,8根I/O口線、讀寫控制線和電源線。I/O口是地址、命令輸入和數(shù)據(jù)輸出輸入的復(fù)用端口。SmartMedia卡還提供了ECC錯(cuò)誤糾正碼,實(shí)現(xiàn)壞區(qū)檢測(cè)以及實(shí)時(shí)映射,這樣它具有高達(dá)10萬(wàn)次的編程/擦除周期,數(shù)據(jù)保存長(zhǎng)達(dá)10年。S3C2410X專門有NAND閃存的接口,所以在硬件上SmartMedia卡直接與這個(gè)接口相連。在這個(gè)平臺(tái)中,SmartMedia卡可以被用作裝載操作系統(tǒng)鏡像以及大容量的數(shù)據(jù)存儲(chǔ)。
SDRAM被用來(lái)運(yùn)行操作系統(tǒng)以及各類數(shù)據(jù)的緩存,可采用三星、現(xiàn)代等廠家的產(chǎn)品。這里采用SAMSUNG公司的K4S561632C,它是4M×16bit×4bank的同步DRAM,容量為32MB。用2片K4S561632C,實(shí)現(xiàn)位擴(kuò)展,使數(shù)據(jù)總線寬度為32bit,總?cè)萘繛?4MB。它的地址空間映射在S3C2410的bank6。
NOR FLASH采用AMD公司的AM29LV800B,容量為1MB。其工作電壓可在2.7V到3.6V之間,訪問(wèn)時(shí)間為70ns,可以作為boot ROM Flash。與其它的Flash不同的是它具有靈活的頁(yè)面結(jié)構(gòu),一個(gè)16K字節(jié)頁(yè),2個(gè)8K字節(jié)頁(yè),一個(gè)32K字節(jié)頁(yè)和15個(gè)64K字節(jié)頁(yè)。至于它的讀寫和擦除操作與一般的線性閃存沒(méi)有區(qū)別。在這里AMD閃存主要用于前期的調(diào)試和操作系統(tǒng)的下載。
因?yàn)镾3C2410X本身沒(méi)有PCMCIA接口,所以為了連接PCMCIA接口的無(wú)線網(wǎng)卡,必須采用一個(gè)專用的芯片作為轉(zhuǎn)接。在這里,采用Intel公司生產(chǎn)的ISA-TO-PC-Card控制器――PD6710。PD6710能夠控制一個(gè)PC-Card插槽,兼容PC卡標(biāo)準(zhǔn)、PCMCIA2.1和JEIDA4.1。PD6710采用有效功率和混合電壓技術(shù)減少系統(tǒng)的功耗,同時(shí)該芯片具有軟控制掛起模式和硬件超級(jí)掛起模式實(shí)現(xiàn)低功耗的控制。該芯片采用82365SL兼容的寄存器組,具有5個(gè)可編程的存儲(chǔ)區(qū)和兩個(gè)可編程的I/O區(qū)。PD6710與S3C2410X連接端采用8位或16位的類ISA系統(tǒng)總線(這里采用16位的系統(tǒng)總線),與無(wú)線網(wǎng)卡連接端采用8位或16位PC卡總線接口。無(wú)線網(wǎng)卡是802.11b標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)應(yīng)用最廣泛,而且各大公司的產(chǎn)品都提供了現(xiàn)成的驅(qū)動(dòng)程序。隨著USB接口的廣泛應(yīng)用,市場(chǎng)上已有USB接口的無(wú)線網(wǎng)卡,S3C2410X集成了USB主機(jī)接口,可與USB接口的無(wú)線網(wǎng)卡直接相連。如果想使用CF卡接口的無(wú)線網(wǎng)卡,只需找一個(gè)CF-PCMCIA適配器就能完成轉(zhuǎn)接。
在這個(gè)平臺(tái)里,采用CS8900網(wǎng)卡芯片實(shí)現(xiàn)與以太網(wǎng)的連接,FPGA采用Xilinx公司的SpartanXL系列產(chǎn)品,根據(jù)功能要求可以選用XCS40XL型號(hào),使可用門數(shù)目高達(dá)40K。利用SpartanXL系列器件里的RAM可以實(shí)現(xiàn)高速的FIFO或者利用其靈活的可編程性,可以作為這個(gè)平臺(tái)與外部其他功能模塊的通用接口。例如需要進(jìn)行多媒體數(shù)據(jù)的處理時(shí),可以外加一個(gè)DSP來(lái)完成,這樣S3C2410X就可以通過(guò)FPGA實(shí)現(xiàn)高速FIFO與DSP的數(shù)據(jù)交換。
至于人機(jī)接口方面的設(shè)計(jì),筆者使用SAMSUNG公司的3.5英寸TFT LCD,并帶有觸摸屏。輸入則采用PDA常用的軟鍵盤。
4 軟件平臺(tái)及系統(tǒng)開發(fā)
S3C2410X集成了內(nèi)存管理單元,因此能夠嵌入多種主流操作系統(tǒng),包括Windows CE、Linux、VxWorks等。在這個(gè)系統(tǒng)中,選用Windows CE嵌入式操作系統(tǒng)。對(duì)于已經(jīng)熟悉Windows環(huán)境的應(yīng)用程序開發(fā)者來(lái)說(shuō),Windows CE提供了友好熟悉的開發(fā)環(huán)境,如Microsoft Win32 API、ActiveX控件、消息隊(duì)列、COM接口、ATL和MFC,而且有很多Windows成功的程序可以移植到Windows CE中去,大大提高了開發(fā)的效率。Windows CE嵌入式操作系統(tǒng)能夠給用戶提供熟悉和操作方便的GUI。
WinCE開發(fā)平臺(tái)由兩部分組成:Platform Builder和軟件開發(fā)包SDK(Embedded Visual C++和Embedded Visual Basic)。Platform Builder用來(lái)定制操作系統(tǒng),SDK則用來(lái)開發(fā)應(yīng)用程序。整個(gè)Windows CE系統(tǒng)由三部分組成:應(yīng)用程序、WinCE各個(gè)部件和OEM層。OEM層接口又包括OEM適配層、本地驅(qū)動(dòng)和流接口驅(qū)動(dòng)。定制操作系統(tǒng)的步驟如下:(1)編寫板基支持包BSP(包括OEM適配層OAL和硬件驅(qū)動(dòng));(2)裁減和配置操作系統(tǒng)的各個(gè)部件,并修改相應(yīng)的配置文件;(3)編譯Kernal、組件和BSP,生成操作系統(tǒng)鏡像文件;(4)將鏡像文件下載到目標(biāo)設(shè)備上,進(jìn)行調(diào)試。定制完操作系統(tǒng)后,在Platform Builder里導(dǎo)出SDK,就可以在Embedded Visual C++或Embedded Visual Basic環(huán)境下針對(duì)平臺(tái)開發(fā)應(yīng)用程序[2]。
操作系統(tǒng)定制完后,就要將它下載到目標(biāo)設(shè)備上。常用的方法有以下幾種:通過(guò)JTAG接口下載、EBOOT下載、USB下載、串口下載。后面三種下載方法都要先通過(guò)JTAG接口將相應(yīng)的監(jiān)控程序下載到Flash中,然后CPU從Flash啟動(dòng)。因?yàn)镾3C2410X集成了一個(gè)從USB接口,因此在沒(méi)有以太網(wǎng)的情況下,通過(guò)USB下載特別方便,而且下載速度遠(yuǎn)遠(yuǎn)大于串口下載。在實(shí)際的系統(tǒng)開發(fā)中,利用JTAG調(diào)試器將USB監(jiān)控程序編程到AMD 閃存,然后讓S3C2410X從AMD 閃存boot。主機(jī)運(yùn)行SAMSUNG公司提供的DNW程序,利用串口進(jìn)行信息交互,通過(guò)USB將BootLoader和操作系統(tǒng)鏡像下載到SDRAM中,然后通過(guò)USB下載一個(gè)NAND閃存的寫程序到SDRAM并運(yùn)行,將SDRAM中的BootLoader和操作系統(tǒng)鏡像寫到SmartMedia卡中。下載完畢后,改變boot方法,讓S3C2410X從SmartMedia卡開始boot,操作系統(tǒng)即能在平臺(tái)中運(yùn)行起來(lái)了。
一旦操作系統(tǒng)裝載完后,就可以通過(guò)Microsoft ActiveSync安裝無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序和相應(yīng)的應(yīng)用程序了。為了避免掉電后重新安裝無(wú)線網(wǎng)卡驅(qū)動(dòng)程序,可以將驅(qū)動(dòng)程序直接打包在操作系統(tǒng)中。為了避免每次開機(jī)時(shí)IP地址的重新設(shè)置,利用塊設(shè)備進(jìn)行永久注冊(cè)表存儲(chǔ)。在具體實(shí)現(xiàn)中,WinCE提供RegCopyFile函數(shù)保存注冊(cè)表信息和RegRestoreFile函數(shù)加載注冊(cè)表信息。如果在一個(gè)無(wú)線寬帶網(wǎng)絡(luò)中,存在一個(gè)DHCP服務(wù)器,那么這個(gè)嵌入式系統(tǒng)可以通過(guò)DHCP動(dòng)態(tài)獲得IP地址,解決了在沒(méi)有人機(jī)接口的情況下設(shè)置IP地址的問(wèn)題。因?yàn)閃inCE集成了TCP/IP協(xié)議,所以直接利用操作系統(tǒng)所提供的Socket接口開發(fā)各類無(wú)線網(wǎng)絡(luò)應(yīng)用程序[3]。
5 應(yīng)用
基于S3C2410X的無(wú)線寬帶通信模塊可被廣泛地應(yīng)用到WLAN網(wǎng)絡(luò)中的各類移動(dòng)終端,實(shí)現(xiàn)數(shù)據(jù)和多媒體的傳輸。圖4為該模塊在WLAN中應(yīng)用示意圖。AP為無(wú)線接入點(diǎn),MT為基于S3C2410X的現(xiàn)場(chǎng)無(wú)線通信移動(dòng)終端,它們之間通過(guò)802.11b協(xié)議進(jìn)行無(wú)線通信。DS為分布式系統(tǒng),AP通過(guò)它進(jìn)行通信。一般AP與有線網(wǎng)絡(luò)相連,這樣MT不僅可以相互通信,而且還能與有線網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)傳輸。
這個(gè)嵌入式模塊集成豐富的接口,不僅可以實(shí)現(xiàn)有線網(wǎng)絡(luò)和無(wú)線網(wǎng)絡(luò)的無(wú)縫連接,而且如果附加一個(gè)CCD攝像頭和一個(gè)DSP處理模塊就可以實(shí)現(xiàn)圖像的無(wú)線監(jiān)控。目前,該模塊已經(jīng)在現(xiàn)場(chǎng)總線無(wú)線通信中得到了應(yīng)用。
評(píng)論