SmartCard接触式存储卡技术电子与信息工程学院SmartCard提纲接触式IC卡概述基本构成、物理特性、工作原理接触式存储器卡芯片技术典型卡型剖析:AT24C**系列存储结构与芯片构成接触式存储卡的接口电路接触式存储卡的读写控制典型卡型剖析:AT24C**系列时序分析与读写程序SmartCard什么是接触式IC卡?所谓接触式IC卡就是在使用时,通过有形的金属电极触点将卡的集成电路与外部接口电路直接接触连接,提供集成电路工作的电源并进行数据交换的IC卡。其特点是在卡的表面有符合ISO7816标准的多个金属触点。SmartCard接触式IC卡的基本构成接触式IC卡的实际构成可分为:半导体芯片、电极模片、塑料基片SmartCardSmartCard接触式IC卡的工作原理接触式IC卡是如何获取工作电压的?接触式IC卡通过其表面的金属电极触点将卡的集成电路与外部接口电路直接接触连接,由外部接口电路提供卡内集成电路工作的电源。接触式IC卡是如何与读写器交换数据的?接触式IC卡通过其表面的金属电极触点将卡的集成电路与外部接口电路直接接触连接,通过串行方式与读写器交换数据(通信)。SmartCardIC卡的触点尺寸和位置接触式IC卡有8个触点,即8个集成电路引脚,从C1到C8SmartCard触点功能定义触点编号功能触点编号功能C1VCC(电源电压)C5GND(地)C2RST(复位信号)C6VPP(编程电压)C3CLK(时钟)C7I/O(数据输入/输出端)C4ISO/IECJTC1/SC1T保留使用C8ISO/IECJTC1/SC17保留使用SmartCard触点辩识C1C2C3C4C5C6C7C8VccN.C.SCLN.C.GNDN.C.SDAN.C.SmartCard存储器卡(MemoryCard)卡内嵌入的芯片多为通用EEPRO或FlashMemory。无安全逻辑,可对片内信息不受限制地任意存取。卡片制造中也很少采取安全保护措施。不完全符合或支持ISO7816国际协议,而多采用2线串行通信协议(I2C总线协议)或3线串行通信协议(SPI协议)。功能简单,价格低廉、开发使用简便、存储容量增长迅猛,因此多用于某些简单的、内部信息无须保密或不允许加密(如急救卡)的场合。SmartCard存储器的典型产品存储器卡的代表产品:美国ATMEL公司的AT24系列:EEPROM,2线串行即I2C总线协议AT93系列:EEPROM,3线串行协议AT45系列:DataFlash,达64Mbit,SPI协议SmartCardSerialEEPROMAtmelistheleadingsupplierofSerialEEPROMdevicessupporting2-wire,3-wire,andSPIprotocols,memorydensitiesfrom1K-bitthrough1M-bit,voltagesfrom1.8Vto5.5V,andindustrystandardPDIP,SOIC,andTSSOPpackagetypes.AT24系列:2-wireAT25系列:SPIAT93系列:3-wireSmartCardDataFlashDataFlash®istheworld'snumberonesellingserialinterfaceflashfamily.Introducedin1997,Atmel'sDataflashfamilies(45seriesandtherecentlyintroduced26series)arefeaturerich,lowpincount,sequentialaccessfamiliesidealforprogramcode,datastorage,SerialEEPROMreplacement,andthenextgenerationPCBiosMarket.SmartCardThesimpleSPIinterfacegreatlyreducessystempincounts,powerconsumptionandswitchingnoise.SystemdesignisgreatlysimplifiedwithDataFlash,asalldensities1Mbitto128Mbits(45series),and4Mbitto32Mbit(26series)requireonly4pinstoconnecttothesystemprocessor,controllerorDSP.AT45系列:SPIAT26系列:SPISmartCardAT24C**存储器卡剖析芯片特点存储结构触点分配与引脚功能芯片结构接口电路时序分析读写控制SmartCardAT24C**芯片特点低电压/标准电压操作:1.8V~5V2线串行链接通讯协议支持7816-10同步协议8B(01/02)、16B(04/08/16)、32B(32/64)页面写入方式自定时写入周期高可靠性:使用寿命100000次写/删除,数据保留期100年SmartCardAT24C系列存储卡存储结构AT24C系列01A020408163264128256容量1Kbits2Kb4Kb8K16K32K64K128K256K内存组织形式128*8256*8512*81024*8256*82048*88192*816384*832786*8页写入方式8B8B16B16B16B32B32B64B64B通信协议ISO/IEC7816-3同步协议,双线串行接口工作频率1MHz(5V),1MHz(2.7V),400KHz(1.8V)工作电压5V,最低可至1.8VICC电流读:1mA,写:3mA工作温度0-70℃写/擦除次数大于1,000,000次数据保护100年应用领域数据存储SmartCardAT24C**的存储单元地址AT24C01•容量:1Kbits/•存储结构:128B*8即按字节存储、读写•字节(存储单元)地址:0~127即00H~7FHAT24C064•容量:64Kbits/•存储结构:8KB*8即按字节存储、读写•字节地址:0~8091即0000H~1FFFHSmartCard触点分配和引脚功能C1:VccC2:(NC)C3:SCL串行时钟C4:(NC)C5:GNDC6:SDA串行双向数据传输C7:(NC)C8:(NC)C1C2C3C4C5C6C7C8VccN.C.SCLN.C.GNDN.C.SDAN.C.SmartCard芯片结构SmartCard实训1接触式存储卡的读写操作用万用表测试接触式IC卡读写器的电源的正、负极及输出电压并记录在实训报告上。按标志连接接触式IC卡读写器的电源线及串口线,注意电源+5V与地不可接反。指示灯电亮(红色),蜂鸣器鸣响为电源连接正确.打开接触式IC卡读写器读写操作软件DEMO,确认通信正常。将AT24C01卡插入接触式IC卡读写器插卡槽(卡触点向内、向下,指示灯转为绿色表示插卡到位),利用DEMO软件对AT24C01卡进行读/写/擦除操作,记录其容量、存储结构与操作条件。SmartCard实训小结AT24C01的存储容量为1Kbits(128Byte),存储结构为128×8bits(字节地址0~127或00H~7FH)。AT24C01按字节读写,所有字节的读/写/擦除均可任意进行。这种卡被称为存储器卡SmartCard实训报告规范实训目的实训设备与器件实训步骤与实训记录实训总结思考题意见与建议SmartCard任务有若干户外气候监测站的监测数据(时间、温度、湿度、风力等)需要传送到气象局数据库中进行存储与分析,若采用AT24C**系列存储卡作为数据转存卡,任务1:将监测站存储的数据转存/写到卡中任务2:从卡中读出数据上传到气象局数据库中SmartCard任务的硬件实现接触式IC卡接口设备(读写器)应具备的基本功能:(1)实现与卡的数据交换,并提供相应控制信号;(2)通过触点向接触式IC卡提供稳定的电源和时钟;(3)IC卡插入/退出的识别与控制,实现“不带电插/拔卡”;(4)为加密数据系统提供相应加解密处理及密钥管理机制;(5)提供相应外部控制信息,与PC等其他设备进行信息交换。SmartCard接触式IC卡卡座滑触式(Sliding)或摩擦式着落式(Landing)SIM卡座SmartCard常开型与常闭型卡座根据插卡检测状态开关的不同常开型:未插卡时,开关断开插卡到位后,开关闭合常闭型:未插卡时,开关闭合插卡到位后,开关断开SmartCard接口电路卡座:卡与MCU的物理连接;插卡到位检测电源:上电控制时钟提供上拉电阻信号传输上拉电阻VCCSCLSDASW2VccGNDSW1P1.0P1.1P1.2P1.3SMARTADP89C51R11.2kVCCR210k*39012SmartCard插卡上电控制程序插卡上电程序PWRONpwron:clrSCLclrSDA;总线下电,保证端口不带电lcallrecog;插卡识别,Vcc=?clrSCL;SCL=L,准备加载时钟lcalldelay-0.5ms;使端口逻辑信号稳定clrPWR;加电,Vcc=?clrSDA;SDA=L,准备传送数据retSmartCard插卡识别程序常开型卡座插卡识别程序RECOGrecog:jbSW,recog;无卡插入则等待,Vcc=?lcalldelay-5ms;延时去抖jbSW,recog;再次判断,无卡插入则等待ret;确实有卡插入,返回SmartCard插卡识别程序常闭型卡座插卡识别程序RECOGrecog:jbSW,recog;无卡插入则等待,Vcc=?lcalldelay-5ms;延时去抖jbSW,recog;再次判断,无卡插入则等待ret;确实有卡插入,返回SmartCard任务的软件实现AT24C**的读/写操作模式:写操作•写字节(BYTEWRITE)•写页面(PAGEWRITE)读操作•现行地址读(CURRENTADDRESSREAD)•随机寻址读(RADAMADDRESSREAD)•顺序读(SEQUENTIALREAD)SmartCard写字节操作时序分析SmartCardBYTEWRITEAwriteoperationrequiresan8-bitdatawordaddressfollowingthedeviceaddresswordandacknowledgment.Uponreceiptofthisaddress,theEEPROMwillagainrespondwithazeroandthenclockinthefirst8-bitdataword.Followingreceiptofthe8-bitdataword,theEEPROMwilloutputazeroandtheaddressingdevice,suchasamicrocontroller,mustterminatethewritesequencewithastopcondition.AtthistimetheEEPROMentersaninternallytimedwritecycle,tWR,tothenonvolatilememory.AllinputsaredisabledduringthiswritecycleandtheEEPROMwillnotresponduntilthewriteiscompleteSmartCard写字节子程序开始STATR送器件地址DEVICEADDRESS送字节地址WORDADDRESS写卡(送数据)DATA停止STOP等待应答ACK=0?等待应答ACK=0?等待应答ACK=0?返回NNNYYYLCALLSTART;开始JCBACK1;确认总线有效MOVA,#0A0H;送器件地址到A,设置写LCALLSHOUT;输出器件地址到IC卡JCFAULT1;判断是否有应答MOVA,@R0;从卡地址