一種基于CAN總線的高校食堂刷卡系統的設計方案
2.3串口通信接口電路設計
設計采用9芯的RS232C接口實現下位機與上位機之間的通信,AT89S52本身帶有一個全雙工UART串行通道,在硬件電路設計中,為了使AT89S52單片機的輸入輸出TTL電平與PC機配置的RS232C標準串行接口二者的電氣規范一致,本系統采用MAX232芯片實現AT89S52與PC機的RS232C標準接口電平之間的轉換。
2.4CAN總線接口電路設計
系統采用CAN通信控制器SJA1000和CAN收發器PCA82C250設計CAN總線節點接口電路。在硬件電路設計時,總線末端的2個120Ω電阻,對于匹配總線阻抗起著非常重要的作用。如果忽略掉它們,會使數據通信的抗干擾能力及可靠性大大降低,甚至無法通信。
2.5鍵盤輸入電路設計
鍵盤電路用來接收用戶刷卡消費輸入的金額,所以一個穩定、占用系統資源少的人機對話通道非常重要。傳統的鍵盤電路設計,不管是獨立式鍵盤還是矩陣式鍵盤,都非常浪費微控制器的端口資源,而且還需要人為進行去抖動處理,且抗干擾能力差。為了克服上述弊端,本系統采用廣州周立功單片機發展有限公司自行設計的一款數碼管顯示驅動及鍵盤掃描管理芯片ZLG7290來設計鍵盤電路。
2.6液晶顯示模塊電路設計
液晶顯示模塊電路用來提示用戶刷卡消費的信息,為了使系統人機交互界面友好,液晶顯示模塊電路采用長沙太陽人公司生產的SMG12864G3-ZK型液晶來設計。為了節約單片機的I/O資源,液晶模塊采用串行接口方式。
2.7系統復位電路設計
為了使單片機AT89S52和CAN控制器SJA1000同時復位,本系統采用IMP708復位芯片設計復位電路。IMP708為微處理監控芯片,具有系統復位、掉電復位、手動復位、“看門狗”、定時輸出、電源電壓監測、具有不同復位電壓等特點。該芯片功耗低、使用簡單、價格低廉、可靠性高,應用十分廣泛。
3、系統軟件設計
本系統的軟件設計分為上位機和下位機2部分。下位機軟件設計需要完成系統發卡節點和刷卡節點軟件的開發,針對各節點要完成的功能及要求,展開具體的分析、繪制程序流程圖、設計各功能模塊軟件程序。上位機監控程序的開發是本系統的一個難點和重點,主要實現上位機和下位機之間的通信、對發卡節點的命令操作、注冊用戶、消費信息實時管理、用戶數據管理等功能。
3.1發卡節點程序設計
發卡節點主要完成用戶的充值、串口通信等操作,結合硬件電路設計,為了實現各模塊的功能,發卡節點的軟件總體設計流程如圖4所示。

3.2刷卡節點程序設計
刷卡節點主要完成的功能有讀卡序列號、讀錢包、扣款、過程液晶顯示、CAN總線發送消費結算信息給上位機。根據節點的硬件電路和設計的功能要求,刷卡節點程序總體設計的流程如圖5所示。

3.3上位機程序設計
上位機程序的設計采用VisualC++6.0MFC編程技術來實現,需要實現用戶信息的注冊或注銷、卡充值、卡扣款、用戶信息查詢和修改等功能,同時建立與數據庫的連接能將用戶消費結算信息實時更新并儲存到數據庫中。系統上位機串口通信程序采用的是ActiveX控件MSComm進行編程,數據庫編程采用ADO技術,使用數據庫管理軟件SQLServer2000。根據系統的設計任務和要求,上位機軟件功能框圖如圖6所示。
4、結語
系統成功的實現了上位機與下位機之間的軟硬件調試,運行穩定,效果良好。系統操作能對用戶進行注冊或注銷、用戶信息查詢以及卡充值、卡扣款,并能將用戶的消費結算信息實時更新至數據庫中。本設計實現了安全、可靠、便捷的發卡和刷卡,達到了預期效果。
評論