《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 智能無(wú)線(xiàn)多媒體數(shù)字播放系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
智能無(wú)線(xiàn)多媒體數(shù)字播放系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
崔 微,馮文江,衡玉龍,唐丹丹,郭褚冰
(重慶大學(xué) 通信工程學(xué)院,重慶400044)
摘要: 基于嵌入式Linux技術(shù),提出一種智能無(wú)線(xiàn)多媒體數(shù)字播放系統(tǒng)的設(shè)計(jì)方案。介紹了系統(tǒng)功能、總體結(jié)構(gòu)、主控CPU和無(wú)線(xiàn)模塊。通過(guò)Linux系統(tǒng)中SPI接口的驅(qū)動(dòng)對(duì)無(wú)線(xiàn)模塊的控制,成功實(shí)現(xiàn)了區(qū)域位置自動(dòng)識(shí)別和音視頻文件的受控播放以及與用戶(hù)進(jìn)行交互的圖形化界面操作程序。
Abstract:
Key words :

摘  要: 基于嵌入式Linux技術(shù),提出一種智能無(wú)線(xiàn)多媒體數(shù)字播放系統(tǒng)的設(shè)計(jì)方案。介紹了系統(tǒng)功能、總體結(jié)構(gòu)、主控CPU和無(wú)線(xiàn)模塊。通過(guò)Linux系統(tǒng)中SPI接口的驅(qū)動(dòng)對(duì)無(wú)線(xiàn)模塊的控制,成功實(shí)現(xiàn)了區(qū)域位置自動(dòng)識(shí)別和音視頻文件的受控播放以及與用戶(hù)進(jìn)行交互的圖形化界面操作程序。
關(guān)鍵詞: 嵌入式Linux;SPI驅(qū)動(dòng);CYWUSB6934;多媒體數(shù)字播放系統(tǒng)

  隨著旅游業(yè)的進(jìn)一步發(fā)展,旅游市場(chǎng)電子產(chǎn)品更趨多樣性,以滿(mǎn)足不同消費(fèi)人群的個(gè)性化需求,目前常見(jiàn)的能提供語(yǔ)音服務(wù)的電子導(dǎo)游機(jī)只能提供單一的語(yǔ)音解說(shuō),不能滿(mǎn)足游客追求視聽(tīng)一體化享受的需求。如果在游客進(jìn)入任一景點(diǎn)時(shí),可以通過(guò)手中的多媒體數(shù)字播放系統(tǒng),在優(yōu)美的背景音樂(lè)中輕松聆聽(tīng)富有內(nèi)涵的講解或在參觀、游覽的同時(shí),播放相應(yīng)景點(diǎn)的歷史畫(huà)面,就能讓每一個(gè)游客得到深層次的精神享受。
  嵌入式應(yīng)用技術(shù)已在消費(fèi)類(lèi)電子產(chǎn)品中得到廣泛應(yīng)用,其高智能化、可裁剪性、可移植性的特點(diǎn)已受到業(yè)界的推崇[1-2]。本文介紹一種智能無(wú)線(xiàn)多媒體播放系統(tǒng),該產(chǎn)品將嵌入式應(yīng)用技術(shù)應(yīng)用于電子多媒體導(dǎo)游產(chǎn)品開(kāi)發(fā),實(shí)現(xiàn)了視頻受控播放,彌補(bǔ)了以往單一語(yǔ)音解說(shuō)的不足,也有重要的市場(chǎng)推廣價(jià)值。
