(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:数据区存放低位首地址)
点击看原图
(3)比较操作:在进行比较操作时,必须保证使RST脚和PGM脚同时保持为低。比较操作只能对芯片密码控制区执行,且由芯片内部来判断。在FUSE2未熔断时,只能在SV=0时,对SC区进行比较操作,对其它区的比较操作均为无效操作。SV=1时,芯片不做任何比较操作。在FUSE2熔断后,只能在SV=0时,对SC区进行比较操作,对其它区的比较操作均为无效操作。
注:上述芯片密码比较时序图中是假设密码计数器中前两位为0,第三位寻到1的处理时序。
有关芯片SC的时序关系如图2~5图所示:
从操作(B)到(F),地址计数器不变,密码比较的过程是:
(A)比较安全密码/擦除密码序列
(B)在密码输入比较计数器中找出一位为“1”的位
(C)在这个为“1”的单元写“0”
www.55dianzi.com
(D)芯片输出“0”
(E)如果比较成功,在PGM的上升沿安全密码/擦除密码的相应标志,(SV,Sn或En)被置“1”,同时安全密码/擦除密码输入比较计数器,(SCAC,SnAC或EnAC)被擦除。
(F)如果擦除成功,相应安全密码/擦除密码标志被置“1”,芯片将输出“1”,否则芯片输出“0”。
(G)在CLK的下降沿,地址计数器加1,并输出下一位的状态。
点击看原图
(4)写入操作:写入操作实际包含着两种:当写入的数据为“0”时,本次操作称为“写入操作”。当写入的数据为“1”时,本次操作称为“擦除操作”。“写入操作”可以按位进行。但“擦除操作”只能按字节进行。即使操作时只对单独一位进行擦除,但执行的结果将使这一位所在的字节的所有8位全部置成“1”。对芯片的任何一个允许写入或擦除的区域,其执行写入和擦除的必要条件是芯片的SV标志为“1”状态。
注:在CLK为低的状态下,PGM端从“0”到“1”,并延时一段“编程建立时间”(Tspr)之后,CLK端从“0”到“1”(这时是写入/擦除操作的开始),在此刻之前的Tds(数据建立时间)由外部向I/O线给出写入数据。CLK端在“1”状态应至少保持5ms(Tchp)之后,CLK端从“1”到“0”(这时是写入/擦除操作的结束)。应特别注意结束写入操作的CLK端的下降沿并不会使地址计数器加1,而只是将刚写入的“数据”读出, 以便外部验证刚才的“写入操作”。
结束语
随着 IC卡 技术的飞速发展,金融机构、国家机关、公司企业、教育部门等领域的需求越来越迫切,应用越来越广泛。我们已在石化系统加气站实现了使用IC卡进行加气的业务,现将调试成功的部分实用子程序提供给大家,供同行朋友们参考。
本文关键字:暂无联系方式DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术