1、本 科 毕 业 设 计基于 51 单片机的 IC 卡读写控制器所在学院 专业班级 电气工程与自动化 学生姓名 学号 指导教师 职称 完成日期 年 月 II摘要随着社会的不断进步和发展,我们生活中越来越多的使用了 IC 卡,虽然发展至今只有短短的几年,可它的应用发展将给我们的日常生活带来前所未有的改变。IC 卡虽是一块小小的卡片,但却能携带大量的信息,给生活在现今信息时代的人们带来极大的方便,甚至改变了人们的生活方式。本文介绍了以 AT89C2051 单片机作为微控制器,利用基于 AT24C0X 系列的 IC 卡,设计出一个 IC 卡读写控制器。本文阐述了该设计的组成、工作原理以及相应的软硬件设
2、计。文章阐述了接触式 IC 卡技术的基本原理,并对其读卡器在工程上的设计和开发作了研究。论文描述了 IC 卡系统的发展和现状,以及通过对接触式 IC 卡读写器的熟知而了解下非接触式的IC 卡。本文通过介绍硬件和软件的系统设计,揭示接触式 IC 卡的工作原理,介绍了AT24C0X 型常用的卡片和对应读卡器的设计方法和电路,并详细阐述了系统各个模块的组成和原理,并给出了设计规范。然后根据课题要求详细介绍了自主设计的一款 AT24C0X 型读卡器的核心部件实现方案和具体电路。最后介绍了系统设计的软件部分,重点介绍了是否插卡的判别系统程序,信号传输系统程序以及与 PC 机通信的通信接口程序。实际测试证
3、明该读写器完成了基本功能,运行稳定。关键词:接触式; IC 卡;微控制器;通信接口 IIIAbstractWith the continuous progress and development, our lives more and more use of the IC card, although the development has been only a few short years, but it is the application development will give us the daily life of unprecedented change. Although
4、 the IC card is a small card, but it can carry large amounts of information, to lives of people in todays information age has brought great convenience, and even change peoples way of life.This paper introduces the AT89C2051 MCU as a micro-controller, using the IC card based on AT24C0X series, desig
5、ned a IC card reader controller. This paper describes the design, working principle and the corresponding software and hardware design.Paper describes contactless IC card technology, the basic principle and the reader in engineering design and development are studied. Paper describes the development
6、 of IC card system and the status quo, and through contactless IC card reader of the well known and understood under the non-contact IC card. This paper describes the hardware and software system design, reveals the contactless IC card of the working principle of the type commonly used AT24C0X card
7、reader and the corresponding design method and circuit is described, and the composition of the various modules of the system and principles, and given design specifications. Requirements of the subject and then details the type of self-design a AT24C0X reader to achieve the core component of the pr
8、ogram and the specific circuit. Finally, the software part of system design, focusing on whether the card identification system programs, procedures, and signal transmission system to communicate with the PC, communication interface program. Actual test proved that the completion of the basic functi
9、ons of the reader, stable operation.Key words: Contact; IC card; micro-controller; Communication InterfaceIV目 录摘要 .IAbstract .II第 1 章 绪论 .11.1 课题研究的背景和意义 .11.2 国内外研究的现状 .11.3 本课题设计的主要工作和任务 .2第 2 章 读卡器系统方案设计与实现 .32.1 IC 卡的简介 .32.2 IC 卡的技术特点 .32.3 总体方案设计和讨论 .32.3.1 各模块的方案选择和论证 .32.3.2 总体方案确定 .6第 3 章 系
10、统硬件设计 .73.1 复位电路 .73.2 声光指示电路 .73.3 IC 卡的电源控制电路 .73.4 IC 卡接口电路 .83.5 通信接口电路 .9第 4 章 系统软件设计 .114.1 软件设计环境 .114.2 读写器软件结构 .114.3 IC 卡的读写过程 .124.4 软件系统的分析 .144.5 串行通信模块设计 .154.6 上位机程序设计 .154.6.1 上位机通信驱动方式选择 .164.6.2 常用控件属性和方法 .164.6.3 上位机软件程序流程图 .18第 5 章 总结与展望 .20V5.1 总结 .205.2 IC 卡前景展望 .20致谢 .22参考文献 .
11、23附录一 系统硬件原理图 .24附录二 系统软件程序流程图 .25附录三 系统设计源程序 .261第 1 章 绪论1.1 课题研究的背景和意义IC 卡是英文集成电路卡(Integrated Circuit Card)的缩写,其外观和名片很相似,大小也相当,但是 IC 卡是将一个专用的集成电路芯片镶嵌于塑料基片中封装成形的。在以前较为原始的磁卡发展成了现在的 IC 卡,日本人有村国孝提出了它的最初设想。并且在 1969年 12 月,提出一种制造安全可靠的信用卡方法,并于 1970 年获得专利,那时叫 ID 卡(Identification Card)。1974 年,法国的罗兰莫雷诺(罗兰莫雷诺
12、)发明了集成电路芯片的塑料卡,并申请了专利,这是国内较早的 IC 卡,然而世界上第一张真正意义上 IC 卡是由法国布尔(Bull)公司在 1976 年研制出来的。在较早以前整个计算机行业是通过用纸或纸板来储存信息的,并且通过编写计算机系统程序来读取被打孔纸板的信息,然而 IC 卡的出现代替了这些纸板并用于储存信息。现在,使用较多的 IC 卡是接触式的,该类卡是通过 IC 卡读写设备的触点与 IC 卡的触点接触后进行数据的读写。目前在社会上常见的是接触式 IC 卡,它具有存储量大,可实现一卡多用等功能。当然,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡插入到读写器中才能完成数据交换
13、,这样在读写卡片频繁的场合就很不方便,而且读写器的触点和卡片上 IC 卡的触脚暴露在外,容易损坏和搞脏而造成接触不良。然而,随着技术的发展,出现了非接触式的 IC 卡, 非接触式 IC 卡系统是当今世界先进的射频技术和 IC 卡技术相结合的产物,是世界上最近几年发展起来的一项新技术,它成功地将射频识别技术和 IC 技术结合起来,解决了无源和免接触这一难题,是电子器件领域的一大突破,使卡片在靠近读写器表面时即可完成卡中数据的读写操作。非接触式 IC 卡有无机械磨损、容易维护、方便使用等的优点,但是接触式 IC 卡应用的很广泛,所以研究此课题还是具有较为深远的意义的。现今,接触式的 IC 卡应用的
14、十分广泛,卡片类型也多种多样然而卡片类型的多样性决定了读卡器的多样性,而市场的多样性则决定了即使是同类型的应用,也可能使用不同类型的卡片,若读卡器只能读取某一种类型的卡片,那么在处理这个应用时,必将需要多台读卡器,造成资源的重复浪费,这样的读卡器必将不能适应市场的需求,这就对读卡器的读卡能力提出了更高的要求。在发展初期,IC 卡没有被广泛应用的一个原因是,没有统一的标准。不同公司生产的 IC 卡和其他公司的配套产品不能兼容,从而使卡片的使用和推广受到限制。1995 年,国际标准化组织 ISO 为 IC 卡制定了通用的标准之后,信用卡工程很快颁布了与之配套的 IC 卡 EMV 标准,并且国际标准
15、 ISO7816 对接触式的 IC 卡的机械特性、电器特性等进行了严格的规定。有了统一的标准之后 IC 卡在各个行业得到了广泛的应用,并迅速的发展起来。1.2 国内外研究的现状智能卡的发展历史并不久远,而且全球各地发展不均衡,其中欧洲发展得最早、最好。智能 IC 卡源于七十年代的欧洲和日本,后来由法国人提出的将处理器置入 IC 卡卡片中的思想得到了广泛接受,由于其具有完善的密码功能从而有效的解决了智能卡的舞弊行为。随后智能卡在 1987 年1994 年间,每年以 45%的幅度增长,其市场也从 1800 万美元增至 2.7 亿美元。在整个 IC 卡销售中欧洲市场占销量的 90%。目前在美、日、欧
16、洲等发达国家,IC 卡2已在很大程度上取代了现金。美国从 60 年代起普遍采用金融卡支付方式,约有三分之一家庭有信用卡,95%的家庭持有现金卡,IC 卡在美国得到了广泛的应用。据 Innovation 国际发明组织统计,2005 年 10 月到 2006 年 9 月全世界 IC 卡硬件产业中,IC 卡及其读写设备数量分别为 42000 万张和 877000 台,其中法国分别占 98%和 71%,处于世界领先地位。目前,法国生产制造的 IC 卡不仅在数量上领先各国,其应用领域也灵活多样,如在金融、电信、医疗和交通运输等各个领域都有 IC 卡的应用,其中电子金融卡等己经达到经济生产规模。我国对 I
17、C 卡行业的发展始于 1994 年,随着金卡工程建设的不断深入发展,IC 卡已在众多领域获得广泛应用,并取得了初步的社会效益和经济效益。虽然至今也只有短短的十几年左右时间,但是己经取得了不小的成就。我国自 1994 年实施“金卡”工程以来,推动了金融电子化、商业和流通领域电子化的步伐,使我国银行业务得到迅速发展,并逐渐波及医疗、交通、社会保险、税务等领域。在我国,智能卡在各种应用领域全面开花,目前超过 10 个政府部门和行业推广应用了智能卡。目前在我国,随着政府管理和支持力度的加大、技术研发水平的提升,IC 卡市场竞争格局将发生深刻的变化。2002 年,乃至未来几年,中国的 IC 卡应用的进一
18、步发展的时期。中国的 IC 卡市场的无序走向必将在市场竞争会从有限的无限,IC 卡市场走势将逐步成熟,变成微利时代有序的格局。在这种情况下,单纯的发行量和新产品的数量并不能衡量 IC 卡产业和市场发展,市场的发展最终取决于 IC 卡应用和由此产生的社会福利水平。从可持续发展角度来看,加强行业标准,推动 IC 卡公司从产品和技术为基础的应用和服务为导向的转变,将成为中国的 IC 卡市场,一个重要的趋势发展。但是,最先进的非接触式 IC 卡,射频卡技术的智能卡系统和 CPU 及其相应的读/写卡设备和技术,仍然处于落后状态。这极大地制约了 IC 卡产业的发展,尤其是在要求高安全性和金融业的保密性,制
19、约了中国的金卡工程的实施和发展。设计和开发更好的阅读设备,以加速中国的 IC 卡产业的发展,特别是尖端的 CPU 和非接触式 IC 卡,射频卡的应用智能,具有重要的意义。1.3 本课题设计的主要工作和任务接触式 IC 卡仍然是应用最为广泛的,虽然射频卡有许多的独特的优点,但是接触式的IC 卡仍无法被取代,所以读卡器是是关键。根据课题设计要求,本文设计的是一种接触型的基于普通存储卡 24C01 的读写器,作为 PC 机的嵌入式外观,通过串行接口实现信息交换。本 IC 卡读写器的主要特点与功能如下:(1)能识别和读写 24C01 普通存储卡;(2)为连机型读写器,作为依附于 PC 机的一种外观,直
20、接安装在 PC 机的 3小型驱动器位置。它的电源取自于 PC 机内开关电源,通过 RS-232C 与 PC 机进行通信;(3)能自动连续读写,具有上电冷复位、插卡热复位功能;(4)卡上数据读写采用双认证方式,确保读写数据的可靠性和准确性;(5)具有一定的抗攻击能力,即对于非法插拔(例如金属异物) 、非法 IC卡等具有一定的抵抗能力,可避免短路等造成的读写器损坏;(6)具有声光提示读写状态;(7)采用动态加密算法,避免 IC 卡被非法复制,并保证 IC 卡数据的安全性。3第 2 章 读卡器系统方案设计与实现2.1 IC 卡的简介IC 卡是一种集成电路卡,它的读写设备是每个 IC 卡应用系统必不可
21、缺的周边设备。该设备通过 IC 卡的 8 个触点向 IC 卡提供电源并与 IC 卡相互交换信息。虽然 IC 卡是从磁卡发展而来的,但是它在机器读写性能上却远优于磁卡,不需要往复的机械动作就可完成一机一卡之间的多次会话工程,使卡在应用时操作简单,给人们带来极大的便利。信息安全的目的就是保证数据在确定的时间内,在确定的条件下,只能被确定的对象使用。而 IC 卡正是为了解决数据的安全问题而设计的。它采用的是半导体密码存放与软件加密技术,能够有效地阻止卡的非法复制与数据的篡改,应用设备在脱离网络的情况下就可对 IC卡进行鉴别。在一个应用系统的使用中,系统必须对所有持卡人建立一份身份与使用的档案。在磁卡
22、系统中,这组档案存放在中心数据库系统内,每次持卡人使用必须通过终端,以网络形式从数据库系统中提出那份与自己相关的档案。IC 卡的数据存储能力比磁卡要强得多,可把与持卡人有关的大量信息存放在卡中,因而使得 IC 卡使用的灵活性大大增强,交易的实时性也明显改善。2.2 IC 卡的技术特点(1)芯片制造技术和工艺目前,IC 卡用芯片普通采用较为先进的 CMOS,BiCMOS 等集成电路制造工艺,具有较好的电性能及抗干扰性能。以采用 CMOS 工艺制造的 IC 卡芯片为例,其主要指标为: 写入或删除次数最少可达 100000 次。 数据保存时间最少为 10 年。 工作电压为 5(1 0.1)V。 抗静
23、电 4000V 左右。 噪声容限也较高。(2)IC 卡读卡器的技术要求 IC 卡卡座和 IC 卡应有良好的接触点,应有尽量小的摩擦。 具有生产制造时的质量稳定性 具有对应环境(温度、湿度、振动性及电磁干扰等)的适应性。其中正确的工作顺序较为重要。按有关 ISO7816 标准规定,在 IC 卡的触点和读写设备的触点良好接触之前,读写设备不应对 IC 卡施加有关电信号,以避免造成不可预测的损坏。IC 卡读写设备作为系统和用户交互的接口,必将面对各种各样复杂的应用环境,因此在设计阶段就应注意 IC 卡读写器环境适应性问题。2.3 总体方案设计和讨论2.3.1 各模块的方案选择和论证(1) 控制器的选
24、择4本读写器是以 ATMEL 89C2051 为内核。ATMEL 公司生产的此型号单片机是一种低功耗、高性能的 8 位 CMOS 微处理器芯片。片内带有 2KB 的闪烁可编程及可擦除只读存储器,工业标准的 80C51 指令集相兼容,DIP20 封装。片上的 PEROM 允许在线对程序存储器重新编程,也可用常规的非易挥发存储芯片编程器编程。AT89C2051 单片机的引脚功能简介:、VCC:电源电压。 、GND:地。 、P1 口:P1 口是一个 8 位双向 I/O 口。口引脚 P1.2P1.7 提供内部上拉电阻,P1.0和 P1.1 要求外部上拉电阻。P1.0 和 P1.1 还分别作为片内精密模
25、拟比较器的同相输入(ANI0)和反相输入(AIN1)。P1 口输出缓冲器可吸收 20mA 电流并能直接驱动 LED 显示。当 P!口引脚写入“1”时,其可用作输入端,当引脚 P1.2P1.7 用作输入并被外部拉低时,它们将因内部的写入“1”时,其可用作输入端。当引脚 P1.2P1.7 用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流。 、P3 口:P3 口的 P3.0P3.5、P3.7 是带有内部上拉电阻 的七个双向 I/O 口引脚。P3.6用于固定输入片内比较器的输出信号并且它作为一通用 I/O 引脚而不可访问。P3 品缓冲器可吸收 20mA 电流。当 P3 口写入“1”时,它们被内
26、部上拉电阻拉高并可用作输入端。用作输入时,被外部时拉低的 P3 口脚将用上拉电阻而流出电流。P3 口 还 用 于 实 现 AT89C2051 的 各 种 第 二 功 能 , 如 下 表 所 列 :P3.0 RXD 串行输入端口P3.1 TXD 串行输入端口P3.2 INT0 外中断 0P3.3 INT1 外中断 1P3.4 T0 定时器 0 外部输入P3.5 T1 定时器 1 外部输入P3 口还接收一些用于闪速存储器编程和程序校验的控制信号。 、RST:复位输入。RST 一旦变成高电平所有的 I/O 引脚就复位到“1” 。当振荡器正在运行时,持续给出 RST 引脚两个机器周期的高电平便可完成复
27、位。每一个机器周期需 12 个振荡器或时钟周期。 、XTAL1:作为振荡器反相器的输入和内部时钟发生器的输入。 、XTAL2:作为振荡器反相放大器的输出。图 2.1 引脚图(2) 串口传输芯片的选择5本读卡器采用的是 MAX232 芯 片 ,它 是 美 信 公 司 专 门 为 电 脑 的 RS-232 标 准 串 口 设 计 的单 电 源 电 平 转 换 芯 片 ,使 用 +5v 单 电 源 供 电 。 它的内部结构基本可分三个部分: 第一部分是电荷泵电路。由 1、2、3、4、5、6 脚和 4 只电容构成。功能是产生+12v 和-12v 两个电源,提供给 RS-232 串口电平的需要。第二部分
28、是数据转换通道。由 7、8、9、10、11、12、13、14 脚构成两个数据通道。其中 13 脚(R1IN) 、12 脚(R1OUT) 、11 脚(T1IN) 、14 脚(T1OUT)为第一数据通道。 8 脚(R2IN) 、9 脚(R2OUT) 、10 脚(T2IN) 、7 脚(T2OUT)为第二数据通道。TTL/CMOS 数据从T1IN、T2IN 输入转换成 RS-232 数据从 T1OUT、T2OUT 送到电脑 DP9 插头; DP9 插头的 RS-232 数据从 R1IN、R2IN 输入转换成 TTL/CMOS 数据后从 R1OUT、R2OUT 输出。而我们用只需一个通道。所以一通道的
29、11、12、13、14 脚就全空脚。我们只用了第二通道的 4 只脚。 第三部分就是供电啦。15 脚 DNG、16 脚 VCC(+5v) 。其实美信公司生产的用于 RS-232接口的芯片有好多好多。有各种各样的封装,有只有一个通道的,也有多通道的,有底耗电的,也有耐 15kv 高压的。其中 MAX3233E 使用+3v 电源、+-15kvESD 保护、而且省去了电荷泵的 4 只电容。 图 2.2 MAX232 原理图(3) 显示模块的选择此次设计有两个方案选择:方案一:使用 LED 显示。数码管显示,对外界环境要求低,操作简单,但需要采用动态扫描,占用资源比较多,而且其不能很好的显示字符,由于本
30、系统要显示的信息量较多,所以虽然该方案在程序上容易实现,但并不能满足要求。方案二:是与 PC 机相连,通过上位 PC 机通信接口软件实现在 PC 机上显示及储存读写的信息。这样可以显示更多的程序,比用 LED 数码管显示的信息多的多。所以为了使人机界面更加友好,操作更加方便,采用与上位 PC 机相连通信。(4) IC 卡及其卡座选择本读卡器是基于 AT24C0X 系列的 IC 卡,而此卡是 Atmel 公司出品的一款高性能 EEPROM芯片,它采用两线串行接口(I 2C)简化了与 MCU 的连接,工作电压 2.7V5.5V,存储容量8K 字节,支持 100 万次的擦写,数据能有效保持 100 年。MCU 与 AT24C0X 的连接关系 MCU 的通用输入输出(GPIO)端口与 AT24C0X 的 SCL、SDA 端口相连接构成 I2C 总线,因为