如何区别智能卡,IC卡,ID卡和磁卡
智能卡又名IC卡,是可读可写的芯片卡。根据存储容量的不同又分为不同的芯片类型,现在使用多的芯片类型有飞利浦S50, 飞利浦S70,复旦FM1108,AT24C64,AT24C04等常用芯片,随着市场的发展,IC卡的使用量在逐步的替代传统的会员卡,磁卡和条码卡。IC卡只所以会被广泛使用,是因为IC卡与ID卡,磁卡,条码卡相比具有更大的性,IC卡芯片内有密码模块,可以把密码写到里面,经过密码校验后才能读取卡内信息,大大加强了卡的性。
ID卡是只读性芯片卡,芯片里面的信息是提前写入的序列号,此序列号是全世界的序列号,是只读不可修改的序列号,所以在软件中使用ID卡,其实只是试用ID卡里面的号码进行身份识别,关于会员的信息还是存储在本地电脑或服务器上,其使用原理和磁条卡的区别不大,主要区别是使用行为不同,ID卡是感应式读取信息,磁条卡是刷卡读取信息,ID卡是芯片,不容易损坏,磁条卡容易消磁。
对于智能卡,在国外经常采用工业标准微处理器作为核心,调整存储器的种类和容量,而不必重新设计。在国内,目前尚没有现成的微处理器可供借用,也还没有成熟的E2PROM工艺可实现稳定的大批量生产。比较可行的办法是,由国内设计COS,由国外半导体厂家生产芯片,Motorola、日立等公司都提供这种业务。为可靠起见,这些芯片应该有自保护能力。例如,当外加电压不正常时(高低电压检测)芯片应停止工作,时钟频率超出正常范围时也应有相应的措施。
IC卡由于其固有的信息、便于携带、比较完善的标准化等优点,在身份认证、银行、电信、公共交通、车场管理等领域正得到越来越多的应用,例如二代身份证,银行的电子钱包,电信的手机SIM卡,公共交通的公交卡、地铁卡,用于收取停车费的停车卡等,都在人们日常生活中扮演重要角色。
数据结构的确定
编辑头文件ICDATA.H,确定在驱动模块程序中应用的公用数据结构。驱动模块的终目的是读取和写入卡数据处理,所以规范整齐的数据结构是必须的。可以定义一个数据结构体来实现
卡数据的存储区域、数据地址索引、控制标志位等,如右图图示:
这样在驱动模块中,只需要STruct ICDATA iccdata;一条语句便可定义全部的卡处理数据结构定义;而Ic_fops则定义了设备操作映射函数结构。从这个数据结构看,我们实现了IC卡设备的打开、读、写和监控函数。