IC卡1604的原理与应用如ft1780芯片内部结构和特点文档格式.docx

上传人:b****1 文档编号:13720988 上传时间:2022-10-13 格式:DOCX 页数:18 大小:262.68KB
下载 相关 举报
IC卡1604的原理与应用如ft1780芯片内部结构和特点文档格式.docx_第1页
第1页 / 共18页
IC卡1604的原理与应用如ft1780芯片内部结构和特点文档格式.docx_第2页
第2页 / 共18页
IC卡1604的原理与应用如ft1780芯片内部结构和特点文档格式.docx_第3页
第3页 / 共18页
IC卡1604的原理与应用如ft1780芯片内部结构和特点文档格式.docx_第4页
第4页 / 共18页
IC卡1604的原理与应用如ft1780芯片内部结构和特点文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

IC卡1604的原理与应用如ft1780芯片内部结构和特点文档格式.docx

《IC卡1604的原理与应用如ft1780芯片内部结构和特点文档格式.docx》由会员分享,可在线阅读,更多相关《IC卡1604的原理与应用如ft1780芯片内部结构和特点文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

IC卡1604的原理与应用如ft1780芯片内部结构和特点文档格式.docx

  芯片特点

  

(1)AT88SC1604芯片属于单存储器多逻辑分区结构。

主存储器除划分了特定的标志数据区和控制数据区之外,还将应用数据区分成四个完全隔离的子区,并在每个子区中配备了各自的读、写控制标志和写入/擦除密码以及密码输入错误计数器等逻辑控制。

  

(2)芯片为串行传输方式,并满足ISO7816-3同步传输协议。

  (3)芯片采用低功耗的CMOS工艺制造,每字位的读取时间为s,写周期为5ms。

  (4)芯片部的存储单元具有至少10000次的擦除/改写循环次数。

数据保存期为10年。

  芯片存储分区结构及定义

  AT88SC1604芯片分为制造商代码区、发行商代码区、用户安全密码区、用户密码比较计数区、个人代码区以及四个应用区。

每个应用区都由密码区,密码比较计数区,擦除密码区和擦除密码比较计数区、应用数据区和存储器测试区组成。

  

(1)制造商代码区(FZ)

  该区里记录的卡芯片生产商的特定信息(例如:

生产批号、日期、以及特别制定的特征代码),由制造商在芯片出厂前写入。

在控制本区的熔丝(FUSHl)没有熔断时,该区的存储单元可以象普通的EEPROM存储单元一样进行擦除和改写。

一旦熔丝熔断,所写入的"

制造商代码"

就不可再更改。

  

(2)发行商代码区(IZ)

  该区用于记录卡片发行商的特定信息(例如:

发行批号、日期、地区围编号以及特定用户编号等特征代码)。

当控制本区的熔丝没有熔断时,该区的存储单元容可以自由的擦除或改写。

在个人化处理过程完成之后,控制该区的熔丝(FUSH2)熔断,即可将注入的“发行商代码”完全固化。

这一代码也是识别卡片的真伪,区分卡片应用类别的重要标识。

  (3)个人代码区(CPZ)

  该区用于存放个人身份标识数据。

该区使用上受芯片的“用户密码”的保护。

当“用户密码”比较成功,该区可读可写可擦除。

“用户密码”比较不成功,该区只能读而不能写入和擦除。

  (4)用户密码区(SC)

  这个密码区是整个存储器的“总控制开关”。

使用前,由授权持卡人预先输入的一个安全代码作为“参照字”储存在这个存储区里。

使用时,必须输入一个“校验密码”。

芯片将输入的“校验密码”与部存储器的“参照字”一一比较。

如果比较结果一致,IC卡将开放整个芯片储存器(包括各分区的控制密码和各应用数据区)。

各区的“安全密码”区SCn(n=l,2,3,4)与SC的作用是完全类似的。

  对于各分区的密码区SCn(n=1,2,3,4)来说,其比较操作要受到对应“应用区密码”比较计数器(SnAC)的计数控制。