1 系統(tǒng)組成
  一種能夠自動(dòng)接收并識(shí)別無(wú)線(xiàn)地址碼的嵌入式智能無(wú)線(xiàn)多媒體播放系統(tǒng)結(jié)構(gòu)如圖1所示,該系統(tǒng)由手持智能無(wú)線(xiàn)多媒體終端和地址碼無(wú)線(xiàn)發(fā)射機(jī)構(gòu)成。

  地址碼無(wú)線(xiàn)發(fā)射機(jī)安裝在各個(gè)景點(diǎn)或展臺(tái)處,周期性地向外發(fā)射自身地址碼,不同的景點(diǎn)/展臺(tái)具有不同的地址碼,同一景點(diǎn)/展臺(tái)可以設(shè)置一個(gè)或多個(gè)相同地址碼的發(fā)射機(jī),盡量讓所發(fā)射的信號(hào)覆蓋整個(gè)景點(diǎn)/展臺(tái),同時(shí)通過(guò)發(fā)射功率控制技術(shù)避免相鄰景點(diǎn)/展臺(tái)之間產(chǎn)生交叉干擾。隨著用戶(hù)的移動(dòng),所攜帶的手持智能無(wú)線(xiàn)多媒體終端在走近某景點(diǎn)/展臺(tái)時(shí)會(huì)自動(dòng)接收到對(duì)應(yīng)該景點(diǎn)/展臺(tái)的地址碼,通過(guò)對(duì)該地址碼的解析,接收終端調(diào)用并切換到該地址碼對(duì)應(yīng)的、預(yù)存在SD存儲(chǔ)卡中的音視頻文件進(jìn)行播放,用戶(hù)可通過(guò)LCD液晶觸摸顯示屏觀看播放內(nèi)容,也可以終止自動(dòng)播放,手動(dòng)選擇其他的音視頻文件進(jìn)行播放。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)設(shè)計(jì)指標(biāo)
  設(shè)計(jì)指標(biāo)為:各景點(diǎn)/展臺(tái)的覆蓋范圍5 m~25 m可調(diào);各景點(diǎn)/展臺(tái)之間互不干擾;景點(diǎn)識(shí)別編碼發(fā)射采用ISM頻段;信號(hào)發(fā)射功率在允許范圍之內(nèi)可調(diào);能在溫度濕度相對(duì)惡劣的環(huán)境下工作;使用智能化操作系統(tǒng),可隨時(shí)更新應(yīng)用程序;自動(dòng)實(shí)現(xiàn)不同景點(diǎn)/展臺(tái)的音視頻內(nèi)容切換;擁有圖形用戶(hù)界面,用戶(hù)可通過(guò)觸摸屏手動(dòng)選擇音視頻文件和語(yǔ)種;可存放音視頻文件,大小及數(shù)量根據(jù)SD存儲(chǔ)卡容量決定,可現(xiàn)場(chǎng)下載更新;支持音頻MP3和MPEG1-4視頻文件播放;發(fā)射主機(jī)符合國(guó)家相關(guān)標(biāo)準(zhǔn)。
  為了滿(mǎn)足設(shè)計(jì)技術(shù)指標(biāo)要求,對(duì)構(gòu)成系統(tǒng)的主要器件選擇如下:(1)地址碼無(wú)線(xiàn)發(fā)射機(jī)的主控芯片選用TI公司的MSP430F133;(2)手持智能無(wú)線(xiàn)多媒體終端的主控芯片選用三星公司的S3C2440A,該芯片典型主頻為400 MHz,集成了NAND Flash控制器、SD/MMC控制器、LCD控制器、SPI接口控制器等;(3)無(wú)線(xiàn)收發(fā)模塊選用CYWUSB6934;(4)Flash存儲(chǔ)器采用三星公司的K9F1208UOB;(5)SDRAM采用Hynix公司的HY57561620T;(6)顯示屏采用NEC 3.5′ TFT觸摸屏;(7)音頻解碼芯片采用UDA1341TS。
  嵌入式操作系統(tǒng)構(gòu)成如下:(1)Bootloader使用三星公司專(zhuān)為其產(chǎn)品開(kāi)發(fā)的啟動(dòng)代碼VIVI;(2)內(nèi)核采用Linux2.6.13版[3];(3)文件系統(tǒng)選擇與NAND Flash兼容較好的YAFFS文件系統(tǒng)[4-6];(4)圖形用戶(hù)界面采用QTOPIA1.7[7]。
