基于89C51单片机的IC卡读写控制系统设计

上传人:仙*** 文档编号:30592635 上传时间:2021-10-11 格式:DOC 页数:40 大小:1.12MB
收藏 版权申诉 举报 下载
基于89C51单片机的IC卡读写控制系统设计_第1页
第1页 / 共40页
基于89C51单片机的IC卡读写控制系统设计_第2页
第2页 / 共40页
基于89C51单片机的IC卡读写控制系统设计_第3页
第3页 / 共40页
资源描述:

《基于89C51单片机的IC卡读写控制系统设计》由会员分享,可在线阅读,更多相关《基于89C51单片机的IC卡读写控制系统设计(40页珍藏版)》请在装配图网上搜索。

1、学号:1403054623毕业设计(论文)题 目:基于89C51的IC卡读写控制系统设计作 者届 别2007系 别物理与电子信息系专 业电子信息工程指导老师职 称副教授完成时间2007.012007.05毕业设计(论文)摘 要在IC卡管理应用系统中,作为IC卡数据读写的终端IC卡读写器是必不可少的。IC卡读写器除了完成基本的IC卡数据读写功能外,还要完成数据收集传送、控制命令输入和显示输出、提供上位机控制管理接口和数据加密处理等等功能。本文主要介绍了一种IC卡读写终端的设计,IC卡读写终端是一个单片机嵌入式应用系统。论文介绍了实现IC卡数据存储的控制方法,并以西门子公司的SLE4442型逻辑加

2、密卡为基础,详细介绍了单片机控制IC卡数据读写的软、硬件实现方法。关键词:单片机;IC卡;控制系统ABSTRACT Being interface device of IC cards, the IC card read-write terminal is necessary in all IC card information management systems. Besides fulfilling the base function of IC card data reading and writing, IC card read-write terminals also need o

3、ther functions such as collecting data transferring, user command inputting and display message outputting, control interface providing, data encrypting and so on. To design a read-write terminal with needed functions and excellent performance is a key to composing an efficient IC card management ap

4、plication system. This paper introduces the designing of a type IC card read-write terminal mainly. The terminal is a MCU embedded application system.The paper has introduced the reading and writing technique of IC card data.The paper has specified the software and hardware realization of IC card da

5、ta reading and writing on the base of SLE4442 which is a kind of Smart Card with Security Logic made by SIEMENS.Keyword: Micro controller unit ;IC card; Control system目 录摘 要IABSTRACTII目 录III图表目录IV第一章 绪 论11.1 引言11.2 IC卡的发展和使用情况11.3 IC卡应用技术2第二章 SLE4442卡接口电路和读写控制52.1 接触式IC卡的接口电路和一般控制52.1.1 IC卡供电电路52.1.

6、2 IC卡卡座接口电路52.2 SLE4442芯片62.2.1 芯片的特点62.2.2 芯片的引脚配置62.2.3 芯片的功能7第三章 系统的软硬件实现103.1 读写终端整体结构设计103.2 控制芯片AT89C51113.2.1 主要功能部件123.2.2 AT89C51接口分配及系统电路设计123.3 AT89C51与IC卡接口电路133.4 键盘及其接口技术143.5 显示器接口设计技术173.5.1 LED显示器基本原理173.5.2 LED显示电路的软件和硬件设计183.6 IC卡读写程序设计203.6.1 IC卡的命令格式203.6.2 IC卡读写程序20第四章 IC卡系统安全问

7、题234.1 对IC卡及其系统的潜在攻击234.2 IC卡管理系统的安全性考虑24第五章 总结与展望26参考文献27致 谢28附 录29图表目录图2.1 IC卡接口设备的供电回路5图2.2 IC卡的卡座接口电路6图2.3 SLE4442芯片引脚图7表2.1 芯片引脚功能7图3.1 读写器方框原理图10图3.2 89C51内部结构12图3.3 AT89C51最小系统13图3.4 IC卡与单片机接口电路原理图14图3.5 4*4矩阵键盘示意图15图3.6 键盘扫描流程图17图3.7 显示电路示意图19表3.1 IC卡命令格式及功能20图3.8 复位和应答模式图21图3.9 命令模式时序图21图3.

8、10 输出数据模式时序图21图3.11 图数据处理模式时序图22IV第一章 绪 论1.1 引言 IC卡是利用安装在卡中的集成电路(IC)来记录和传递信息,是一种将个人信息有效地送入信息网络并获得所需结果的有效办法。IC卡与磁卡相比,具有存储容量大,可靠性和安全性高等特点,在应用上除了覆盖磁卡的全部应用范围以外,还提供了许多磁卡所不具备的应用特性。正是这些特性,使IC卡在脱机业务处理和联网数据一致性等方面表现出前所未有的优势。因此IC卡将逐渐代替磁卡广泛应用于金融和商贸等信息管理领域,其本身有着广阔的发展前景。1.2 IC卡的发展和使用情况卡片是作为个人身份识别的手段而引进的,而作为交易凭证的一

9、片则早在19世纪80年代就萌芽于英国了,1950年,美国商人设计了第一张现代的塑料信用卡,1951年美国富兰克林银行作为金融机构率先发行了信用卡,到60年代中期,人们在塑料金融交易卡的背面贴上磁条,发展成为能够自动读取信息进行在线处理的磁卡,磁卡因为结构简单,价格低廉,得到迅速推厂,IC卡是近年从欧洲开始出现的,IC卡具有突出的3S特点,即Standard(国际标准化)、Smart(灵巧智能化)、和Security(安全性)。因而发展迅速,在金融、通讯、交通等众多领域中后来居上,即使那些磁卡己经普及应用的范围也将被取而代之。IC卡不仅改变了现有多种卡的使用方法和功能作用,还不断开创出新的应用领

