数字电视条件接收系统(CAS)设计技术解析
数字电视的条件接收系统(CAS)是用于对数字电视用户进行节目授权和管理的部分,是数字电视广播中的重要组成部分之一。而其中采用开放的机卡分离结构又是条件接收系统的未来重要发展趋势。机卡分离是通过在用户接收终端上定义了一个通用物理接口以及相关的接口通讯协议,将通用的适宜于大规模生产的电视接收系统与私有的CAS管理系统分离开来。目前,机卡分离模式在国际上通行的实现方法是:采用一种与便携电脑上的PCMCIA插口类似的物理接口来实现。欧洲的DVB组织发布的标准称之为DVB-CI,美国也有一个类似的标准称之为POD。事实上新的PCMCIA标准文档中已经将此两种接口的定义包含进去了。而这其中装载条件接收处理内容的PCMCIA卡简称为数字电视条件接收卡,可以简称为CAM(条件接收模块)。
事实上,建立了机卡分离标准,在电视机上开启了一个标准插口之后,其意义并不仅仅在于解决了公共收视与私有管理的难题,其巨大的意义还将体现在从此作为家用消费品的数字电视机有了升级性能和扩充功能的途径。就像PC机目前的发展规模,与PC机的ISA、PCI、APG等接口的标准化有着不可分割的关系。我们难以想象,如果计算机没有标准化的可扩充接口,其行业还能否取得这么大的成功。在数字电视领域中,机卡分离接口标准的制订以及数字电视机上的标准接口的开启,将会把数字电视引入到一个多姿多彩的发展领域中去。比如:对于不同的节目信号传送方式(无线广播、有线电缆、卫星、数字音频广播),可以通过在CI接口(机卡分离通用接口)上插入不同形式的接收模块就可以了;对于我们在数码相机存储卡上保存的照片,可以通过一个通用存储卡读写器模块在电视机上浏览;通过宽带IP接收模块,可以在电视机上欣赏网上的各类流节目以及进行网络的双向传输;可以通过网关模块,将电视机与其他电器设备连接成一个家庭数字网络系统;通过带硬盘录象模块,用户可以录制有许可认证的节目等等。将来其发展的趋势和潜力更难以预计。
图1:机卡分离结构示意图。
CAM的结构一般可以是以一个高性能的32位SoC芯片为核心,配合智能卡接口、CI接口、专用的TS传输流处理引擎、DVB通用解扰等部分组成。CAM卡的体积空间非常有限,却要实现一个能处理高清电视节目流的高速32位嵌入式系统,所以其核心的SoC芯片的规模和性能就成了关键点。
我们通过对欧洲的DVB-CI标准的潜心研究,结合自身在嵌入式产品领域和集成电路领域的产品开发经验,对以ARM7TDMI为核心的SoC技术进行攻关,成功的开发出了性能和集成度在国际上领先的CAM芯片SM1658,同时大幅度降低了CAM的生产成本,消除了大规模推广机卡分离标准的价格瓶颈。
CAM结构及硬件体系
SM1658是一个典型的用于CAM系统的专用嵌入式微处理器,它集成了一个CAM的全部主要功能模块,以它为核心构成的CAM结构非常简单。
SM1658采用了广泛流行的32位的ARM7TDMI作为CPU核,除了集成一般的SoC芯片具有的存储器管理、中断控制器、定时器、看门狗、异步串口通讯、PLL等常用电路模块外,还在内部集成了256KB的高速SRAM、智能卡接口、PCMCIA(DVB-CI)接口、高速TS流解复用/过滤引擎和DVB通用解扰器等模块。其基本结构如图1所示,只需要一片外接的FLASH程序存储器芯片就可以构成一个高性能CAM卡。
SM1658的存储器管理模块可以总共支持4个存储器段,此存储器部分可以是内部、外部的SRAM或者外部的FLASH,每个存储器的数据线宽度、读写速度可以由软件初始化配置。每个存储器段的最大容量可以支持到4M字节,四个存储器段最大可以支持到16M字节的容量。其中,在芯片内部实现的存储器是256KB的高速内部SRAM,它可以无等待周期的速度高速执行系统的核心程序,大大提高芯片关键程序的处理能力。
SM1658的中断控制器可以提供32路的中断管理。每路中断可以选择优先级别、触发上/下边沿、脉冲/电平触发选择,提供了中断屏蔽、中断保留、软触发等丰富的中断管理特性。CI物理接口是PCMCIA标准中的一个子集。可以分为TS流通道和命令通道。我们的CI接口完全符合DVB-CI的接口标准,并且在硬件结构上提供了双向缓冲、CIS存储器和灵活的状态、控制寄存器。
芯片内部还提供3个16位的定时器,每个定时器都带有可选择的8位预分频器。芯片的看门狗是32位的,如果不需要看门狗,可以配置为一个32位的定时器使用。
设计特色
1. 简洁的高效率本地总线
在SoC设计中,内部及外部总线的选择是一个非常重要的因素,一个高效、简洁的总线可以让芯片的运行效率和可扩充性提高。
在ARM结构体系的SoC芯片设计中,ARM公司一般推荐采用标准的AMBA总线来进行设计。同时,ARM7TDMI核本身还带有一个简单的内部总线。在决定采用的总线规范前,我们对SM1658的体系结构和应用特点进行了下面的分析。
AMBA总线的优点之一就是可以支持多个主设备的调用、裁决和数据的流水处理。在SM1658中,只有一个主设备ARM7TDMI,其他模块电路都处于从设备状态,由CPU统一进行调度,而且所有的外部从设备都与主设备采用相同的时钟,可以在单个时钟内立即响应CPU的访问。因此,在这个方面采用ARM7本地的总线更有优势。
如果使用AMBA总线,设计团队可以使用大量的第三方IP模块,这些IP模块都符合AMBA总线的规范要求,并且经过了严格的验证。在SM1658的芯片设计中,我们为了最大程度的降低芯片的成本,同时客观上也由于重要的模块电路都没有合适的IP可以使用,所以我们自己设计了所有的电路模块。那么,想通过使用IP来节省的开发时间就没有可行性了。
此外,如果使用AMBA总线,就必须在原有的ARM7TDMI的三级流水线上增加一级流水线,并将ARM7TDMI的双时钟边沿的总线结构转变为单时钟边沿的总线结构,这样可以简化芯片后期的设计工作量。但是,这样对于某些跳转指令就多损失了一个时钟周期,降低了CPU的工作效率。此外,使用AMBA总线,CPU和每个模块都需要增加AMBA总线的接口逻辑,增加了芯片的规模和成本。
图2:SM1658基本结构。
最后,我们从芯片的最大使用效率和简化逻辑控制的方面出发,决定采用ARM7TDMI自身的本地总线。使用ARM7的本地总线有几个优势:ARM7的本地总线状态相对简单,不需要进行相对复杂的AMBA总线协议验证;对模块的接口功能要求低,接口电路非常简单;减少了流水线长度,在一个最高时钟由IP硬核固定了的SoC芯片中,流水减少就意味着芯片的代码执行效率的提高。同时,对于ARM7总线上的双边沿时钟问题进行严格的约束和验证,确保了芯片后期设计的正确性。
分频器相关文章:分频器原理
评论