2.2 ARM9嵌入式微處理器S3C2440A[8]
  S3C2440A是三星公司基于ARM920T設(shè)計(jì)的一款處理器,主頻400 MHz;擴(kuò)展總線(xiàn)最大頻率100 MHz;32 bit數(shù)據(jù),27 bit外部數(shù)據(jù)線(xiàn);完全靜態(tài)設(shè)計(jì)(0~400 MHz);存儲(chǔ)控制器(8個(gè)存儲(chǔ)體),4個(gè)帶有PWM的16 bit定時(shí)器;多達(dá)55個(gè)中斷源的中斷控制器;RTC;3個(gè)UART,支持IrDA 1.0;4個(gè)DMA通道支持外設(shè)DMA;8通道,500 kS/s,10 bit ADC;支持STN與TFT LCD控制器;看門(mén)狗;I2S音頻接口;2個(gè)USB接口;I2C-Bus接口;2個(gè)串行外圍接口電路(SPI);SD卡接口。選擇ARM9芯片可以利用Linux操作系統(tǒng)來(lái)減少軟件開(kāi)發(fā)時(shí)間,而且S3C2440A對(duì)主流多媒體支持較好,很適合用于開(kāi)發(fā)智能多媒體系統(tǒng)。
2.3 CYWUSB6934無(wú)線(xiàn)收發(fā)模塊[9]
      無(wú)線(xiàn)收發(fā)模塊選用Cypress公司的CYWUSB6934。該芯片既可用作發(fā)射,也可用作接收,工作在2.4 GHz ISM 頻段,頻率范圍為2.4 GHz~2.483 GHz。具有低功耗、低輻射的特點(diǎn)(輻射功率最大為0 dBm),且發(fā)射功率可調(diào)(共7個(gè)等級(jí));無(wú)線(xiàn)接收靈敏度高,可達(dá)-90 dBm;通信半徑可達(dá)10 m(當(dāng)輸出最大功率且無(wú)障礙物阻擋時(shí)的直線(xiàn)通信距離可達(dá)15 m左右)。采用直序擴(kuò)頻(DSSS)技術(shù),調(diào)制方式采用高斯頻移鍵控(GFSK),與ARM之間接口為SPI口。由于其近距離、低功耗等特點(diǎn),非常適用于短距離無(wú)線(xiàn)傳輸。
2.4 地址碼無(wú)線(xiàn)發(fā)射機(jī)[10]
  地址碼無(wú)線(xiàn)發(fā)射機(jī)是以單片機(jī)為核心構(gòu)成的控制系統(tǒng),主要包括電源模塊、無(wú)線(xiàn)發(fā)射模塊和發(fā)射功率調(diào)整撥動(dòng)開(kāi)關(guān),單片機(jī)與無(wú)線(xiàn)發(fā)射模塊的接口為SPI口。
2.5 手持智能無(wú)線(xiàn)多媒體終端
  每個(gè)景點(diǎn)/展臺(tái)的音視頻內(nèi)容都以特定格式存儲(chǔ)在SD存儲(chǔ)卡中,每一個(gè)文件以規(guī)定方式命名,且對(duì)應(yīng)于一個(gè)地址碼。
  手持智能無(wú)線(xiàn)多媒體終端開(kāi)機(jī)完成硬件初始化、Linux操作系統(tǒng)的啟動(dòng)、文件系統(tǒng)的掛載和圖形用戶(hù)界面的啟動(dòng)后,由用戶(hù)點(diǎn)擊圖形桌面上的智能點(diǎn)播系統(tǒng)程序圖標(biāo)運(yùn)行點(diǎn)播程序。該程序打開(kāi)無(wú)線(xiàn)模塊,開(kāi)始監(jiān)聽(tīng)信道,同時(shí)等待查詢(xún)信息的返回。系統(tǒng)每隔1 s查詢(xún)一次CYWUSB6934的數(shù)據(jù)狀態(tài)寄存器,當(dāng)收到1 B的數(shù)據(jù)后,狀態(tài)字會(huì)自動(dòng)改變。系統(tǒng)查詢(xún)到這個(gè)信息后,立即讀取CYWUSB6934的數(shù)據(jù)寄存器以獲得地址碼。系統(tǒng)會(huì)將接收到的地址碼與前一數(shù)據(jù)進(jìn)行對(duì)比,若相同則繼續(xù)播放,若不同則自動(dòng)切換到對(duì)應(yīng)該地址碼的文件進(jìn)行播放。
