无标题文档
首页 资讯 产品 技术 方案 案例 访谈 专题 供求 企业 论坛 下载 标准 会展 联盟 设为首页 旧版入口
电子标签 读写器 标签打印 中间件 应用软件 智能卡 制卡办证 二代证 门禁考勤 巡更 停车场 一卡通 其它识别
物流 零售 制造 服装 医疗 交通 食品 动物 图书 煤矿 资产 票证 汽车 支付 防伪 航空 军事 其它
用户名: 密 码: 免费注册 忘记密码
站内搜索:
  您所在的位置RFID中国网 >> 技术 >>
机顶盒中智能卡通信的实现
作者: 张 萍 发布时间: 2007-07-19 09:05:53 来源: RFID中国论坛
关键词:  智能卡  机顶盒  T=0协议
文档: 技术文档| 技术原理 | 软件 | 产品资料 | 方案案例 | 智能卡

    摘  要:  机顶盒中采用智能卡技术实现条件接收,主要介绍了机顶盒芯片Sti5516的智能卡接口和用于实现机顶盒与智能卡之间通信的TDA8004T芯片,介绍了T=0通讯协议,并给出了通讯的实现过程。 

    在利用数字机顶盒收看数字电视节目时,为了满足不同用户的需要,保证每个用户的利益,需要采用条件接收系统管理用户的权限并确保用户的正常收看。而在机顶盒中,通常使用智能卡技术实现条件接收。  

  智能卡有自己的微处理器、存储器和一个与机顶盒通信的接口。采用智能卡实现条件接收的优势在于:它具有高度的安全性和保密性,主要用于存储用户的私人密钥、控制授权、保密算法等信息,可以保证整个数字电视系统的安全。  

  本文主要讨论智能卡与机顶盒之间的通信。机顶盒中的主芯片一般都提供与智能卡通信的接口,利用相应的硬件和通信协议,就可以实现它们之间的正常通信。在本文中,机顶盒芯片采用ST公司的Sti5516。由于Sti5516提供的智能卡接口需要外接一个接口芯片才能与智能卡通信,所以还采用了Philips公司的TDA8004T芯片。整个硬件框图如图1 所示。  


    1 Sti5516的智能卡接口  

  Sti5516支持智能卡接口——异步收发控制器(UART),用于实现Sti5516与二个智能卡控制器的通信。异步收发控制器支持全双工异步通信,接收器与发送器使用相同的数据格式和波特率。数据的传输和接收可以是双BUFFER,也可以是16位FIFO。通信过程中奇偶校验位、数据位、停止位都是可编程的。同时,在传输和接收中的错误觉察增强了数据传输的稳定性,UART与智能卡的握手协议确保了数据传输的安全性。Sti5516有一个智能卡时钟产生器,提供给智能卡一个时钟信号。智能卡使用这个时钟驱动智能卡与UART之间的通信。这个时钟也用于智能卡CPU时钟。智能卡接口操作要求卡的时钟可以调整,这样波特率可以改变,时钟的调整可以根据ISO7816标准。Sti5516提供的智能卡接口支持T=0、T=1协议。  

    2 TDA8004T介绍  

  TDA8004T提供了一个低成本的异步智能卡接口,可用于电子付费、读卡器、付费电视等。它可以取代智能卡与微控制器之间的一些外部元器件,提供微控制器与智能卡之间稳定、低噪音并符合ISO-7816 标准的通信接口[1]。其原理结构图如图2所示。  

    3 通信协议  

  在Sti5516与智能卡的通信过程中,本文采用了T=0协议。  

  T=0协议是异步半双工字节传输协议[2],即协议所处理的最小单位是单个字节。通信命令总是由接口设备启动,以命令报头通知卡做什么,并且允许在卡发出的过程字节的控制下传输数据字节。命令报头由连续的5个字节组成,这5个字节指定为CLA、INS、P1、P2、P3。其中CLA为指令类别,INS为指令类别中的指令代码,P1、P2为一个完成指令代码的参考符号(例如地址),P3由一个可变长度的条件体组成。条件体包括命令数据域长度字节Lc、命令数据域和响应返回的最大长度字节Le。根据不同的命令,条件体的组成也不相同。  



  这样,在一个5字节命令报头传输后,接口设备等待一个或者两个过程字节。过程字节的值将指明接口设备请求的动作。如果过程字节的值与INS字节相同,表示接口设备向卡发送或者从卡接收所有数据;如果与INS字节的补码相同,表示接口设备向卡发送或者从卡接收下一个字节;如果为0x60,表示延长等待时间;如果为0x61,表示接口设备等待第二个过程字节,并根据第二个过程字节发送命令取回数据;如果为0x6c,表示接口设备等待第二个过程字节,并根据第二个过程字节重发上一条命令。如果过程字节是0x90、0x00,表示通信成功完成[2~3]。  

    4 通信的实现  

  在实际通信过程中,本文将工作频率定为3.57MHz,保证数据传输的波特率为9600bps。数据格式采用带奇偶校验的8个数据位和2个停止位,如图3所示。  

  在机顶盒与智能卡发送数据和接收数据的过程中,使用了Sti5516智能卡接口UART的驱动。因此在进行通信之前首先要对UART初始化。初始化之后,进行卡的复位应答,如果应答正确才能与卡通信。  




  根据T=0协议的定义,机顶盒与智能卡通信的流程图如图4所示。

    5 调试经验  

  (1) 在写智能卡接口UART的驱动时,必须按照T=0协议标准配置工作频率、数据传输波特率和数据格式;  

  (2) 在确保卡的复位应答正确后,才能进行卡与机顶盒的通信;  

  (3) 命令报头的传送一般是有一定的先后顺序的,在测试过程中,需要按照顺序发送命令报头,才能正常接收数据;  

    图4  

  (4) 判断过程字节和条件体形式时,一定要按图4所描述的,考虑仔细、全面,以免通信错误。  

  由于目前大多数智能卡支持T=0协议,所以本文主要介绍了基于T=0协议的机顶盒与智能卡之间的通信。在此基础上,以后可以实现基于T=1协议的通信,以便支持更多的智能卡。(fengminxing)

 

[字体: ] [打印] [进入论坛] [推荐给朋友]
相关文章 相关产品
·坚持自主创新发展 打破知识产权垄断
·明动安创:移动安全领域的坚实保障
·国家金卡工程十一次全国IC卡应用工作会通知
·中国无线射频识别产业联盟申报项目通知
·国家金卡工程2009智能卡与RFID博览会的通知
·国家金卡工程十一次全国应用工作会议在京召开
·SMARTRAC推出多种芯片 增添智能卡多用途产品
·深圳博物馆新馆26日起免费开放 RFID随身导航
  更多产品>>
 
远望谷徐玉锁:建设基业长青的RFID公众型公司
复旦微电子:我们已能做出媲美国际品牌的产品
 
“一卡通”为何不通了?【全文】
智能卡技术与市场评测 【全文】
 

2004-2006 Copyright RFID China Organization.All Rights Reserved.
隐私保护 版权声明 京ICP备05067666号