数字电视机卡分离的条件接收卡系统

2008-03-26 12:08:26 来源:电子产品世界
标签:
        字电视是从电视节目录制、播出到发射、接收全部采用数字编码与数字传输的技术。由于数字电视广播具有频道利用率高以及可适应数据业务的增加、可交互操作等方面的优势,被视为电视广播领域的一次大革命。数字电视的条件接收系统(Conditional Access Systems,简称CAS)对数字电视用户进行节目授权和收视管理,是数字电视广播业务发展中的重要组成部分之一。

  采用开放的机卡分离结构是条件接收系统的未来重要发展趋势。机卡分离是通过在用户接收终端上定义了一个通用物理接口以及相关的接口通讯协议,将公共的高成本的数字电视接收系统与专用的私有条件接收用户管理系统分离开来,这样就解决了收视与收费的捆绑问题。目前,机卡分离模式在国际上的实现方法是:采用一种与PCMCIA插口兼容的物理接口来实现。欧洲的DVB组织发布的标准称之为DVB-CI,美国也有一个类似的标准称之为POD。新颁布的PCMCIA 8.0标准文档中已经将此两种接口的定义包含进去了。而这个装载条件接收内容的PCMCIA卡简称为数字电视条件接收卡,可以简称为CAM(Conditional Access Module)。

  建立了机卡分离标准,在电视机上开启了一个标准插口之后,其意义不仅解决了公共收视与私有管理的难题,其巨大的意义还体现在:从此作为家用消费品的数字电视机有了升级性能和扩充功能的途径。就象PC机目前的发展规模,与PC机的ISA、PCI、APG等接口的持续标准化有着不可分割的关系。我们不难想象,如果计算机没有标准化的可扩充接口,其行业是难以取得这么大的成功的。在数字电视领域中,机卡分离接口标准的制订以及数字电视机上的标准接口的开启,将会把数字电视引入到一个多姿多采的发展领域中去。比如:对于不同的节目信号传送方式(无线广播、有线电缆、卫星、数字音频广播),可以通过在CI接口(机卡分离通用接口,下面将统称为CI接口)上插入不同形式的接收模块就可以了;对于我们在数码相机存储卡上保存的照片,可以通过一个通用存储卡读写器模块在电视机上浏览;通过宽带IP接收模块,可以在电视机上欣赏网上的各类流节目以及进行网络的双向传输;可以通过网关模块,将电视机与其他电器设备连接成一个家庭数字网络系统;通过带硬盘录象的模块,用户可以录制有许可认证的节目等等。这样,作为节目媒体播放的数字电视工业,将来其发展的趋势和潜力,已经不是我们可以概括和预计得了的。

  作为最基本的条件接收卡,其结构一般是以一个高性能的32位SOC芯片为核心,配合一些专用的传输流处理电路、智能卡接口电路、DVB通用接口以及DVB通用解扰电路组成。根据不同CA的要求,有些特殊的条件接收卡还包括一些特殊的加/解密数据处理模块、特殊的智能卡接口。此外,为了打击不断增长的节目盗版盗录行为,国外最近还出现了一些带防拷贝和带版权保护的卡。图1是机卡分离的标准结构示意图。

  SM1658芯片

  SM1658是我们设计的条件接收卡专用SOC芯片,它采用广泛流行的32位的ARM7TDMI作为CPU核,配合全新设计的内部体系结构和配置齐全的内部功能模块,基本上只需要少量的外部器件,就可以完成条件接收卡除版权保护之外的所有功能。SM1658集成了一般的SOC芯片都具有的存储器管理、中断控制器、定时器、看门狗、异步串口通讯、PLL等常用电路模块外,还在内部集成了256K字节的高速SRAM、SmartCard接口、PCMCIA(DVB-CI)接口、高速TS传输流解复用/过滤引擎和DVB通用解扰器等模块。其基本结构如图2所示。

  SM1658的存储器管理除了支持内部的高速SRAM外,还可以支持最多3个外部存储器(必须最少有一个是FLASH)。外部每个存储器块的最大容量可以支持到4M字节。在芯片内部集成的256K字节的高速SRAM效率非常高,可以以零等待周期的速度单时钟周期高速执行系统的核心程序,大大提高了芯片的关键程序的处理能力。

  SM1658的中断控制器可以提供32路的中断管理。我们在中断处理机制上采用了比较先进的电路结构,在中断产生后,程序可以从ARM的中断地址(例如:IRQ中断为0x18地址)直接跳转到中断控制器的中断向量表并可迅速执行中断程序,这样就大大加快了此SOC芯片的中断响应速度。
CI物理接口是PCMCIA8.0标准版本中的一个子集。其中的物理接口又可以分为传输节目流通道和命令通道。SM1658的CI接口在硬件结构上提供了双向缓冲,在主机和卡之间建立了一个比较高速的数据通道。此外,作为一个PCMCIA设备,芯片还提供了一个可以灵活配置的CIS存储器。
芯片内部还提供3个16位的定时器以及一个32位的看门狗计数器。每个定时器还包含一个8位的预分频器。如果不需要看门狗功能,还可以将它配置为一个32位的定时器使用。

  在SM1658芯片的时钟设计中,我们还集成了一个可软件配置的PLL电路,称之为动态时钟电路。我们通过软件对芯片的PLL和相应的控制寄存器进行编程,可以让芯片的时钟随时动态调整,降低芯片在轻任务负载下的功耗。同时也可以适应不同的外部输入时钟频率,充分适应生产中的变化需求。

  在SM1658中的智能卡接口是按照ISO7816标准来实现的。为了充分节省外部器件,我们在SM1658中实现了完整的智能卡接口,不需要任何外部的接口芯片。同时,为了充分适应不同智能卡的电气要求,用户还可以通过软件对接口进行配置,搭配适当的外部分立器件,以适应不同的工作电源、信号电平和ESD要求,充分适应不同使用环境中的差别。流处理引擎,用来对CI接口传送过来的节目传输流进行整形、过滤、提取特定数据、解扰以及回送解扰后的节目流等。在此引擎中,包含了64个PID过滤器、16个SECTION过滤器、支持高清节目流的DVB通用加扰算法。

  SM1658芯片采用0.18mm 1P6M的逻辑CMOS工艺生产,采用LQFP144封装,常温下工作频率可以达到120MHz以上,在以内部存储器运行基准测试程序的测试中,其性能指标可以接近120MIPs Dhrystone 2.1,基本上达到了ARM7TDMI的理论值水平。