3 智能無(wú)線(xiàn)點(diǎn)播的實(shí)現(xiàn)
  微處理器S3C2440A和無(wú)線(xiàn)芯片CYWUSB6934之間通過(guò)SPI接口進(jìn)行通信,在Linux系統(tǒng)中兩者之間的通信就必須通過(guò)SPI驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。而智能點(diǎn)播則是在用戶(hù)啟動(dòng)Linux系統(tǒng)中的點(diǎn)播程序時(shí),系統(tǒng)識(shí)別接收到的數(shù)據(jù)后,自動(dòng)調(diào)用音視頻文件進(jìn)行播放。
3.1 SPI驅(qū)動(dòng)
  在Linux操作系統(tǒng)中,所有外圍設(shè)備的控制都是通過(guò)驅(qū)動(dòng)程序?qū)崿F(xiàn)的,設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核與機(jī)器硬件之間的接口。
  手持智能無(wú)線(xiàn)多媒體終端需要通過(guò)SPI接口控制無(wú)線(xiàn)收發(fā)芯片,這就需使用SPI接口驅(qū)動(dòng)程序來(lái)建立無(wú)線(xiàn)收發(fā)芯片與內(nèi)核之間的通信橋梁。SPI接口以主從方式進(jìn)行工作,其接口包括4種信號(hào):(1)MOSI:主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入;(2)MISO:主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出;(3)SCLK:時(shí)鐘信號(hào),由主器件產(chǎn)生;(4)/SS:從器件使能信號(hào),由主器件控制。
  圖2為S3C2440A與CYWUSB6934之間SPI接口的連接圖。圖中nSS控制CYWUSB6934作為從器件,SPIMOSI和SPIMISO是它們之間的數(shù)據(jù)傳輸通道,SPICLK為時(shí)鐘信號(hào)。S3C2440A通過(guò)SPI接口與外部設(shè)備進(jìn)行通信時(shí),可發(fā)送或接收8 bit同步數(shù)據(jù),其中兩路數(shù)據(jù)線(xiàn)信號(hào)的轉(zhuǎn)換與采樣由一路時(shí)鐘信號(hào)線(xiàn)進(jìn)行同步。SPI工作方式等的選擇由S3C2440A中的相關(guān)寄存器進(jìn)行控制。當(dāng)SPI作為主控制器時(shí),由SPPRE寄存器中相應(yīng)的比特位控制。而當(dāng)SPI為從設(shè)備時(shí),時(shí)鐘信號(hào)則是由其他設(shè)備提供。當(dāng)程序?qū)?shù)據(jù)寫(xiě)入SPTDAT寄存器時(shí),SPI的發(fā)送和接收操作同步進(jìn)行。某些情況下,在將數(shù)據(jù)寫(xiě)入SPTDAT寄存器之前,nSS應(yīng)該被置為高電平。在本系統(tǒng)中主要用到的S3C2440A內(nèi)部與SPI相關(guān)的寄存器如下:

  (1)SPCON寄存器:主要用于設(shè)置時(shí)鐘開(kāi)啟、SPI傳輸格式、SPI傳輸模式。其中傳輸模式有3種,分別是polling模式、DMA模式、中斷模式。
  (2)SPSTA寄存器:SPI接口的狀態(tài)寄存器,用于指示數(shù)據(jù)接收或發(fā)送是否已經(jīng)完成。
  (3)SPPIN寄存器:用于檢測(cè)是否有多個(gè)主機(jī)。
  (4)SPPRE寄存器:用于設(shè)置SPI傳輸時(shí)鐘頻率。其值通過(guò)如下計(jì)算式確定:
  Baud rate=PCLK/2/(Prescaler value+1)
  其中Prescaler value的初始值為0x00。
  (5)SPTDAT和SPRDAT寄存器:發(fā)射和接收數(shù)據(jù)寄存器。
  在Linux系統(tǒng)啟動(dòng)時(shí),要對(duì)以上寄存器進(jìn)行賦值,就必須通過(guò)SPI驅(qū)動(dòng)程序。而驅(qū)動(dòng)程序就是作為系統(tǒng)和外部設(shè)備的一個(gè)橋梁,在這里只有將SPI通道正確打開(kāi),系統(tǒng)才能夠通過(guò)這個(gè)橋梁對(duì)外部無(wú)線(xiàn)芯片的基本工作寄存器進(jìn)行操作,完成數(shù)據(jù)的收發(fā)。
  Linux中的I/O子系統(tǒng)向內(nèi)核中的其他部分提供了一個(gè)統(tǒng)一的標(biāo)準(zhǔn)設(shè)備接口,這是通過(guò)include/linux/fs.h中的數(shù)據(jù)結(jié)構(gòu)file_operations完成的[11]。圖3所示為本系統(tǒng)中SPI驅(qū)動(dòng)設(shè)備描述符函數(shù)組成框圖。

  圖3中驅(qū)動(dòng)程序的struct file_operations( )只使用了系統(tǒng)提供的4個(gè)子函數(shù)接口:open( )、write( )、ioctl( )和release( )。其中open( )用于完成SPI設(shè)備的打開(kāi)、初始化相關(guān)寄存器、準(zhǔn)備進(jìn)行設(shè)備I/O操作;write( )完成通過(guò)SPI接口進(jìn)行寫(xiě)操作;ioctl( )是進(jìn)行讀寫(xiě)以外的其他操作,通過(guò)對(duì)I/O口高低電平的改變實(shí)現(xiàn)不同功能;release( )用于關(guān)閉設(shè)備,釋放占用內(nèi)存[12]。
  S3C2440A SPI的傳輸形式是由SPI控制寄存器SPCON中的1 bit位和2 bit位的值共同決定的。1 bit位是CPHA(Clock Phrase Select),它用來(lái)選擇傳輸格式為Format A或Format B,置0為Format A,置1為Format B;2 bit位是CPOL(Clock Polarity),它決定時(shí)鐘信號(hào)是高電平觸發(fā)還是低電平觸發(fā),置0為active high,置1為active low。根據(jù)這2個(gè)bit位的組合關(guān)系,S3C2440A的SPI操作方式有4種[4]:Format A高電平觸發(fā),F(xiàn)ormat A低電平觸發(fā),F(xiàn)ormat B高電平觸發(fā),F(xiàn)ormat B低電平觸發(fā)。要使得S3C2440A能夠通過(guò)SPI接口對(duì)CYWUSB6934進(jìn)行讀寫(xiě)操作,就必須讓它們的時(shí)鐘和傳輸形式都相同。由圖3可以看出,CYWUSB6934的SPI單字節(jié)讀出時(shí)鐘是高電平觸發(fā)的,又如虛線(xiàn)箭頭處時(shí)鐘信號(hào)的上升沿正與圖4中SPI時(shí)鐘相吻合,而在圖4中cmd的2 bit位是傳輸字節(jié)中的最高2位,再根據(jù)圖5中 MOSI的MSB就應(yīng)該是傳輸字節(jié)的最高2位,為00,所以選擇方式為Format A高電平觸發(fā)。

  在確定了它們之間的傳輸格式以及觸發(fā)方式后, SPI驅(qū)動(dòng)的實(shí)現(xiàn)就是對(duì)這些寄存器進(jìn)行正確的賦值。無(wú)線(xiàn)收發(fā)芯片CYWUSB6934通過(guò)SPI接口與ARM9主控芯片進(jìn)行通信,需要對(duì)各個(gè)寄存器進(jìn)行設(shè)置。根據(jù)系統(tǒng)要求,使用SPI1口實(shí)現(xiàn)SPI通信,其具體的編程實(shí)現(xiàn)如下:
  (1)在open( )函數(shù)中,對(duì)SPI接口進(jìn)行初始化,設(shè)置端口使用狀態(tài),設(shè)置SPI傳輸時(shí)鐘和傳輸模式。其代碼如下:

  在對(duì)S3C2440A中的SPI相關(guān)寄存器進(jìn)行初始化時(shí),需要注意SPI的時(shí)鐘是與主時(shí)鐘相關(guān)聯(lián)的,如果不首先開(kāi)啟主時(shí)鐘,即使將SPI自身工作時(shí)鐘開(kāi)啟也不能使接口正常工作。
  (2)通過(guò)寫(xiě)函數(shù)write( )實(shí)現(xiàn)對(duì)無(wú)線(xiàn)收發(fā)芯片CYWUSB6934的數(shù)據(jù)及地址寄存器的操作。其代碼如下:
  static ssize_t spi_write(struct file*filp,const char*buf,size_t
  count,loff_t*f_ops)
  {
   unsigned int tmp=0;
   get_user(tmp,(char*)buf);/*獲取CYWUSB6934中寄存器地址*/
  while((readl(SPSTA1) & 0x1)==0);
  writel(tmp,SPTDAT1);/*向寄存器中寫(xiě)預(yù)置數(shù)據(jù)*/
  while((readl(SPSTA1) & 0x1)==0);
  tmp=readl(SPRDAT1);/*再次從讀出的數(shù)據(jù)才是有用數(shù)據(jù)*/
     put_user(tmp,(char*)buf);
  return 0;
}
  (3)驅(qū)動(dòng)中的ioctl( )函數(shù)通過(guò)改變I/O輸出電平的高低控制CYWUSB6934的PD(Power Down)口。該端口電平為低時(shí)可以使無(wú)線(xiàn)芯片工作在休眠狀態(tài),以達(dá)到省電的目的。其代碼如下:

