關(guān)鍵詞:專用集成電路;數(shù)字視頻廣播;直接存儲(chǔ)器訪問
近年來,數(shù)字電視在全世界范圍內(nèi)得到了推廣。計(jì)算機(jī)與電視是未來家庭中最主要的兩種信息獲取終端。隨著計(jì)算機(jī)網(wǎng)和廣播電視網(wǎng)的融合,兩種終端也有融合的趨勢(shì),這樣就可以利用計(jì)算機(jī)接收數(shù)字視頻廣播的內(nèi)容。
數(shù)字視頻廣播(DVB)傳輸流(TS)接收計(jì)算機(jī)插卡主要由兩塊芯片組成:一塊完成TS包的過濾和解擾;另一塊芯片是完成TS包到PCI總線的傳輸。文提出了在現(xiàn)場(chǎng)可編程門陣列(FPGA)上完成上述兩個(gè)功能的方案。
為了提高數(shù)據(jù)的傳輸速率和可靠性,降低產(chǎn)品的成本,在此基礎(chǔ)上,本文介紹的IP over DVB(簡(jiǎn)稱IPoD)芯片就是利用單塊芯片來完成DVB傳輸流到計(jì)算機(jī)系統(tǒng)的過濾和傳輸。
1 軟硬件劃分策略
根據(jù)IP over DVB的標(biāo)準(zhǔn)和MPEG2標(biāo)準(zhǔn)系統(tǒng)層的數(shù)據(jù)規(guī)范,IPoD系統(tǒng)的處理層次由低到高分別為物理接口層、傳輸流處理層、數(shù)據(jù)流層和應(yīng)用層。IPoD是一個(gè)軟硬件協(xié)同的復(fù)雜系統(tǒng),軟硬件劃分策略是整個(gè)系統(tǒng)芯片設(shè)汁中很關(guān)鍵的一個(gè)步驟,對(duì)于系統(tǒng)的整體性能影響巨大。IPoD系統(tǒng)的處理層次和軟硬件劃分結(jié)果如圖1所示。
物理接口層完成總線互連,比如Tuner(調(diào)諧器)輸出的解調(diào)后數(shù)據(jù)與IPoD芯片的連接接口,PCI總線接口等。傳輸流處理層對(duì)DVB的TS包進(jìn)行處理,包括同步、過濾、解擾等協(xié)議處理。以上兩層對(duì)實(shí)時(shí)性要求很高,由硬件實(shí)現(xiàn)。
數(shù)據(jù)流層分為兩個(gè)部分,一部分是基本流數(shù)據(jù)包的處理,對(duì)應(yīng)MPEG2的音視頻數(shù)據(jù);另一部分是用于傳輸信息的數(shù)據(jù)結(jié)構(gòu)。由于這一層需要處理復(fù)雜的數(shù)據(jù)結(jié)構(gòu),需要大量的緩沖資源,因此需要軟件硬件同時(shí)參與處理;同時(shí)由于協(xié)議處理的速度要求,數(shù)據(jù)流層也需要芯片內(nèi)部的處理,所以這一層是軟件和硬件接口的層次。最高層應(yīng)用層完成MPEG2解碼和各種數(shù)據(jù)業(yè)務(wù)的應(yīng)用,由軟件實(shí)現(xiàn)。
2 IPoD芯片硬件結(jié)構(gòu)
IPoD系統(tǒng)硬件的基本結(jié)構(gòu)是基于PCI的內(nèi)置型計(jì)算機(jī)插卡,Tuner用來接收天線的數(shù)據(jù)同時(shí)輸出TS包,TS數(shù)據(jù)通過IPoD芯片傳送到PCI總線,最終傳送到主機(jī)。圖2是IPoD系統(tǒng)芯片結(jié)構(gòu)。
由圖2可以看出,白色矩形區(qū)域代表IPoD芯片,寬箭頭表示數(shù)據(jù)通道,窄箭頭表示控制通道。數(shù)據(jù)流是從Tuner到主機(jī)的單向流,Tuner接收到天線的數(shù)據(jù),經(jīng)過解調(diào),送入IPoD芯片的Tunet數(shù)據(jù)接口緩存;然后數(shù)據(jù)經(jīng)過包標(biāo)志(PID)過濾模塊,獲取需要的TS包;而后數(shù)據(jù)進(jìn)入解擾模塊,對(duì)加擾的TS包進(jìn)行解擾;經(jīng)過解擾后的TS包傳送到DMA接口,通過DMA控制器的處理,TS包經(jīng)過PCI核被送到PCI總線上,最終傳送到主機(jī)的內(nèi)存中。控制流包括主機(jī)對(duì)各個(gè)硬件模塊的控制和各個(gè)硬件模塊對(duì)主機(jī)的反饋,因此是雙向流。控制流實(shí)現(xiàn)的核心是本地總線管理模塊,主機(jī)可以用發(fā)出命令的方式讀寫PCI總線上的任意地址,PCI核將這一命令傳送到芯片內(nèi)部,再由從模式控制模塊把讀寫命令傳送到本地總線管理模塊。
2.1 IPoD芯片內(nèi)部模塊
芯片的內(nèi)部結(jié)構(gòu)由相應(yīng)的數(shù)據(jù)通道,控制通道和外圍接口構(gòu)成。主要由以下部分組成:
1)Tuner接口和PID過濾模塊
接收并緩存從Tuner進(jìn)入的數(shù)據(jù),用PID過濾電路將輸入數(shù)據(jù)的PID值與過濾表中的數(shù)據(jù)相比較,保留符合要求的TS包。
2)通用解擾模塊
通用解擾模塊是按照DVB標(biāo)準(zhǔn)的通用解擾算法設(shè)計(jì),輸入的加擾數(shù)據(jù)經(jīng)過流解密和塊解密后從塊解密模塊輸出。
3)PCI核和主從模式控制模塊
在IPoD芯片中,集成了Fujitsu公司的PCI核,符合PCl2.2規(guī)范。
PCI設(shè)備有兩種工作模式:主模式和從模式。當(dāng)IPoD系統(tǒng)工作在主模式下時(shí),主模式控制模塊提供DMA控制器和PCI核之間的接口,協(xié)助DMA控制器完成DMA傳輸。PCI核通過主模式控制模塊完成PCl的寫過程,將數(shù)據(jù)從芯片送入主機(jī)內(nèi)存。當(dāng)IPoD系統(tǒng)在從模式下工作時(shí),從模式控制模塊提供PCI核和本地邏輯的接口。PCI核通過從模式控制模塊可以配置DMA的寄存器,也可以讀寫本地總線上的各個(gè)模塊。
4)DMA控制器
DMA控制器與主模式控制器和片內(nèi)FIFO相連接,提供DMA控制邏輯、寄存器和描述符隊(duì)列,完成DMA讀寫。針對(duì)高帶寬、低延時(shí)和大數(shù)據(jù)量的定長(zhǎng)多媒體數(shù)據(jù)包,設(shè)計(jì)了基于PCI核的鏈?zhǔn)紻MA控制器,由DMA寄存器,描述符FIFO,DMA狀態(tài)機(jī)和數(shù)據(jù)通道RAM這4個(gè)模塊構(gòu)成。DMA控制器把系統(tǒng)緩存在FIFO中的一個(gè)DMA數(shù)據(jù)包轉(zhuǎn)移到數(shù)據(jù)通道RAM中,并在主模式下負(fù)責(zé)把數(shù)據(jù)通道RAM里的數(shù)據(jù)包通過PCI總線傳送到從設(shè)備。
5)本地總線
使用本地總線連接各個(gè)模塊,便于主機(jī)對(duì)各個(gè)模塊的讀寫。在主機(jī)讀寫芯片內(nèi)模塊時(shí),IPoD芯片作為一個(gè)PCI設(shè)備工作