10、域。将IC卡和其他设备组成系统就能提供非常丰富的服务功能,把这些功能与生产或流通领域有机地结合起来,将出现令人意想不到的奇迹,创造出巨大的经济和社会效益。随着信息技术的发展,IC卡作为一种先进的信息存储介质,它的应用已经渗透到各国的经济、社会生活、军事等各个方而,将来更有着广阔的发展空间。IC卡的应用在国外发展很快。法国作为IC卡的诞生地,也是IC卡应用的先驱。据Innovation国际发明组织的统计,1988.10至1989.9全世界IC卡硬件产品中,IC卡及读写器产量分别为4200万张和87700台,其中法国分别占98%和71%,处于领先地位。现在,法国在IC卡应用的广泛程度和普及性方而也

11、都处于先进行列。美国是信用卡的发源地,拥有两家最大的发卡组织Master和VISA, 1993年仅Master卡和VISA卡的发卡量即达6.6亿张,消费额达8250亿美元。当前,金融中已开始用IC卡取代磁卡。在美国,IC卡还成功应用在校园,交通部门,身份验证,作战指挥等领域。德国的德意志银行从93年5月起,为它的160万客户提供了智能卡,持卡者不仅可以在德意志银行国内1400个ATM机中提款,还可在17000个其他银行的ATM机中提款,并且还适用于全欧4万个ATM机。德国从94年年底开始,还把使用了近100年的医疗证退役,由智能IC卡取代。在港台方面,台湾发展IC卡不仅在于台湾本身的应用,还在

12、于要发展成为世界上最重要的IC卡生产基地。金融IC卡将把公共汽车卡、加油卡、停车卡、家庭/企业银行卡、自动售货卡五者结合成为五合一卡。香港是世界上三大金融中心之一,信用卡的发卡量超过500万张,平均每人0.4张以上。香港有两大ATM自动提款及网络,汇丰系统有1300台ATM机,银通系统有1000余台ATM机。另外还有大大小小80个网络支持着300万台阅读器组成的信用卡/储蓄卡网络。可以看到我国的一些领域,如电信、交通、医疗等等部门,使用IC卡也己经很普遍,很多单位也已经使用IC卡来进行人员和财务管理。在金融上我国还基本上是使用磁卡,但是由于IC卡的诸多优点,在不久将来用IC卡取代磁卡己经是必然

13、趋势。1993年7月我国电子工业部协同银行、邮电及有关部门提出了命名为“金卡”的专项工程,总目标是:用10年左右的时间,在个国400个大中城市及部分经济发达县区推广使用卡基支付工具,在这些覆盖了3亿城市人口的地区,发卡总量要达到2亿张,年交易额达到一万亿元。预计在未来的十年中,按金卡工程的总目标为2亿张卡估算,如果到2005年,在3亿城市人日中推广信用卡,若人均一张就是3亿张卡,IC卡所需芯片达3亿张。若ATM的应用达到台湾当前水平,全国就需要4.5万台ECR和POS,在全国大、中型市场的配备率如要达20%,则至少需要200万台,而这些设备的寿命仅3-5年,十年之需至少在500万台以上,专家们

14、预测在未来十年间,金卡工程对电子产品、软件产业的需求,将提供1000亿元以上的市场,这对我国电子信息产业既是机遇也是挑战,更是巨大的推动力。1.3 IC卡应用技术 IC卡比磁卡存储容量大,可靠性和安全性高,在应用上除了覆盖磁卡的全部应用范围以外,还提供了许多磁卡所不具备的应用特性。正是这些特性,使IC卡在脱机业务处理和联网数据一致性等方面表现出前所未有的优势。IC卡虽然有很强的功能,但仅当IC卡加入到应用系统中,构成发行商、应用系统和持卡人之间的数据传输媒介时,才能有效地发挥其优势。一个好的IC卡应用系统,应具备良好的应用特性和性能价格比,还要有好的安全特性。IC卡最初是为了解决金融交易中的安

15、全性问题而设计的,它带来全新的交易概念与巨大的优势。很快,这一优势也为其他应用部门所看中,使之广泛应用于电话、医疗保健、路禁控制和门锁控制等等系统中。随着时间的推移,应用范围还在不断扩大,使用IC卡的数量呈几何级数增长。同时,为了不同应用场合的需求,IC卡制造商们人在不断地向市场推出新的IC卡,IC卡的价格将随着使用量的增加而逐年下降,所有这些,无疑又会大大推进IC卡在各个领域的普及。IC卡在应用中的技术优势在于良好的机器读写能力、共同认可的安全防范技术和相对较大的数据存储能力: 1.良好的机器读写性能便于人机卡之间的会话 IC卡是一种电路卡,它在机器读写性能上远优于磁卡和光卡,无需往复的机械

16、动作即可完成人机卡之间的多次会话过程,使卡在应用时更容易进行操作与相互验证,给卡的应用开发者和使用者都带来了极大的便利。 2.良好的安全防范技术是卡能够脱离网络使用 IC卡采用了为国际上各种开发者与使用者所共同认可的半导体密码存放于软件加密技术,它可以有效地阻止卡的非法复制与数据的篡改。应用设备可以在脱离网络的情况下,不需要人工干预,即可对IC卡进行鉴别,以确定该卡是否是本系统所许可的,是否可在该应用场合中使用等。通过持卡人输入PIN,与卡内一组密码比较,可以确认持卡人的身份。这些特点使IC卡能成为传导媒体,再加上认证和数据加密等功能,使卡能够脱离网络使用。 3.大容量的数据存储能力使IC卡成

