微控制器软件设计的主要功能有哪些?

处理器/DSP

869人已加入

描述

1、 概述

早期的智能电子门锁是采用磁卡作为开门钥匙的磁卡锁,主要用于宾馆客房。随着半导体技术的发展,功能更强、可靠性更高的接触式 IC 卡智能电子门锁成为主流。接触式 IC 卡电子锁的主要优点是卡片存储容量大,有比较完善的完全机制。采用智能电子门锁,可灵活地设定多种开门权限,防止非法复制,实现分级管理和分区域管理。其时间控制功能和存储开门记录功能彻底改变了机械式门锁功能单一状况,使门锁成为管理体系的一部分,大大提高管理水平和服务水平,因此逐渐成为星级宾馆的基本设施之一。

进入 21 世纪,感应式 IC 卡(也称非接触式 IC 卡)技术迅速发展,新一代的基于感应式 IC 卡技术的智能电子门锁也应运而生。由于感应式智能电子门锁无机械接触,不会产生摩擦,因此减少了磨损和人为损坏,大大降低了故障率。目前,感应式电子锁的应用领域正不断扩展,已从传统的酒店业扩展到高级办公场所、高级公寓,甚至进入了家庭。

本文重点讨论适用于高级宾馆的感应式智能电子门锁系统。

2、 系统组成及功能

感应式智能电子门锁系统通常由智能电子门锁、感应卡、发卡管理软件、手持式 POS 机和发卡器等 5 个部分组成。下面介绍各部分的主要功能。

(1)智能电子门锁

安装于客户门上。当有感应卡接近锁体上的天线时,锁内的微控制器(MCU)自动启动读卡程序。如果读到的是有效卡,则驱动微电机,带动离合机构,此时按下手柄,锁就被打开;如果读到的是非有效卡,则发出无效卡提示,此时也能按下手柄,但锁无法被打开。

智能电子门锁的主要功能:

*分区管理功能——支持分区管理,服务卡仅在本服务区内有效;

*分级管理功能——支持服务区、楼层、楼座、酒店四级管理;

*时效控制功能——无论宾客卡还是职员卡,都有时效限制,到其自动失效;

*时间表功能——可在每周 7 天中,指定有效日和无效日;

*时间窗功能——可在每天 24 小时中,规定有效时段和无效时段;

*新卡替旧卡功能——新发的卡可自动终止旧卡;

*终止 / 恢复功能——可使用终止卡使指定客房门锁暂停使用,可使用恢复卡使暂停使用的客房门锁恢复使用;

*开锁记录功能——刷卡时,门锁将卡号和开门时间记录在锁中,供随时查询,最大记录数为 240 条;

*低电压提示功能——当电池电压低于 5.1V 时,绿灯和黄灯同时亮起,提醒用户换电池(低电压提示后,仍能开锁 100 次以上);

*反锁功能——开门卡可设定为允许开反锁或不允许开反锁;

*常开功能——办公型锁具有常开功能,酒店型无此功能。

(2)感应卡卡类型及功能如表 1 所列

表 1

mcu

(3)发卡管理软件

发卡管理软件的主要功能;

*系统管理——操作日志、密码更改、操作员设定、系统暂停;

*功能管理——用户信息、管理区域、房间设定;默认参数设置;

*通讯管理——门锁数据通信、基本信息查 / 询、开锁记录查询;

*客房管理——制宾客卡、客人退卡、改有效期、空房查询、入住情况、退卡查询;

*员工管理——制员工卡、退员工卡、改员工卡、员工卡查询、制处理卡。

(4)手持式 POS 机

手持式 POS 机用于发卡管理软件和智能门锁之间的信息沟通。发卡管理软件通过 RS232 串口将酒店识别号、房间号、读卡密码等信息下载到 POS 机,再由 POS 机通过 RS232 串口将酒店识别号、房间号、读卡密码等信息下载到智能门锁,同时可校对时间。同样,存放在锁内的开锁记录,也由 POS 机上传到发卡管理软件进行统计分析。

(5)发卡器

实际上,发卡器是一台 TEMIC 卡读写器,与发卡管理软件配合使用,完成发卡、锁卡、卡查询等功能。

3、 智能电子门锁设计

智能电子门锁是整个系统的关键设备。智能门锁的主要设计目标是:设计合理的卡数据结构,确保在实现功能的前提下,支持系统功能扩展,即支持“一卡通”功能;系统静态功耗更要足够低;具有很高的可靠性和足够的安全性。

(1)TEMIC 感应卡技术

德国 TEMIC 公司(现已被美国 Atmel 公司收购)研制开发了一系列非接触 IC 卡产品,包括 e5530、e5550、e5551、e5560、e5561 应答器芯片和 U2270B 读写基站芯片。应答器通常封装成卡片形式,也可以封装成玻璃管中。

