一種智能無(wú)線(xiàn)多媒體數字播放系統的設計方案
?。?)在open( )函數中,對SPI接口進(jìn)行初始化,設置端口使用狀態(tài),設置SPI傳輸時(shí)鐘和傳輸模式。其代碼如下:
在對S3C2440A中的SPI相關(guān)寄存器進(jìn)行初始化時(shí),需要注意SPI的時(shí)鐘是與主時(shí)鐘相關(guān)聯(lián)的,如果不首先開(kāi)啟主時(shí)鐘,即使將SPI自身工作時(shí)鐘開(kāi)啟也不能使接口正常工作。
?。?)通過(guò)寫(xiě)函數write( )實(shí)現對無(wú)線(xiàn)收發(fā)芯片CYWUSB6934的數據及地址寄存器的操作。其代碼如下:
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ě)預置數據*/
while((readl(SPSTA1) 0x1)==0);
tmp=readl(SPRDAT1);/*再次從讀出的數據才是有用數據*/
put_user(tmp,(char*)buf);
return 0;
}
?。?)驅動(dòng)中的ioctl( )函數通過(guò)改變I/O輸出電平的高低控制CYWUSB6934的PD(Power Down)口。該端口電平為低時(shí)可以使無(wú)線(xiàn)芯片工作在休眠狀態(tài),以達到省電的目的。其代碼如下:
3.2 智能點(diǎn)播界面
當手持智能無(wú)線(xiàn)多媒體終端接收到由地址碼無(wú)線(xiàn)發(fā)射機發(fā)出的地址碼時(shí),將其存儲在數據寄存器中,主控芯片通過(guò)SPI接口讀取該地址碼信息,并以此為指針搜索對應的、預存在SD存儲卡中的音視頻文件,并按需調用終端中的音視頻播放器解碼播放。
軟件界面有2個(gè)按鈕,左邊是自動(dòng)播放按鈕,右邊是手動(dòng)播放按鈕。在用戶(hù)啟動(dòng)點(diǎn)播軟件時(shí),終端處于自動(dòng)播放狀態(tài),而自動(dòng)播放按鈕是當用戶(hù)進(jìn)行手動(dòng)播放后,如需要再讓其進(jìn)行自動(dòng)播放時(shí)使用此按鈕。當用戶(hù)點(diǎn)下手動(dòng)播放按鈕時(shí),會(huì )立即終止自動(dòng)播放,彈出文件選擇菜單,手動(dòng)選擇需要播放的文件。
智能點(diǎn)播軟件需要解決的是底層數據和上層應用程序的連接問(wèn)題。而對地址碼的判斷是對底層進(jìn)行操作,需調用C程序,則用戶(hù)界面程序使用一個(gè)自定義的data外部變量,作為上層界面程序與底層應用程序的橋梁。為了使程序能準確地調用播放器,這里還設立了一個(gè)消息機制,定時(shí)查詢(xún)CYWUSB6934的數據寄存器。一旦收到數據,就改變消息參數,上層界面程序查詢(xún)到這個(gè)參數改變后,便立即調用播放器。
本文設計的基于嵌入式的無(wú)線(xiàn)智能多媒體數字播放系統將嵌入式應用技術(shù)與短距離無(wú)線(xiàn)通信技術(shù)相結合,構成一套既具有工程實(shí)用價(jià)值,又可按需擴展功能的系統,實(shí)現了智能化的區域識別與音視頻播放,適用于各種景點(diǎn)及展臺的音視頻自動(dòng)/手動(dòng)受控播放,有很好的市場(chǎng)前景,能給廠(chǎng)商帶來(lái)很大的利潤。
評論