17、为数据媒体 在一个应用系统使用中,系统必须对所有持卡人建立一份身份与使用的档案。在磁卡系统中,这组档案存放在中心数据库系统内,持卡人每次使用都需通过终端,以网络形式从数据库系统中提出那份与自己相关的档案。现在IC卡的存储能力增加了,这份相关信息可以存放在IC卡中,终端设备交易的实时性明显改善,使用的灵活性也大大增加。IC卡三大特点的结合,构成了IC卡应用的强大优势,它一方面降低了对网络的依赖程度,提高了相应速度;另一方面对发行商、应用商和持卡者三方面的利益提供了有效的保护手段,解决了以前所难于解决的关键问题,为IC卡的广泛应用铺平了道路。IC卡应用范围相当广泛,这里仅根据现有的应用提供部分应用

18、领域: 1.应用于金融领域,可以作为信用卡、现金卡、证券卡或电子资金转账卡等。 2.可以作为身份证明卡使用,如身份证、驾驶执照、会员卡等。 3.在医疗、保健等领域,IC卡可以用于健康卡、少儿疫苗卡、就诊卡等。 4.在商业及服务领域,可以用IC卡作为优惠卡、结算卡、服务卡等。 5.在交通领域,可以用IC卡取代公交或地铁月票,可以改变原有对月票的当月有效限制为有效次数限制。还可用于公路付费和停车付费等场合。 6.IC卡电话卡,这是至目前为止IC卡用量最大的一种应用。用IC卡公用电话替代磁卡电话与投币电话即可杜绝欺诈行为,又可省去携带零钱所带来的麻烦。此外,IC卡在数字移动通讯网中,以身份卡及保密卡

19、方式投入使用,避免了因冒用用户电话号码给用户带来的损失,是通讯行业中一个成功的应用。 7.IC卡在门禁系统、设备使用等情形中,以钥匙卡的形式出现,使“锁”有了新的一个层次定义。 8.IC卡还可集各种服务功能于一身,如企业的员工卡、校园“一卡通”等即属此类,持卡人可以用卡进行考勤、开门、就餐、借阅图书等。第二章 SLE4442卡接口电路和读写控制2.1 接触式IC卡的接口电路和一般控制IC卡的接口电路是连接IC卡与读写机具的通路,由它实现对IC卡的供电,并满足不带电插拔的要求。2.1.1 IC卡供电电路IC卡接口设备中的IC卡供电电路应是一个相对独立于其他回路,并提供完善的过流保护措施的稳压电路

20、,这是由于IC卡接口设备是一个独立于IC卡的设备,当有卡插入时,接口设备便开始向IC卡提供其所需的电力。如果插入的是一张电源与地击穿的坏卡,或是一个金属片之类的物质,就会造成供电回路的短路现象,若IC卡接口设备中无过流保护回路,就会干扰整个设备的正常工作。图2.1所示是供电电路示意。图2.1 IC卡接口设备的供电回路2.1.2 IC卡卡座接口电路IC卡的逻辑接口电路一般采用集电极开路(OC)输出及非箱位保护式输入结构,如图2.2所示。上拉电阻R源端与IC卡的供电电源相连接。当IC卡处于供电状态时,整个接日电路接通,接口设备与IC卡间构成逻辑通路:而当IC卡处于下电状态时,上拉电阻R的源端失去了

21、供电,整个与卡接口的电路均处于不带电状态。所有的IC卡接口部分都加入了箱位保护二极管,这些箱位二极管可以使各引脚上的电压严格地限定在-VD-VCC-VD之间(VD是挤位二极管的正向压降,通常为0.6V左右)。这样,可以抑制由于线路干扰和逻辑电平变化的边沿产生抖动所带来的瞬问过压,为IC卡提供了进一步的保护措施。图2.2 IC卡的卡座接口电路2.2 SLE4442芯片SLE4442是由德国西门子公司设计的逻辑加密存储卡,它具有2K位的存储容量和完全独立的可编程加密代码存储器。内部电压提升电路保证了芯片能够以单5V电压供电,较大的存储器容量能够满足应用领域的各种要求,是目前国内应用较多的一种IC卡

22、芯片。2.2.1 芯片的特点1.采用多存储器结构。2.2线连接协议,串行接口满足ISO7816同步传送协议。3.芯片采用NMOS工艺技术,每字节的擦除/写入编程时间为2.5MS。4.存储器采用至少10000次的擦除/写入周期,数据保持时间至少为10年。2.2.2 芯片的引脚配置芯片的引脚与国际标准兼容,表2.1是引脚的定义和功能说明:表2.1 芯片引脚功能图2.3 SLE4442芯片引脚图2.2.3 芯片的功能 SLE4442IC卡芯片主要包括三个存储器:2568位EEPROM型主存储器、321位PROM型保护存储器和48位EEPROM型加密存储器。(1)主存储器:主存储器为可重复擦除使用的E

23、EPROM型存储器。按字节寻址,擦除/写入。在擦除时,一个数据字节的所有8位被全部置“1”。在写入时,在EEPROM单元中的信息则根据输入的数据,按字位方式变换成逻辑“0”,(即在EEPROM中,新写入的数据与原来存在的数据进行“逻辑与”)。通常,要改变数据需要先进行擦除,再进行写入两项操作。如果在被寻址的字节中8位没有一个字位需要从0变为1,则可以不进行擦除处理。反之亦然,在被寻址的字节中,如果没有一个字节需要从1变为0,则可以不做写入处理,写入或擦除操作一次至少耗费2.5ms时间。主存储器的地址是从00H到FFH。但主存储器可分为两个数据区:保护数据区和应用数据区。保护数据区是主存储器前3

