有哪些设备能进行CA与lin总线上的设备失去通信检测啊?

ntegrated Circuit Card  集成电路卡也叫CA卡或智能卡,將一个微电子芯片嵌入符合ISO 7816标准的卡基内做成卡片形式,也是一个嵌入式小系统由CPU,ROM,RAM及E2PROM及串行通行单元组成。


其操作系统称为COS一般带囿自已的安全体系,其安全性是衡量COS的重要指标其功能包含有传输管理,文件管理安体体系及命令解释。

一般STB机顶盒与智能卡连接图洳下:

智能卡与CPU之间按照异步方式传送字节其具有统一的字符传输格式,一个字由连续的10个ETU完成发送期间传送1个起始位,8个数据位和1個奇偶检验位其数据帧传输格式:10bit


TS初始字节定义随后字符的逻辑电平及位序

T0格式字符,标记协议参数协议类型

其基本的读写流程图如丅:

下面重点说一下smartcard驱动编写主要逻辑:1、设定卡工作频率打开设备的时候需要设置频率参数,而芯片实际给SCI 的时钟是由外部传入的时钟頻率参数计算的分频因子分频得来因为计算公式会舍弃计算的分频因子的小数部分,所以通过系统时钟分频之后给卡的时钟会存在增量誤差实际配置考虑与需求最接近的值来设置和权衡具体算法:Fsci_clk = 有时候计算出来是浮点数,但只取整所以设置的频率与实际频率有偏差。┅般来说其值设定:对于T0,T1卡支持频率1MHz~5MHz;对于T14卡,只支持6MHz单位为khz2、ETU 串口波特率 Elementary Time UnitETU = F / (clk * D) 其中 F 注册中断利用中断可检测到 Card IN/OUT和 RX 接收数据对于ATR数據的接收与正常的机卡通讯数据同样操作的,只不过card的状态不同时的操作而已

4、通讯协议说明(字符传输

Smart Card的字符传输采用的是异步半雙工模式,这种异步的模式很像个人电脑上的RS232通信传输一个字符时,除了8Bits的数据外还加了以下几个Bits:

起始位 -- 用于字符帧的同步

Guard Time一般为兩个bit的时钟周期,这一点很像PC上的UART的通信用两个停止位来间隔相连的字符。

当RST信号被触发即将RST管脚被拉低400~4000个时钟周期,Smart Card检测到这个信號后将会回传“复位应答”ATR信号出来,ATR最多包含33个字节有以下几个段:

它们包含哪些意思呢?请看下面的解析:

首先TS初始化字符展礻了电平的逻辑,反向约定(Inverse Convention即负逻辑)和正向约定(Direct Convention即正逻辑)那么一般来说,回传TS有两个可能的HEX值0x3F和0x3B0x3F代表反向约定,0x3B代表正向约萣

接口字符的TAi定义了串口传输中最基本的特性,其中包含两个4-Bits的DI和FI当中的FI时钟频率的转换因子,DI则是定义了比特率的调节因子通过這两个因子,我们可以通过以下的公式验算出Work ETU的大小:

接下来便会有个问题了,字符通信是需要D和F这个两个调节因子保证其工作时序,而这两个因子又是Smart Card复位后由通过字符传输回传的ATR获得的,那么谁来保证ATR传输的时序呢原因是这样的,Card复位时会有D和F的两个初始值,分别D=1F=372。而且复位时时钟频率f会在1~5MHz范围之内,比较常见的是3.579545MHz

TD则是要说明的是传输协议的类型,标准里罗列了16种但是常用也就是两種T0和T1,即异步半双工字节传输和异步半双工块传输

因此,我们知道多数Smart Card复位时是工作在3.579545MHz和9600s/s上的,一旦复位后就根据ATR的值重新进行配置工作时钟频率、波特率和Guard Time。使其能更高效的通信

下面两张图来说明T=0传输协议的细节,

从上图我们不难看出,IFD和Smart Card之间存在主从设备关系在通信之前,我们知道ATR中协议是多于一个因此接口设备会发一个PTS信号,以便确认通信协议的类型

另外,再说说Smart Card的两个状态字SW1和SW2咜们是用来通知上位设备目前Smart Card的工作状态,如果工作正常则返回值如下所示:

如果工作异常了,也能通过这两个状态字获得一些信息洳:

1) T0 异步半双工字符传输协议 停止位是2, T1是1

2) T1是异步半双工块传输协议。 有起始域信息域, 中止域 组成一个 块

3) T14叫做私有协议。

5) T14没有奇耦校验 ATR期间时钟因子也不同。像irdeto是6

我要回帖

更多关于 与lin总线上的设备失去通信 的文章

 

随机推荐