IC卡技术及其应用杨振野编著中国科学院教材建设专家委员会教材建设立项项目高等院校信息与电子技术类规划教材第一章基础知识1.1IC卡的概念1.2I2C总线1.3CRC码原理1.4IC卡技术有关标准IC卡的概念IC卡的主要特点高可靠性高安全性大存储量方便使用多应用类型IC卡的概念IC卡的发展历程1968年,德国,将集成电路装入身份识别卡1969年12月,日本,提出一种制造安全可靠的信用卡方1974年,法国,系统的IC卡运作方案IC卡的概念1977年6月,CII-HoneywellBull公司,存储型IC卡的雏形1978年,第一张采用SiemensSIKART集成电路芯片的IC卡身份识别及交易卡1980年3月,法国的存储卡研究组织(memorycardgroup)正式成立1980年11月,第一张装有CPU的IC卡诞生IC卡的概念国际组织国际标准化组织,ISO,InternationalOrganizationforStandardization国际电工技术委员会,IEC,InternationalElectro-technicalCommissionIC卡的概念国外主要IC卡企业Siemens、Atmel、Motorola、Bull(法国布尔公司)、Schlumberger(法国斯伦贝谢公司)、ISSI、STMicroelectronics(意法半导体有限公司)、Samsung、Philips、Toshiba、HitachiIC卡的概念国内主要IC卡企业上海复旦微电子、深圳市明华澳汉、北京握奇、北京航天金卡、北京中电智能卡公司、华旭金卡、北京华大、上海贝岭、北京大唐微电子、上海华虹集团、天津环球磁卡、深圳德诚信用卡制造有限公司IC卡的概念IC卡的应用领域电信行业公安行业公共交通建设及公用事业IC卡的概念IC卡的应用领域劳动和社会保障行业税务行业组织机构代码IC卡石油石化行业启动了IC加油卡工程IC卡的概念IC卡的分类根据集成电路类型分类存储卡逻辑加密卡CPU卡信息纽扣(TM卡)IC卡的概念IC卡的分类根据卡与外界数据交换的界面不同分类接触式IC卡非接触式IC卡双界面卡IC卡的概念IC卡的分类根据卡的应用领域不同分类金融卡又可以分为信用卡和现金卡两种非金融卡实际包含金融卡之外的所有领域,诸如电信、旅游、教育和公交等IC卡的概念IC卡应用系统的基本组成IC卡用卡装置IC卡读写器与被控制对象的集成管理系统由普通微机系统和IC卡读写器组成IC卡的概念IC卡应用系统的基本组成IC卡的概念IC卡的卡基材料卡基:IC卡的塑料卡片基体ABS(丙烯腈-丁二烯-苯乙烯)PVC(聚氯乙烯)PET(聚酯)MelinexI2C总线什么是I2C总线?I2C(inter-integratedcircuit)Philips公司于20世纪80年代提出两线式串行总线,用于微处理器与外围器件的连接广泛应用于各种以串行通信方式作为接口的集成电路I2C总线I2C总线的特点接口线数少除地线外只有两条连线硬件占用的空间小可以支持多主控方工作方式任何能够进行发送和接收的器件都可以成为主控方I2C总线I2C总线的构成数据线SDA双向,即每个器件都必须以OC或OD方式连接时钟线SCL对多主控器件的总线,双向对于单一主控器件的总线,单向I2C总线状态总线备用时,SDA和SCL,高电阻高电平状态关闭I2C总线时,SCL钳位于低电平速率标准模式下,100kb/s高速模式下,400kb/sI2C总线I2C总线上的数据位传送SCL高电平时,SDA上必须保持有稳定的逻辑电平状态高电平为数据1,低电平为数据0SCL低电平时,允许SDA的电平状态变化I2C总线I2C总线上的数据位传送I2C总线三种类型信号起始信号SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据停止信号SCL为高电平时,SDA由低电平向高电平跳变,终止传送数据I2C总线三种类型信号应答信号接收数据的器件在接收到8bit数据后,向发送数据的器件发出特定的低电平脉冲,表示已收到数据I2C总线串行总线上的数据通信I2C总线I2C总线的基本操作——器件概念主器件发送控制字节到总线上的器件被称为主器件从器件接收控制字节的器件则被称为从器件任一器件都可以作为主器件或从器件I2C总线I2C总线的基本操作——控制字节在起始信号之后bit7~bit4,器件的类型识别符bit3~bit1,片选bit0,读、写选择位1为读操作,0为写操作I2C总线I2C总线的基本操作——写操作写字节、写页操作时序I2C总线I2C总线的基本操作——读操作随机读读取指定地址的数据当前地址读读取当前地址的数据顺序读读取连续的数据I2C总线I2C总线的基本操作——读操作操作时序I2C总线与MCS-51系列单片机接口P1和P3口中任选两条作为接口线分别用电阻(通常用5.1kΩ电阻)上拉至5V电源或者用P0或P2口按位控方式CRC码原理基础知识CRC(cyclicredundancycheck)码:循环冗余校验码目的:校验数据传送是否正确采用了r位校验,强于奇偶校验CRC码原理基本原理发送端:根据要传送的k位二进制码序列,以一定的规则产生一个用于校验的r位校验码附在原始数据后边,一起发送出去接收端:根据数据码和CRC码之间所遵循的规则进行校验,以确定数据通信过程中是否出错CRC码原理CRC码算法——一些定义一个数码组可以表示成一个多项式01100101B可表示为x6+x5+x2+1P(x):原始数据k-1次多项式G(x):生成多项式,r-1次R(x):CRC多项式T(x):编码后带有CRC码的数据多项式CRC码原理CRC码算法P(x)乘以x:对应的二进制码序列左移r位除以G(x):所得余式为R(x)T(x)=xrP(x)+R(x)接收方解码:将T(x)除以G(x),如果余数为0,则说明传送中无错误发生,否则说明传送有误。CRC码原理例子:待传送的原始数据为1110B:P(x)=x3+x2+x生成多项式为1100B:G(x)=x3+x2,r=3则R(x)=x,过程如下:33265423323232()()1()rxPxxxxxxxxxxxGxxxxxxx33232654233232()()()1rxPxxxxxGxxxxxxxxxxxxxCRC码原理例子T(x)=(x6+x5+x4)+(x2)=x6+x5+x4+x2,即1110000B+100B=1110100B接受端:无余数则传输正确这里的“减法”非一般意义减法,而是逻辑异或运算654233232()1()TxxxxxxxGxxxxxCRC码原理CRC码硬件电路的实现方法除法电路可以采用CPLD来实现CRC码原理比特型算法1)将新到来的bit(INPUT)与bit0(LSB)做异或运算产生待移入bit7(MSB)的临时位。2)将bit1移入bit0,bit2移入bit1。3)将bit3与临时位做异或运算后移入bit2。CRC码原理比特型算法4)将bit4与临时位做异或运算后移入bit3。5)将bit5移入bit4,bit6移入bit5,bit7移入bit6。6)将临时位移入bit7。IC卡技术有关标准IC卡的基本标准接触式IC卡的基本标准GB/T14916—1994、GB/T16649.1—1996、GB/T16649.2—1996、GB/T16649.3—1996、GB/T17552—1998、GB/T17554—1998、ISO/IEC7810:1995、ISO/IEC10373—1:1998、ISO/IEC10373—3:2001、ISO/IEC7816.1—1998IC卡技术有关标准IC卡的基本标准非接触式IC卡的基本标准目前国际上还没有统一的标准,可供选用的几个标准是ISO/IEC10536、ISO/IEC14443、ISO/IEC15693和ISO/IEC18000IC卡技术有关标准有关IC卡应用的标准和规范社会保障卡建设总体规划中国金融集成电路(IC)卡规范V2.0JR/T0008—2000银行卡发卡行标识代码及卡号中国石化加油IC卡应用规范V1.0ISO8583—1,2,3IC卡技术有关标准有关IC卡机具的标准GB/T18239—2000、GB9254—1998、GB/T17618—1998、GB4943—2001涉及IC卡机具的功能、电源适应能力、电气安全性、环境适应性、可靠性和电磁兼容性等20多项IC卡技术有关标准IC卡的测试标准GB/T17554—1998,识别卡测试方法,描述了GB/T14916、GB/T15120、GB/T17552和GB/T16649所规定的识别卡的测试方法