24、2个字节数据区。其地址是从0(00H)到31(1FH)。这部分的数据读出不受限制,但擦除和写入操作均受到保护存储器内部数据状态的限制。当保护存储器中第N位为0时,则对应主存储器中第N个字节就不允许进行擦除和写入操作。故保护数据区一般均作为IC一片的标识数据区,存放一些固定不变的标识参数。应用数据区为主存储器后224个字节。其地址从32(20H)到255(FFH)。这部分的数据读出不受限制,但擦除和写入受控于加密存储器数据校验比较结果的影响。当需要修改应用数据区的内容时,必须首先输入一个3字节长的“校验字”。这个新输入的“校验字”与原来存在在加密存储器中的“参照字”进行一对一的比较。只有当两者完

25、全一致时,芯片的加密控制逻辑才打开芯片的主存储器,允许后而的擦除和写入操作。芯片允许在有限的次数内重试比较操作。如果在连续三次比较失败之后,芯片的错误计数器计数到“0,并将锁死主存储器,禁止随后的任何比较操作和写入擦除操作。这时整个主存储器变成一个只读存储器。芯片中各存储器的内容不能再改变。(2)保护存储器:保护存储器是一个321位的一次性可编程只读存储器(PROM)。它是按字位方式寻址和写入。保护存储器从0-32的每一位对应着住存储器地址从0到31的每个字节。因此可以理解为每个字节单元的控制熔丝。从出厂到被初始化之前,保护存储器的状态为全“1。从控制方面来说,保护存储器的内容只能从“1”写成

26、“0而不能从“0”擦除成“1。保护存储器每个被写“0”的单元所对应控制的主存储器的字节单元将不再接收任何擦除和写入命令,从而使得改字节单元的数据不可再改变。从使用方面来讲,如果需要防止一些固定的标识参数被改动,不至于引起混乱,可以将这类参数先写入主存储器的保护存储区,然后将对应单元的保护存储器的字位写位“0,从而使这一部分单元中的参数内容永远不可更改。保护存储器本身的读出操作不受限制。但对其写入操作仍然受到加密存储器比较校验操作结果的控制。当输入的“校验字”与芯片内的“参照字”一致,则可以执行后续的写入操作。如果比较不成功,则控制逻辑将闭锁保护存储器。(3)加密存储器:加密存储器是一个48位的

27、EEPROM型存储器。在这个存储器中,第0字节为密码输入错误计数器。密码输入错误计数器的有效位是低3位。在芯片初始化时,计数器设置成“111。这一字节是可读的。每次比较密码时,先判断计数器中是否还有“1。如果还有“1。则将其中一个“1”写成“0,然后进行比较“校验字”操作。如果比较结果一致,密码错误计数器将允许进行擦除操作(芯片不能自动进行擦除操作),同时打开主存储器、保护存储器和加密存储器,并允许进行擦除和写入操作。如果比较结果不一致,则密码错误计数器中为“1”的个数将减少一位。只要计数器的内容不全为0,则芯片的比较“校验字”操作还允许进行。当密码计数器减数为零,则芯片的存储单元将全部锁死。

28、加密存储器的第1,2,3字节为“参照字”存储区。这3个字节的内容作为一个整体被称为可编程加密代码(PSC)。值得注意的是:这3个字节的内容在PSCEr较成功前是不可读的,只能进行比较操作。而“写入、擦除”操作也受自身“比较”操作结果的控制。只有当“比较”成功,加密存储器各字节内容才可以进行读出、写入和擦除。第三章 系统的软硬件实现 一个完整的IC卡读写终端除了完成基本的IC卡数据读写功能,还要提供其他功能。独立型读写器要求可以脱离上位机独立工作,所以读写器要提供键盘和显示功能作为用户界面。人机界面是用户是对设备进行操作和控制的接口,用户根据显示的提示,使用键盘输入命令,从显示得到设备输出的结果

29、。3.1 读写终端整体结构设计 读写器相对于IC卡来说就是一种外部接口设备。对一个具有一般功能的读写器来说,它必须有显示模块,输人模块以及其它辅助模块。本文所介绍的IC卡读写器是通过使用智能芯片AT89C51及其外部接口来实现的。它包括键盘输人模块,数码管显示模块,IC卡接口模块等。其构成框图如图3.1所示。图3.1 读写器方框原理图 在本系统中,键盘输人模块电路简单,占用中央处理器端口少。IC卡接口电路主要由IC卡片座构成,本系统的IC卡卡座是采用带滑动触点的卡座.它有一对常开触点,用来检测IC卡是否插人卡座。这种拔插式卡座的优点是电路接触良好,通信可靠,但是不适于刷卡频繁的场合。显示模块是

30、通过数码管LED来显示。AT89C51是一种低功耗,高性能的8位CMOS微控制器,它是整个读写器的核心,它内含有4k字节的闪电存储器(FLASH MEMERY)。128字节RAM,32条I/O线。两个16位定时/计数器,五源两级中断结构,全双工串行口。片内振荡器及时钟电路等等。这种器件是以ATMEL高密度不挥发存储技术制造,与工业标准MCS-51指令系统和引脚完全兼容片内闪电存储的程序代码或数据可在线写人,亦可通过常规的编程器编程。本读写器系统的软件系统是采用的MCS-51的指令系统来进行编程的。软件的工作原理是:读写器上电复位之后,等待用户刷卡,一旦读写器检测到IC卡后,读写器开始读卡,读出

31、卡号。此时,用户可以通过键盘输人密码,然后,读写器系统开始校验密码,如果密码正确,则各种交易可以进行了。如果不正确,本系统将允许用户有三次输入密码的机会,否则IC卡将永久损坏。如果能进行各种交易,待交易完成之后将数据送往中央主机(读写器管理中心)。这样一次交易完成,系统回到最初的等待状态。3.2 控制芯片AT89C51AT89C51单片机在存储器结构上,严格地将程序存储器(ROM)和数据存储器(RAM)在空间上分开,并使用不同的寻址方式和地址指针。ROM用来存放调试好的程序指令、常数及数据表格,RAM则用来存放少量的随机数据。采用这种存储器结构主要考虑到单片机的控制特点,即需要较大的程序存储空

