IC电话卡的原理2.docx
《IC电话卡的原理2.docx》由会员分享,可在线阅读,更多相关《IC电话卡的原理2.docx(21页珍藏版)》请在冰点文库上搜索。
IC电话卡的原理2
目录
Ⅰ)第一类卡(德国、西班牙、中国、香港、澳门等)
Ⅰ-1)介绍:
Ⅰ-2)引脚:
Ⅰ-3)主要特性:
Ⅰ-4)时序图:
Ⅰ-5)内存数据:
Ⅱ)第二类卡(法国、墨西哥、捷克、瑞典、爱尔兰等)
Ⅱ-1)介绍:
Ⅱ-2)引脚:
Ⅱ-3)主要特性:
Ⅱ-4)时序图:
Ⅱ-5)内存数据:
Ⅱ-6)电气参数:
Ⅰ)第一类卡
Ⅰ-1)介绍
自从80年代中期出现IC电话卡后,基本已取代了原来流行的电话磁卡,磁卡存在存在严重的安全问题,已逐步淘汰。
即使IC电话卡,也不能算很安全,卡内所有数据只要有简单的读写装置并按时序操作都能读取,事实上电话卡和信用卡一样内部没有什么秘密信息,仅仅是带串行输出的128位EPROM而已(对二类卡是256位PROM),不要以为弄懂了它是怎么工作你就有办法重新对卡内数据重新填充,其开始的64位是带写保护的,在出厂时其熔丝位已被编程,你已无法对其更改,其后的40位计数单元受内部逻辑控制在写时只能减少不能增加直至到0为止,因此你想用一般的IC电话卡打免费电话是不可能的,除非你能用单片机仿真它(如果你能读懂本文介绍的所有内容)。
IC电话卡是一种一次性使用的计数卡,以一次性的计数方式,从写满的计数器中减“1”,直至存储单元减为空为止。
卡片每次消费计数的“单位价值”根据各种应用系统的实际需要而定。
例如:
对于中国IC电话卡,如30元卡对应内部计数值为300,每单位值对应0.1元,IC卡电话机每分钟产生一次扣费信号,扣费值由当地IC电话管理系统设定,一般是价值0.5元或1元,卡片被计数5次和10次。
对于其它国家属于第一类IC电话卡而言也是如此,只是内部初始计数值不同,每次扣除额度不一样罢了。
其他对于公用加油卡,IC卡计费加油机每一公升(或一加仑)产生一次扣费操作,卡片被操作一次扣2.5元等等,均属于等同原理。
事实上,这类卡内部为128位(16字节)NMOS存储器,按如下规律分布:
64位EPPOM(8字节)写保护区(芯片数据代码区、发行数据代码区)
40位EEPROM(5字节)
24位为全“1”(3字节)
共16字节数据。
Ⅰ-2)引脚:
-------------+-------------
|1|5|引脚:
|||-------
+-------\|/-------+
|2+----++6|1:
Vcc=5V5:
Gnd
||||2:
Reset6:
NC
+--------||--------+3:
Clock7:
I/O
|3||7|4:
NC8:
NC
|+----+----+|
+-------/|\-------+Vcc:
电源Gnd:
地脚Reset:
复位
|4|8|
|||Clock:
时钟I/O:
数据NC:
空脚
-------------+-------------
因有三个脚为空脚,目前一般有采用8脚和6脚封装的,6脚封装的无最下一排两个空脚
Ⅰ-3)主要特性:
-采用单一5V电源供电
-遵循ISO/IEC7816-3同步协议进行双向数据传输
-低功耗
-NMOS技术
-高可靠性,抗静电干扰能力>4KV
Ⅰ-4)时序图
复位:
为使地址计数器复位到0,先让Reset端变高。
紧跟着一个Clock脉冲(从低到高再降到0),Reset重新变低,把Clock脉冲包住。
随着Reset端变低,地址0单元的数据从I/O上输出。
对应Clock端的每个脉冲,其上升沿使地址计数器增加。
其下降沿使被选通地址单元的数据从I/O上输出。
地址计数器增加到127后返回到0。
__________________
_____||_____________________________________________Reset
:
:
:
_____:
____________________
_____:
_______||____:
_||_____||_____||_____||_Clk
:
:
:
:
:
:
:
:
:
:
:
_____:
_______:
__________:
_:
_____:
_____:
_____:
_____:
_____:
_____:
_____:
_
_____:
___n___|_____0____:
_|_____1_____|_____2_____|_____3_____|___4_:
_(Address)
:
:
:
:
:
:
_____:
:
_______:
___________:
___________:
___________:
_
_____XXXXXXXXXXXXXXXXXXXX_______|___________|___________|___________|_Data
BitnBit0Bit1Bit2Bit3
写位:
在Reset和Clk端均为低的情况下,如果某地址单元允许写操作(64-103位,且该位必需为1),则Reset端上的一个脉冲(即从低到高再回低)将允许芯片进行位写操作。
在紧跟着的时钟脉冲期间执行写操作,调整写操作维持时间至少10ms,在这个CLK脉冲期间,地址计数器不会增加,在CLK写脉冲下降沿,数据0从I/O端输出。
从Reset脉冲的上升沿到CLK写脉冲的下降沿期间,I/O端的数据是无效的。
在下一个才CLK脉冲,且Reset为低时,地址计数器又增1,并在下降沿时,把选通的地址单元的数据送到I/O端。
__________
_____________||______________________________||_______________Reset
:
:
___:
________:
_____
____||____:
__________||_________||_____:
__________||____Clk
:
:
:
:
:
:
:
:
:
____:
________:
__________:
_____:
_________:
___:
_____:
__________:
_____:
_____
n|n+1|n+2|:
n+3|:
(Address)
----’--------:
----------’-----:
---------’---:
-----:
----------’-----:
-----
:
:
:
:
:
:
:
__________:
:
:
____________:
___:
:
:
_________XXX_XXXXXXXXXXXXXXXXXXX____________XX___XXXXXXXXXXXXXXXXXXXXXXXI/O
nn+1:
:
n+1n+2:
:
:
:
:
:
writewrite
借位写后的字节擦除:
对位地址72-103的字节单元来说,只要在每个字节的前面一位进行一次正常的写操作,就可以对此字节后一字节进行字节擦除操作。
也就是说,每向高一字节进行借位(即写一位0),紧接着的擦除时序可以对后一字节按字节擦除(即整个字节写1)。
被擦除的字节总是比借位写的字节低一字节。
从以下时序图可以看出,首先,完成一个“位写”操作,在CLK的写脉冲结束后,在CLK为低电平时,在发一个Reset脉冲即启动字节擦除操作。
在第二个CLK脉冲完成字节擦除,脉冲维持时间整定为擦除周期时间(至少1ms)。
芯片逻辑控制电路验证了借位写确已完成从“1”写“0”后,才擦除其低位字节。
从Reset的上升沿到擦除操作的CLK脉冲的下降沿,I/O脚上的数据无效。
地址计数器仍然停留在借位写的地址上。
__________
______||____________________||_________________________________Rst
:
:
:
_______:
__________
______:
___________||______:
_____________||______||______Clk
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
<-------------------------addressn------------------------>:
<---n+1------
:
:
:
:
:
:
:
:
:
:
:
:
:
:
______:
:
:
______:
:
:
__________:
_____
______XXXXXXXXXXXXXXXXXXXXX______XXXXXXXXXXXXXXXXXXXXXXX__________XX_____I/O
:
:
n:
:
nn+1
:
:
:
:
WriteErase
计数方法:
在67-103地址单元中分为5个不可重置8单元计数器,芯片初始化时,72-103地址单元所对应的4个较低的8单元计数器中可以放0到8个“1”而67-71地址单元所对应的第5个计数器可以放0到5个“1”。
所谓计数一次,就是将一个单元从“1”写成“0”。
一个计数器中8位全为“0”后,要计数,需借位操作,即将高位计数器的一位从“1”写成“0”而相应其低位计数器整个字节从“0”擦除成“1”。
可见4个8单元计数器如此逐一递减,其最大计数为8的4次方=4096。
第5个计数器中5个单元因处在最高位只能被写“0”无法擦成“1”。
因此只能计数5次。
故芯片总计数为5X4096=20480。
当全部计数单元(地址67-103)都被写成“0”时,卡片就用完了,不过,芯片出厂初始化时,初置的计数值由国家不同和卡片面值不同而不同,如100元卡初置计数值为1000。
举例:
100元(1000计数单元预置初始值).
--------
Byte9Byte10Byte11Byte12Byte13
--------------------------------------------------------------
000000-00000001-01111111-00011111-00000000
--------------------------------------------------------------
(3)octal(6)octal(7)octal
(1)octal
(2)octal
--------------------------------------------------------------
Value=0*8^4+1*8^3+7*8^2+5*8^1+0*8^
--------------------------------------------------------------
总值=1000Units
Ⅰ-5)内存数据:
字节位二进制十六进制
+-----------+-----+
11-->8|||
+-----------+-----+
29-->16|00101111|$2F|--->德国
|00110111|$37|--->西班牙
|00111011|$3B|--->希腊
+-----------+-----+
317-->24|||
425-->32|||--->出厂编号(写保护)
533-->40|||
641-->48|||
749-->56|||
857-->64|||
+-----------+-----+
965-->72|||--->c4096)
1073-->80|||--->c512)
1181-->88|||--->c64)5个8进制计数区
1289-->96|||--->c8)
1397-->104|||--->c0)
+-----------+-----+
14105-->112|11111111|$FF|
15113-->120|11111111|$FF|--->所有位都为"1"
16120-->128|11111111|$FF|
+-----------+-----+
如需某一国家卡内数据详细数据请与作者联系。
Ⅱ)第二类卡
Ⅱ-1)介绍:
二类卡与一类卡的区别在于,二类卡为256位PROM卡,在计数方式上有区别,一类卡5个计数单元组成5位8进制递减计数单元,有较大的计数范围,而二类卡的计数单元每一位只能计数一次,在写为“1”后该位即无效,另外在引脚设置、操作时序上也不相同。
Ⅱ-2)引脚:
-------------+-------------
|1|5|
|||
+-------\|/-------+
|2+----++6|
||||
+--------||--------+
|3||7|
|+----+----+|
+-------/|\-------+
|4|8|
|||
-------------+-------------
1:
Vcc=5V5:
Gnd
2:
R/W6:
Vpp=21V
3:
Clock7:
I/O
4:
Reset8:
Fuse
1:
电源脚2:
读写控制3:
时钟4:
复位5:
接地6:
熔丝电压7:
输入输出8:
熔丝控制
Ⅱ-3)主要特性:
-同步传输协议
-N-MOS技术
-256X1位
-96位带写保护
-低功率85mW
-21V熔丝电压
-响应时间:
500ns
-10年以上数据保持
Ⅱ-4)时序图:
+21V_____________
+5V____________________________________||_________________Vpp
:
:
+5V___________________:
_____________:
_________________Reset
0V________________|:
:
:
:
:
+5V____:
____:
______:
______
0V___||_______:
_____||________:
______|:
|__________Clock
:
:
:
:
:
:
:
:
:
+5V:
:
:
:
:
:
______:
______:
:
_
0V___:
____:
_______:
_____:
____:
________|:
|______:
__________R/W
:
:
:
:
:
:
:
:
:
+5V:
:
:
_____:
:
________:
:
:
:
__________
0VXXXXXXXXXXXXXXXXX_____XXXXXX________XXXXXXXXXXXXXXXXXXXXXX__________Out
:
:
:
:
:
:
<-----><---->:
:
:
:
:
:
:
:
10to10to:
:
:
:
:
:
:
50ms50ms:
卡复位Bit1Bit2Bit3
读读Bit2写为1读
-5)内存数据:
法国和摩洛哥等:
字节位进制十六进制
+-----------+-----+
11-->8|||
+-----------+-----+
29-->16|00000011|$03|--->法国卡
+-----------+-----+
317-->24|||
+-----------+-----+
425-->32|||
+-----------+-----+
533-->40|||
+-----------+-----+
641-->48|||
+-----------+-----+
749-->56|||
+-----------+-----+
857-->64|||
+-----------+-----+
965-->72|||
+-----------+-----+
1073-->80|||
+-----------+-----+
1181-->88|||
+-----------+-----+
1233-->40|00010011|$13|--->120unitscard
|00000110|$06|--->50unitscard
|00000101|$05|--->40unitscard
+-----------+-----+
13-3197-->248|||--->计数单元区:
每消耗一单位,该位被写
|||为“1”,一般开始10为为工厂作熔丝
|||测试写为“1”
|||
|||
|||
|||
+-----------+-----+
32249-->256|11111111|$FF|--->空卡指示
+-----------+-----+
其它国家:
字节位进制十六进制
+-----------+-----+
11-->8|||
+-----------+-----+
29-->16|10000011|$83|--->电话卡标记
+-----------+-----+-----------+-----+
3-417-->32|10000000|$80|00010010|$12|--->10元卡
|||00100100|$24|--->22元卡
|||00100111|$27|--->25元卡
|||00110010|$32|--->30元卡
|||01010010|$52|--->50元卡
|||01100010|$62|--->60元卡
|||10000010|$82|--->80元卡
|10000001|$81|00000010|$02|--->100元卡
|||00100010|$22|--->120元卡
|||01010010|$52|--->150元卡
+-----------+-----+-----------+-----+
533-->40|||--->$00forsweden.
+-----------+-----+
641-->48|||
+-----------+-----+
749-->56|||
+-----------+-----+
857-->64|||
+-----------+-----+
965-->72|||
+-----------+-----+
1073-->80|||
+-----------+-----+
1181-->88|||--->$11为瑞典
+-----------+-----+
1289-->96|00011110|$1E|--->瑞典
|00110000|$30|--->挪威
|00110011|$33|--->安道尔
|00111100|$3C|--->爱尔兰
|01000111|$47|--->葡萄牙
|01010101|$55|--->捷克
|01011111|$5F|--->加蓬
|01100101|$65|--->芬兰
+-----------+-----+
13-3197-->248|||--->计数单元区:
每消耗一单位,该位被写
|||为“1”,一般开始2为为工厂作熔丝
|||测试写为“1”。
|||
|||
|||
|||
+-----------+-----+
32249-->256|00000000|$00|
+-----------+-----+
Ⅲ)电气参数:
+--------+------+------+------+
|Symbol|Min|Max|Unit|
+----------------------+--------+------+------+------+
|Supplyvoltage|Vcc|-0.3|6|V|电源电压
+----------------------+--------+------+------+------+
|Inputvoltage|Vss|-0.3|6|V|输入电压
+----------------------+--------+------+------+------+
|Storagetemperature|Tstg|-20|+55||储存温度
+----------------------+--------+------+------+------+
|Powerdissipassion|Pd|-|50|mW|功率
+----------------------+--------+------+------+------+
直流参数:
+--------+-----+-----+-----+------+
|Symbol|Min.|Typ.|Max.|Unit|
+---------------------------+--------+-----+-----+-----+------+
|Supllycurrent|Icc|-|-|5|mA|电源电流
+---------------------------+--------+-----+-----+-----+------+
|InputVoltage(low)|Vl|0|-|0.8|V|输入电压(低)
+---------------------------+--------+-----+-----+-----+------+
|Inputvoltage(high)|Vh|3.5|-|Vcc|V|输入电压(高)
+---------------------------+--------+-----+-----+-----+------+
|InputcurrentR|Ih|-|-|100|uA|