用FPGA實現(xiàn)數(shù)字電視條件接收系統(tǒng)
摘 要:根據(jù)數(shù)字電視條件接收系統(tǒng)的原理,提出一種ECM在 TS層加入、復(fù)接和條件接收相互獨立的CAS實現(xiàn)方法。ECM在TS層加入,對于TS層加擾來說,易于實現(xiàn)加擾和解擾同步;復(fù)接和條件接收相互分離使條件接收系統(tǒng)實現(xiàn)比較靈活,易于調(diào)試。另外,設(shè)計了保密性較高的加擾器并成功運用于系統(tǒng)中。
關(guān)鍵詞:條件接收系統(tǒng);數(shù)字電視;控制字;授權(quán)管理信息;授權(quán)控制信息
數(shù)字電視是近十幾年發(fā)展起來的高新技術(shù),其聲像質(zhì)量,抗干擾性及傳送節(jié)目的數(shù)目等方面有模擬電視無法比擬的優(yōu)點。數(shù)字電視的開播,使觀眾可以欣賞更多的優(yōu)質(zhì)節(jié)目;同時,服務(wù)商則希望實現(xiàn)按觀看內(nèi)容進(jìn)行收費的良性運營。條件接收系統(tǒng)CAS主要的功能就是確保只有付費用戶才能收看所選節(jié)目,徹底解決運營商的收費問題。可以說,CAS是運營商發(fā)展新服務(wù)的關(guān)鍵。但是,我國目前開通的數(shù)字電視用的CAS大多是國外的軟硬件方案,隨著數(shù)字電視的普及,CAS的國產(chǎn)化就成為非常緊迫的要求。
1 數(shù)字電視條件接收系統(tǒng)(CAS)的工作原理
1.1 CAS的加擾和解擾
在采用MPEG-2的數(shù)字電視中,加擾過程就是用一個由控制字CW控制的偽隨機(jī)序列對PES流或TS流進(jìn)行擾動,使沒有被授權(quán)的用戶不能觀看節(jié)目。對于授權(quán)用戶,他們的接收機(jī)也有一個同樣的偽隨機(jī)序列產(chǎn)生器,如果接收到正確的CW,就可以生成解擾序列,解除信號的擾動,恢復(fù)出接收機(jī)可以播放的信號。
1.2 CAS的加密和解密
用戶解擾的關(guān)鍵就是得到正確的CW,而CW是隨著有用信號通過公用的信道傳輸。所以說,CAS的加密實際就是對CW的加密,以防止非授權(quán)用戶的侵入。結(jié)合圖1介紹CW的加解密機(jī)制。
CW一方面控制加擾器對數(shù)據(jù)流加擾;另一方面通過業(yè)務(wù)密鑰SK(Server Key)加密形成授權(quán)控制信息ECM送到接收端。為了信號的保密性,CW一般幾秒就要改變一次,并且SK也必須進(jìn)行加密保護(hù)。一般來說,對SK加密完全按照各個用戶的特征來進(jìn)行。由于每臺接收機(jī)可以編惟一的接收機(jī)號,所以可通過此序號生成個人分配密鑰PDK(Personal DistributionKey)對SK加密,形成授權(quán)管理信息EMM。PDK由CA系統(tǒng)設(shè)備產(chǎn)生并嚴(yán)格控制,在接收端不能被用戶讀出。本文采用的方法是在接收端把PDK裝入FPGA芯片中,增加保密性。為了能提供不同級別、不同類型的服務(wù),一套CA系統(tǒng)往往為每個用戶分配好幾個PDK,來滿足豐富的業(yè)務(wù)需求。EMM是用戶管理信息和SK等通過PDK加密形成。用戶管理信息由服務(wù)商的用戶管理系統(tǒng)形成,包括用戶名稱、地址、智能卡號等。EMM平均每 8~10 s插入傳送流一次,以便新開機(jī)用戶解擾。解擾是加擾的逆過程,首先是用戶插入IC卡,輸入用戶密碼,如果密碼正確PDK就會對SK進(jìn)行解密;然后,由SK 對ECM解密出控制字CW。
2 條件接收系統(tǒng)的FPGA實現(xiàn)
FPGA(Field Programmable Gate Array)有豐富的觸發(fā)器和I/O口可以滿足完成CAS功能,開發(fā)周期短,可以反復(fù)修改,特別適合需不斷完善電路的開發(fā)階段。
要實現(xiàn)CAS硬件設(shè)計,首先要理解程序特殊信息PSI。PSI能從多節(jié)目的TS流中找出所需要的節(jié)目碼流和條件接收信息等。PSI必須以一定的頻率不斷發(fā)送,至少20次/s,以便新開的接收機(jī)能及時解釋傳送流的性質(zhì)。PSI由4個表組成,包括:程序關(guān)聯(lián)表(PAT)、程序映射表(PMT)、網(wǎng)絡(luò)信息表(NIT)以及條件訪問表(CAT)。其中CAT和PMT與條件接收有關(guān)。條件接收信息EMM和ECM的位置是通過CAT和PMT中的條件訪問描述子確定。表1介紹了條件描述子[1]。
EMM信息包的位置是通過CAT表中的描述子確定。ECM信息包的位置確定稍微復(fù)雜一些。當(dāng)在PES流層加擾,出現(xiàn)在PES流中ECM信息被反映到TS 流的PMT中,ECM的條件描述子就出現(xiàn)在PMT中。當(dāng)在TS層加擾,ECM不出現(xiàn)在PES流中,如果條件信息通過復(fù)接加入TS流,ECM的條件描述子就出現(xiàn)在PMT中;如果條件信息沒有通過復(fù)接加入TS流,確定ECM的位置可以有2種方法:一種方法是復(fù)接時在PMT中預(yù)先加入ECM條件描述子,用他確定 TS流中ECM的位置,本文就是采用這種方法;另一種方法是也用CAT中的條件描述子確定ECM信息包的位置,通過CA_system_ID辨別ECM和EMM。
實現(xiàn)CAS時還要注意以下一些限制[2]:
(1)僅在PES層或TS層加擾,不要兩層同時加擾。
(2)加擾的PES包頭不允許超過184 B。
?。?)攜帶PES包的TS包,除了含有PES包尾的可以有自適應(yīng)域外,其他的不可以含有自適應(yīng)域。
?。?)PID等于MPEG-2規(guī)范的條件描述子CA_PID值的TS包,應(yīng)僅含有條件系統(tǒng)信息,不能攜帶其他信息。另一方面,條件信息不應(yīng)該出現(xiàn)在其他地方,例如自適應(yīng)域等。
?。?)在同一個TS中,兩個CA提供商不應(yīng)該使用相同的CA_PID。
為了避免客戶端解擾設(shè)備太復(fù)雜,DVB(DigitalVideo Broadcasting)對在PES層加擾做了前3條限制;廣播數(shù)據(jù)跨越媒體邊界(例如從有線廣播到衛(wèi)星廣播)時需要新的CA信息替換原有的CA信息,為了靈活高效地進(jìn)行CA信息替換,DVB做了后2條限制。
解擾只是加擾的逆過程,并且相對簡單,所以下面只對條件接收系統(tǒng)加擾過程的FPGA實現(xiàn)進(jìn)行討論。
評論