解析USB數(shù)字電視接收棒解決方案
?。?)設(shè)定USB芯片的工作方式為Slave FIFO,Au-to In模式,利用端點(diǎn)2(設(shè)為1 024×4 b大?。┻M(jìn)行傳輸。在這種模式下USB芯片內(nèi)的數(shù)據(jù)傳輸不需要8051內(nèi)核的干預(yù),利用CY7C68013特有的量子FIFO自動(dòng)完成數(shù)據(jù)的傳輸,這樣可以保證數(shù)據(jù)的傳輸速率不受到8051內(nèi)核的頻率限制而達(dá)到一個(gè)較高的速度,滿足USB 2.0高速傳輸?shù)囊蟆?/P>
?。?)打開I2C總線,初始化高頻頭,延遲1 s后設(shè)定高頻頭的掃描頻率,這里延遲1 s是為了保證高頻頭在初始化后能正常穩(wěn)定的工作,是芯片在技術(shù)上的要求。
(3)初始化信道解調(diào)器,并將其設(shè)定為自動(dòng)模式,使其自動(dòng)檢測(cè)信號(hào)參數(shù)并將信息反饋給高頻頭,協(xié)調(diào)兩塊芯片之間的某些參數(shù)(如增益等),使兩者配合工作。
(4)判斷信號(hào)是否鎖定,如未鎖定,再判斷是否是第一次進(jìn)行鎖頻,如果先前未曾鎖頻過則需改變高頻頭的掃描頻率,再次檢測(cè),直到鎖定。如果曾經(jīng)鎖頻過,則無需改變頻率,再次自動(dòng)檢測(cè)即可。
(5)在鎖定信號(hào)以后,每間隔5 s再次檢測(cè)鎖定情況,如果失鎖則返回第四步再次進(jìn)行檢測(cè)。循環(huán)判斷信號(hào)鎖定情況的目的是為了避免系統(tǒng)在正常工作時(shí),由于信號(hào)質(zhì)量變差而造成失鎖導(dǎo)致系統(tǒng)不能正常工作(例如系統(tǒng)接收時(shí)進(jìn)入隧道等環(huán)境),通過定時(shí)檢測(cè)信號(hào)鎖定情況就可以在發(fā)生此類事件后進(jìn)行必要的操作,讓系統(tǒng)重新正常工作。
3 PC機(jī)應(yīng)用程序設(shè)計(jì)
PC (personal computer),個(gè)人計(jì)算機(jī)一詞源自于1978年IBM的第一部桌上型計(jì)算機(jī)型號(hào)PC,在此之前有Apple II的個(gè)人用計(jì)算機(jī)。能獨(dú)立運(yùn)行、完成特定功能的個(gè)人計(jì)算機(jī)。個(gè)人計(jì)算機(jī)不需要共享其他計(jì)算機(jī)的處理、磁盤和打印機(jī)等資源也可以獨(dú)立工作。今天,個(gè)人計(jì)算機(jī)一詞則泛指所有的個(gè)人計(jì)算機(jī)、如桌上型計(jì)算機(jī)、筆記型計(jì)算機(jī)、或是兼容于IBM系統(tǒng)的個(gè)人計(jì)算機(jī)等。
3.1 應(yīng)用程序的主要功能
PC機(jī)應(yīng)用程序是用戶與底層資源信息交互的一個(gè)平臺(tái)。在本方案中,應(yīng)用程序主要完成以下兩大功能。
(1)從USB端口接收CY7C68013所傳輸進(jìn)來的TS碼流,存入緩沖區(qū)內(nèi)。這個(gè)功能相對(duì)簡(jiǎn)單,利用Cy-press公司提供的通用驅(qū)動(dòng)程序和_些相應(yīng)的API函數(shù),在打開USB設(shè)備獲得設(shè)備句柄之后,設(shè)置每次讀取數(shù)據(jù)量的大小,然后開啟一個(gè)線程循環(huán)讀取數(shù)據(jù),就能連續(xù)不斷的得到TS碼流。其中每次讀取數(shù)據(jù)量的大小對(duì)于播放的流暢度影響很大,在本方案中曾經(jīng)將該參數(shù)分別設(shè)為1 024 B,8 192 B,10 240 B,30 720 B,61 440 B等數(shù)值進(jìn)行測(cè)試比較,發(fā)現(xiàn)該參數(shù)的值越大播放效果越好,它直接影響著丟包率。最終本方案將該值設(shè)為61 440 B,這也是實(shí)測(cè)所能得到的最大數(shù)值,在這個(gè)參數(shù)下節(jié)目播放出來的效果最好。
(2)搭建實(shí)時(shí)媒體播放器,將所接收到的TS碼流解碼播放。這是PC機(jī)應(yīng)用程序的核心部分。在選擇搭建實(shí)時(shí)媒體播放器的策略上有兩種方法:一是利用開源的播放器進(jìn)行修改,但絕大多數(shù)開源播放器都是基于Linux平臺(tái)下編寫的,要在Windows平臺(tái)下使用需要經(jīng)過移植才行,移植工作量很大,且移植后播放器穩(wěn)定性較難控制。另一個(gè)是基于DirectShow技術(shù),自行編寫播放器。DirectShow是微軟DirectX家族中的成員,與Windows有著天然的“血緣”關(guān)系,是Windows平臺(tái)下搭建媒體播放器的最佳選擇。并且微軟提供了相應(yīng)的開發(fā)套件,使得開發(fā)工作量得以減少,開發(fā)周期大大縮短?;谝陨显颍痉桨高x擇基于DirectShow技術(shù)搭建實(shí)時(shí)媒體播放器。
評(píng)論