32、间和较小的随机数存储空间。由于集成度的限制,在单片机内的存储器容量不会很大,但允许用户在片外扩展存储器。因此,CPU可以进行操作的存储器可分为内部程序存储器、外部程序存储器及内部数据存储器、外部数据存储器。单片机芯片上集成了很多的元器件,需要的引脚就很多,但由于工艺和成品率等原因,芯片上的引脚又不能太多。为了解决实际允许的引脚数和需要的引脚数之间的矛盾,单片机的引出线一般都设计为多功能型。每条引线在某一时刻起什么作用,由指令和机器状态决定。因此,单片机对外并不存在专用的数据总线和地址总线,而是采用分时复用技术来解决片外数据和地址的传送问题。在单片机中,有21个颇具特色的特殊功能寄存器SFR。要

33、理解单片机的工作原理,必须对这些特殊功能寄存器的工作过程有清楚的了解。正是由于有了SFR,才使一个只有40个脚封装的单片机系统的功能获得很大的扩充,并使I/O口在程序的控制下具有第二功能。利用SFR还可以完成对定时/计数器、串行口和中断的控制。单片机的另一个特点是在其内部有一个全双工的串行接口,在程序的控制下,串行口能工作于四种方式。用户可根据需要将它设定为移位寄存器方式,以扩充I/O接口和外接同步输入、输出设备;或用作异步通信接口,以实现双机或多机通信。因此,单片机能很方便地组成分布式控制系统。最后,在单片机内部有一个能进行独立操作的位处理器,它有自己的累加器以及可寻址的RAM、特殊功能寄存

34、器和I/O口,并设有专门的按位操作的指令。利用这些功能,可以方便地进行组合逻辑设计和用软件模拟组合逻辑的功能,这一点在工业控制中十分有用。AT89C51内部结构方框图如图3.2所示,它包括CPU、存储器(ROM、RAM)、I/O接口、定时/计数器、中断控制器等。这些部件集成在一块芯片内,片内各功能部件通过内部总线相互连。图3.2 89C51内部结构3.2.1 主要功能部件89C51的主要功能部件包括:1.8位CPU。2.片内振荡器:振荡频率0Hz24MHz。3.4KB片内FlashROM,片内外程序存储器寻址范围64KB。4.128B片内RAM,片外数据存储器寻址范围64KB。5.21个专用存

35、储器。6.4个8位并行I/O接口:P0,P1,P2,P3。7.1个全双工串行接口。8.2个16位定时/计数器C/T0、C/T1。9.5个中断源,可编为二个优先级。10.111条指令,含乘、除法各1条。11.单总线结构。12.单一+5V电源。3.2.2 AT89C51接口分配及系统电路设计AT89C51单片机是该系统的核心器件,其控制着所有的外围电路,并及时响应外部请求。整个系统电路设计如下:(1)按键S17,电容C8,电阻R13构成单片机的人工复位装置;两个30pF的电容,12M的晶振构成单片机的振荡电路。(2)矩阵式键盘由P1口来控制,P1.0,P1.1,P1.2,P1.3接行线,P1.4、

36、P1.5、P1.6、P1.7接列线。单片机对键盘进行行列扫描读取键值。(3)数码管显示电路由P2口控制,单片机对数码管进行动态扫描。P2.0与P2.1口通过一串入并出的74LS164与所有LED的a,b,c,d,e,f,g,sp引线相连,P2口接LED的控制端,单片机通过P3口控制各LED是否点亮。(4)P0口设计为与IC卡卡座的接口,AT89C51单片机通过IC卡座完成单片机与IC卡的连接。图3.3 AT89C51最小系统3.3 AT89C51与IC卡接口电路AT89C51单片机通过IC卡座完成单片机与IC卡的连接,其硬件电路图3.4所示。这里简单介绍一下IC卡引脚信号连接:VDD、GND电

37、源,工作电压+5V;图3.4 IC卡与单片机接口电路原理图RSTIC卡复位信号;CLKIC卡传输数据所需的时钟信号;I/O双向数据线,所有数据均通过该引脚进行传送(漏极开路)。3.4 键盘及其接口技术键盘实质上是一组按键开关的集合,控制CPU通过按键来识别特定的用户命令,从而转入相应的程序来执行用户命令。键盘的软硬件设计涉及下面几个方面的问题:(1)按键的确认键的闭合与否反应在电压上就是呈现出高电平或低电平,如果高电平表示断开,那么低电平则表示闭合,通过电平的高低状态的检测便可确认键按下与否。 为了确保CPU对一次按键动作只确认一次,并且防止干扰信号的影响,必须加入消除电平抖动的措施。消除抖动

38、通常有硬件、软件两种消除方法。硬件消除抖动可采取双稳态电路或滤波消抖电路;软件消抖是在第一次检测到有键按下时,执行一段延时程序(一般几十毫秒)再确认该键是否仍闭合,如果还是闭合状态则确认该键按下,从而消除抖动和干扰影响。当按键较多时,我们多采用软件消抖法。 (2)按键接口设计和按键识别方法 按键接口设计有两种方法,独立式按键和矩阵式键盘。独立式按键是各键互相独立,每个按键各接一根输入线,只要检测输入线的电平就可以识别按键的状态。这种方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口线,I/O资源浪费大。故此方法只适用于按键少,或其他控制功能很简单的场合。矩阵式键盘适用于按键数量较多的场

