基于单片机PIC的车载IC卡自动检票机设计
0 引言
随着科学技术的进步、社会经济的飞速发展,IC卡正越来越广泛地应用于人们生活的各个领域。车载IC卡自动检票机以能够反复使用的IC卡作为付费介质,用户在其中存入一定金额,乘车时将卡靠近检票机,检票机自动扣去当次票价,并转存在检票机中,实现了无现金交易。IC卡公共汽车自动售票系统不仅可以减轻售票员的劳动强度,还可以避免工作出错,从而提高了公交公司的管理水平[2]。该文设计的IC卡自动检票机采用PIC 单片机作为主控制器,实现了低功耗、高可靠性的设计需求。
1 车载IC卡自动检票机的功能
车载IC卡自动检票机是公交车上使用的收费设备,乘客的刷卡数据将记录在车载机中,然后用数据采集盒或其他专用设备将车载机中的数据下载,并送往数据采集工作站的分公司,传入PC 机。最后使用通信线路将数据传至总公司IC卡管理中心进行汇总。
1) 检票功能: 当有IC卡靠近检票机的有效工作范围时,读取IC卡的标识码,辨别乘客类别,并进行相应的读写操作。成功扣除当次票价后,蜂鸣器发出短“滴”声,同时绿灯闪亮。
2) 数据存储功能:对成功刷卡的数据进行保存,包括营业额、用户卡号、刷卡时间、用户卡类型等数据; 对刷卡处理不完全的或列入黑名单的卡也能予以记载。
3) 参数设置功能: 车载机可以通过设置卡进行线路、票价、车号、机号、时间的设置。
4) 查询功能: 按查询按钮可以翻查乘客的刷卡记录、当班司机的签到情况及运营情况。
5) 时间校准功能:可以用带有时间校准任务的采集盒,在采集数据时自动校准车载机的时钟。
6) 显示功能: 可以显示乘客卡类型、卡号、刷卡时间、当次票价、卡内余额; 司机卡号、签到时间等信息。
7) 报警功能: 包括语音报警、指示灯提示、LCD显示。对余额不足、伪卡、不正确刷卡、黑名单卡等情况及时报警。
8) 电源监控功能: 当系统电压过低或掉电时,系统采取自我保护措施,并保存重要数据。
2 系统的硬件结构设计
在设计中,选用低功耗的PIC 系列单片机作为主控制器。该系列单片机容量适中、功能丰富、运行速度快、性能可靠、价格低,满足车载机的设计要求。结构框图如图1 所示。
图1 自动检票机的结构框图
2. 1 RS232 与无线通信
系统设计了2 个标准的RS232 接口和一个无线通信接口。其中一个RS232 接口用于系统设置,一个用于通信。在采集数据时,一般将数据采集盒插入RS232 通信接口进行数据采集,也可以使用带有无线通信功能的采集器进行数据采集及下传黑名单和运营参数。
目前,车载机中使用的无线通信种类繁多,有红外线、蓝牙、2. 4G 等。无线红外技术带宽大,稳定性佳。但红外无线传输技术对指向性要求很高,稍微偏离角度就不能进行操作; 另外,红外无线传输对于发射功率要求较高。
2. 4G 技术可以双工工作,单向传输速率可达2 Mbps,但价格较高。由于蓝牙成本低,保密性好,目前的技术已经相当成熟,性价比较高,所以在设计中使用蓝牙技术。
2. 2 IC卡读写与数据存储
当IC卡靠近读写器时,车载机读取IC卡的各种数据信息,并进行相应的处理。设计中选用13. 56 MHz的MF RC500 来完成对MIFARE1 射频IC卡信息的读写工作。MF RC500 内部包括安全和密码控制单元,支持快速CRYPTOI 加密算法,可用于验证Mifare1 IC卡; MF RC500 与IC卡的通信距离最大为100 mm。在IC卡进入工作范围后,卡与读写器之间必须进行3 次双向认证,只有认证通过后,才可读写数据。此外,MIFARE1 卡具有16 分区,各个分区都有自己的读写密码和访问机制,能应用于不同的场合或系统,有很强的扩展性,可以真正做到“一卡多用”。
存储器EEPROM 24C64 用于存放营业额、用户卡号、黑名单等数据。当IC卡读写完毕,成功刷卡后,当次扣除的金额及用户卡号等信息将自动存入24C64。
2. 3 显示器与按钮设计
显示器主要用来完成检票机所扣金额和用户所持IC卡内余额的显示。设计采用带字库的128 ×64 LCD 显示器,其特点是功耗低,可靠性高,电路简单。
按钮设计有查询按钮和设置按钮。操作员按查询按钮一次,查询最后一位乘客的刷卡记录,再按动一次,查询前一位乘客的刷卡记录; 连续按查询按钮2 次,可以查询司机卡号、签到时间、营业额。按动设置按钮,可以设置参数、翻查车载机的设置情况及取消报警。
2. 4 电源监控电路
由于一些因素,可能导致系统电压过低或掉电,利用电源监控电路可进行数据保存,防止数据丢失。该部分选择DS1232 监控芯片来完成。DS1232 是一个具有看门狗功能的电源监测芯片,在电源上电、断电、电压瞬态下降和死机时都会输出一个复位脉冲,十分适合电源监控电路。
3 系统的软件设计
3. 1 主程序
主程序流程如图2 所示。第1 步,在系统开始检票以前,各个模块先进行初始化。第2步,当没有IC卡靠近检票机的有效工作区域时,检票机上的显示模块显示“欢迎乘坐”及时间。当有IC卡靠近时,先验证是否是本系统下发的IC卡,如果不是,则采用蜂鸣器报警,如果是,则进行读卡操作; 第3 步,读取IC卡的特征码,辨识该IC卡是管理员卡,司机卡,还是乘客卡,并执行相应的处理程序。如果不是这3 类卡,则判定是伪卡,不能进行刷卡。
图2 主程序流程图
3. 2 乘客卡处理
乘客卡的处理子程序流程如图3 所示。当判定为乘客卡后,系统再根据第二套特征码进行辨识,判断该卡是优惠卡、老人卡、学生卡还是普通卡。判断完后,系统将按照事先设置好的票价,从IC卡中的余额扣除当次票价,并将所扣金额加到营业额,保存刷卡记录。为了系统更加人性化,乘客刷卡成功后,系统发出“嘀”声,且绿灯亮。当乘客卡中的金额少于当次票价时,系统发出“嘀、嘀”的报警声,并且语音提示“余额不足,请投币”,红灯亮。司机可以按动设置按钮一次,取消报警。当乘客卡中的金额少于5 元时,每次成功刷卡后,系统语音提示“请充值”。
图3 乘客卡处理子程序流程图
3. 3 黑名单卡处理
为了防止伪造卡、丢失卡的非法使用,在读取乘客卡号时,系统将与黑名单进行比对。若发现黑名单卡,则发出“嘀嘀嘀”的报警声,红灯闪烁,并将该卡锁定,做上标记。为了黑名单能够实时更新。数据采集盒在数据采集工作站进行数据处理时,工作站会自动将数据采集盒中的黑名单更新;数据采集盒在对车载机进行数据采集时,会自动将新版本黑名单下载至车载机。
4 结语
公交车载自动检票机的使用,使得目前公交行业中的收费工作大为简化,且更具开放性。所设计的基于PIC 的非接触式IC卡检票机,抗振性能好、可靠性高、实用性强,收费过程所需时间短,操作简便,大大提高了工作效率。另外,非接触式IC卡的使用寿命较长,该文所选的IC卡分区多,加密性好,为以后实现“交通一卡通”奠定了基础。
评论