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