當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]一種智能無線多媒體數(shù)字播放系統(tǒng)的設計方案

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

  隨著旅游業(yè)的進一步發(fā)展,信息技術的進步,極大的改善和豐富了人們的日常生活。以休閑、觀光為主的旅游業(yè)和以科技信息和人文信息吸收為主的展覽館、博物館、文化教育成列館、產(chǎn)品交易會越來越受到人們的關注。參觀、旅游服務的電子化、智能化、可視化是全方位提高服務檔次和水平的發(fā)展方向。 傳統(tǒng)的人工解說方式不但需要大量人力和物力,還不能保證解說質量,特別是人數(shù)較多、多個解說員同時講解時,參觀者大多聽不到或聽不清楚解說內容?;趥鹘y(tǒng)解說方式存在的不足和旅游市場對電子導游產(chǎn)品的迫切需求,本文提出一種基于嵌入式的智能無線多媒體數(shù)字播放系統(tǒng)的設計方案,并通過軟硬件單元設計,完成系統(tǒng)樣機研制。本文介紹一種智能無線多媒體播放系統(tǒng),該產(chǎn)品將嵌入式應用技術應用于電子多媒體導游產(chǎn)品開發(fā),實現(xiàn)了視頻受控播放,彌補了以往單一語音解說的不足,也有重要的市場推廣價值。

  1 系統(tǒng)組成

  一種能夠自動接收并識別無線地址碼的嵌入式智能無線多媒體播放系統(tǒng)結構如圖1所示,該系統(tǒng)由手持智能無線多媒體終端和地址碼無線發(fā)射機構成。

  地址碼無線發(fā)射機安裝在各個景點或展臺處,周期性地向外發(fā)射自身地址碼,不同的景點/展臺具有不同的地址碼,同一景點/展臺可以設置一個或多個相同地址碼的發(fā)射機,盡量讓所發(fā)射的信號覆蓋整個景點/展臺,同時通過發(fā)射功率控制技術避免相鄰景點/展臺之間產(chǎn)生交叉干擾。隨著用戶的移動,所攜帶的手持智能無線多媒體終端在走近某景點/展臺時會自動接收到對應該景點/展臺的地址碼,通過對該地址碼的解析,接收終端調用并切換到該地址碼對應的、預存在SD存儲卡中的音視頻文件進行播放,用戶可通過LCD液晶觸摸顯示屏觀看播放內容,也可以終止自動播放,手動選擇其他的音視頻文件進行播放。

  2 系統(tǒng)設計

  2.1 系統(tǒng)設計指標

  設計指標為:各景點/展臺的覆蓋范圍5 m~25 m可調;各景點/展臺之間互不干擾;景點識別編碼發(fā)射采用ISM頻段;信號發(fā)射功率在允許范圍之內可調;能在溫度濕度相對惡劣的環(huán)境下工作;使用智能化操作系統(tǒng),可隨時更新應用程序;自動實現(xiàn)不同景點/展臺的音視頻內容切換;擁有圖形用戶界面,用戶可通過觸摸屏手動選擇音視頻文件和語種;可存放音視頻文件,大小及數(shù)量根據(jù)SD存儲卡容量決定,可現(xiàn)場下載更新;支持音頻MP3和MPEG1-4視頻文件播放;發(fā)射主機符合國家相關標準。

  為了滿足設計技術指標要求,對構成系統(tǒng)的主要器件選擇如下:(1)地址碼無線發(fā)射機的主控芯片選用TI公司的MSP430F133;(2)手持智能無線多媒體終端的主控芯片選用三星公司的S3C2440A,該芯片典型主頻為400 MHz,集成了NAND Flash控制器、SD/MMC控制器、LCD控制器、SPI接口控制器等;(3)無線收發(fā)模塊選用CYWUSB6934;(4)Flash存儲器采用三星公司的K9F1208UOB;(5)SDRAM采用Hynix公司的HY57561620T;(6)顯示屏采用NEC 3.5′ TFT觸摸屏;(7)音頻解碼芯片采用UDA1341TS。

  嵌入式操作系統(tǒng)構成如下:(1)Bootloader使用三星公司專為其產(chǎn)品開發(fā)的啟動代碼VIVI;(2)內核采用Linux2.6.13版[3];(3)文件系統(tǒng)選擇與NAND Flash兼容較好的YAFFS文件系統(tǒng)[4-6];(4)圖形用戶界面采用QTOPIA1.7[7]。

  2.2 ARM9嵌入式微處理器S3C2440A

  當前,嵌入式技術的應用越來越廣泛,從航天科技到民用產(chǎn)品,嵌入式產(chǎn)品的身影無處不在,而這些嵌入式產(chǎn)品的核心——處理器決定了產(chǎn)品的市場和性能。在32位嵌入式處理器市場中,ARM處理器占有很大的份額。現(xiàn)在由于存儲空間等原因,在嵌入式芯片上編程有較大的困難,選取合適的平臺就顯得很重要。Linux自出現(xiàn)以來,得到了迅猛的發(fā)展。Linux是開放源碼的操作系統(tǒng),吸引著全世界的程序員參與到發(fā)展和完善的工作中來,所以Linux保持了穩(wěn)定而且卓越的性能。Linux在服務器領域已經(jīng)占有很大的份額,在圖形界面方面也不輸于Windows。由于源碼可以修改、移植,Linux在嵌入式領域中的應用也越來越廣。

  S3C2440A是三星公司基于ARM920T設計的一款處理器,主頻400 MHz;擴展總線最大頻率100 MHz;32 bit數(shù)據(jù),27 bit外部數(shù)據(jù)線;完全靜態(tài)設計(0~400 MHz);存儲控制器(8個存儲體),4個帶有PWM的16 bit定時器;多達55個中斷源的中斷控制器;RTC;3個UART,支持IrDA 1.0;4個DMA通道支持外設DMA;8通道,500 kS/s,10 bit ADC;支持STN與TFT LCD控制器;看門狗;I2S音頻接口;2個USB接口;I2C-Bus接口;2個串行外圍接口電路(SPI);SD卡接口。選擇ARM9芯片可以利用Linux操作系統(tǒng)來減少軟件開發(fā)時間,而且S3C2440A對主流多媒體支持較好,很適合用于開發(fā)智能多媒體系統(tǒng)。

  2.3 CYWUSB6934無線收發(fā)模塊

  無線收發(fā)模塊選用Cypress公司的CYWUSB6934。該芯片既可用作發(fā)射,也可用作接收,工作在2.4 GHz ISM 頻段,頻率范圍為2.4 GHz~2.483 GHz。具有低功耗、低輻射的特點(輻射功率最大為0 dBm),且發(fā)射功率可調(共7個等級);無線接收靈敏度高,可達-90 dBm;通信半徑可達10 m(當輸出最大功率且無障礙物阻擋時的直線通信距離可達15 m左右)。由于其近距離、低功耗等特點,非常適用于短距離無線傳輸。

  2.4 地址碼無線發(fā)射機

  地址碼無線發(fā)射機是以單片機為核心構成的控制系統(tǒng),主要包括電源模塊、無線發(fā)射模塊和發(fā)射功率調整撥動開關,單片機與無線發(fā)射模塊的接口為SPI口。

  2.5 手持智能無線多媒體終端

  每個景點/展臺的音視頻內容都以特定格式存儲在SD存儲卡中,每一個文件以規(guī)定方式命名,且對應于一個地址碼。

  手持智能無線多媒體終端開機完成硬件初始化、Linux操作系統(tǒng)的啟動、文件系統(tǒng)的掛載和圖形用戶界面的啟動后,由用戶點擊圖形桌面上的智能點播系統(tǒng)程序圖標運行點播程序。系統(tǒng)查詢到這個信息后,立即讀取CYWUSB6934的數(shù)據(jù)寄存器以獲得地址碼。系統(tǒng)會將接收到的地址碼與前一數(shù)據(jù)進行對比,若相同則繼續(xù)播放,若不同則自動切換到對應該地址碼的文件進行播放。[!--empirenews.page--]

  3 智能無線點播的實現(xiàn)

  微處理器S3C2440A和無線芯片CYWUSB6934之間通過SPI接口進行通信,在Linux系統(tǒng)中兩者之間的通信就必須通過SPI驅動程序來實現(xiàn)。而智能點播則是在用戶啟動Linux系統(tǒng)中的點播程序時,系統(tǒng)識別接收到的數(shù)據(jù)后,自動調用音視頻文件進行播放。

  3.1 SPI驅動

  在Linux操作系統(tǒng)中,所有外圍設備的控制都是通過驅動程序實現(xiàn)的,設備驅動程序是操作系統(tǒng)內核與機器硬件之間的接口。

  SPI,是英語Serial Peripheral interface的縮寫,顧名思義就是串行外圍設備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在 EEPROM,F(xiàn)LASH,實時時鐘,AD轉換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議。手持智能無線多媒體終端需要通過SPI接口控制無線收發(fā)芯片,這就需使用SPI接口驅動程序來建立無線收發(fā)芯片與內核之間的通信橋梁。SPI接口以主從方式進行工作,其接口包括4種信號:(1)MOSI:主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入;(2)MISO:主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出;(3)SCLK:時鐘信號,由主器件產(chǎn)生;(4)/SS:從器件使能信號,由主器件控制。

  圖2為S3C2440A與CYWUSB6934之間SPI接口的連接圖。圖中nSS控制CYWUSB6934作為從器件,SPIMOSI和SPIMISO是它們之間的數(shù)據(jù)傳輸通道,SPICLK為時鐘信號。當SPI作為主控制器時,由SPPRE寄存器中相應的比特位控制。而當SPI為從設備時,時鐘信號則是由其他設備提供。某些情況下,在將數(shù)據(jù)寫入SPTDAT寄存器之前,nSS應該被置為高電平。在本系統(tǒng)中主要用到的S3C2440A內部與SPI相關的寄存器如下:

 ?。?)SPCON寄存器:主要用于設置時鐘開啟、SPI傳輸格式、SPI傳輸模式。其中傳輸模式有3種,分別是polling模式、DMA模式、中斷模式。

 ?。?)SPSTA寄存器:SPI接口的狀態(tài)寄存器,用于指示數(shù)據(jù)接收或發(fā)送是否已經(jīng)完成。

 ?。?)SPPIN寄存器:用于檢測是否有多個主機。

 ?。?)SPPRE寄存器:用于設置SPI傳輸時鐘頻率。其值通過如下計算式確定:

  Baud rate=PCLK/2/(Prescaler value+1)

  其中Prescaler value的初始值為0x00。

  (5)SPTDAT和SPRDAT寄存器:發(fā)射和接收數(shù)據(jù)寄存器。

  在Linux系統(tǒng)啟動時,要對以上寄存器進行賦值,就必須通過SPI驅動程序。而驅動程序就是作為系統(tǒng)和外部設備的一個橋梁,在這里只有將SPI通道正確打開,系統(tǒng)才能夠通過這個橋梁對外部無線芯片的基本工作寄存器進行操作,完成數(shù)據(jù)的收發(fā)。

  Linux中的I/O子系統(tǒng)向內核中的其他部分提供了一個統(tǒng)一的標準設備接口,這是通過include/linux/fs.h中的數(shù)據(jù)結構file_operations完成的[11]。圖3所示為本系統(tǒng)中SPI驅動設備描述符函數(shù)組成框圖。

