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