当连续8次输入密码错误,SCn将被锁死。

  (5)密码比较计数区(SCAC)

  该区对连续输入的错误密码的次数进行累计。

当连续8次不正确的比较操作之后,芯片将被锁死。

芯片被锁死之后,将拒绝任何的擦除、写入和比较的操作命令。

  该区是8位长,按位写入方式操作。

在芯片初始化时是全“1”状态,即读出值为“FFH”。

在每次比较输入的密码时,先按从高位到低位的顺序找第一个为“1”的位,将此位写“0”,然后将新输入的“校验密码”与原存储在SC区的“参照字”进行比较。

比较操作本身由芯片部自行完成,而比较结果则通过置SV标志来判别,即比较成功时SV被置“1”。

比较不成功,SV保持原来的“0”状态。

在连续8次比较错误过程中每次比较操作之后计数器的计数值分别为“7FH”、“3FH”、“1FH”、“0FH”、“07H”、“03H”、“01H”、“00H”。

当计数器为“00H”后,后续的比较操作命令由于无法在“SCAC”区中找到一个为“1”的位,因而芯片拒绝继续执行比较操作。

  SnAC(n=1,2,3,4)的作用与SCAC是类似的。

操作控制也完全一样。

只是SCAC是限制对SC区的比较操作。

而SnAC则限制对SCn区的比较操作。

SCAC的控制级别最高。

当SCAC为“00H”后,芯片部封锁了对SC区的比较操作,从而使对SCn的比较也被禁止。

如果SCAC为非“00H”值,在对SC区的比较密码操作成功之后,SCn能否进行比较操作就由SnAC区的状态值来决定。

SnAC区在连续8次比较输入过程中,每次比较操作之后计数器的计数值与SCAC的8个值一样。

(即分别为“7FH”、“3FH”、“1FH”、“0FH”、“07H”、“03H”、“OlH”、“00H”)当SnAC为“00H”时,则“应用n区”将被锁死。

  (6)擦除密码区(EZn,n=l.2,3,4)

  该区用于存储擦除应用区操作的控制密码。

这些密码一般由发行商使用。

在个人化处理时输入的最后一组“擦除密码”,在芯片熔丝FUSE2熔断之后将使“擦除密码”保存在该区。

该区不再能读出、写入和擦除,只能进行比较操作。

在使用过程中如需对应用区进行擦除操作,都必须首先对相应的EZ区输送一个“擦除密码”与之比较,在“擦除密码比较计数器”不为“00H”的情况下,如果相比较的两代码完全一致,则相应的应用区的单元允许擦除,否则将禁止执行擦除操作。

  (7)擦除密码比较计数区(EnAC,n=l,2,3,4)

  擦除密码比较计数区的作用与SCAC的作用相类似。

它对各应用区擦除密码连续输入错误的次数进行累计。

最多连续8次不正确的密码比较之后,该区所控制的应用区的擦除操作即被锁死,从而导致该应用区有可能成为只读和允许单次写入的状态。

  (8)应用数据区(AZn,n=1,2,3,4)

  该区主要给用户使用。

用于存储系统的相关数据记录和卡片标识等信息。

应用数据区的写入与读出分别由该区的前两位Pn和Rn以及SV标志的状态控制,擦除操作则由该区的擦除密码控制。

AT88SC1604设计了四个完全隔离的分区,其中1至3分区的单元容量分别是4K位、第4分区的单元容量为3.6K位。

  (9)存储区测试区(MTZ)

  该区主要用于芯片生产后对EEPROM单元阵列进行各项性能测试该区不受任何控制区状态和标志状态的保护,允许对这个区进行读出、写人和擦除操作,但不能进行比较操作。

  应用实例

  基于上述1604芯片的特点,在石化系统的加油电路设计中,我们利用单片机芯片89C2051与IC卡电路组成一个独立系统,控制IC卡芯片的各项操作,该系统通过标准RS232通讯接口,与主控制板实现数据交换,这种电路设计在硬件方面兼容性较好,只要通过协调双方的IC卡通讯协议,可与任何带有RS232接口的控制板或微机相连接。

  单片机芯片89C2051的6个端口通过IOC卡座与IC卡相连接,P1.2口控制IC卡5V电源的通断,上电时单片机芯片处于复位状态,6个端口均输出“1”,IC卡电源处于断开状态,ICSW为IC卡的检测端,当IC卡插入后,该端口与地相接,P1.3口检测到IC卡已插入卡座,即接通IC卡电源,IC卡操作完毕后,切断IC卡电源,并提示用户可以拔卡。