3.2 智能點(diǎn)播界面
  當(dāng)手持智能無(wú)線(xiàn)多媒體終端接收到由地址碼無(wú)線(xiàn)發(fā)射機(jī)發(fā)出的地址碼時(shí),將其存儲(chǔ)在數(shù)據(jù)寄存器中,主控芯片通過(guò)SPI接口讀取該地址碼信息,并以此為指針?biāo)阉鲗?duì)應(yīng)的、預(yù)存在SD存儲(chǔ)卡中的音視頻文件,并按需調(diào)用終端中的音視頻播放器解碼播放。
  軟件界面有2個(gè)按鈕,左邊是自動(dòng)播放按鈕,右邊是手動(dòng)播放按鈕。在用戶(hù)啟動(dòng)點(diǎn)播軟件時(shí),終端處于自動(dòng)播放狀態(tài),而自動(dòng)播放按鈕是當(dāng)用戶(hù)進(jìn)行手動(dòng)播放后,如需要再讓其進(jìn)行自動(dòng)播放時(shí)使用此按鈕。當(dāng)用戶(hù)點(diǎn)下手動(dòng)播放按鈕時(shí),會(huì)立即終止自動(dòng)播放,彈出文件選擇菜單,手動(dòng)選擇需要播放的文件。
  智能點(diǎn)播軟件需要解決的是底層數(shù)據(jù)和上層應(yīng)用程序的連接問(wèn)題。因?yàn)樵摻缑娉绦蚴墙⒃赒TOPIA平臺(tái)[13-15]上的,所以需要用Embedded C++程序完成主界面的建立和播放器的調(diào)用。而對(duì)地址碼的判斷是對(duì)底層進(jìn)行操作,需調(diào)用C程序,則用戶(hù)界面程序使用一個(gè)自定義的data外部變量,作為上層界面程序與底層應(yīng)用程序的橋梁。為了使程序能準(zhǔn)確地調(diào)用播放器,這里還設(shè)立了一個(gè)消息機(jī)制,定時(shí)查詢(xún)CYWUSB6934的數(shù)據(jù)寄存器。一旦收到數(shù)據(jù),就改變消息參數(shù),上層界面程序查詢(xún)到這個(gè)參數(shù)改變后,便立即調(diào)用播放器。
  本文設(shè)計(jì)的基于嵌入式的無(wú)線(xiàn)智能多媒體數(shù)字播放系統(tǒng)將嵌入式應(yīng)用技術(shù)與短距離無(wú)線(xiàn)通信技術(shù)相結(jié)合,構(gòu)成一套既具有工程實(shí)用價(jià)值,又可按需擴(kuò)展功能的系統(tǒng),實(shí)現(xiàn)了智能化的區(qū)域識(shí)別與音視頻播放,適用于各種景點(diǎn)及展臺(tái)的音視頻自動(dòng)/手動(dòng)受控播放,有很好的市場(chǎng)前景。
