一種智能無線多媒體數(shù)字播放系統(tǒng)的設(shè)計方案
?。?)在open( )函數(shù)中,對SPI接口進(jìn)行初始化,設(shè)置端口使用狀態(tài),設(shè)置SPI傳輸時鐘和傳輸模式。其代碼如下:
在對S3C2440A中的SPI相關(guān)寄存器進(jìn)行初始化時,需要注意SPI的時鐘是與主時鐘相關(guān)聯(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);/*向寄存器中寫預(yù)置數(shù)據(jù)*/
while((readl(SPSTA1) 0x1)==0);
tmp=readl(SPRDAT1);/*再次從讀出的數(shù)據(jù)才是有用數(shù)據(jù)*/
put_user(tmp,(char*)buf);
return 0;
}
?。?)驅(qū)動中的ioctl( )函數(shù)通過改變I/O輸出電平的高低控制CYWUSB6934的PD(Power Down)口。該端口電平為低時可以使無線芯片工作在休眠狀態(tài),以達(dá)到省電的目的。其代碼如下:
3.2 智能點播界面
當(dāng)手持智能無線多媒體終端接收到由地址碼無線發(fā)射機(jī)發(fā)出的地址碼時,將其存儲在數(shù)據(jù)寄存器中,主控芯片通過SPI接口讀取該地址碼信息,并以此為指針?biāo)阉鲗?yīng)的、預(yù)存在SD存儲卡中的音視頻文件,并按需調(diào)用終端中的音視頻播放器解碼播放。
軟件界面有2個按鈕,左邊是自動播放按鈕,右邊是手動播放按鈕。在用戶啟動點播軟件時,終端處于自動播放狀態(tài),而自動播放按鈕是當(dāng)用戶進(jìn)行手動播放后,如需要再讓其進(jìn)行自動播放時使用此按鈕。當(dāng)用戶點下手動播放按鈕時,會立即終止自動播放,彈出文件選擇菜單,手動選擇需要播放的文件。
智能點播軟件需要解決的是底層數(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è)計的基于嵌入式的無線智能多媒體數(shù)字播放系統(tǒng)將嵌入式應(yīng)用技術(shù)與短距離無線通信技術(shù)相結(jié)合,構(gòu)成一套既具有工程實用價值,又可按需擴(kuò)展功能的系統(tǒng),實現(xiàn)了智能化的區(qū)域識別與音視頻播放,適用于各種景點及展臺的音視頻自動/手動受控播放,有很好的市場前景,能給廠商帶來很大的利潤。
評論