基于CY7C68013A和 LGS一8GL5的USB電視棒設(shè)計
圖1為USB電視棒系統(tǒng)整體框圖。虛線包含部分為電視棒主要數(shù)據(jù)流框圖,從外部接收的數(shù)字電視射頻信號經(jīng)過調(diào)諧、解調(diào)后,以MPEG2并行形式傳送給CY7C68013A芯片,再由芯片將其轉(zhuǎn)為USB數(shù)據(jù)包傳送給上位機(jī)。上位機(jī)的控制信息也經(jīng)由USB數(shù)據(jù)包轉(zhuǎn)發(fā)給CY7C68013A。該芯片將數(shù)據(jù)包轉(zhuǎn)化為本地對各個外設(shè)(主要是調(diào)諧器和LGS一8GL5)的操作。除了正常的數(shù)據(jù)包,USB芯片還承擔(dān)轉(zhuǎn)發(fā)遙控器信息等其他擴(kuò)展功能任務(wù)。系統(tǒng)主要功能模塊分為tuner(調(diào)諧器)、demoduldator(LGS-8GL5解調(diào)器)、USB transceiver(CY7C68013A)。USB芯片作為I2C master控制調(diào)諧器的調(diào)諧和解調(diào)器的工作。LGS一8GL5解調(diào)后的TS流通過MPEG2接口傳輸給USB芯片轉(zhuǎn)發(fā)給播放設(shè)備。電視棒設(shè)計工作主要包括處理TS流數(shù)據(jù)和控制各芯片進(jìn)入對應(yīng)的工作狀態(tài)。下面分別論述TS流處理和芯片的控制。 本文引用地址:http://butianyuan.cn/article/189046.htm
2 TS流處理
2.1 TS流硬件連接
MPEG2視頻傳輸接口標(biāo)準(zhǔn)分為異步串行接口標(biāo)準(zhǔn)ASI和同步并行接口標(biāo)準(zhǔn)SPI。ASI連線少,適合長距離傳輸?shù)翘幚韽?fù)雜,CY7C68013A在硬件上沒有提供接入異步串行標(biāo)準(zhǔn)的接口;SPI接口共有11位信號,分為8條數(shù)據(jù)線、1條時鐘線、1條同步信號線和1條數(shù)據(jù)有效指示信號線,連線多但是處理簡單。能否提供TS流硬件接口是在設(shè)計USB電視棒時選擇USB芯片的一個關(guān)鍵因素。CY7C68013A具備可編程的slave FIF0接口,工作方式依據(jù)設(shè)置可為主或從。SPI方式符合其FIF0工作的一種模式,圖2以LGS一8GL5并行SPI連接為例,給出了解調(diào)芯片和USB芯片之間的連接方式。
2.2 TS流數(shù)據(jù)處理
數(shù)據(jù)達(dá)到CY7C68013A后,可選是否需要USB芯片干預(yù)接收的數(shù)據(jù)或由USB自動提交數(shù)據(jù)到主機(jī)。前者的優(yōu)點為可以通過USB芯片過濾部分錯誤和冗余數(shù)據(jù)包,或進(jìn)行節(jié)目過濾以減小主機(jī)的負(fù)載,但是由于受USB芯片內(nèi)部8051處理器性能的影響,對碼流有一定限制;后者采用直通形式,能夠有效發(fā)揮USB芯片的全速功能,但對主機(jī)端軟件要求較多。由于TS流數(shù)據(jù)為持續(xù)的數(shù)據(jù)流而且對數(shù)據(jù)錯誤不敏感,由主機(jī)來對原始數(shù)據(jù)流處理具備較高的靈活性,在速度上也能適應(yīng)更寬的要求。實際過程中設(shè)置CY7C68013A使其對slave FIF0中的數(shù)據(jù)自動轉(zhuǎn)發(fā)。
3 控制信息的傳遞
控制信息包括通過I2C接口的對解調(diào)器和調(diào)諧器的控制命令、狀態(tài)信息,以及從USB芯片接收的紅外遙控命令??刂颇J娇刹捎脙煞N方式:直接將各種控制打包成USB信息發(fā)送給主機(jī),USB芯片僅保證基本數(shù)據(jù)通信的正確性,不對數(shù)據(jù)內(nèi)容和返回信息做處理;另外一種方式為將對電視芯片的控制命令進(jìn)行封裝,重新定義和主機(jī)的通信命令,兩種通信的數(shù)據(jù)流模型分別如圖3(a)和3(b)所示。圖3(a)中,主機(jī)對具體的控制命令不可見,其發(fā)送和接收的數(shù)據(jù)都是和USB固件約定的調(diào)用封裝,數(shù)據(jù)的傳輸過程為:應(yīng)用→庫(將命令轉(zhuǎn)換為USB包/USB解析出命令執(zhí)行結(jié)果)→USB總線→CY7C68013A→USB固件(將命令轉(zhuǎn)換為實際設(shè)備操作命令/將執(zhí)行結(jié)果轉(zhuǎn)換為和應(yīng)用約定的返回值)→設(shè)備操作/應(yīng)答。傳輸過程中實際的命令由CY7C68013A來完成。這種模式將對電視棒外圍設(shè)備的操作都封裝到USB固件中,簡化了主機(jī)端驅(qū)動的操作。圖3(b)對模塊的控制和傳輸數(shù)據(jù)是透明的,實際通信內(nèi)容的解析完全由主機(jī)的驅(qū)動完成,其數(shù)據(jù)傳輸過程為:應(yīng)用→庫→對虛擬設(shè)備的操作命令→對設(shè)備的操作轉(zhuǎn)換為USB數(shù)據(jù)包/USB數(shù)據(jù)包轉(zhuǎn)換為操作結(jié)果→USB總線→固件→固件執(zhí)行I2C基本操作或紅外操作→設(shè)備執(zhí)行操作命令。該模式將設(shè)備的操作直接交給應(yīng)用庫完成,簡化固件編程要求。
評論