鐘 鳴
(蘇州市職業大學 機電工程學院,江蘇 蘇州 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通信模塊和無線網絡傳送給上位機進行信息匯總和存儲。本系統安裝方便,結構簡單,能自動實時進行考勤,具有較高的推廣價值。