下面简单介绍应答器 e5550。e5550 为带 264 位 EEPROM 的 TEMIC 标准读写应答器芯片,其存储区分为 8 个区,每区 33 位。0 位为该区锁定位,一旦锁上(置 1),该区即被“写保护“,阻止任何改写。0 区存放模式字,其读写操作取决于模式字的设置,如波特率、发送数据调制方式、最大允许传送数据区、口令和 AOR 功能及锁定位的设置等。1~6 区为用户数据区,可按区读写。7 区在口令模式工作时为口令区,如果不需要口令保护,7 区也可以与 1~6 区一样用做用户数据区。

读写基站芯片 U2270B 配以少量外围器件和耦合天线,与 MCU 一样构成读写器。也可以说,U2270B 读写基站芯片是 MCU 与应答器之间的通信接口。应答器进入 RF 磁场,经线圈感应得到电能并自动加电复位后,等待 256 个 RF 场时钟周期后,开始按照模式字设定的比特率和调制方式,对存储器相应区数据重复读取并发送。基站芯片对接收到的信号进行解调,并以曼彻斯特码方式发送给 MCU,曼彻斯特码解码工作由 MCU 程序完成。MCU 通过对基站芯片的 CFE 进行控制,以短间隙射频场中断的办法,将数据写入应答器。

(2)硬件设计

智能电子门锁的原理如图 1 所示。微控制器(MCU)采用美国 Microchip 公司的 8 位微控制器(PIC16F73)。红外线检测电路的作用是探测有无感应卡靠近,每隔一定时间,发射电路会自动射红外线信号,如有物体靠近,接收电路就会收到反射回来的红外线信号,并立即通知 MCU 进行读卡操作。感应卡读写 IC 在 MCU 驱动下,对感应卡进行读操作,然后将读到的数据曼彻斯特码形式返回给 MCU,由 MCU 通过程序解码;将解码后的卡上数据与存储器中存放的锁内参数进行核验,并依据当前时间,确定是否是有效卡;如果有效卡,则启动电机驱动电路开锁,同时将相关信息(开锁记录)存入存储器。MCU 通过 RS232 接口与手持式 POS 机进行通信,从 POS 机接收各种设置数据、校对时间等;在必要时可将锁内存放的开锁记录传送给 POS 机,然后传递到电脑,进行统计分析。低电压检测 电路自动对电池电压进行监测,一旦电池电压下降到规定值,立即通知 MCU,由 MCU 启动黄色低电压提示 LED,提醒客户尽快地换电池。电源电路在控制功耗方面起着重要作用。它在 MCU 的控制下为包括 MCU 在内各部分电路提供电源,并可以在不同状态下,根据实际需要改变电压值,从而使总体功耗保持最低,延长电池使用寿命。

(3)微控制器软件设计

MCU 控制软件整个系统中最重要的环境。我们使用汇编语言编程,采用自顶向下(top-down)的程序设计方法,遵循结构化程序设计的原则,使软件效率和可维护性较高。

软件主要分以下 5 个功能模块:初始化与自检模块、解码与读卡模块、数据校验模块、通信模块和串行存储器读写模块等。串行存储器读写模块的主要功能是,为其它模块提供访问串行存储器的读写模块子程序。因此,除串行存储器读写模块外,其余 4 个模块相对独立。这样,就降低了程序编制、调试的复杂性,提高了软件的可靠性和可维护性。

初始化与自检模块的功能是使系统恢复到初始状态,并对各硬件电路进行检测。检测范围包括:感应卡读写 IC 是否正常、实时时钟是否正常工作、串行存储器读写是否正确、红外线检测电路是否正常工作、电机驱动电路、蜂鸣器及 LED 显示等。利用 LED 的亮 / 灭组合指示故障电路,自检覆盖率达 90%以上,大大提高了生产和维修工作的效率。

解码与读卡模块主要负责驱动感应卡读写 IC,并对其返回的曼彻斯特码数据进行解码。提高解码的速度和成功率是编制该模块的难点。成功解码后,解码与读卡模块将读到的卡上数据以二进制码形式传送给数据校验模块进行处理。后者以当前时间和存放在串行存储器中的设置数据为依据进行校验,确认是否为有效卡,从而决定是否开锁,并完成写开锁记录、新卡替旧卡等操作。

通信模块负责控制与手挂式 POS 机的通信,利用 POS 机设置门锁的房间号、开始时间、结束时间、读卡密码、当前时间等重要参数,并将存放在锁内的开锁记录上传,以便传递到电脑进行统计分析。为防止非法操作,通信时要进行密码核对。