39、合,它把键盘输入线分为行线和列线,按键位于行、列的交叉点上。按键的识别需要软件分别扫描行线和列线,根据扫描结果判断具体按下的按键。(3)键盘的工作方式 键盘扫描只是CPU的工作内容之一,CPU在忙于各项工作时,如何处理键盘的输入取决于键盘的工作方式,键盘工作方式的选择应根据应用系统中CPU工作的忙、闲情况而定。通常键盘工作方式有三种:编程扫描、定时扫描和中断扫描。在编程扫描中,CPU反复地扫描键盘,等待用户的输入命令,而执行键入命令或处理输入数据时,CPU不再响应输入要求,直到CPU返回重新扫描键盘为止。定时扫描工作方式利用单片机内部定时器产生定时中断,CPU响应定时器中断后对键盘进行扫描,在

40、有键按下时识别出该键并执行相应功能程序。使用中断方式时,在没有键按下时,不占用CPU处理时间,只有当有键按下时产生键盘中断,由中断程序识别键并执行功能程序,这种方式使用最多。人机交互由单片机应用系统中配置的外部设备构成,它是应用系统与操作人员间交互的窗口,是系统与外界联系的纽带和界面。通常,键盘有编码和非编码两种。编码键盘使用方便,所需程序简单,但硬件电路复杂。非编码键盘硬件电路极为简单。当键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。本设计中采用非编码键盘,设计成矩阵形式,键盘原理图如图3.5所示。该键盘有4行4列,共有16个按键,分为两类:一是数字键09共十个;二

41、是功能键两个:确认键,清除键,结束键,此外还有一个单位键W,一个小数点键。其他几个空白键,留待后续开发使用。图3.5 4*4矩阵键盘示意图单片机的P1口用作键盘I/O口,键盘的列线接到P1口的高4位,行线接到低4位,同时通过上拉电阻接到+5V。无按键动作时,行线处于高电平状态,而当有键按下时,行线电平状态将由与此行线相连的列线电平决定。这是识别矩阵键盘按键是否按下的关键所在。由于矩阵键盘中行、列线为多键共用,因此只有配和行列线才能确定闭合键的位置。键盘对单片机输入数据,用89C51的并行口P1接44矩阵键盘,以P1.0P1.3作行输入线,以P1.4P1.7作输出线。44矩阵键盘识别处理每个按键

42、有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。每个按键的状态同样需变成数字量“0”和“1”。键盘扫描程序一般应包括以下内容:(1)判别有无键按下。(2)键盘扫描取得闭合键的行、列值。(3)用计算法或查表法得到键值。(4)判断闭合键是否释放,如没释放则继续等待。(5)将闭合键键号保存,同时转去执行该闭合键的功能。具体做法是:1.检测当前是否有键被按下。检测的方法是P1.4-P1.7输出全“0”,读取P1.0-P1.3的状态,若P1.0-P1.3为全“1”,则无键闭合,否则有键闭合。2.去除键抖动。当检测到有键按下后,延时一段时间再做下一

43、步的检测判断。 3.若有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进行扫描。P1.4-P1.7按下述4种组合依次输出:P1.7 1 1 1 0P1.6 1 1 0 1P1.5 1 0 1 1P1.4 0 1 1 1在每组行输出时读取P1.0-P1.3,若全为“1”,则表示为“0”这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后采用查表法将闭合键的行值和列值转换成所定义的键值。从以上分析得到键盘扫描程序的流程图如图3.6所示,程序见附录。图3.6 键盘扫描流程图3.5 显示器接口设计技术应用系统中常用的显示器有:发光二极管显示器,简称LED,液晶显示器,简称LCD,荧光

44、显示器。前面两种显示器使用最多,下面就LED显示器的基本原理和使用方法做简要说明。3.5.1 LED显示器基本原理LED显示块由发光二极管显示字段组成,有7段和“米”字段之分,显示块有共阳极和共阴极两种。把每个显示字段对应于一个二进制位,这些二进制位组成字型编码,这样不同的显示字符就对应于不同的字型码,显示字符时,在显示I/O驱动线输出相应的字型码,就可以显示不同的字符。N位LED显示器需要N片LED显示块拼接。LED显示方式分静态显示和动态显示。静态显示时显示器中的各位相互独立,而且各位显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。这种显示方式接口编程容易,管理简单,

45、但占用口线资源较多。在显示位较多时,一般都采用动态显示方式。LED动态显示时,为了简化硬件电路,通常将所有的段选线并联在一起,由一个(C7段LED)或两个(“米”字段LED)8位I/O控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的I/O口线控制,实现各位的分时选通。若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的字形码,这样同一时刻只有一位显示出字符。在下一时刻,只让下一位的位选线处于选通状态,同时,在段选线上输出相应位将要显示字符的字符码。由于

46、人眼的视觉暂留,只要每位显示间隔足够短,如此循环就可以使各位显示出将要显示的字符,达到显示目的。上面所叙是LED显示的基本原理,根据这些基本原理,选择不同的软硬件方法都可以实现LED显示。3.5.2 LED显示电路的软件和硬件设计在静态显示电路中,因为每次输出后保持显示不变,仅在待显示数字需要改变时,才更新显示内容,所以占用机时少,显示稳定可靠。但是当显示的位数较多时占用的I/O口较多。在动态显示电路中,CPU定时对各个显示器进行扫描,每次只能使一个器件显示,这样可大大节省I/O口,且大大减少了功耗。由于静态显示所需的I/0口太多,开销太大,所以当需要显示的位数很多时,一般采用动态显示方法。动

47、态显示就是指各LED轮流地一遍一遍显示各自的字符,虽然在同一时间只有一位显示器在工作(点亮),但因人眼的视觉暂留效应和发光二极管熄灭时的余辉效应,看到的是各LED在同时显示不同字形。显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高、较稳定的显示。若显示器的位数不大于8位,则控制显示器公共电位只需一个I/0口(称为扫描口或字位口),控制各位LED显示器所显示的字形也需要一个8位口(称为数据口或字形口)。本系统选用共阴极数码管,采用动态显示即可满足要求。同时,为加强单片机对它的驱动能力,还需为每个数码管接一个三极管。数码管原理图如图3.7所示