[!--empirenews.page--]

  圖3中驅動程序的struct file_operations( )只使用了系統(tǒng)提供的4個子函數(shù)接口:open( )、write( )、ioctl( )和release( )。其中open( )用于完成SPI設備的打開、初始化相關寄存器、準備進行設備I/O操作;write( )完成通過SPI接口進行寫操作;ioctl( )是進行讀寫以外的其他操作,通過對I/O口高低電平的改變實現(xiàn)不同功能;release( )用于關閉設備,釋放占用內存[12]。

  S3C2440A SPI的傳輸形式是由SPI控制寄存器SPCON中的1 bit位和2 bit位的值共同決定的。1 bit位是CPHA(Clock Phrase Select),它用來選擇傳輸格式為Format A或Format B,置0為Format A,置1為Format B;2 bit位是CPOL(Clock Polarity),它決定時鐘信號是高電平觸發(fā)還是低電平觸發(fā),置0為active high,置1為active low。由圖3可以看出,CYWUSB6934的SPI單字節(jié)讀出時鐘是高電平觸發(fā)的,又如虛線箭頭處時鐘信號的上升沿正與圖4中SPI時鐘相吻合,而在圖4中cmd的2 bit位是傳輸字節(jié)中的最高2位,再根據(jù)圖5中 MOSI的MSB就應該是傳輸字節(jié)的最高2位,為00,所以選擇方式為Format A高電平觸發(fā)。

  在確定了它們之間的傳輸格式以及觸發(fā)方式后, SPI驅動的實現(xiàn)就是對這些寄存器進行正確的賦值。無線收發(fā)芯片CYWUSB6934通過SPI接口與ARM9主控芯片進行通信,需要對各個寄存器進行設置。根據(jù)系統(tǒng)要求,使用SPI1口實現(xiàn)SPI通信,其具體的編程實現(xiàn)如下:

