西南科技大学本科生毕业论文
2.2.6 数据存储芯片的选择
方案一:采用单片机自带的EEPROM存储数据。
STC89C52单片机片内自带了2K的EEPROM闪存。改闪存可以反复擦除和读写很多次,不需要采用另外的存储器,使用起来方便快捷、而且不增加成本。
方案二:采用AT24C02存储芯片。
AT24C02是TI公司退出的典型的基于IIC总线协议的DIP8封装的偏外存储芯片。其内部是一个2K位串行CMOS EEPROM,内部含有256个8位字节。AT24C02支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。此芯片性能较好,完全能够满足次设计的要求,但此芯片价格昂贵,需要增加外部电路和硬件成本,因此用于本课题大材小用。
综上分析,我们采用了第一个方案。
2.3 系统的软件设计
2.3.1 RFID通讯协议
读卡器与电子标签之间的通信方式是非接触式的无线通信,系统要与RFID通信并获取相关的信息,电子标签要给系统返回命令执行的结果,读写器与门禁控制器之间的通信和数据交换是通过双向的智能无线通讯来完成的。
(1)编码方式
在该门禁控制系统中电子标签与读卡器之间采用的是半双工的通信方式,编码方式采用的是脉宽调制编码方式,即PWM编码方式,该系统中PWM信号不是由硬件产生的,由单片机通过软件方式产生和调制PWM信号。设Te为PWM信号的码元周期,一般情况下Te取100娜到400娜之间,由码元周期Te可知该通信过程中的波特率为1/Te。在编码的过程中如果用3位码元来表示1位要发送的数据,第一和第三位码元为起始和终止码元,用中间的码元作为信息码元,即要发送的数据,采用3位码元来表示一位数据的PWM的编码方式。
(2) 数据格式
门禁控制器与电子标签之间的通信是通过约定好的协议来完成。射频标签向读写器发送数据是通过RF发射模块来完成的,RF数据帧的数据是由滚动码和固定码组成的,该系统中约定采用32位滚动码和34位固定码的数据帧格式,固定码是由28位的序列号、4位功能码和2位状态码组成的。控制器向ID卡发送数据帧是通过门禁控制器的LF发射模块来实现的。 2.3.2 RFID读写器
7
西南科技大学本科生毕业论文
RFID系统的工作方式为:MCU(微控制器,即STC89C52)通过串行口接收PC机的控制指令,与MFRC500进行数据通信;读写器的核心部分MF RC500负责数据信号的编码、解码,信号的调制、解调并通过天线建立读写器同射频Mifare卡之间的联系,实现对射频 Mifare1卡进行读写等一系列操作。
为实现读写器的功能,并根据系统硬件电路可知,硬件电路确定之后,射频读卡系统的主要功能将依赖于软件来实现,读写器软件部分设计包括三部分:系统硬件配置初始化、对 Mifare1卡的读写操作、利用液晶显示屏显示数据。
1.系统硬件配置初始化:包括对LCD液晶显示的初始化,射频模块接口的初始化。初始化成功后系统才可以正常工作。
2.对Mifare1卡的读写操作:这个过程包括装载密码,寻卡,防冲突,选卡,验证密码,读写卡,停卡等一系列过程。
3.液晶显示屏显示相关数据:液晶显示模块可以显示Mifare1卡的序列号等相关数据,也可以显示初始化、读写卡等相关程序的执行情况。 2.3.3 软件开发环境
单片机开发所使用的语言一般为汇编语言和C语言。本读写器中使用C语言进行程序设计。
KEIL C51是德国 KEIL公司推出的 WINDOWS 版的 MCS-51系列单片机开发套件, 可以直接对 8051 单片机的内部特殊功能寄存器I/O口进行操作,直接访问片内或者片外存储器,还可以进行各种位操作,能够产生简洁、高效率的程序代码,在代码质量上可以与汇编语言的特点相媲美,可用于编译汇编源程序、C源程序,链接和定位目标文件和库,创建HEX文件以及调试目标程序,并内嵌有RTX51实时操作系统,可简化复杂的多任务实时应用系统的设计。因此选用 KEIL C51 软件进行设计。
2.4 本章小结
通过对主控芯片、显示模块和电源电路等模块不同方案的比较,择优选取了适合本设计要求的既能满足要求又实惠的器件,来完成硬件部分模块的设计。并介绍了RFID通信协议、RFID读写器的和软件开发环境。
8
西南科技大学本科生毕业论文
第3章 门禁系统的硬件设计
整个系统硬件电路由:单片机最小系统、4*4键盘模块、LCD1602液晶显示模块、IC卡读卡模块、电子锁门禁继电器驱动模块、数据存储模块等组成。:
3.1 单片机最小系统设计
51单片机最小系统一般有:51单片机、电源模块、复位电路、时钟电路。 3.1.1 STC89C52单片机介绍
STC89C52是STC公司生产的一种低功耗、高性能CMOS 8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。
3.1.2 51最小系统电路设计
a.复位电路
单片机的复位分为上电自动复位和按钮手动复位两种。
上电复位电路:由22uf电解电容和10K电阻构成。原理是上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。
按键手动复位电路:电路由按键、10K电阻、1K电阻、22uf构成。原理是首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作。
这里我们采用按键复位来实现,电路图如3-1所示:
10
西南科技大学本科生毕业论文
图3-1 单片机复位电路
b.时钟电路设计
时钟电路用于产生单片机所需要的时钟信号,单片机在时钟信号的控制下各部件之间同步协调工作。根据产生的方式不同,分为内部和外部两种时钟电路。
在MCS-51芯片内部有一个用于构成振荡器的高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,在引脚XTAL1和XTAL2上输出3V左右的正弦波,这就是单片机的振荡电路,如图3-2所示。
图3-2 单片机振荡电路
通常,电容C2和C3这取30pf左右,主要作用是帮助振荡器起振,晶体的振荡频率范围是1.2~12MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。在通常应用情况下,MCS-51使用振荡频率为6MHz或12MHz。在由多片单片机组成的系统中,
11
西南科技大学本科生毕业论文
为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。这是,外部的脉冲信号时经过XTAL2引脚注入,其连接如图3-2所示,由于XTAL2端逻辑电平不是TTL的,故需要外接一个上拉电阻,外接信号应为时钟频率低于12MHz的方波信号。 3.1.3 电源模块
主控部分的STC89C52芯片正常工作需5V电压,射频模块的MFRC522芯片正常工作需3. 3V电压,这就要求电源模块将输入的5V电压转化为3. 3V电压,从而能提供稳定的5V和3. 3V电压。
5V电压转化为3. 3V电压采用的是AMS1117芯片,它是一款正电压输出的低压降三端线性稳压电路,固定输出电压为3. 3V的电压精度为1%,在1A电流下的压降仅为1.2V,内部集成过热保护和限流电路,温度范围在-40°C ~25°C之间,适用于各类电子产品。
3.2 IC卡原理及驱动电路设计
3.2.1 Mifare射频卡技术参数
(1)容量为8K位(bits)=1K字节(bytes)EEPROM
(2)分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位 (3)每个扇区有独立的一组密码及访问控制 (4)每张卡有唯一序列号,为32位 (5)具有防冲突机制,支持多卡操作
(6)无电源,自带天线,内含加密控制逻辑和通讯逻辑电路 (7)数据保存期为10年,可改写10万次,读无限次 (8)工作温度:-20℃~50℃(湿度为90%) (9)工作频率:13.56MHZ (10)通信速率:106 KBPS
(11)读写距离:10 cm以内(与读写器有关) 3.2.2 IC卡内部结构介绍
(1)M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成, 16个扇区的64个块按绝对地址编号为0~63,存贮结构如图3-3所示:
12