最近北京公交刚上的IC卡系统常出问题,有时候刷一次能扣好几块钱,有时候又不扣钱,这两天中午吃饭时候有人也提出过,不用说,这种政府工程肯定是吃回扣的。
非接触式IC卡在ISO国际标准中称之为接口设备IFD(Interface Device)。IFD内的CPU通过一个接口电路与IC卡相连并进行通信。IC卡接口电路是IC卡读写器中至关重要的部分,根据实际应用系统的不同,可选择并行通信、半双工串行通信和I2C通信等不同的IC卡读写芯片。频率从低频,高频,超高频到微波波段都有,公交和食堂用的可能是13.56MHz的(不确定),到了几个GHz的微波波段据说可以对高速行驶的车辆进行检测,NB啊!
现在好多单片机内部集成了无线IC模块,前两天去书店看见TI还是哪儿出的老厚一本讲短距离无线IC芯片的书,技术发展真是快啊。
非接触式IC卡读卡器工作电压9V。射频读卡器向IC卡发一组固定频率的电磁波,卡片内有一个IC串联协振电路,其频率与读写器发射的频率相同,这样在电磁波激励下,LC协振电路产生共振,从而使电容内有了电荷;在这个电荷的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内存储,当所积累的电荷达到2V时,此电容可作为电源为其它电路提供工作电压,将卡内数据发射出去或接受读写器的数据。卡片其实就是个简易的无线收发系统,片内存储器记录了用户的基本信息。卡片上的微型天线是个很神奇的技术,早期的卡片需要一个外部天线与读卡器通信,现在国外已经有了片内嵌入天线的方法,叫“微芯片片载天线”技术,而且能够覆盖各种频段,NB啊!
读卡器电路一般都包含射频前端、模拟前端、数字基带和存储器单元等模块。其中,射频前端模块主要用于对射频信号进行整流和反射调制;模拟前端模块主要用于产生芯片内所需的基准电源和系统时钟,进行上电复位等;数字基带模块主要用于对数字信号进行编码解编码以及进行防碰撞协议的处理等;存储器单元模块用于信息存储。
IC卡读写器要能读写符合ISO7816标准的IC卡。IC卡接口电路作为IC卡与IFD内的CPU进行通信的唯一通道,为保证通信和数据交换的安全与可靠,其产生的电信号必须满足下面的特定要求。
IC卡接口电路对IC卡插入与退出的识别,即卡的激活和释放,有严格的时序要求。
(1)激活过程
◇RST处于L状态;
◇根据所选择卡的类型,对VCC加电A类或B类,
◇VPP上升为空闲状态;
◇接口电路的I/O应置于接收状态;
◇向IC卡的CLK提供时钟信号(A类卡1~5MHz,B类卡1~4MHz)。
在t’a时间对IC卡的CLK加时钟信号。I/O线路应在时钟信号加于CLK的200个时钟周期(ta)内被置于高阻状态Z(ta 时间在t’a之后)。时钟加于CLK后,保持RST为状态L至少400周期(tb)使卡复位(tb在t’a之后)。在时间t’b,RST被置于状态H。I/O上的应答应在RST上信号上升沿之后的400~40 000个时钟周期(tc)内开始(tc在t’b之后)。
在RST处于状态H的情况下,如果应答信号在40000个时钟周期内仍未开始,RST上的信号将返回到状态L,且IC卡接口电路对IC卡产生释放。
(2)释放过程
◇RST应置为状态L;
◇CLK应置为状态L(除非时钟已在状态L上停止);
◇VPP应释放(如果它已被激活);
◇I/O应置为状态A(在td时间内没有具体定义);
◇VCC应释放。
复位后,由收到的ATR(复位应答)信号中的F(时钟频率变换因子)和D(比特率调整因子)来确定。时钟信号的工作周期应为稳定操作期间周期的40%~60%(cycle duty)。当频率从一个值转换到另一个值时,应注意保证没有比短周期的40%更短的脉冲。
参考资料:http://spaces.msn.com/gdjxrfid/