钟 鸣
(苏州市职业大学 机电工程学院,江苏 苏州 215104)
随着我国人口数量的增加,高等院校的数量和规模不断扩大,在校学生人数也在不断增加。据统计,2019年全国共有普通高等学校2 688所,比上年增加25所,增长了0.94%,普通高等学校校均规模11 260人[1]。高校学生数量的增加,加上高校校区规模的扩大,必然给高校的考勤工作带来难度。传统的考勤方式多以人工点名为主,往往需要多人参与,过程繁琐,效率较低;考勤数据很多以纸质方式存储,往往不准确,又容易丢失。因此,笔者针对上述问题设计了一种教室自动考勤系统。
教室自动考勤系统分为三层结构,第一层为上位机,第二层为教室管理节点,第三层为座位检测节点。第一层上位机一般设置到学校教务人员办公室,储存有学校的学生信息、教室信息、考勤信息等,上位机与第二层教室管理节点连接。第二层教室管理节点安装在每个教室的讲台,教室管理节点是上位机和座位检测节点之间信息交互的中间桥梁,同时也是提供给任课教师信息交互的界面。第三层座位检测节点安装在教室的每个座位,实时采集学生的出勤情况,并将采集的信息传递给第二层教室管理节点,再由教室管理节点传递给上位机,上位机进行信息汇总,并将考勤信息反馈给教室管理节点,任课教师就可以获取当前的考勤信息。对于整个教室自动考勤系统而言,每个座位就是一个控制对象,因而本次设计的系统具有控制对象多、分布分散、控制距离长的特点;同时,考勤的情况随时发生变化,系统需要实时采集并传送信息,因此采用分布式控制体系实现总体设计。
GPRS是指“通用无线分组业务”,是在GSM(全球移动通信系统)的基础上建立的一种无线分组交换系统,非常适合突发性、间断性或者数据量比较小但是数据收发比较频繁的数据传输[2]。本系统中第一层和第二层的数据传送需要实时处理,一次传送一般只涉及到一个教室管理节点信息,所以采用GPRS来实现非常适合。本系统的第二层和第三层也需要进行信息传递,考虑到一个教室管理节点所对应的座位检测节点较多,可以采用CAN总线技术来满足设计要求。CAN总线是当前自动化领域技术发展的热点之一[3],是国际标准化组织(International Standards Organization,ISO)的一种串行总线通信协议,协议较完善,基于CAN总线的分布式控制系统可以实现各节点之间实时、可靠的数据传输[4]。因此本文将结合GPRS与CAN总线组建三层结构,实现教室自动考勤系统的设计,系统结构框图如图1所示。
图1 教室自动考勤系统结构框图
单片机是实现教室自动考勤系统的最主要控制器。整个系统的输入输出通过单片机协同工作,同时,通过单片机实现和上位机及BUS总线的通信。系统采用低功耗、高性能的STC12C5A60S2单片机。STC12C5A60S2单片机是宏晶科技生产的8位单片机,在原有的MCS-51内核基础上做了很多改进,是新一代增强型单片机。STC12C5A60S2的指令代码完全兼容传统8051,但运行速度快8倍~12倍。STC12C5A60S2内部集成MAX810专用复位电路、2路PWM、8路高速10位A/D转换,这也使得STC12C5A60S2单片机在很多控制系统中成为主要的控制单元。本系统在教室管理节点以及座位检测节点均采用STC12C5A60S2单片机进行信息处理。
座位检测节点安装在教室的每个座位。在每个座位的课桌上安装有指纹采集模块,用于采集就坐学生的指纹。每个座位的座椅上安装有压力检测模块,用于采集座位上是否有人入座,以及监控就坐时间。以上信息经过单片机处理后通过CAN总线传送给教室管理节点。座位检测节点的原理框图见图2。
图2 座位检测节点的原理框图
教室自动考勤系统的教室管理节点安装在每个教室的讲台上。教室管理节点是座位信息和上位机信息进行交互的中间桥梁,单片机将接收到的每个座位上的指纹信息和就坐信息通过GPRS通信模块和无线网络传送给上位机,上位机在下课前将统计汇总的信息通过无线网络传送给教室管理节点单片机,单片机连接的液晶显示器上可显示当前课程缺勤学生信息及缺勤时间。教室管理节点的原理框图如图3所示。
图3 教室管理节点的原理框图
本系统选取PHILIPS公司的SJA1000CAN总线通信控制器。SJA1000是一种独立控制器,用于移动目标和一般工业环境中的区域网络控制。SJA1000作为一种高集成度CAN控制器,支持CAN2.0规范,具有多主结构、总线访问优先权、成组与广播报文功能及硬件滤波功能[5]。本系统中教室管理节点与座位检测节点之间需要进行通信,且座位检测节点一般较多,考虑到距离和干扰因素,本系统选用PCA82C250作为CAN收发器。PCA82C250是工业设计中广泛使用的CAN收发器,完全符合“ISO11898”标准,它具有速度快、抗电磁干扰能力强、总线保护等性能优点。CAN通信部分的硬件电路图如图5所示。PCA82C250是CAN总线通信控制器与物理总线之间的接口,PCA82C250的TXD为发送引脚,提供向CAN总线的差动发送能力;RXD为接收引脚,提供CAN控制器的差动接收能力。SJA1000的外部振荡输入引脚XTAL1与STC12C5A60S2的XTAL2晶振引脚连接,解决CAN总线的时钟同步的问题。本文所设计的系统由于传输距离远,考虑到干扰信号,因此SJAl000的TX0与RX0不直接与PCA82C250的TXD和RXD相连。因为系统中座位检测节点较多,且座位检测节点之间距离较近,因此系统选用高速光耦6N137与PCA82C250相连,这样很好地实现了总线上各CAN节点间的电气隔离问题。
图4 CAN总线的硬件电路图
座位检测节点需要采集入座学生的个人信息及入座时间,分别选用指纹采集模块和压力检测模块。指纹采集模块选取FM-70光学指纹模块。FM-70光学指纹模块是具有指纹录入、图像处理、指纹比对和储存等功能的智能型模块。FM-70的模块数据发送引脚TD和STC12C5A60S2的数据接收端RXD连接,FM-70的模块接收引脚RD和STC12C5A60S2的数据发送端TXD连接,实现FM-70指纹模块与单片机的串口通信。本系统采用压力检测模块来实时采集座位压力数据以此判断座位是否空闲。压力检测模块主要由称重传感器组成,系统选用ZEMIC L6LC3-100 kg称重传感器。ZEMIC L6LC3-100 kg采集到的电压信号经过放大后与STC12C5A60S2的P1.0和P1.1连接,STC12C5A60S2对A/D处理转换的数字信号处理后得出重量,以此判断座位是否空闲。
在Keil软件中实现教室自动考勤系统的软件设计,采用C语言分别对各个座位检测节点、各个教室管理节点以及上位机三层进行了程序设计。各部分程序按模块划分。其中指纹程序模块主要实现指纹的录入,包括图像采集、图像分割、二增值处理和细化处理等;通信模块主要解决CAN总线和GPRS的通信设置;液晶程序模块主要实现液晶屏上实时显示教室管理节点上的考勤情况;上位机模块主要实现数据识别、存储、判断等;压力检测模块完成座位有无学生的检测与分析。
本文介绍了基于单片机的教室自动考勤系统的设计。该系统能实时采集教室座位上的学生指纹及入座时间,通过CAN总线将信息传递给教室管理节点,教室管理节点再通过GPRS通信模块和无线网络传送给上位机进行信息汇总和存储。本系统安装方便,结构简单,能自动实时进行考勤,具有较高的推广价值。