參考文獻(xiàn)
[1] 鄒思軼.嵌入式Linux設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社,2002.
[2] 管耀武,楊宗德.嵌入式無(wú)線(xiàn)通信系統(tǒng)開(kāi)發(fā).北京:電子工業(yè)出版社,2006.
[3] O′REILLY.Building embedded linux systems[M].2003,4.
[4] Seokhyun Kim,Yookun Cho.The design and implementation of flash cryptographic file system based on YAFFS[C]. School of Computer Science and Engineering,Seoul National  University,2008.
[5] Sudeep Jain,Yann-Hang Lee.Real-time support of flash  memory file system for embedded applications[C].Department  of Computer Science and Engineering Arizona State University,2006.
[6] CHEN Xing Wu,JIANG Xin Hua,WANG Lei.Development  on ARM9 system-on-chip embedded sensor node for urban  intelligent transportation system[C].School of Information Science and Engineering,Central South University, 2006,6.
[7] 深圳市優(yōu)龍科技有限公司.Qt嵌入式圖形開(kāi)發(fā)(實(shí)戰(zhàn)篇)[M]. 2004,6.
[8] Samsung S3C2440X 32 Bit RISC microprocessor developer′s  manual[M].Samsung Electronics,2004.
[9] CYWUSB6934 datasheet[M].Cypress Corporation,2005.
[10] 馮文江,邱宇,張李鵬.智能無(wú)線(xiàn)電子解說(shuō)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2006(10).
[11] 孫天澤,袁文菊,張海峰.嵌入式設(shè)計(jì)及Linux驅(qū)動(dòng)開(kāi)發(fā)指南——基于ARM9處理器[M].北京:電子工業(yè)出版社,2006.
[12] O′REILLY.Linux device drivers third edition[M].2005,2.
[13] BLANCHETTE J,SUMMERFIELD M.C++ GUI programming with Qt 3[M].Prentice Hall Ptr,2004.
[14] 深圳市優(yōu)龍科技有限公司.Qt嵌入式圖形開(kāi)發(fā)(入門(mén)篇)[M].2004,6.
[15] 深圳市優(yōu)龍科技有限公司.Qt嵌入式圖形開(kāi)發(fā)(基礎(chǔ)篇)[M].2004,6.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。