智能無線多媒體數(shù)字播放系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
在確定了它們之間的傳輸格式以及觸發(fā)方式后,SPI驅(qū)動(dòng)的實(shí)現(xiàn)就是對(duì)這些寄存器進(jìn)行正確的賦值。無線收發(fā)芯片CYWUSB6934通過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)的,如果不首先開啟主時(shí)鐘,即使將SPI自身工作時(shí)鐘開啟也不能使接口正常工作。
(2)通過寫函數(shù)write( )實(shí)現(xiàn)對(duì)無線收發(fā)芯片CYWUSB6934的數(shù)據(jù)及地址寄存器的操作。其代碼如下:
(3)驅(qū)動(dòng)中的ioctl( )函數(shù)通過改變I/O輸出電平的高低控制CYWUSB6934的PD(Power Down)口。該端口電平為低時(shí)可以使無線芯片工作在休眠狀態(tài),以達(dá)到省電的目的。其代碼如下:
3.2 智能點(diǎn)播界面
當(dāng)手持智能無線多媒體終端接收到由地址碼無線發(fā)射機(jī)發(fā)出的地址碼時(shí),將其存儲(chǔ)在數(shù)據(jù)寄存器中,主控芯片通過SPI接口讀取該地址碼信息,并以此為指針?biāo)阉鲗?duì)應(yīng)的、預(yù)存在SD存儲(chǔ)卡中的音視頻文件,并按需調(diào)用終端中的音視頻播放器解碼播放。
軟件界面有2個(gè)按鈕,左邊是自動(dòng)播放按鈕,右邊是手動(dòng)播放按鈕。在用戶啟動(dòng)點(diǎn)播軟件時(shí),終端處于自動(dòng)播放狀態(tài),而自動(dòng)播放按鈕是當(dāng)用戶進(jìn)行手動(dòng)播放后,如需要再讓其進(jìn)行自動(dòng)播放時(shí)使用此按鈕。當(dāng)用戶點(diǎn)下手動(dòng)播放按鈕時(shí),會(huì)立即終止自動(dòng)播放,彈出文件選擇菜單,手動(dòng)選擇需要播放的文件。
智能點(diǎn)播軟件需要解決的是底層數(shù)據(jù)和上層應(yīng)用程序的連接問題。而對(duì)地址碼的判斷是對(duì)底層進(jìn)行操作,需調(diào)用C程序,則用戶界面程序使用一個(gè)自定義的data外部變量,作為上層界面程序與底層應(yīng)用程序的橋梁。為了使程序能準(zhǔn)確地調(diào)用播放器,這里還設(shè)立了一個(gè)消息機(jī)制,定時(shí)查詢CYWUSB6934的數(shù)據(jù)寄存器。一旦收到數(shù)據(jù),就改變消息參數(shù),上層界面程序查詢到這個(gè)參數(shù)改變后,便立即調(diào)用播放器。
本文設(shè)計(jì)的基于嵌入式的無線智能多媒體數(shù)字播放系統(tǒng)將嵌入式應(yīng)用技術(shù)與短距離無線通信技術(shù)相結(jié)合,構(gòu)成一套既具有工程實(shí)用價(jià)值,又可按需擴(kuò)展功能的系統(tǒng),實(shí)現(xiàn)了智能化的區(qū)域識(shí)別與音視頻播放,適用于各種景點(diǎn)及展臺(tái)的音視頻自動(dòng)/手動(dòng)受控播放,有很好的市場(chǎng)前景。
評(píng)論