48、:图3.7 显示电路示意图数码管显示子程序:显示按键内容:根据前面设计的硬件模块,单片机对数码管进行动态扫描。void display(uchar idata*p)uchar sel,i;sel=0x04; /选最右边的LEDfor(i=0;i4;i+)P20=table*p;/送段码P2=sel;/送位选码dlms(1);p-;/缓冲区下移sel=sel1;/左移1位3.6 IC卡读写程序设计3.6.1 IC卡的命令格式IC卡上I/O的所有数据的改变都是由CLK脉冲的下降沿触发的。数据与协议有4种模式,即复位和复位应答模式,命令模式,输出数据模式和处理模式,对IC卡操作的每个命令由控制、地址

49、和数据信号3个字节组成,每个字节都是先从低位开始传送,其命令见表3.1。需要注意的是,在使用比较校验数据命令时,必须严格执行,任何变动都会导致失败,以至于不能进行擦除、写操作。而一旦IC卡3次比较失败就会自毁。IC卡命令及功能如表3.1所示。表3.1 IC卡命令格式及功能3.6.2 IC卡读写程序传送协议是在接口设备IFD与IC卡的集成电路之间的两线连接协议,SLE4442芯片的协议类型为S=10(同步卡协议)。I/O线上数据变化只在CLK信号的下降沿才有效。传送协议包括4种模式:1.复位和复位响应模式:图3.8 复位和应答模式图复位操作能在操作过程中的任何时候进行,复位时序符合ISO7816

50、-3协议。当RST线从高(H状态)转到低(L状态)时,第一个数据位(LSB)的内容被送到I/O线上。若连续输入32个时钟脉冲,主存储器中的前4个字节地址单元中的内容被读出。在第33个时钟脉冲的下降沿,I/O线被置成高状态而关闭。2.命令模式:图3.9 命令模式时序图复位响应之后,IC卡进入命令模式,每条命令包括3个字节,以一个“启动状态”开始,“停止状态”结束操作。时序如图3.9所示。3.输出数据模式:图3.10 输出数据模式时序图输出数据模式将IC卡中的数据传送给外部接口设备(IFD)的时序如图3.10所示,输出的顺序是从每个字节的最低位(LSB)开始,输出结束时,需要再附加一个时钟脉冲把I

51、/O线置高。4.处理模式:图3.11 图数据处理模式时序图处理模式是IC卡作内部处理的模式,时序如图3.11所示。IC卡在第1个时钟脉冲的下降沿将I/O线从高拉到低并开始处理。此后IC卡在内部连续计时计数,直到第n个时钟脉冲之后再附加一个时钟脉冲的下沿,I/O线被再次置高,完成IC卡的内部处理过程。在处理模式期间,可能实现下列几种功能:(1)擦除和写入(5ms),相当于n=256个时钟脉冲(时钟频率为50kHz);(2)只写入不擦除(2.5ms),相当于n=124个时钟脉冲;(3)只擦除不写入(2.5ms),相当于n=124个时钟脉冲。对IC卡操作的软件编写,主要是编好IC卡的复位及命令模式、

52、输出数据模式、处理模式共四个子程序,编程时,严格按照上述Siemens公司提供的SLE4442操作时序图进行编写。其次还有密码效验程序、写命令子程序、启动/停止子程序、读/写一个字节子程序、读多个字节子程序,程序见附录。第四章 IC卡系统安全问题随着IC卡的应用范围不断扩大,针对IC卡及其系统的各种攻击性犯罪现象也可能将随之出现。如何更加有效地防止各种可能的攻击,保证IC卡系统的内部信息在整个系统和卡片的生命周期之内保持其完整、有效和真实,就成为IC卡实际应用系统设计的重要课题。这里从系统设计的角度考察一下对安全性问题的处理。4.1 对IC卡及其系统的潜在攻击 简单的IC卡系统组成主要有IC卡

53、、读写器终端设备等几部分。对于系统的不同部分可能存在的潜在非法攻击主要表现为以下几种情况。 1.对IC卡片可能出现的非法攻击 模拟IC卡对于各种IC卡终端设备来说,其输入输出的信号是可以认为模拟的。而对一个终端设备来说,其自身可能无法判断与之打交道的信号是来自真正的合法IC卡,还是来自非法的模拟信号。 用伪卡替换操作终端设备在读写IC卡的过程中,可能会有一定的时间间隙,在这个时间间隙之前用合法的授权卡打开终端设备及其控制装备,并在写入数据之前用假卡替换真卡,使得所有的消费记录没有写入到真正被授权的IC卡中,而被纪录在伪卡之中。 用干扰信号破坏对IC卡的操作:在IC卡的读写过程中,对某信号线在特

54、定的时刻施加干扰信号,以使IC卡中的数据混乱或无法正确地纪录和修改。 解剖分析IC卡的内部结构:将IC卡的电路进行分析,并利用较先进的仪器设备测试IC卡的各种密码的位置和状态字,从而破译整个系统。 冒充合法持卡人使用IC卡:在IC卡使用过程中,由于被盗窃或遗失,使得非授权持卡人可能冒充合法持卡人使用IC卡,并利用其他设备来跟踪探测IC卡的密码,以便获取卡内资金和资料信息或欺骗打开各种受控设备。2.对IC卡终端设备的非法攻击 对终端设备进行信息截获和复制;任何类型的IC卡终端设备其输入或输出的信息总是可以测试得到或从操作过程中截获。通过大量信息的分析,就有可能得出IC卡或设备的响应规律或复制特征

