CAM的结构一般可以以一个高性能的32位SoC芯片为核心,配合智能卡接口、CI接口、专用的TS传输流处理引擎、DVB通用解扰等部分组成。
1引言
CAM卡的体积空间非常有限,却要实现一个能处理高清电视节目流的高速32位嵌入式系统,所以其核心的SoC芯片的规模和性能就成了技术的关键点。
2相关芯片市场状况
目前欧美的数字机顶盒都是机卡分离的条件接收方式,技术早已成熟,用于条件接收的芯片形成了强大的市场供货。有些国家甚至开通了多媒体、多声道、交互式的数字电视系统,而且不久将淘汰机顶盒,销售真正意义上的机卡分离数字条件接收一体化电视机。然而在国内市场上最受欢迎的是一些低成本芯片产品,这类产品多采用如ST的STi5518B,LSI的AViA-9700和富士通的SmartMPEG等芯片。这类低成本解码器中集成的处理器时钟频率一般在150MHz以下,不带硬盘接口和USB接口,如ST的STi5518B主要可以实现数字电视信号条件接收以及股票信息接收等基本功能。
另一类是像ST的STi5528和STi7710芯片,则是高端产品的代表。采用这些芯片的机顶盒往往集成了双CPU,多数支持IEEE1394接口、USB接口以及IDE硬盘接口,除了具有优秀的音频和视频处理能力外,采用此类芯片的机顶盒还具有网络浏览功能和多种交互式应用功能。以STi7710来说它支持HD-STB,DVB-S,DVB-C格式的解决方案。该芯片集嵌入式CPU、传输流复用/解码、视频解码、图像处理、音频解码、高速USB2.0接口、数字视频接口(DVI)、高清多媒体接口(HDMI)等功能于一体。STi7710集成的CPU核心是一个高性能的ST20,工作频率为200MHz;支持目前机顶盒市场上所有的中间件,同时能够支持未来的软件升级;支持统一的存储器DDR和SDRAM接口,提高了RAM芯片的利用率和性能;嵌入的高性能图像引擎支持图形密集型任务。
显示接口方面,STi7710具有数字视频接口(DVI)和高清多媒体接口(HDMI),以确保STB以最小的系统成本获得最高的输出灵活性;通过嵌入的高级音频编码(AAC)解码器,提高了在低位率时的音频功能。
芯片集成了由SRS实验室开发的先进的音响技术SRSTruSurroundXT,该技术通过两个扬声器的电视机或娱乐系统,可以再现影院级的虚拟环绕声。
传输速率可达480Mbit/s,比USB标准1.1版快40倍,使许多外设可以连接到一台基本型高清机顶盒上,提供更多的附加功能。如增加一个硬盘驱动器(HDD),把机顶盒变成一个数字录像机(DVR),允许机顶盒制造商为用户提供一个低成本的软件升级途径;连接数码相机或存储卡等多种外设。支持未来多重多媒体功能。显然是一款高端的机顶盒芯片,目前国内已有公司采用该芯片设计高性价比的数字高清机顶盒。至于HD-STB/DVB-S/C的制式问题在硬件上主要是前端高频头部分有一定的区别,而在软件部分整体架构基本是一致的。
目前,我国一些新兴的技术公司在学习和消化引进技术的同时,自行研制开发了一些具有自主知识产权的SoC芯片。例如深圳国微公司的SM1658和杭州国芯公司的GX1201、上海杰得微电子公司的Z228芯片。它们的共同特点是通过对欧洲的DVB-CI标准的潜心研究,结合自身在嵌入式产品领域和集成电路领域的产品开发经验,对以ARM7或ARM9为核心的SoC技术进行攻关,成功开发出了自己的CAM芯片,因此大幅度降低了CAM的生产成本,消除了大规模推广机卡分离标准的价格瓶颈。表1是3种芯片的性能比较。
3CAM的结构及硬件体系
下面以深圳国微公司的SM1658芯片为例来说明数字电视条件接收卡的硬件结构及实现方法。SM1658是一个典型的用于CAM系统的专用嵌入式微处理器,它集成了一个CAM的全部主要功能模块,以它为核心构成的CAM结构非常简单。SM1658采用32位的ARM7TDMI作为CPU核心,除了集成一般的SoC芯片具有的存储器管理、中断控制器、定时器、看门狗、异步串口通讯、PLL等常用电路模块外,还在内部集成了256Kbyte的高速SRAM、智能卡接口、PCMCIA(DVB-CI)接口、高速TS流解复用/过滤引擎和DVB通用解扰器等模块。其基本结构如图1所示,只需要一片外接的FLASH程序存储器芯片就可以构成一个高性能CAM卡。
3.1SM1658芯片的特点
1)简洁高效率的本地总线
在SoC设计中,一个高效、简洁的总线可以让芯片的运行效率和可扩充性提高。在SM1658中,只有一个主设备ARM7TDMI,其他模块电路都处于从设备状态,由CPU统一进行调度,而且所有的外部从设备都与主设备采用相同的时钟,可以在单个时钟内立即响应CPU的访问。因此,在这个方面采用ARM7本地的总线更有优势。
2)带有软件冗余的内部SRAM
SM1658中嵌入了一个256Kbyte容量的SRAM,此SRAM容量可以满足相当部分CAM系统的应用需求。同时,芯片也支持各种外部高速和低速SRAM,对于一些SRAM需求非常大的系统也可满足要求。SM1658内部实现的SRAM具有非常高的性能,可以单时钟周期完成ARM的各种指令的操作,也就是当CPU在内部SRAM中进行取指或存取数据时不需要任何等待。
3)可动态调整的时钟电路
在SM1658芯片中,集成了一个可软件配置的时钟管理电路,称之为动态时钟电路。可以通过软件对芯片的时钟处理模块进行编程,既可以让芯片的工作时钟频率随需要不断变化,降低芯片在轻任务负载下的功耗,又可以适应多种外部时钟源的输入,增加CAM系统在产品开发中的适应能力。
4)高度灵活的智能卡接口
在SM1658的功能中,还包括一个高度灵活的智能卡接口。它是为了保证CA公司可以通过智能卡对用户收看节目进行授权和管理。在标准的使用情况下,SM1658芯片可以不需要任何外部有源器件就完成智能卡接口的功能,而且抗ESD的能力可以保证大于4000V。
5)内嵌高速DVB通用解扰算法
在SM1658芯片中,是以固核的模式嵌入到芯片中的。在此固核的设计中充分考虑到了芯片对将来可能出现的多路高清节目的适应能力,解扰模块的处理能力到了175Mbit/s,可以满足同时处理2路高清节目流或4路标清节目流的水平。
6)高性能的TS流处理引擎
在SM1658中,内嵌TS流处理引擎,用来对CI接口传送过来的TS流进行整形、过滤、提取特定数据、回送解扰后的节目流等。在此引擎中,有64个PID过滤器和16个SECTION过滤器,根据不同的配置状态,此引擎可以完成对TS流7种不同的路由功能。
3.2SM1658性能指标
在常温下以1.8V的核心电压和3.3V的I/O口电压条件,SM1658可以工作在125~135MHz的频率下,几乎是已经商用化的ARM7TDMI类芯片的最高工作频率了。由于对芯片的总线、内部存储器进行了优化,使用ARM公司提供的参考测试程序Dhrystone2.1(C语言编写),以性能最优的方式进行编译。该测试程序在芯片的内部SRAM中运行。表2是测试结果以及与软件仿真测试结果的比较。可以看到,芯片在最高性能时的执行效率已经基本达到了ARM7TDMI的最好的指标。
4软件体系
SM1658的软件体系可以分为两个大的部分:API库(应用程序接口)和应用程序。API类似Windows下的API库,它完成了与芯片硬件相关的所有驱动和上层软件开发需要的一些基本和专用的函数库(包括OS系统的基本功能函数),用户在API库的基础上可以比较方便地建立起用户应用程序。
5小结
作为数字电视传播环节中一个部分,CAM还有一个重要的特色是内容保护和复制管理(CPCM)功能。由于机卡分离导致的透明节目流在接口上出现,不利于节目产品的版权保护,所以,必须要在机顶盒与CAM之间加入一种防复制机制。在美国和欧洲,有关标准早已制定了CPCM方面的内容;目前在国内,有关CP保护的标准也在制订中。一旦国家的CP标准宣布,就可以在SM1658的基础上加入符合标准的CPCM结构,完成一个真正的CAM需要的全部基本功能。