单片机芯片其他4个端口在接通IC卡电源后,根据对卡操作的需要,对IC卡进行复位,读卡,校对密码,擦卡,写卡等操作。

  硬件电路

  芯片的操作模式时序及设计程序

  AT88SCl604芯片的操作模式有五种。

它们是通过配PGM、RST、CLK等引脚信号及部地址计数器(IAC)的状态组合来实现。

  

(1)芯片复位操作:

AT88SCl604有两种复位方式:

上电复位和控制复位。

上电复位:

上电复位是当芯片加电时的最初状态。

上电复位属于芯片

  部复位。

它将使芯片部所有的隐含标志复位到"

0"

状态。

并使地址计数器复位到0位。

  控制复位:

当CLK为低时,在RST脚上的一个下降沿将便芯片产生复位操作。

控制复位是将地址计数器复位到0位,而不影响任何部标志的状态。

  注:

1)RST为高时禁止计数

  2)在CLK端降低之后,延迟一个"

复位维持时间"

Trh(min0.1s)RST端复位(下降沿),同时地址计数器清零。

地址计数器清零后延迟一个“数据复位有效时间”Tdvr(max2s)第0位单元的数据被送上I/O线。

FWZCX:

CLRICPGM;

复位子程序

NOP

SETBICREST

SETBICSDA

CLRICCLK;

时钟端清0

CLRICREST;

复位端清0

RET

  

(2)读出操作:

在进行读出操作时,必须保证使RST脚和PGM脚同时保持为低。

如果对芯片各密码控制区进行读出操作,只能是在FUSE2未熔断且SV标志“1”时才能进行。

  如果对芯片各标识数据区进行读出操作,除FZ和IZ区外,需要使SV标志置“1”后才能执行。

  如果对芯片各应用数据区进行读出操作,需要在SV=1且Rn=1(n=1,2,3,4)状态下才能执行。

在CLK的下降沿时,地址计数器加1,地址计数器当前所指的地址单元的数据被输出到I/O线上。

因此,在整个时钟周期Tdk期间,包含了地址加1(INC)和读出(REA)两项操作。

  读IC数据子程序(R2:

需读IC卡字节数,R0:

数据区存放低位首地址)

RICDAZ:

MOVA,#KXXDZ;

卡信息地址送A

LCALLSADR;

寻卡地址

RICDA:

MOVR3,#08

RICDA1:

SETBICSDA

MOVC,ICSDA;

位读到A

RLCA

SETBICCLK

CLRICCLK

DJNZR3,RICDA1

MOVR0,A;

8位数据送数据区

DECR0

DJNZR2,RICDA

;

寻IC卡位地址子程序(调用前16进制地址送ACC)

SADR:

LCALLFWZCX

MOVB,#08

MULAB;

计算位地址:

16进制地址*8

MOVR4,A;

低位位地址送R4

MOVR5,B;

高位位地址送R5

JNZSADR1;

低位地址不为0转

MOVA,R5

JZSADR3

DECR5

SADR1:

SETBICREST;

复位端置1

CLRICPGM

CLRICREST

SADR2:

SETBICCLK

DJNZR4,SADR2

SJMPSADR2

SADR3:

RET

  (3)比较操作:

在进行比较操作时,必须保证使RST脚和PGM脚同时保持为低。

比较操作只能对芯片密码控制区执行,且由芯片部来判断。

在FUSE2未熔断时,只能在SV=0时,对SC区进行比较操作,对其它区的比较操作均为无效操作。

SV=1时,芯片不做任何比较操作。

在FUSE2熔断后,只能在SV=0时,对SC区进

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1