卢彬锋
摘要 当前校园安全事件屡屡发生,给社会、家庭带来了极大地影响,校园安全设施设备的研发也是当前校园安全研究领域的热点。鉴于此,该研究从智能化识别设备研发的角度切入,基于STC15F2K60S2单片机设计小学生离校显示系统。该系统由单片机模块、射频模块、显示模块、驱动模块和稳压模块组成,通过双色LED灯屏实时显示学校各个班级状态,方便家长接孩子时根据信息提示了解是否在校,为家长提前了解孩子信息提供了很好的帮助,也为校园安全保障设施的研发普及提供一定的实践参考。
关键词 考勤;单片机;SON1205
中图分类号 TP334.2文献标识码 A文章编号 2096-8949(2022)09-0008-03
引言
全国各地屡次发生的校园安全事件,促使政府和各级教育机构启动了一系列校园安全漏洞检查和安全措施。校园安全工作开展的好与坏,关系着所有学生的健康成长,关系到千家万户的幸福,为此相关部门和学校纷纷出台对应的政策。其中很多学校就要求低年级学生上学必须每天由家长负责接送,学生不能独自上学。因此,部分中小学学生上学和放学,都需要家长陪同。当前家长接送过程中也出现部分问题:
(1)大部分的家庭都是老年人负责该项工作,部分老年群体存在智能手机使用障碍。
(2)各种原因导致同一年级存在错峰放学问题。
(3)放学高峰期,学生一涌而出,导致接送的家长和孩子错过,家长无法掌握学生是否离校。
为了方便家长及时了解孩子是在校还是离校,是上课还是放学,该文以STC15F2K60S2单片机为核心模块,结合射频识别(RFID)技术[1-3]和LED显示技术设计了小学生离校显示系统。该系统通过双色LED灯分别显示学生在校上学、放学和离校的状态,到校家长可以通过系统显示及时掌握孩子的状况,减少盲目等待,较好的完成接送工作。
1 系统硬件设计
设计的系统结构图如图1所示。
从图1可得系统包括以下模块:单片机模块、MFRC522读写器及电源驱动模块、点阵显示及其驱动模块和LED指示模块构成。主要模块分别介绍如下:
1.1 单片机模块
该系统的核心部分是单片机,通过它来完成系统的信息采集、处理和控制,因此在单片机的选择中主要考虑到单片机的计算速度、处理器的能力、片内RAM和ROM及成本等因素。在系统设计中选用了STC15F2K60S2单片机,该芯片低功耗、拥有高性能的CMOS8位微处理器,运行速度相当于传统8051单片机的12倍,并具有较大的程序存储空间和数据存储空间,编程下载可直接使用串口完成,使用非常方便。
1.2 点阵显示及其驱动模块
1.2.1 点阵显示模块
系统中为了能够在一个显示点表示上课、下课和是否缺席等不同的信息,采用了双色LED点阵屏来实现,最终选取8×8红绿双色共阴点阵。
采用红绿双色LED可以实现三种颜色的显示效果,具体的LED状态组合由按键触发和刷卡触发两种方式。
在按键电路如图2所示,分为上学、放学按键和班级选择按键等,分别连接着STC15F2K60S2的P2.0、P2.1、P2.2、P2.3、P2.4、P2.5、P2.6和P2.7等I/O口。系统通过上学按键触发来点亮红色点阵的显示,当LED灯显示红色表示该班级学生为上课状态;通过放学按键触发红绿点阵同时显示为黄色,当LED灯显示黄色表示该班级学生为下课状态。而班级切换按键中,由于单片机I/O有限及该系统只是一个初步模拟系统,所以仅设计了六个班级之间的切换。
在刷卡触发方式中,通过录入有学生学号和班级信息的MIFARE1卡来刷卡触发点阵的颜色切换。即学生将持有个人信息的MIFARE射频卡通过MFRC522读写器刷卡切换离校和到校状态,而通过点阵的绿色显示学生离校的状态,也只有当学生由离校刷卡切换到到校时,点阵上的绿色才能转变为黄色的到校状态,即如果学生缺席或未到校,即使通过上课按键也无法将点阵的绿色离校状态切换成红色的上课状态。
1.2.2 点阵显示驱动模块
系统选用LED驱动专用的TM1640作为驱动模块。
TM1640是一种LED驱动专用控制器件,内部集成有数据锁存器、MCU数字接口、LED高压驱动电路等。具有8级可调的辉度调节可以方便地根据不同的天气情况调整LED的亮度,实现LED亮度可以实时调整,既可以达到显示清晰又不刺眼的目的,又可以实现省电功能。两线的串行接口可以方便地和单片机进行通信。
1.3 MIFARE射频卡
MIFARE射频卡是Philips公司推出的一种射频卡[3],该射频卡已经成为国际标准:IOS/IEC 14443标准,也是目前主流的射频卡。
MIFARE射频卡内部集成高速CMOS EEPROM、MCU等。工作的频率在13.56 MHz,标准读写距离100 mm,与读写器的通信速率为106 kbit/s。
MIFARE射频卡拥有如下优点:
(1)具有通信加密功能。
(2)读写操作高速而准确。
(3)卡片读写可超10万多次,且数据保存可达10年之久,具有抗静电保护能力。
1.4 MFRC522读写器
MFRC522是一款基于13.56 MHz的非接触式通信的高集成度读写卡芯片[4-8]。具有低电压、低成本、小体积的優点,是一款使用非常广泛的非接触式读写卡芯片。主要应用于门禁系统、智能水表和便携式手持设备等。
MFRC522的主要特点如下:
(1)芯片的通信频率在13.56 MHz,因此可用于在该频率下的被动非接触式通信方式和通信协议。
(2)芯片支持ISO14443A的多层应用,这使得它的体积可以更小,在驱动读写器天线与MIFARE卡和应答机之间的通信时可以不需要外围电路。
(3)芯片的内部自带解调电路和解码电路完成接收功能,并且该电路兼容ISO14443A的应答器信号。
(4)芯片的校验功能具有帧和错误检测(奇偶&CRC)。
(5)芯片具有快速 CRYPTO1加密算法和高速的通信速率。
2 系统软件设计
系统的主流程图如图3所示,由开机、各模块初始化、读卡、按键扫描和显示更新等构成。开机完成系统上电后负责各个模块的初始化、自检、单片机自身资源的初始化。系统主程序由读卡、按键扫描和显示更新构成,完成控制和协调各个模块的正常工作。
下面针对其中的主要模块MFRC522和TM1640的驱动程序进行介绍。
2.1 MFRC522驱动程序设计
在系统设计中MFRC522模块使用的是SPI接口,与单片机的连接为:
(1)NRSTPD连接单片机的P1.4。
(2)CS连接单片机的P1.0。
(3)SCK连接单片机的P1.1。
(4)MOSI连接单片机的P1.2。
(5)MISO连接单片机的P1.3。
MFRC522的工作过程可分成四步:寻卡→防冲突→选卡→读/写卡。
2.1.1 寻卡
status= MFRC522_Request(PICC_REQIDL,str); //寻卡,返回卡的类型 If (status ==MI_OK)
{
Uart1_SendChar(str[0]);
Uart 1_SendChar(str[1]);
}
在以上程序中向FIFO写入PICC_REQIDL命令,等待执行PCD_TRANSCEIVE命令将FIFO中数据通过天线发送出去。如果有卡在天线的作用范围内,那么通过卡通信返回卡类型。如果没有则无返回数据。
具体卡类型的代码如表1所示。
2.1.2 防冲突
由于是非接触式的IC卡,所以在同一时间可能存在多张卡的读写,这时对于读写器的识别便会产生冲突。根据每张卡的卡序列号都不相同,根据接收到的卡序列号信息中具有至少有1位既是0又是1 (即该位的前、后半部都有副载波调制)的特点,因此可以根据第1个冲突位将其置1,然后再校验第2个,通过该方法可以排除多余的卡,这个过程重复执行直到某张卡没有产生冲突时才选中该卡。具体程序如下。
status = MFRC522_Anticoll(str); //防冲突,返回卡的序列号4字节
memcpy(serNum, str, 5);
If (status ==MI_OK)
{
Uart1 _SendChar(ser_Num[0]);
Uart1_SendChar(ser_Num[1]);
Uart1_SendChar(ser_Num[2]);
Uart1_SendChar(ser_Num[3]);
Uart1_SendChar(ser_Num[4]);
}
2.1.3 选卡
选卡程序如下:
Size = MFRC522_SelectTag(ser_Num); //返回卡容量
If (size !=0)
{
Uart1_SendChar(size);
}
2.2 TM1640驱动程序设计
由于单片机的I/O有限无法满足点阵的驱动,所以系统中选用了LED驱动专用的TM1640来作为驱动模块。
以下指令用来设置显示器的显示模式和LED驱动器的不同状态。首先只有当指令START有效后,才能通过DIN输入的第一条指令。再经过译码取得最高位的比特位来区别不同的指令。
/******初始化TM1640******/
void init_tm1640_1()
{
sda4=1;
scl4=1;
start_1();
write_1(0x44); //设置数据
}
其指令设置分类如表2所示。
表2 指令设置表
B7 B6 指令
0 1 数据命令设置
1 0 显示控制命令设置
1 1 地址命令设置
3 结束语
本系统由硬件设备及软件设计两部分组成,对点阵设计及驱动模块的组成进行了详细的阐述并对软件驱动及防冲突设计进行编程。通过该系统的开发研究进一步解决了中小学学生在校上课、放学和离校等信息的显示,支持学生使用RFID卡刷卡进行在校和离校状态切换,通过按键进行上课和放学状态切换,确保家长可以根据系统对应的LED灯显示颜色及时掌握孩子的相关状况,极大地方便了家长的日常接送,对于校园安全防控起到了一定积极的作用。
参考文献
[1]陈大才. 射频识别(RFID)技术[M]. 北京: 电子工业出版社, 2001.
[2]蔡锦达, 吴伟鹏, 徐航晖. 非接触式IC卡的内部结构与工作原理及其应[J]. 企业技术开发, 2005(10): 3-5.
[3]Klaus Finkenzeller. 射频识别(RFID)技术[M]. 北京: 电子工业出版社, 2001.
[4]邓伟, 刘暾东, 郑中杰. MFRC522射频模块在门禁系统中的应用[J]. 单片机与嵌入式系统应用, 2012(12): 38-41.
[5]陈保平, 王月波, 马伯元. 基于MFRC522的Mifare射频卡读写模块开发[J]. 微计算机信息, 2007(32): 230-231.
[6]马晓颖. 射频IC MFRC522在智能仪表中的应用[J]. 国外电子元器件, 2008(5): 57-60.
[7]黄俊祥, 陶维青. 基于MFRC522的RFID读卡器模块设计[J]. 微型机与应用, 2010(22): 16-18.
[8]Philips Semiconductors. Data Sheet of Mifare Standard Card IC MF1 IC S50 Functional Specification[DB/OL]. http: //www. philips. com/semiconductors, 1998.
收稿日期:2021-03-14
作者簡介:卢彬锋(1983—),男,本科,研究方向:电子应用智能制造、大数据分析。