(4)低功耗技术

由于采用电池供电,在设计智能电子门锁时必须很好地解决低功耗问题。在静态时,平均电流应保持在 25μA 左右,这样,4 节 5 号碱性电池的使用寿命一般可达 1 年以上。为此,我们采取以下措施:

①选用 PIC16F73。该芯片在睡眠模式下,如果 I/O 口状态设置得当,电池可控制在 1μA 左右。

②尽可能降低晶振频率。由于 PIC16F73 采用了先进的 RISC 结构,即使在晶振频率较低的情况下,也能稳定工作,并提供足够的处理能力。

③尽可能延长睡眠时间,缩短工作时间。为此,采用了红外线探测技术。MCU 在 99%以上的时间内都处于功耗极低的睡眠状态,读卡 IC 等大多数电路也停止工作,只有红外线检测电路定时发射红外线信号。若无物体靠近,接收电路不会接收到红外线信号,MCU 就继续睡眠;如有物体靠近,接收电路就会收到反射回来的红外线信号,并立即通知 MCU 进行读卡操作。处理好红外线检测电路的灵敏度和抗干扰能力的关系非常重要,如果灵敏度太低,就会产生读卡反应慢的现象;如果对抗干扰能够不够,各种灯光或太阳光中的红外线可能引起误触发,使系统经常处于工作状态,都会严重影响系统性能。

④采用可由 MCU 控制的电源电路。当某些电路不工作时,就停止供电,等到需要工作时再供电;对某些电路,还可以降低供电电压,以达到节电的目的。

(5)安全性与可靠性

门锁系统在安全性方面需要解决的问题是:防止开门卡被非法复制;防止用非正常方式(如果工具拨、撬,用强力磁铁吸等)开锁;锁体具备一定程序的抗外力破坏能力。

为了防止开门卡被非法复制,每一张卡片在出厂以前都进行了加密,不同的客户使用互不相同的密码。发卡管理软件也用密码保护,避免非授权人员利用发卡管理软件非法制卡。由于采用三锁防拨锁芯,门关上时,防拨锁被门框压紧,自动锁定主锁,无法用工具拨开或撬开;电机带动的离合机构具有防强力磁铁吸合功能;锁制前锁体上无任何镙钉外露,防折防砸。

门锁系统的可靠性也非常重要。我们从硬件设计和软件设计两方面来提高系统的综合可靠性。在硬件方面,我们选用的主处理器 PIC16F73 具有较高的抗干扰能力,内部包含了具有独立 RC 振荡器的“看门狗(WDT)”电路,在程序跑飞时可自动将 CPU 复位,恢复正常运行;对存储重要数据的 EEPROM,采用硬件写保护措施,避免数据在受到干扰时丢失;尽量使用贴片元件,严格进行老化筛选,保证元件品质 PCB 布线方面,采取一系列措施,提高抗干扰能力。

在软件设计方面,我们通过刷新各寄存器和 SRAM 单元,确何即使这些寄存器或 SRAM 单元受到干扰而被修改,也能立即恢复。在程序中,避免危险程序结构也是提高可靠性的重要措施。有几种循环结构容易造成“死循环”隐串民,例如,在执行某个功能时,必须循环等待某个由中断或定时器产生的条件;由于等待的时间可能较长,在循环中会包含清 WDT 指令,这在正常流程中不会发生问题。但是,如果 PC 内容受到干扰而改变,程序跑飞后,正好落在这种循环中,此时中断或定时器可能未被打开,于是程序就会循环等待一个不可能出现的条件,即出现“死循环”。这种情况虽然出现概率较小,但也必须加以防止。

另外前面提到,为降低功耗,99%以上的时间内 MCU 都处于功耗极低的睡眠状态,大部分电路的电源被关闭。这种状态下,抗干扰能力也较强。

4、结语

上述感应式智能电子门锁经过充分测试和近 1 年的实际使用,结果表明,该系统在软硬件功能、完全性、可靠性、低功耗等方面都已达到了设计要求。由于在设计之初,就考虑到要实现“一卡通”应用,所以系统具有很好的扩展性。目前,已在酒店型智能电子门锁的基础上,发展出无需发卡管理软件,用户可自行发卡,独立使用的办公型电子门锁和家用型电子门锁系统,使用方便、安全可靠的保险箱系统,使用 RS485 总线联网的智能消费终端,门禁 / 考勤系统等 7 个产品的产品系列。这个产品系列中的各个产品,不但在功能上实现了“一卡通”,而且使用的许多元器件都是相同的,部分产品之间甚至可以互换电路板,降低了生产的复杂性和产品成本。
       责任编辑:pj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分