基于RFID的网络式汽车安防系统设计
NXP公司的Mifare卡现在是市场的主流。MFRC522是NXP公司针对“三表”应用新推出的一款非接触式低功耗读写基站芯片。该读卡芯片完全集成了13 56MHz下所有类型的被动非接触式通读方式和协议。MFRC522支持ISO14443A所有的层,传输速度最高达424kbps.数字处理部分提供奇偶和CRC检测功能。具有3种接口方式可方便地与任何MCU通讯:SPI模式、UART模式、I2C模式。甚至可通过RS232或RS485通讯方式直接与PC机相联,给终端设计提供了前所未有的灵活性。
由于MFRC522支持的数字接口形式多种多样,芯片在每次复位时都会检测外部引脚连接关系。除了通用的4条SPI信号线(时钟线SCK、输入数据线MOSI、输出数据线MISO和选通线NSS),MFRC522要求额外的两个引脚I2C和EA分别固定接低电平和高电平。这两个引脚不参与SPI总线传输,只起设定MFRC522数字界面采用SPI接口的作用。另外,片选信号保证在写入数据流期间为低电平,而在无数据流写入时则为高电平。MFRC522与STM8AF51AA的硬件电路连接如图2所示,在本系统中这两者之间的通讯采用的是SPI方式。
在图中省略了一些STM8AF51AA没有用到的引脚和那些相对简单的电源、外部晶振等电路。
图2 射频接口电路图
2. 3 GSM接口电路
本系统的GSM模块选用Simcom公司的GSM900/1800MHz网络双频模块SIM300DZ,模块是三频(900/1800/1900)的GPRS系列,具有睡眠模式功能,具有嵌入式的TCP/IP与透明模式,能够自动解析波特率,改善公共服务电子化性能。
SIM300DZ的外围电路主要有SIM卡座和模块的通信接口。通信接口分别为SIM_CLK,SIM_RST,VCC和SIMI/O,其中SIM_CLK,SIMI/O是SIM卡与模块时钟和数据的通讯线,SIM_RST,VCC为复位口和电源;另外还有与MCU串口相连的串口接口RXD和TX,AT指令就是通过两个通道在MCU和GSM模块之间进行收发的;除此之外,GSM模块还包括系统语音通道和MIC通道,这两个通道是MCU通过AT指令进行切换的,主要运用于放到监控器中系统语音和麦克风之间的切换;最后还有双音多频(DualToneMultiFrequency,DTMF)信号的发送端口IN+和IN-,当用户和放到监控器的车载电话处于通话状态时,如果有按键行为,这时所产生的DTMF信号就是通过IN+和IN-发送到双音多频解码芯片解析并产生Q信号的,此时,MCU根据Q信号来决定该如何进行操作。
3 软件设计
安防系统控制软件需要完成传感信号检测、车主身份识别、收发短消息、对汽车上的主要部件的控制、声光报警等功能。在完成初始化及开中断之后系统,处于低功耗的待机状态。一有中断,就结束闲置方式在中断服务子程序中对引起中断的事件作相应的处理,并使相应的标志位置位,在中断结束后,程序将根据标志位的状态去执行各自相应的处理程序。采用模块化编程思想,防盗系统程序模块主要包括主控模块、身份识别模块、GSM处理模块和报警处理模块等。
3.1 主程序流程
此模块是本系统的核心,包括对相关设备初始化函数的调用和设置,以及在它的程序主函数中调用其他模块中的相关函数以完成程序功能。其基本思想是采用轮询方式,在一个大主循环里调用各个功能模块中各自的小循环,并在各关键部位设置看门狗,以防系统死机。主程序流程如图3所示。
图3 主程序流程图
3.2 身份识别流程
STM8A首先对MFRC522进行初始化配置,寄存器设置好后MFRC522就可以接收MCU的命令执行操作,实现与Mifare卡片通信。Mifare卡可以根据接收到的指令进行相应操作。但是STM8A并不是通过简单的指令就可以读写IC卡片,需要一系列的操作才能完成通信。主要包括: (1)请求唤醒;(2)防重叠(防止多张卡片重叠造成的数据错误);(3)选择卡片;(4)密码认证;(5)读写操作。STM8A对Mifare卡片的这一系列操作流程必须按固定的顺序进行。当有Mifare卡进入到射频天线的有效范围,读卡程序将开始进行上述一系列的操作,将卡片唯一的64位ID读出,与E2PROM中的已存的ID进行对比,以确定车主的身份是否合法。
3.3 GSM操作流程
GSM模块为本课题的重点和难点。当串口检测到有新短信发送至SIM卡时,此任务将被激活。通过初始化任务调用AT+CNMI指令,可以使短消息送达时模块自动发送+CMTI:mem>,index>到STM8A,其中index>表示新短消息在SIM卡存储器中的位置,以便方便读取。系统正是依靠判断是否收到+CMTI来激活此任务。
此任务的流程图如图4所示。首先通过AT+CMGR指令将短消息的协议数据单元(ProtocolDataUnit,PDU)读入一个专门的数组中,向模块发送AT+CMGR=index>/r/n指令,模块则会将SIM卡存储器中index>位置的短消息送出,具体格式为+CMGR:stat>,[alpha>]
- 敢当工业4.0得力助手,RFID有啥本事(03-01)
- 基于ISO14443A协议的RFID芯片模拟前端设计(08-04)
- RFID系统中耦合器定向性的提高方法(08-31)
- 混合域示波器在嵌入式射频系统设计中的应用(06-20)
- 内置串行接口的铁电随机存储器(FRAM) RFID简介(09-21)
- 正确构建RFID应用系统的10个步骤(04-05)