55、。 对终端设备进行仿造:正在使用中的IC卡终端设备被人盗窃或拆卸,改装,并使之成为对合法的IC卡或系统进行攻击的工具。对终端设备误操作:对终端设备的操作,可能是由完全无相应知识的人员来进行的。在无意识情况下的操作失误,有可能对IC卡或系统造成具有危害性的影响。4.2 IC卡管理系统的安全性考虑IC卡管理系统的安全性是其生存和发展的基础,也是IC卡管理系统的重要特性。采用IC卡安全性技术应遵循两个原则:1.使最终应用的IC卡管理系统具有较高的性价比。2.伪造和非法使用IC卡的费用远大于获取的利益。IC卡管理系统的安全级别不高,但也要做比较全面的考虑,确保整个系统安全稳定的工作。在投入使用之前应进

56、行安全性的检查和认证,对系统可能受到的攻击进行分析,并采取有效的措施防止因安全问题而造成系统使用者的损失,这种过程应该是全方面的,包括系统的硬件、软件、数据等方面。根据现有的情况和以上的原则,对IC卡管理系统的安全性作了以下的一些考虑。(1)对持卡人和卡的合法性的相互检验使用逻辑加密卡实际就能在一定程度上保证持卡人的合法身份。卡片插入读写器后,读写终端马上根据读到的卡片特征数据判断IC卡是不是由发卡机构发放的合法卡。持卡人通过输入身份验证码PIN来证明自己是IC卡的合法使用者,PIN码的输入最多只有3次机会,如果3次都没有输入正确的PIN,卡片将永远作废,无法再重复使用。PIN码由持卡人自己掌

57、握。逻辑加密卡的使用有效的保证了IC卡不被非法盗用。逻辑加密卡的这种保护还比较被动,如果PIN码泄漏,还是存在不安全因素,不能象CPU卡那样主动通过复杂的加密计算和读写终端相互确认。但是在一般使用场合,如机房管理,根据上面的第二个安全性原则,这样的安全措施已经够了。(2)设置止付名单(黑名单)系统可以直接通过网络设置止付名单,使得系统的每一个读写终端都拒绝特定IC卡,既方便又快捷。使得非法用户和遗失的IC卡马上不能进入系统使用,保证了发卡机构和合法用户的利益。(3)读写终端收集的数据加密后上传读写终端收集的数据最终都要到上层管理系统汇总,终端到上位机的通讯是使用的串口,数据在上传之前经过了加密

58、,保证在串口通讯的数据是密文形式。读写终端中使用了硬件加密电路对待上传的数据进行DFS加密计算,密钥可通过Internet网设定。这里因为密钥也要在通讯线路上传送,所以这里采用了两极的措施确定最后的密钥,储存在读写终端中的密钥有多个,但具体使用哪1个并不是固定的,系统经常改变密钥内容,并选取使用不同的密钥以加大安全系数。(4)检验数据的完整性 通过约定的算法对传输的数据进行完整性检验,确保数据在传输的过程中没有被篡改,进一步保证数据通讯的安全,也可以避免因通讯错误而造成的不利影响。第五章 总结与展望信息技术飞速发展的今天,IC卡作为一种现代高科技的信息存储介质得到了广泛的应用,它已经是一些管理

59、信息系统中不可缺少的部分,IC卡读写终端作为使用IC卡的工具在整个系统中起到了重要的作用,由IC卡、读写终端、上位管理计算机和计算机网络组成的整个软硬件系统是现代电子技术和现代信息技术的集中体现。也代表着这些领域的领先水平。随着科学技术的不断发展,特别是微电子技术、多媒体技术和计算机网络技的飞速发展,更尖端的System-on-Chip技术、更完善的生物识别,以至于全球化的身份查询和鉴定等等都能够运用在小小IC卡上,也许不久的将来,我们只要有一张IC卡就能完成购物、上学、旅游、娱乐消费、医疗保险等等事务,到那时,人们甚至可以带一张小小的IC卡去周游世界。总之,IC卡技术还有一广阔的发展空间和美

60、好的发展前景。参考文献1 胡汉才.单片机原理及系统设计M.北京:清华大学出版社,2002:67-89.2 张友德,赵志英,涂时亮.单片机微机原理,应用与实验M.上海:复旦大学出版社,2003: 122-136.3 Atmel.AT89S51 Data SheetsEB/OL.,2002.4 谢自美.电子线路设计.实验.测试M.武汉:华中科技大学出版社,2002:212-230.5 邬宽民.单片机外围器件实用手册,数据传输接口器件分册M.北京:北京航空航天大学出版社,2001:189-195.6 窦振中.单片机外围器件实用手册,存储器分册M.北京:北京航空航天大学出版社,2002.7 王爱英.智

61、能卡技术M.北京:清华大学出版社,2000.8 段丽斌.智能卡技术应用M.北京:电子工业出版社,1995.9 陆永宁.IC卡应用系统M.南京:东南大学版社,2000.10 康华光.电子技术基础(模拟部分)M.北京:高等教育出版社,2002.11 康华光.电子技术基础(数字部分)M.北京:高等教育出版社,2002.致 谢本论文是在谭建豪老师的悉心指导和关怀下完成的,谭老师严谨的治学态度,平易近人的性格以及渊博的理论知识和很强的实践能力,给我留下了深深的印象,是我在以后工作和学习中的榜样。谭老师经常在百忙之中,抽出时间指导我的毕业设计,给予了我极大的鼓励与支持!感谢湖南理工学院物电系所有的老师,感谢我的同学们,感谢您们在学习上和生活上给予我无私的关怀和帮助!感谢我的父母和亲友,没有他们的鼓励与支持,就没有我的今天,是您们给予我不断前进的动力!附 录部分源程序:键盘扫描子程序:SCAN: MOV P1,#0FHMOV A,P1ANL A,#0FHCJNE A,#0FH,NEXT1SJMP NEXT3NEXT1: ACALL D20MSMOV A,#0EFH

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!