一种全新的SLE4442芯片卡单片机数据交互方式
文章标签:4442芯片卡,4442卡设计 发布时间:2015年10月09日 点击次数:
SLE4442芯片卡是目前应用得最广泛的智能卡之一,各个行业都有所设计尤其是门禁系统作为门禁卡较多,这篇文章我们探讨SLE4442 芯片卡的数据交互方式,我司设计了一款数据交互的单片机程序,提供了一种全新单片机数据读取方式。
一、SLE4442 芯片特点:
① 采用256 × 8 位的EEPROM 的用户存储器和32 × 1 位写保护存储器。
② 线制通信协议,可按字节寻址。
③ 串行接口、触点配置、复位响应符合ISO 标准7816‐3 。
④ 擦除和写入的编程时间都为2.5ms 。
⑤ 至少可以擦写10000 次, 数据保持10 年以上。
二、对芯片卡的操作
芯片卡与接口设备的通信采用I2C 总线形式[1] 。对芯片卡的操作包括复位与复位应答和操作命令2 个方面。
1) 复位与复位应答 芯片卡上电以后,由单片机给RST 端发送一个正脉冲, 在RST = 1 期间, CLK 产生一个上升沿, 则启动了复位和复位应答。随后32 个CLK 依次在I/O 线读出32位数据,这是从芯片卡发送到CPU 的复位应答标头, 标头数据由H1 、H2 、H3 、H4 四个字节组成, 其中H1 表示同步传输协议的类型; H2 表示协议类型的参数, 两者必须符合ISO7816‐3 标准; H3 和H4 不在ISO7816‐3 标准范围之内。SLE4442 芯片的标头为A2 14 10 91 。在对芯片卡操作前, 一般要进行复位和复位应答操作, 有时要连续进行2 次才能得到正确的复位应答信息。
2) 操作命令 在复位应答后就可以对SLE4442芯片发出操作命令。SLE4442 共有7 条控制命令(见表2) 。每个命令序列由3 个字节串(控制字节、地址字节和数据字节) 组成。命令序列之前有1 个起始位, 当CLK 线在高位时, I/O 线产生1 个负跳变。在输入命令序列时, 命令序列的每1 位有CLK 线上的1 个时钟脉冲推入, 全部命令序列输入后, 还要产生1 个停止位, 即CLK 线保持高电平, I/O 线上产生1 个正跳变。以后即可按不同的功能在CLK 线上输入不同个数的时钟脉冲以完成输入命令的处理过程。
三、单片机系统和芯片卡接口电路设计
由于单片机本身的存储容量有限, 用少量的管脚和读写程序即可在外围增大存储容量,免除了单片机通过并行接口或串行接口搭建较复杂的硬联线电路及烦琐的通信程序。考虑到方便芯片卡插拔,不应像单片机存储器扩展时将外围的存储芯片固定。这样使要写入存储器的数据通过存储芯片交换到其他系统的芯片卡中显得非常便捷。
将SLE4442 与单片机相应的管脚连接好, 如图2所示。其中, 单片机系统的P1 口的2 号引脚P1.2 接芯片卡的输入输出数据口; P1 口的3 号引脚P1. 3 接芯片卡的复位端; P1口的4 号引脚P1.4 接芯片卡的时钟信号。这样连接构成了单片机读写芯片卡小系统, 实现了SLE4442 芯片和单片机的数据交换。
四、芯片卡读写程序流程
首先,单片机发出复位信号,将芯片卡复位。然后,单片机向芯片卡发出具体的操作命令, 芯片卡对接收的命令和SLE4442 芯片命令字依次比较,找到符合的命令字进行相应的操作:若为30H ,则读IC 卡主存储器; 若为38H ,则写芯片卡主存储器; 若为34H ,则读芯片卡保护区; 若为3CH ,则写芯片卡保护区; 若为3DH ,则读IC卡密码; 若为39H ,则写芯片卡密码; 若为33H ,则校验芯片卡密码。
五、结语
以SLE4442 芯片为例,探讨了芯片卡芯片与单片机的数据交换技术。设计数据交换程序, 通过与单片机联机调试,表明该设计方法是可行的,从而为单片机对数据区的数据读写提供了一个新的方式。
文章编辑:深圳建和诚达芯片卡制作厂家