当SM1658工作在60MHz的频率下时,其核心电源功率消耗小于85mW。

  条件接收卡结构

  由于SM1658的设计比较完善,包含了除程序存储器之外的所有功能模块,所以采用SM1658设计的条件接收卡就非常的简洁。只要加入FLASH存储器、时钟电路和电源电路就可以构成一个功能比较完善的条件接收卡了,其结构示意图如图3。
  由于SM1658需要双电源工作,所以从主机送过来的5伏电源就需要转换成3.3伏和1.8伏。可以采用独立或者一体化的电源芯片来完成此功能。
  SM1658不包含时钟发生电路,需要由外部提供一个3.3伏的时钟信号。时钟频率可以从4MHz到30MHz之间。由于芯片可以通过软件来最终确定芯片的工作频率,所以可以任意选择合适的输入时钟频率,内部的软件除了设置PLL的部分需要变化之外,其他部分基本上不受影响。

  SM1658支持各种类型的8/16位的NOR FLASH存储器。用户可以根据设计需要,选择价格和性能合适的产品。

  条件接收卡软件体系

  SM1658的软件体系可以分为两个大的部分:底层API库(应用程序接口)和用户应用程序。API库完成与芯片硬件相关的所有驱动和上层软件开发需要的一些基本和专用的函数库(包括OS系统的基本功能函数),用户在API库的基础上可以比较方便的建立起用户应用程序 (包括移植CA程序)。

  API库又可以分为底层硬件驱动函数库、基本应用服务函数库和高级应用服务函数库。

  SM1658的底层驱动程序包括基本设备如定时器、看门狗、存储器管理、中断管理、串口等设备的驱动之外,还包括专用的智能卡SmartCard接口、机卡分离CI接口、TS流处理引擎驱动等特定设备的物理驱动。底层驱动的功能是完成设备的初始化配置、工作状态的变换、基本数据包的发送接收校验、与其他设备的握手、错误状态的处理等与硬件密切相关的基本处理工作。

  基本应用服务包括TS流处理状态的管理、CI命令通道数据的管理,SMARTCARD的底层协议实现等功能,包括OS系统的底层管理功能。它提供了一些比较底层的函数,用户可以通过这些函数的调用,比较深入仔细的控制芯片的一些工作状态。也可以针对应用中的一些特殊情况,优化  某些应用任务的性能。

  高级应用服务实现具体的各个设备的资源管理、用户显示界面MMI管理、CAT和EMM数据的管理、SmartCard的应用接口以及OS系统的高层管理功能。它提供了一些比较上层或抽象的函数调用。用户通过对这些函数的调用,可以比较简单的完成一些任务和功能,让用户比较专注的建立应用体系的内容。此外,我们还比较完整的实现了两套通讯协议接口,它们分别是DVB-CI协议和SMARTCARD的7816协议。

  在OS系统方面,我们采用了非常灵活的ECOS作为此嵌入系统的操作系统。ECOS有非常方便的可订制的配置模式,特别适合本系统及将来扩充模式的需要。

  实现一个基本的数字电视条件接收卡(CAM)的功能,用户需要实现三个方面的处理,包括用户操作处理、错误信息处理和传输流信息处理。这三个方面的处理基本可以概括到一个条件接收卡的最基本功能了。

  用户操作处理完成CAM卡的主要功能部分,它又可以分为节目切换处理、菜单呼叫处理和卡状态变化处理。

  节目切换处理是指在用户更改节目收看频道后,通过主机发送信息给条件接收卡,由CAM卡重新过滤分析传输流的结构和相关信息表,并针对新的信息表判断节目的授权类别,还需要过滤出合适的ECM信息提供给智能卡,修改过滤器配置条件,重新安排节目传输流的处理和解扰过程。这个操作流程是条件接受卡处理的主要任务之一。

  呼叫菜单处理完成用户对于与条件接收卡有关的部分信息查询的回应和显示,还包括用户对某些状态的设置的处理。比如CAM卡的状态查询、智能卡有关信息的查询、阅读邮件以及将来可能发展的EPG等可扩展内容的浏览,还有用户直接要求进行在线升级、进行节目点播、儿童节目授权等操作。

  卡状态处理是对用户卡的插入、拔出等有关动作及后续处理的部分。

  错误信息处理主要是对条件接收卡的一些内部错误信息进行处理、显示的部分。

  传输流信息处理是对包含在节目流中的有关数据信息进行收集和处理的部分。包括在线升级及提示、邮件接收及向用户通知等内容。
用户在已有的API库函数的基础上,根据ECOS系统的编程要求,建立起不同的任务、进程和主体程序结构,并将有关CA以及其他中间件的API库函数合并起来,就可以完成一个基本的数字电视条件接收卡(CAM)的基本框架了。



 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读