基于89c51单片机的ic卡读写控制系统设计内容摘要:

路 (OC)输出及非箱位保护式输入结构,如 图 所示。 上拉电阻 R 源端与 IC 卡的供电电源相连接。 当 IC 卡处于供电状态时,整个接日电路接通,接口设备与 IC 卡间构成逻辑通路 :而当 IC 卡处于下电状态时,上拉电阻 R 的源端失去了供电,整个与卡接 口 的电路均处于不带电状态。 所有的 IC 卡接口部分都加入了箱位保护二极管,这些箱位二极管可以使各引脚上的电压严格地限定在 VDVCCVD 之间 (VD 是挤位二极管的正向压降,通常为 左右 )。 这样,可以抑制由于线路干扰和逻辑电平变化的边沿产生抖动毕业设计(论文) 第 6 页 共 35 页 所带来的瞬问过压,为 IC 卡提供了进一步的保护措施。 I C C A R D数 据 输 出I C 卡 供 电 电 路R 图 IC 卡的 卡座 接口电路 SLE4442 芯片 SLE4442 是由德国西门子公司设计的逻辑加密存储卡 , 它具有 2K 位的存储容量和完全独立的可编程加密代码存储器。 内部电压提升电路保证了芯片能够以单 5V 电压供电,较大的存储器容量 能够满足应用领域的各种要求, 是目前国内应用较多的一种 IC 卡芯片。 芯片的特点。 线连接协议,串行接口满足 ISO7816 同步传送协议。 NMOS 工艺技术,每字节的擦除 /写入编程时间为。 10000 次的擦除 /写入周期,数据保持时间至少为 10 年。 芯片的引脚配置 芯片的引脚与国际标准兼容, 表 是引脚的定义和功能说明 : 毕业设计(论文) 第 7 页 共 35 页 表 芯片引脚功能 18765423引 脚 卡 触 点C 8C 7C 6C 5C 4C 3C 2C 1符 号未 用双 向 数 据 线 ( 漏 极 开 路 )地N CI / ON CG N D功 能未 用N C未 用时 钟操 作 电 压 ( 5 V )复 位R S TV c cC L KC 1C 2C 3C 4C 5C 6V c cR S TC L KG N DN CI / OI C 卡C 7C 8N CN C 图 SLE4442 芯片引脚 图 芯片的功能 SLE4442IC 卡芯片主要包括三个存储器 : 2568 位 EEPROM 型主存储 器、 321位 PROM 型保护存储器和 48 位 EEPROM 型加密存储器。 ( 1) 主存储器 :主存储器为可重复擦除使用的 EEPROM 型存储器。 按字节寻址,擦除 /写入。 在擦除 时 ,一个数据字节的所有 8 位被全部置 “1”。 在写入 时,在毕业设计(论文) 第 8 页 共 35 页 EEPROM 单元中的信息则根据输入的数据,按 字 位方式变换成逻辑 “0”, (即在EEPROM 中,新写入的数据与原来存在的数据进行 “逻辑与 ”)。 通常,要改变 数据需要先进行擦除,再进行写入两项操作。 如果在被寻址的字节中 8 位没有一个字位需要从 0 变为 1,则可以不进行擦除处理。 反之亦然,在被 寻址 的字节中,如果没有一个字节需要从 1 变为 0,则可以不做写入处理,写入或擦除操作一次至少耗费 时间。 主存储器的地址是从 00H 到 FFH。 但主存储器可分为两个数据区 :保护数据区和应用数据区。 保护数据区是主存储器前 32 个字节数 据区。 其地址是从 0(00H)到 31(1FH)。 这部分的数据读出不受限制,但擦除和写入操作均受到保护存储器内部数据状态的限制。 当保护存储器中第 N 位为 0 时,则对应主存储器中第 N 个字节就不允许进行擦除和写入操作。 故保护数据区一般均作为 IC一片的标识数据区,存放一些固定不变的标识参数。 应用数据区为主存储器后 224个字节。 其地址从 32(20H)到 255(FFH)。 这部分的数据 读出不受限制,但擦除和写入受控于加密存储器数据校验比较结果的影响。 当需要修改应用数据区的内容时,必须首先输入一个 3 字节长的 “校验字 ”。 这个新输入 的 “校验字 ”与原来存在在加密存储器中的 “参照字 ”进行一对一的比较。 只有当两者完全一致时,芯片的加密控制逻辑才打开芯片的主存储器,允许后而的擦除和写入操作。 芯片允许在有限的次数内重试比较操作。 如果在连续三次比较失败之后,芯片的错误计数器计数到 “0,并将锁死主存储器,禁止随后的任何比较操作和写入擦除操作。 这时整个主存储器变成一个只读存储器。 芯片中各存储器的内容不能再改变。 ( 2) 保护存储器 :保护存储器是一个 321 位的一次性可编程只读存储器 (PROM)。 它是按字位方式寻址和写入。 保护存储器从 032 的每一位对 应着住存储器地址从0 到 31 的每个字节。 因此可以理解为每个字节单元的控制熔丝。 从出厂到被初始化之前,保护存储器的状态为全 “1。 从控制方面来说,保护存储器的内容只能从“1”写成 “0而不能从 “0”擦除成 “1。 保护存储器每个被写 “0”的单元所对应控制的主存储器的字节单元将不再接收任何擦除和写入命令,从而使得改字节单元的数据不可再改变。 从使用方面来讲,如果需要防止一些固定的标识参数被改动,不至于引起混乱,可以将这类参数先写入主存储器的保护存储区,然后将对应单元的保护存储器的字位写位 “0,从而使这一部分单元中的 参数内容永远不可更改。 保护存储器本身的读出操作不受限制。 但对其写入操作仍然受到加密存储器比较校验操作结果的控制。 当输入的 “校验字 ”与芯片内的 “参照字 ”一致,则可以执行后续的写入操作。 如果比较不成功,则控制逻辑将闭锁保护存储器。 ( 3) 加密存储器 :加密存储器是一个 48 位的 EEPROM 型存储器。 在这个存储器中,第 0 字节为密码输入错误计数器。 密码输入错误计数器的有效位是低 3 位。 在芯片初始化时,计数器设置成 “111。 这一字节是可读的。 每次比较密码时,先毕业设计(论文) 第 9 页 共 35 页 判断计数器中是否还有 “1。 如果还有 “1。 则将其中一个 “1”写成 “0,然后进行比较 “校验字 ”操作。 如果比较结果一致,密码错误计数器将允许进行擦除操作 (芯片不能自动进行擦除操作 ),同时打开主存储器、保护存储器和加密存储器,并允许进行擦除和写入操作。 如果比较结果不一致,则密码错误计数器中为 “1”的个数将减少一位。 只要计数器的内容不全为 0,则芯片的比较 “校验字 ”操作还允许进行。 当密码计数器减数为零,则芯片的存储单元将全部锁死。 加密存储器的第 1, 2,3 字节为 “参照字 ”存储区。 这 3 个字节的内容作为一个整体被称为可编程加密代码(PSC)。 值得注意的是 :这 3 个字节的内容在 PSCEr 较成功前是不可读的,只能进行比较操作。 而 “写入、擦除 ”操作也受自身 “比较 ”操作结果的控制。 只有当 “比较 ”成功,加密存储器各字节内容 才 可以进行读出、写入和擦除。 毕业设计(论文) 第 10 页 共 35 页 第三章 系统的软硬件实现 一个完整的 IC 卡读写终端除了完成基本的 IC 卡数据读写功能,还要提供其他功能。 独立型读写器要求可以脱离上位机独立工作,所以读写器要提供键盘和显示功能作为用户界面。 人机界面是用户是对设备进行操作和控制的接口,用户根据显示的提示,使用键盘输入命令,从显示得到设备输出的 结果。 读写终端整体结构设计 读写器相对于 IC 卡来说就是一种外部接口设备。 对一个具有一般功能的读写器来说,它必须有显示模块,输人模块以及其它辅助模块。 本文所介绍的 IC 卡读写器是通过使用智能芯片 AT89C51及其外部接口来实现的。 它包括键盘输人模块,数码管显示模块, IC 卡接口模块等。 其构成框图如图 所示。 矩 阵 键 盘显 示 模 块I C 卡 卡 座C P UA T 8 9 C 5 1卡 座供 电 电 路C P U辅 助 电 路 图 读写器方框原理图 在本系统中,键盘输人模块电路简单,占用 中央处理器端口少。 IC 卡接口电路主要由 IC 卡片座构成,本系统的 IC 卡卡座是采用带滑动触点的卡座 .它有一对常开触点,用来检测 IC 卡是否插人卡座。 这种拔插式卡座的优点是电路接触良好,通信可靠,但是不适于刷卡频繁的场合。 显示模块是通过数码管 LED 来显示。 AT89C51 是一种低功耗,高性能的 8 位 CMOS 微控制器,它是整个读写器的核心,它内含有 4k 字节的闪电存储器 (FLASH MEMERY)。 128 字节 RAM,32 条 I/O 线。 两个 16 位定时 /计数器,五源两级中断结构 , 全双工串行口。 片内振荡器及时钟电路等等。 这种器件是 以 ATMEL高密度不挥发存储技术制造,与工业标准 MCS51毕业设计(论文) 第 11 页 共 35 页 指令系统和引脚完全兼容片内闪电存储的程序代码或数据可在线写人,亦可通过常规的编程器编程。 本读写器系统的软件系统是采用的 MCS51 的指令系统来进行编程的。 软件的工作原理是 : 读写器上电复位之后,等待用户刷卡,一旦读写器检测到 IC 卡后,读写器开始读卡,读出卡号。 此时,用户可以通过键盘输人密码,然后,读写器系统开始校验密码,如果密码正确,则各种交易可以进行了。 如果不正确,本系统将允许用户有三次输入密码的机会,否则 IC 卡将永久损坏。 如果能进行各种交易,待 交易完成之后将数据送往中央主机 (读写器管理中心 )。 这样一次交易完成,系统回到最初的等待状态。 控制芯片 AT89C51 AT89C51 单片机在存储器结构上,严格地将程序存储器( ROM)和数据存储器( RAM)在空间上分开,并使用不同的寻址方式和地址指针。 ROM 用来存放调试好的程序指令、常数及数据表格, RAM 则用来存放少量的随机数据。 采用这种存储器结构主要考虑到单片机的控制特点,即需要较大的程序存储空间和较小的随机数存储空间。 由于集成度的限制,在单片机内 的存储器容量不会很大,但允许用户在片外扩展存储器。 因此, CPU 可以进行操作的存储器可分为内部程序存储器、外部程序存储器及内部数据存储器、外部数据存储器。 单片机芯片上集成了很多的元器件,需要的引脚就很多,但由于工艺和成品率等原因,芯片上的引脚又不能太多。 为了解决实际允许的引脚数和需要的引脚数之间的矛盾,单片机的引出线一般都设计为多功能型。 每条引线在某一时刻起什么作用,由指令和机器状态决定。 因此,单片机对外并不存在专用的数据总线和地址总线,而是采用分时复用技术来解决片外数据和地址的传送问题。 在单片机中,有 21 个 颇具特色的特殊功能寄存器 SFR。 要理解单片机的工作原理,必须对这些特殊功能寄存器的工作过程有清楚的了解。 正是由于有了 SFR,才使一个只有 40 个脚封装的单片机系统的功能获得很大的扩充,并使 I/O 口在程序的控制下具有第二功能。 利用 SFR 还可以完成对定时 /计数器、串行口和中断的控制。 单片机的另一个特点是在其内部有一个全双工的串行接口,在程序的控制下,串行口能工作于四种方式。 用户可根据需要将它设定为移位寄存器方式,以扩充 I/O 接口和外接同步输入、输出设备;或用作异步通信接口,以实现双机或多机通信。 因此,单片机能很方便地组成分布式控制系统。 最后,在单片机内部有一个能进行独立操作的位处理器,它有自己的累加器以及可寻址的 RAM、特殊功能寄存器和 I/O 口,并设有专门的按位操作的指令。 利用这些功能,可以方便地进行组合逻辑设计和用软件模拟组合逻辑的功能,这一点在工业控制中十分有用。 毕业设计(论文) 第 12 页 共 35 页 AT89C51 内部结构方框图如图 所示,它包括 CPU、存储器( ROM、 RAM)、I/O 接口、定时 /计数器、中断控制器等。 这些部件集成在一块芯片内,片内各功能部件通过内部总线相互连。 中 断 控 制 器C P UO S C总 控 制 器串 行 口4 K BR O M1 2 K BR A M4 个 I / O 口定 时 器 / 计 数 器C / T 0 , C / T 1T 0 T 1R X D T X DP 0 P 1 P 2 P 3A L E X T A L 1X T A L 2P S E N R DW R I N T 0 I N T 1 图 89C51内部结构 主要功能部件 89C51 的主要功能部件包括: 位 CPU。 :振荡频率 0Hz~24MHz。 片内 FlashROM,片内外程序存储器寻址范围 64KB。 片内 RAM,片外数据存储器寻址范围 64KB。 个专用存储器。 个 8 位并行 I/O 接口: P0, P1, P2, P3。 个全双工串行接口。 个 16 位定时 /计数器 C/T0、 C/T1。 个中断源,可编为二个优先级。 条指令,含乘、除法各 1 条。 +5V 电源。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。