數(shù)字電視機(jī)卡分離的條件接收卡系統(tǒng)
字電視是從電視節(jié)目錄制、播出到發(fā)射、接收全部采用數(shù)字編碼與數(shù)字傳輸?shù)募夹g(shù)。由于數(shù)字電視廣播具有頻道利用率高以及可適應(yīng)數(shù)據(jù)業(yè)務(wù)的增加、可交互操作等方面的優(yōu)勢(shì),被視為電視廣播領(lǐng)域的一次大革命。數(shù)字電視的條件接收系統(tǒng)(Conditional Access Systems,簡(jiǎn)稱(chēng)CAS)對(duì)數(shù)字電視用戶(hù)進(jìn)行節(jié)目授權(quán)和收視管理,是數(shù)字電視廣播業(yè)務(wù)發(fā)展中的重要組成部分之一。
采用開(kāi)放的機(jī)卡分離結(jié)構(gòu)是條件接收系統(tǒng)的未來(lái)重要發(fā)展趨勢(shì)。機(jī)卡分離是通過(guò)在用戶(hù)接收終端上定義了一個(gè)通用物理接口以及相關(guān)的接口通訊協(xié)議,將公共的高成本的數(shù)字電視接收系統(tǒng)與專(zhuān)用的私有條件接收用戶(hù)管理系統(tǒng)分離開(kāi)來(lái),這樣就解決了收視與收費(fèi)的捆綁問(wèn)題。目前,機(jī)卡分離模式在國(guó)際上的實(shí)現(xiàn)方法是:采用一種與PCMCIA插口兼容的物理接口來(lái)實(shí)現(xiàn)。歐洲的DVB組織發(fā)布的標(biāo)準(zhǔn)稱(chēng)之為DVB-CI,美國(guó)也有一個(gè)類(lèi)似的標(biāo)準(zhǔn)稱(chēng)之為POD。新頒布的PCMCIA 8.0標(biāo)準(zhǔn)文檔中已經(jīng)將此兩種接口的定義包含進(jìn)去了。而這個(gè)裝載條件接收內(nèi)容的PCMCIA卡簡(jiǎn)稱(chēng)為數(shù)字電視條件接收卡,可以簡(jiǎn)稱(chēng)為CAM(Conditional Access Module)。
建立了機(jī)卡分離標(biāo)準(zhǔn),在電視機(jī)上開(kāi)啟了一個(gè)標(biāo)準(zhǔn)插口之后,其意義不僅解決了公共收視與私有管理的難題,其巨大的意義還體現(xiàn)在:從此作為家用消費(fèi)品的數(shù)字電視機(jī)有了升級(jí)性能和擴(kuò)充功能的途徑。就象PC機(jī)目前的發(fā)展規(guī)模,與PC機(jī)的ISA、PCI、APG等接口的持續(xù)標(biāo)準(zhǔn)化有著不可分割的關(guān)系。我們不難想象,如果計(jì)算機(jī)沒(méi)有標(biāo)準(zhǔn)化的可擴(kuò)充接口,其行業(yè)是難以取得這么大的成功的。在數(shù)字電視領(lǐng)域中,機(jī)卡分離接口標(biāo)準(zhǔn)的制訂以及數(shù)字電視機(jī)上的標(biāo)準(zhǔn)接口的開(kāi)啟,將會(huì)把數(shù)字電視引入到一個(gè)多姿多采的發(fā)展領(lǐng)域中去。比如:對(duì)于不同的節(jié)目信號(hào)傳送方式(無(wú)線廣播、有線電纜、衛(wèi)星、數(shù)字音頻廣播),可以通過(guò)在CI接口(機(jī)卡分離通用接口,下面將統(tǒng)稱(chēng)為CI接口)上插入不同形式的接收模塊就可以了;對(duì)于我們?cè)跀?shù)碼相機(jī)存儲(chǔ)卡上保存的照片,可以通過(guò)一個(gè)通用存儲(chǔ)卡讀寫(xiě)器模塊在電視機(jī)上瀏覽;通過(guò)寬帶IP接收模塊,可以在電視機(jī)上欣賞網(wǎng)上的各類(lèi)流節(jié)目以及進(jìn)行網(wǎng)絡(luò)的雙向傳輸;可以通過(guò)網(wǎng)關(guān)模塊,將電視機(jī)與其他電器設(shè)備連接成一個(gè)家庭數(shù)字網(wǎng)絡(luò)系統(tǒng);通過(guò)帶硬盤(pán)錄象的模塊,用戶(hù)可以錄制有許可認(rèn)證的節(jié)目等等。這樣,作為節(jié)目媒體播放的數(shù)字電視工業(yè),將來(lái)其發(fā)展的趨勢(shì)和潛力,已經(jīng)不是我們可以概括和預(yù)計(jì)得了的。
作為最基本的條件接收卡,其結(jié)構(gòu)一般是以一個(gè)高性能的32位SOC芯片為核心,配合一些專(zhuān)用的傳輸流處理電路、智能卡接口電路、DVB通用接口以及DVB通用解擾電路組成。根據(jù)不同CA的要求,有些特殊的條件接收卡還包括一些特殊的加/解密數(shù)據(jù)處理模塊、特殊的智能卡接口。此外,為了打擊不斷增長(zhǎng)的節(jié)目盜版盜錄行為,國(guó)外最近還出現(xiàn)了一些帶防拷貝和帶版權(quán)保護(hù)的卡。圖1是機(jī)卡分離的標(biāo)準(zhǔn)結(jié)構(gòu)示意圖。
SM1658芯片
SM1658是我們?cè)O(shè)計(jì)的條件接收卡專(zhuān)用SOC芯片,它采用廣泛流行的32位的ARM7TDMI作為CPU核,配合全新設(shè)計(jì)的內(nèi)部體系結(jié)構(gòu)和配置齊全的內(nèi)部功能模塊,基本上只需要少量的外部器件,就可以完成條件接收卡除版權(quán)保護(hù)之外的所有功能。SM1658集成了一般的SOC芯片都具有的存儲(chǔ)器管理、中斷控制器、定時(shí)器、看門(mén)狗、異步串口通訊、PLL等常用電路模塊外,還在內(nèi)部集成了256K字節(jié)的高速SRAM、SmartCard接口、PCMCIA(DVB-CI)接口、高速TS傳輸流解復(fù)用/過(guò)濾引擎和DVB通用解擾器等模塊。其基本結(jié)構(gòu)如圖2所示。
SM1658的存儲(chǔ)器管理除了支持內(nèi)部的高速SRAM外,還可以支持最多3個(gè)外部存儲(chǔ)器(必須最少有一個(gè)是FLASH)。外部每個(gè)存儲(chǔ)器塊的最大容量可以支持到4M字節(jié)。在芯片內(nèi)部集成的256K字節(jié)的高速SRAM效率非常高,可以以零等待周期的速度單時(shí)鐘周期高速執(zhí)行系統(tǒng)的核心程序,大大提高了芯片的關(guān)鍵程序的處理能力。
SM1658的中斷控制器可以提供32路的中斷管理。我們?cè)谥袛嗵幚頇C(jī)制上采用了比較先進(jìn)的電路結(jié)構(gòu),在中斷產(chǎn)生后,程序可以從ARM的中斷地址(例如:IRQ中斷為0x18地址)直接跳轉(zhuǎn)到中斷控制器的中斷向量表并可迅速執(zhí)行中斷程序,這樣就大大加快了此SOC芯片的中斷響應(yīng)速度。
CI物理接口是PCMCIA8.0標(biāo)準(zhǔn)版本中的一個(gè)子集。其中的物理接口又可以分為傳輸節(jié)目流通道和命令通道。SM1658的CI接口在硬件結(jié)構(gòu)上提供了雙向緩沖,在主機(jī)和卡之間建立了一個(gè)比較高速的數(shù)據(jù)通道。此外,作為一個(gè)PCMCIA設(shè)備,芯片還提供了一個(gè)可以靈活配置的CIS存儲(chǔ)器。
芯片內(nèi)部還提供3個(gè)16位的定時(shí)器以及一個(gè)32位的看門(mén)狗計(jì)數(shù)器。每個(gè)定時(shí)器還包含一個(gè)8位的預(yù)分頻器。如果不需要看門(mén)狗功能,還可以將它配置為一個(gè)32位的定時(shí)器使用。
在SM1658芯片的時(shí)鐘設(shè)計(jì)中,我們還集成了一個(gè)可軟件配置的PLL電路,稱(chēng)之為動(dòng)態(tài)時(shí)鐘電路。我們通過(guò)軟件對(duì)芯片的PLL和相應(yīng)的控制寄存器進(jìn)行編程,可以讓芯片的時(shí)鐘隨時(shí)動(dòng)態(tài)調(diào)整,降低芯片在輕任務(wù)負(fù)載下的功耗。同時(shí)也可以適應(yīng)不同的外部輸入時(shí)鐘頻率,充分適應(yīng)生產(chǎn)中的變化需求。
在SM1658中的智能卡接口是按照ISO7816標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)的。為了充分節(jié)省外部器件,我們?cè)赟M1658中實(shí)現(xiàn)了完整的智能卡接口,不需要任何外部的接口芯片。同時(shí),為了充分適應(yīng)不同智能卡的電氣要求,用戶(hù)還可以通過(guò)軟件對(duì)接口進(jìn)行配置,搭配適當(dāng)?shù)耐獠糠至⑵骷?,以適應(yīng)不同的工作電源、信號(hào)電平和ESD要求,充分適應(yīng)不同使用環(huán)境中的差別。流處理引擎,用來(lái)對(duì)CI接口傳送過(guò)來(lái)的節(jié)目傳輸流進(jìn)行整形、過(guò)濾、提取特定數(shù)據(jù)、解擾以及回送解擾后的節(jié)目流等。在此引擎中,包含了64個(gè)PID過(guò)濾器、16個(gè)SECTION過(guò)濾器、支持高清節(jié)目流的DVB通用加擾算法。
SM1658芯片采用0.18mm 1P6M的邏輯CMOS工藝生產(chǎn),采用LQFP144封裝,常溫下工作頻率可以達(dá)到120MHz以上,在以?xún)?nèi)部存儲(chǔ)器運(yùn)行基準(zhǔn)測(cè)試程序的測(cè)試中,其性能指標(biāo)可以接近120MIPs Dhrystone 2.1,基本上達(dá)到了ARM7TDMI的理論值水平。
當(dāng)SM1658工作在60MHz的頻率下時(shí),其核心電源功率消耗小于85mW。
條件接收卡結(jié)構(gòu)
由于SM1658的設(shè)計(jì)比較完善,包含了除程序存儲(chǔ)器之外的所有功能模塊,所以采用SM1658設(shè)計(jì)的條件接收卡就非常的簡(jiǎn)潔。只要加入FLASH存儲(chǔ)器、時(shí)鐘電路和電源電路就可以構(gòu)成一個(gè)功能比較完善的條件接收卡了,其結(jié)構(gòu)示意圖如圖3。
由于SM1658需要雙電源工作,所以從主機(jī)送過(guò)來(lái)的5伏電源就需要轉(zhuǎn)換成3.3伏和1.8伏??梢圆捎锚?dú)立或者一體化的電源芯片來(lái)完成此功能。
SM1658不包含時(shí)鐘發(fā)生電路,需要由外部提供一個(gè)3.3伏的時(shí)鐘信號(hào)。時(shí)鐘頻率可以從4MHz到30MHz之間。由于芯片可以通過(guò)軟件來(lái)最終確定芯片的工作頻率,所以可以任意選擇合適的輸入時(shí)鐘頻率,內(nèi)部的軟件除了設(shè)置PLL的部分需要變化之外,其他部分基本上不受影響。
SM1658支持各種類(lèi)型的8/16位的NOR FLASH存儲(chǔ)器。用戶(hù)可以根據(jù)設(shè)計(jì)需要,選擇價(jià)格和性能合適的產(chǎn)品。
條件接收卡軟件體系
SM1658的軟件體系可以分為兩個(gè)大的部分:底層API庫(kù)(應(yīng)用程序接口)和用戶(hù)應(yīng)用程序。API庫(kù)完成與芯片硬件相關(guān)的所有驅(qū)動(dòng)和上層軟件開(kāi)發(fā)需要的一些基本和專(zhuān)用的函數(shù)庫(kù)(包括OS系統(tǒng)的基本功能函數(shù)),用戶(hù)在API庫(kù)的基礎(chǔ)上可以比較方便的建立起用戶(hù)應(yīng)用程序 (包括移植CA程序)。
API庫(kù)又可以分為底層硬件驅(qū)動(dòng)函數(shù)庫(kù)、基本應(yīng)用服務(wù)函數(shù)庫(kù)和高級(jí)應(yīng)用服務(wù)函數(shù)庫(kù)。
SM1658的底層驅(qū)動(dòng)程序包括基本設(shè)備如定時(shí)器、看門(mén)狗、存儲(chǔ)器管理、中斷管理、串口等設(shè)備的驅(qū)動(dòng)之外,還包括專(zhuān)用的智能卡SmartCard接口、機(jī)卡分離CI接口、TS流處理引擎驅(qū)動(dòng)等特定設(shè)備的物理驅(qū)動(dòng)。底層驅(qū)動(dòng)的功能是完成設(shè)備的初始化配置、工作狀態(tài)的變換、基本數(shù)據(jù)包的發(fā)送接收校驗(yàn)、與其他設(shè)備的握手、錯(cuò)誤狀態(tài)的處理等與硬件密切相關(guān)的基本處理工作。
基本應(yīng)用服務(wù)包括TS流處理狀態(tài)的管理、CI命令通道數(shù)據(jù)的管理,SMARTCARD的底層協(xié)議實(shí)現(xiàn)等功能,包括OS系統(tǒng)的底層管理功能。它提供了一些比較底層的函數(shù),用戶(hù)可以通過(guò)這些函數(shù)的調(diào)用,比較深入仔細(xì)的控制芯片的一些工作狀態(tài)。也可以針對(duì)應(yīng)用中的一些特殊情況,優(yōu)化 某些應(yīng)用任務(wù)的性能。
高級(jí)應(yīng)用服務(wù)實(shí)現(xiàn)具體的各個(gè)設(shè)備的資源管理、用戶(hù)顯示界面MMI管理、CAT和EMM數(shù)據(jù)的管理、SmartCard的應(yīng)用接口以及OS系統(tǒng)的高層管理功能。它提供了一些比較上層或抽象的函數(shù)調(diào)用。用戶(hù)通過(guò)對(duì)這些函數(shù)的調(diào)用,可以比較簡(jiǎn)單的完成一些任務(wù)和功能,讓用戶(hù)比較專(zhuān)注的建立應(yīng)用體系的內(nèi)容。此外,我們還比較完整的實(shí)現(xiàn)了兩套通訊協(xié)議接口,它們分別是DVB-CI協(xié)議和SMARTCARD的7816協(xié)議。
在OS系統(tǒng)方面,我們采用了非常靈活的ECOS作為此嵌入系統(tǒng)的操作系統(tǒng)。ECOS有非常方便的可訂制的配置模式,特別適合本系統(tǒng)及將來(lái)擴(kuò)充模式的需要。
實(shí)現(xiàn)一個(gè)基本的數(shù)字電視條件接收卡(CAM)的功能,用戶(hù)需要實(shí)現(xiàn)三個(gè)方面的處理,包括用戶(hù)操作處理、錯(cuò)誤信息處理和傳輸流信息處理。這三個(gè)方面的處理基本可以概括到一個(gè)條件接收卡的最基本功能了。
用戶(hù)操作處理完成CAM卡的主要功能部分,它又可以分為節(jié)目切換處理、菜單呼叫處理和卡狀態(tài)變化處理。
節(jié)目切換處理是指在用戶(hù)更改節(jié)目收看頻道后,通過(guò)主機(jī)發(fā)送信息給條件接收卡,由CAM卡重新過(guò)濾分析傳輸流的結(jié)構(gòu)和相關(guān)信息表,并針對(duì)新的信息表判斷節(jié)目的授權(quán)類(lèi)別,還需要過(guò)濾出合適的ECM信息提供給智能卡,修改過(guò)濾器配置條件,重新安排節(jié)目傳輸流的處理和解擾過(guò)程。這個(gè)操作流程是條件接受卡處理的主要任務(wù)之一。
呼叫菜單處理完成用戶(hù)對(duì)于與條件接收卡有關(guān)的部分信息查詢(xún)的回應(yīng)和顯示,還包括用戶(hù)對(duì)某些狀態(tài)的設(shè)置的處理。比如CAM卡的狀態(tài)查詢(xún)、智能卡有關(guān)信息的查詢(xún)、閱讀郵件以及將來(lái)可能發(fā)展的EPG等可擴(kuò)展內(nèi)容的瀏覽,還有用戶(hù)直接要求進(jìn)行在線升級(jí)、進(jìn)行節(jié)目點(diǎn)播、兒童節(jié)目授權(quán)等操作。
卡狀態(tài)處理是對(duì)用戶(hù)卡的插入、拔出等有關(guān)動(dòng)作及后續(xù)處理的部分。
錯(cuò)誤信息處理主要是對(duì)條件接收卡的一些內(nèi)部錯(cuò)誤信息進(jìn)行處理、顯示的部分。
傳輸流信息處理是對(duì)包含在節(jié)目流中的有關(guān)數(shù)據(jù)信息進(jìn)行收集和處理的部分。包括在線升級(jí)及提示、郵件接收及向用戶(hù)通知等內(nèi)容。
用戶(hù)在已有的API庫(kù)函數(shù)的基礎(chǔ)上,根據(jù)ECOS系統(tǒng)的編程要求,建立起不同的任務(wù)、進(jìn)程和主體程序結(jié)構(gòu),并將有關(guān)CA以及其他中間件的API庫(kù)函數(shù)合并起來(lái),就可以完成一個(gè)基本的數(shù)字電視條件接收卡(CAM)的基本框架了。
參考文獻(xiàn):
1、ARM7TDMI(Rev4) Technical Reference Manual
2、ISO/IEC 7816 Specification
分頻器相關(guān)文章:分頻器原理
評(píng)論