[!--empirenews.page--]

 ?。?)在open( )函數(shù)中,對SPI接口進行初始化,設置端口使用狀態(tài),設置SPI傳輸時鐘和傳輸模式。其代碼如下:

  在對S3C2440A中的SPI相關寄存器進行初始化時,需要注意SPI的時鐘是與主時鐘相關聯(lián)的,如果不首先開啟主時鐘,即使將SPI自身工作時鐘開啟也不能使接口正常工作。

 ?。?)通過寫函數(shù)write( )實現(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);/*向寄存器中寫預置數(shù)據(jù)*/

  while((readl(SPSTA1) & 0x1)==0);

  tmp=readl(SPRDAT1);/*再次從讀出的數(shù)據(jù)才是有用數(shù)據(jù)*/

  put_user(tmp,(char*)buf);

  return 0;

  }

 ?。?)驅動中的ioctl( )函數(shù)通過改變I/O輸出電平的高低控制CYWUSB6934的PD(Power Down)口。該端口電平為低時可以使無線芯片工作在休眠狀態(tài),以達到省電的目的。其代碼如下:

  3.2 智能點播界面

  當手持智能無線多媒體終端接收到由地址碼無線發(fā)射機發(fā)出的地址碼時,將其存儲在數(shù)據(jù)寄存器中,主控芯片通過SPI接口讀取該地址碼信息,并以此為指針搜索對應的、預存在SD存儲卡中的音視頻文件,并按需調用終端中的音視頻播放器解碼播放。

  軟件界面有2個按鈕,左邊是自動播放按鈕,右邊是手動播放按鈕。在用戶啟動點播軟件時,終端處于自動播放狀態(tài),而自動播放按鈕是當用戶進行手動播放后,如需要再讓其進行自動播放時使用此按鈕。當用戶點下手動播放按鈕時,會立即終止自動播放,彈出文件選擇菜單,手動選擇需要播放的文件。

  智能點播軟件需要解決的是底層數(shù)據(jù)和上層應用程序的連接問題。而對地址碼的判斷是對底層進行操作,需調用C程序,則用戶界面程序使用一個自定義的data外部變量,作為上層界面程序與底層應用程序的橋梁。為了使程序能準確地調用播放器,這里還設立了一個消息機制,定時查詢CYWUSB6934的數(shù)據(jù)寄存器。一旦收到數(shù)據(jù),就改變消息參數(shù),上層界面程序查詢到這個參數(shù)改變后,便立即調用播放器。

  本文設計的基于嵌入式的無線智能多媒體數(shù)字播放系統(tǒng)將嵌入式應用技術與短距離無線通信技術相結合,構成一套既具有工程實用價值,又可按需擴展功能的系統(tǒng),實現(xiàn)了智能化的區(qū)域識別與音視頻播放,適用于各種景點及展臺的音視頻自動/手動受控播放,有很好的市場前景,能給廠商帶來很大的利潤。


 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