數字電視條件接收卡SoC SM1658的硬件結構及實(shí)現方法
數字電視從電視節目錄制、播出到發(fā)射、接收全部采用數字編碼與數字傳輸技術(shù)。由于數字電視廣播具有頻道利用率高,可適應各種數據傳輸、適應各類(lèi)圖像質(zhì)量、可交互操作等方面的優(yōu)勢,被各國視為新世紀的戰略技術(shù)。伴隨著(zhù)電視廣播的全面數字化,傳統的電視媒體將在技術(shù)、功能上逐步與信息、通信領(lǐng)域的其它手段相互融合,從而形成全新的、龐大的數字電視產(chǎn)業(yè)。
本文引用地址:http://dyxdggzs.com/article/201706/349253.htm數字電視的條件接收系統(CAS)是用于對數字電視用戶(hù)進(jìn)行節目授權和管理的部分,是數字電視廣播中的重要組成部分之一。而其中采用開(kāi)放的機卡分離結構又是條件接收系統的未來(lái)重要發(fā)展趨勢。機卡分離是通過(guò)在用戶(hù)接收終端上定義了一個(gè)通用物理接口以及相關(guān)的接口通訊協(xié)議,將通用的適宜于大規模生產(chǎn)的電視接收系統與私有的CAS管理系統分離開(kāi)來(lái)。目前,機卡分離模式在國際上通行的實(shí)現方法是:采用一種與便攜電腦上的PCMCIA插口類(lèi)似的物理接口來(lái)實(shí)現。歐洲的DVB組織發(fā)布的標準稱(chēng)之為DVB-CI,美國也有一個(gè)類(lèi)似的標準稱(chēng)之為POD。事實(shí)上新的PCMCIA標準文檔中已經(jīng)將此兩種接口的定義包含進(jìn)去了。而這其中裝載條件接收處理內容的PCMCIA卡簡(jiǎn)稱(chēng)為數字電視條件接收卡,可以簡(jiǎn)稱(chēng)為CAM(條件接收模塊)。
事實(shí)上,建立了機卡分離標準,在電視機上開(kāi)啟了一個(gè)標準插口之后,其意義并不僅僅在于解決了公共收視與私有管理的難題,其巨大的意義還將體現在從此作為家用消費品的數字電視機有了升級性能和擴充功能的途徑。就像PC機目前的發(fā)展規模,與PC機的ISA、PCI、APG等接口的標準化有著(zhù)不可分割的關(guān)系。我們難以想象,如果計算機沒(méi)有標準化的可擴充接口,其行業(yè)還能否取得這么大的成功。在數字電視領(lǐng)域中,機卡分離接口標準的制訂以及數字電視機上的標準接口的開(kāi)啟,將會(huì )把數字電視引入到一個(gè)多姿多彩的發(fā)展領(lǐng)域中去。比如:對于不同的節目信號傳送方式(無(wú)線(xiàn)廣播、有線(xiàn)電纜、衛星、數字音頻廣播),可以通過(guò)在CI接口(機卡分離通用接口)上插入不同形式的接收模塊就可以了;對于我們在數碼相機存儲卡上保存的照片,可以通過(guò)一個(gè)通用存儲卡讀寫(xiě)器模塊在電視機上瀏覽;通過(guò)寬帶IP接收模塊,可以在電視機上欣賞網(wǎng)上的各類(lèi)流節目以及進(jìn)行網(wǎng)絡(luò )的雙向傳輸;可以通過(guò)網(wǎng)關(guān)模塊,將電視機與其他電器設備連接成一個(gè)家庭數字網(wǎng)絡(luò )系統;通過(guò)帶硬盤(pán)錄象模塊,用戶(hù)可以錄制有許可認證的節目等等。將來(lái)其發(fā)展的趨勢和潛力更難以預計。
圖1:機卡分離結構示意圖。
CAM的結構一般可以是以一個(gè)高性能的32位SoC芯片為核心,配合智能卡接口、CI接口、專(zhuān)用的TS傳輸流處理引擎、DVB通用解擾等部分組成。CAM卡的體積空間非常有限,卻要實(shí)現一個(gè)能處理高清電視節目流的高速32位嵌入式系統,所以其核心的SoC芯片的規模和性能就成了關(guān)鍵點(diǎn)。
我們通過(guò)對歐洲的DVB-CI標準的潛心研究,結合自身在嵌入式產(chǎn)品領(lǐng)域和集成電路領(lǐng)域的產(chǎn)品開(kāi)發(fā)經(jīng)驗,對以ARM7TDMI為核心的SoC技術(shù)進(jìn)行攻關(guān),成功的開(kāi)發(fā)出了性能和集成度在國際上領(lǐng)先的CAM芯片SM1658,同時(shí)大幅度降低了CAM的生產(chǎn)成本,消除了大規模推廣機卡分離標準的價(jià)格瓶頸。
CAM結構及硬件體系
SM1658是一個(gè)典型的用于CAM系統的專(zhuān)用嵌入式微處理器,它集成了一個(gè)CAM的全部主要功能模塊,以它為核心構成的CAM結構非常簡(jiǎn)單。
SM1658采用了廣泛流行的32位的ARM7TDMI作為CPU核,除了集成一般的SoC芯片具有的存儲器管理、中斷控制器、定時(shí)器、看門(mén)狗、異步串口通訊、PLL等常用電路模塊外,還在內部集成了256KB的高速SRAM、智能卡接口、PCMCIA(DVB-CI)接口、高速TS流解復用/過(guò)濾引擎和DVB通用解擾器等模塊。其基本結構如圖1所示,只需要一片外接的FLASH程序存儲器芯片就可以構成一個(gè)高性能CAM卡。
SM1658的存儲器管理模塊可以總共支持4個(gè)存儲器段,此存儲器部分可以是內部、外部的SRAM或者外部的FLASH,每個(gè)存儲器的數據線(xiàn)寬度、讀寫(xiě)速度可以由軟件初始化配置。每個(gè)存儲器段的最大容量可以支持到4M字節,四個(gè)存儲器段最大可以支持到16M字節的容量。其中,在芯片內部實(shí)現的存儲器是256KB的高速內部SRAM,它可以無(wú)等待周期的速度高速執行系統的核心程序,大大提高芯片關(guān)鍵程序的處理能力。
SM1658的中斷控制器可以提供32路的中斷管理。每路中斷可以選擇優(yōu)先級別、觸發(fā)上/下邊沿、脈沖/電平觸發(fā)選擇,提供了中斷屏蔽、中斷保留、軟觸發(fā)等豐富的中斷管理特性。CI物理接口是PCMCIA標準中的一個(gè)子集??梢苑譃門(mén)S流通道和命令通道。我們的CI接口完全符合DVB-CI的接口標準,并且在硬件結構上提供了雙向緩沖、CIS存儲器和靈活的狀態(tài)、控制寄存器。
芯片內部還提供3個(gè)16位的定時(shí)器,每個(gè)定時(shí)器都帶有可選擇的8位預分頻器。芯片的看門(mén)狗是32位的,如果不需要看門(mén)狗,可以配置為一個(gè)32位的定時(shí)器使用。
設計特色
1. 簡(jiǎn)潔的高效率本地總線(xiàn)
在SoC設計中,內部及外部總線(xiàn)的選擇是一個(gè)非常重要的因素,一個(gè)高效、簡(jiǎn)潔的總線(xiàn)可以讓芯片的運行效率和可擴充性提高。
在A(yíng)RM結構體系的SoC芯片設計中,ARM公司一般推薦采用標準的AMBA總線(xiàn)來(lái)進(jìn)行設計。同時(shí),ARM7TDMI核本身還帶有一個(gè)簡(jiǎn)單的內部總線(xiàn)。在決定采用的總線(xiàn)規范前,我們對SM1658的體系結構和應用特點(diǎn)進(jìn)行了下面的分析。
AMBA總線(xiàn)的優(yōu)點(diǎn)之一就是可以支持多個(gè)主設備的調用、裁決和數據的流水處理。在SM1658中,只有一個(gè)主設備ARM7TDMI,其他模塊電路都處于從設備狀態(tài),由CPU統一進(jìn)行調度,而且所有的外部從設備都與主設備采用相同的時(shí)鐘,可以在單個(gè)時(shí)鐘內立即響應CPU的訪(fǎng)問(wèn)。因此,在這個(gè)方面采用ARM7本地的總線(xiàn)更有優(yōu)勢。
如果使用AMBA總線(xiàn),設計團隊可以使用大量的第三方IP模塊,這些IP模塊都符合AMBA總線(xiàn)的規范要求,并且經(jīng)過(guò)了嚴格的驗證。在SM1658的芯片設計中,我們?yōu)榱俗畲蟪潭鹊慕档托酒某杀?,同時(shí)客觀(guān)上也由于重要的模塊電路都沒(méi)有合適的IP可以使用,所以我們自己設計了所有的電路模塊。那么,想通過(guò)使用IP來(lái)節省的開(kāi)發(fā)時(shí)間就沒(méi)有可行性了。
此外,如果使用AMBA總線(xiàn),就必須在原有的ARM7TDMI的三級流水線(xiàn)上增加一級流水線(xiàn),并將ARM7TDMI的雙時(shí)鐘邊沿的總線(xiàn)結構轉變?yōu)閱螘r(shí)鐘邊沿的總線(xiàn)結構,這樣可以簡(jiǎn)化芯片后期的設計工作量。但是,這樣對于某些跳轉指令就多損失了一個(gè)時(shí)鐘周期,降低了CPU的工作效率。此外,使用AMBA總線(xiàn),CPU和每個(gè)模塊都需要增加AMBA總線(xiàn)的接口邏輯,增加了芯片的規模和成本。
圖2:SM1658基本結構。
最后,我們從芯片的最大使用效率和簡(jiǎn)化邏輯控制的方面出發(fā),決定采用ARM7TDMI自身的本地總線(xiàn)。使用ARM7的本地總線(xiàn)有幾個(gè)優(yōu)勢:ARM7的本地總線(xiàn)狀態(tài)相對簡(jiǎn)單,不需要進(jìn)行相對復雜的AMBA總線(xiàn)協(xié)議驗證;對模塊的接口功能要求低,接口電路非常簡(jiǎn)單;減少了流水線(xiàn)長(cháng)度,在一個(gè)最高時(shí)鐘由IP硬核固定了的SoC芯片中,流水減少就意味著(zhù)芯片的代碼執行效率的提高。同時(shí),對于A(yíng)RM7總線(xiàn)上的雙邊沿時(shí)鐘問(wèn)題進(jìn)行嚴格的約束和驗證,確保了芯片后期設計的正確性。
2. 帶有軟件冗余的內部SRAM
ARM7TDMI是一款沒(méi)有內部高速緩存的CPU核,對于慢速的SRAM、FLASH存儲器的只能空閑等待。即使采用了高速的外部SRAM,由于數據接口寬度和芯片與芯片之間的數據傳輸的延遲,也不能有效地用到高速CPU的全部性能;同時(shí),大容量的高速SRAM價(jià)格昂貴,將會(huì )大大增加CAM系統的成本。從系統結構和成本方面考慮,我們決定在SM1658中嵌入一個(gè)256KB容量的SRAM,此SRAM容量可以滿(mǎn)足相當部分CAM系統的應用需求。同時(shí),我們的芯片也支持各種外部高速和低速SRAM,對于一些SRAM需求非常大的系統也可以滿(mǎn)足要求。
SM1658內部實(shí)現的SRAM具有非常高的性能,可以以單時(shí)鐘周期完成ARM的各種指令的操作,也就是當CPU在內部SRAM中進(jìn)行取指或存取數據時(shí)不需要任何等待。我們在芯片生產(chǎn)出來(lái)后用對芯片內部的SRAM進(jìn)行了CPU性能的基準測試,即使在非常高的頻率下面,芯片也能獲得與ARM7TDMI的IP核的理論計算值相同的水準,后面有測試的數據表格。
內嵌SRAM的最大問(wèn)題是,對于芯片的成品率會(huì )產(chǎn)生影響。我們在電路功能設計、底層軟件設計和應用系統上采取了一些有效的預防措施,大大減少系統對于有缺陷的SRAM的依賴(lài)性。這樣,芯片的成品率可以大幅度提高。這樣也就從系統角度降低了芯片的整體成本。
3. 可動(dòng)態(tài)調整的時(shí)鐘電路
在SM1658芯片的時(shí)鐘設計中,我們還集成了一個(gè)可軟件配置的時(shí)鐘管理電路,稱(chēng)之為動(dòng)態(tài)時(shí)鐘電路。我們通過(guò)軟件對芯片的時(shí)鐘處理模塊進(jìn)行編程,既可以讓芯片的工作時(shí)鐘頻率隨著(zhù)需要不斷變化,降低芯片在輕任務(wù)負載下的功耗,又可以適應多種外部時(shí)鐘源的輸入,增加CAM系統在產(chǎn)品開(kāi)發(fā)中的適應能力。
4. 高度靈活的智能卡接口
在SM1658的功能中,還包括一個(gè)高度靈活的智能卡接口。它是為了保證CA公司可以通過(guò)智能卡對用戶(hù)收看節目進(jìn)行授權和管理。
一般來(lái)講,國際上大多數智能卡接口都是按照ISO7816標準來(lái)實(shí)現互連互通的。在很多的SoC芯片設計中,大家都采用了一個(gè)外部的智能卡接口芯片,例如TDA8004就是一個(gè)比較常用的智能卡接口芯片。但是采用一個(gè)外接的芯片,其系統的可靠性會(huì )降低而成本會(huì )比較高,我們希望設計一個(gè)成本和性能最優(yōu)的系統,通過(guò)電路設計完全省略掉此外部接口芯片。
首先,我們在此接口模塊的設計中,按照ISO7816的標準,將全部的狀態(tài)和控制方式都完成。比如,針對A類(lèi)、B類(lèi)智能卡卡的不同電源電氣指標要求的設計;針對T0通訊協(xié)議與其他通訊協(xié)議不同的錯誤處理的設計;還有針對某些私有的智能卡的特殊協(xié)議要求等。這些都可以通過(guò)在芯片的驅動(dòng)軟件上進(jìn)行配置,配合少量的簡(jiǎn)單外部器件來(lái)完成。其次,針對智能卡接口要求的ESD要求和不同使用環(huán)境中的差別,我們設計了不同的外部電路來(lái)配合芯片的內部控制。同時(shí),我們對芯片的各個(gè)接口管腳的邏輯特性進(jìn)行了不同條件下的獨立配置,可以最大程度地減小對外部電路的要求。
圖3:智能卡模塊系統軟件功能框圖。
在標準的使用情況下,SM1658芯片可以不需要任何外部有源器件就完成智能卡接口的功能,而且抗ESD的能力可以保證大于4,000V。
5. 內嵌高速DVB通用解擾算法
通用加擾算法是DVB標準組織推薦的對于TS流的標準加擾算法。目前,在歐洲的數字廣播節目中普遍采用了這個(gè)算法。我國目前商業(yè)化的CA中,TS節目的加擾也基本上是采用的這個(gè)算法。因此,我們向DVB組織申請了此算法的授權,并以固核的模式嵌入到了我們的SM1658芯片中。
在此固核的設計中充分考慮到了芯片對將來(lái)可能出現的多路高清節目的適應能力,將此解擾模塊的處理能力設計到了175Mbps,可以滿(mǎn)足同時(shí)處理2路高清節目流或4路標清節目流的水平。
6.高性能的TS流處理引擎
在SM1658中,我們還設計了一套TS流處理引擎,用來(lái)對CI接口傳送過(guò)來(lái)的TS流進(jìn)行整形、過(guò)濾、提取特定數據、回送解擾后的節目流等。在此引擎中,我們設計了64個(gè)PID過(guò)濾器和16個(gè)SECTION過(guò)濾器,根據不同的配置狀態(tài),此引擎可以完成對TS流7種不同的路由功能。
SM1658性能指標
1. 最高工作時(shí)鐘頻率
SM1658芯片采用了中芯國際的0.18um的標準邏輯CMOS工藝生產(chǎn)。在SM1658的芯片設計中,我們采用了ARTISAN的0.18um工藝庫和MC編譯器,采用了SYNOPSYS的DC綜合工具進(jìn)行綜合,并采用最新的CADENCE的后端設計工具ENCOUNTER進(jìn)行布局布線(xiàn)和SI分析,通過(guò)對芯片內部總線(xiàn)、存儲器和關(guān)鍵路徑模塊進(jìn)行優(yōu)化,使芯片的時(shí)序基本上達到了ARM7TDMI IP核手冊上測試的標準性能。
我們完成流片后對芯片進(jìn)行了最高時(shí)鐘頻率的測試。常溫下以1.8V的核心電壓和3.3V的IO口電壓條件,SM1658可以工作在125MHz~135MHz的頻率下,這可能是已經(jīng)商用化的ARM7TDMI類(lèi)芯片的最高工作頻率了。
由于我們對芯片的總線(xiàn)、內部存儲器進(jìn)行了優(yōu)化,為了證實(shí)此優(yōu)化效果。我們對于芯片的最高運算能力進(jìn)行了基準測試。我們的測試程序使用的是ARM公司提供的參考測試程序Dhrystone2.1(C語(yǔ)言編寫(xiě)),以性能最優(yōu)的方式進(jìn)行編譯。該測試程序在芯片的內部SRAM中運行。下表是我們的測試結果以及與軟件仿真測試結果的比較??梢钥吹?,我們的芯片在最高性能時(shí)的執行效率已經(jīng)基本達到了ARM7TDMI的最好的指標,這也說(shuō)明,我們的設計是非常優(yōu)化的。
表1:SM1658的最高運算能力基準測試結果。
2. 電流消耗
由于芯片內部嵌入了一個(gè)大容量的SRAM和高速PLL,芯片在工作中的主要電流消耗將由其產(chǎn)生。在設計中也充分考慮到了其電源消耗的狀態(tài),將SRAM的分解成多個(gè)獨立的部分,保證同時(shí)只有一個(gè)部分的SRAM在工作。通過(guò)電路管理和優(yōu)化,芯片全速運行程序時(shí)的平均電源消耗如下表:
軟件體系簡(jiǎn)單介紹
對于任何一個(gè)SoC芯片,其軟件的設計、開(kāi)發(fā)和應用體系是其商用化不可缺少的重要部分。我們從一開(kāi)始設計SM1658芯片的同時(shí),就在項目?jì)冉M織了一個(gè)軟件開(kāi)發(fā)團隊對SM1658的軟件進(jìn)行開(kāi)發(fā)。在芯片的設計過(guò)程中,軟件組同步進(jìn)行設計,在芯片完成設計流片出來(lái)后,我們的軟件底層、應用開(kāi)發(fā)平臺和部分應用軟件就已經(jīng)基本完成了。
這里簡(jiǎn)單介紹一下SM1658的軟件體系結構。SM1658的軟件體系可以分為兩個(gè)大的部分:API庫(應用程序接口)和應用程序。API類(lèi)似WINDOWS下的API庫,它完成了與芯片硬件相關(guān)的所有驅動(dòng)和上層軟件開(kāi)發(fā)需要的一些基本和專(zhuān)用的函數庫(包括OS系統的基本功能函數),用戶(hù)在A(yíng)PI庫的基礎上可以比較方便地建立起用戶(hù)應用程序。
API庫又可以分為底層硬件驅動(dòng)函數庫、基本應用服務(wù)函數庫和高級應用服務(wù)函數庫。SM1658的底層驅動(dòng)程序包括基本設備如定時(shí)器、看門(mén)狗、存儲器管理、中斷管理、串口等設備的驅動(dòng)之外,還包括專(zhuān)用的智能卡接口、機卡分離CI接口、TS流處理引擎驅動(dòng)等特定設備的物理驅動(dòng)。底層驅動(dòng)的功能是完成設備的初始化配置、工作狀態(tài)的變換、基本數據包的發(fā)送接收校驗、與其他設備的握手、錯誤狀態(tài)的處理等與硬件密切相關(guān)的基本處理工作。
基本應用服務(wù)包括TS流處理狀態(tài)的管理、CI命令通道數據的管理、智能卡的底層協(xié)議實(shí)現等功能,包括OS系統的底層管理功能。它提供了一些比較底層的函數,用戶(hù)可以通過(guò)這些函數的調用,比較深入仔細地控制芯片的一些工作狀態(tài)。也可以針對應用中的一些特殊情況,優(yōu)化某些應用任務(wù)的性能。
高級應用服務(wù)實(shí)現具體的各個(gè)設備的資源管理、用戶(hù)顯示界面MMI管理、CAT和EMM數據的管理、智能卡的應用接口以及OS系統的高層管理功能。它提供了一些比較上層或抽象的函數調用。用戶(hù)通過(guò)對這些函數的調用,可以比較簡(jiǎn)單地完成一些任務(wù)和功能,讓用戶(hù)專(zhuān)注于建立應用體系的內容。
在本軟件體系的API庫中還比較完整地實(shí)現了兩套通訊協(xié)議接口,它們分別是DVB-CI協(xié)議和智能卡的7816協(xié)議。用戶(hù)直接使用這些協(xié)議的上層函數,可以大大簡(jiǎn)化在進(jìn)行CAM卡應用設計時(shí)的軟件開(kāi)發(fā)工作量。
在操作系統方面,我們采用了非常靈活的ECOS作為此嵌入系統的操作系統。ECOS系統功能強大,但是又有非常方便的可訂制的配置模式,特別適合本系統及將來(lái)擴充模式的需要。由于當前的CAM既不需要文件管理,又沒(méi)有GUI界面,所以在ECOS針對此芯片進(jìn)行配置后,其OS核心代碼只有50KB左右。
本文結論
作為數字電視傳播環(huán)節中一個(gè)部分,CAM還有一個(gè)重要的特色是內容保護和拷貝管理(CPCM)功能。由于機卡分離導致的透明節目流在接口上面出現,不利于節目產(chǎn)品的版權保護,所以,必須要在機頂盒與CAM之間加入一種防拷貝機制。在美國,POD標準的內容中早已經(jīng)有了CP方面的內容;而在歐洲,有關(guān)CPCM的內容也已經(jīng)在2005年的第四季度公布了;目前在國內,有關(guān)CP保護的標準也在制訂中。一旦國家的CP標準宣布,我們就可以在SM1658的基礎上加入符合標準的CPCM結構,完成一個(gè)真正的CAM需要的全部基本功能。
評論