基于单片机的低功耗安全防护控制装置及算法

文档序号:1875399 发布日期:2021-11-23 浏览:12次 >En<

阅读说明:本技术 基于单片机的低功耗安全防护控制装置及算法 (Low-power-consumption safety protection control device and algorithm based on single chip microcomputer ) 是由 李贺 方明 章阳 陈聪葱 王佳 姬叶华 邹志强 张佩 于 2021-07-21 设计创作,主要内容包括:本发明提供了一种基于单片机的低功耗安全防护控制装置及算法,主要包括单片机,主控制器以及安防触发控制电路;所述安防触发控制电路与单片机连接,所述单片机与主控制器连接进行带电模式下的正常数据通信;所述安防触发控制电路包括水浸触发电路、拔卡触发电路、开关触发电路、定时时间到触发电路、工作模式切换电路以及供电电源切换电路。本发明提供的安防控制装置在低功耗模式下锂电池使用寿命长,本安装控制装置可以根据具体的使用场合进行灵活变形和多路的扩展,且成本低,电路简单,触发高效。(The invention provides a low-power-consumption safety protection control device and algorithm based on a single chip microcomputer, which mainly comprise the single chip microcomputer, a main controller and a security trigger control circuit; the security trigger control circuit is connected with the single chip microcomputer, and the single chip microcomputer is connected with the main controller to carry out normal data communication in a live mode; the security protection trigger control circuit comprises a water immersion trigger circuit, a card pulling trigger circuit, a switch trigger circuit, a timing time-to-trigger circuit, a working mode switching circuit and a power supply switching circuit. The security control device provided by the invention has the advantages that the service life of the lithium battery is long in the low-power-consumption mode, the security control device can be flexibly deformed and multi-path expanded according to specific use occasions, the cost is low, the circuit is simple, and the triggering efficiency is high.)

基于单片机的低功耗安全防护控制装置及算法

技术领域

本发明涉及单片机领域,具体地,涉及基于单片机的低功耗安全防护控制装置及算法。

背景技术

在需要安全防护控制应用场合,经常需要对紧急情况下的关键数据和关键信息进行直接擦除或物理销毁等处理,以免重要信息泄露。安防控制触发的手段包括水浸、拔卡、开关、定时等多种常用方式,设备带电的正常工作模式下对该触发响应和处理只需要考虑响应速度,但系统下电后的安防控制就成为重中之重,要求设备在电源下电后只有锂电池供电的情况下,对其中的安防功能模块单独供电用于监控各安防输入状态并进行及时响应,要求待机状态下,以上各信号触发后可以及时唤醒处理器进行特定的安防控制步骤,同时要求待机状态下整个安防监控装置的功耗极低,以满足锂电池的使用年限要求。

目前的低功耗控制基本以单片机为核心控制单元,单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、多种I/O口和中断系统、定时器/计数器等功能(可能还包括现实驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。同时单片机具备电路简单、价格便宜等优点。

在公开号为CN103425235A中国专利文献中,公开了一种单片机低功耗待机电路及控制方法,包括MCU、电源VCC、NPN三极管Q1或PNP三极管Q1、电阻R1、电阻R2、开关SW1,所述MCU的I/O口可配置为输出高电平、输出低电平两种状态,两种状态可控制两种三极管导通或截止,进而控制MCU的通电或断电。

在公开号为CN208673086U的中国专利文献中,公开了一种低成本低功耗单片机定时唤醒电路,属于单片机管理电路领域,包括单片机、电阻R1、电阻R2、电容C1,所述单片机与电阻R1的一端连接,电阻R1的另一端与电容C1、电阻R2连接,电容C1与电阻R2的另一端均与地线连接。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种基于单片机的低功耗安全防护控制装置及算法。

根据本发明提供的一种基于单片机的低功耗安全防护控制装置,包括:单片机,主控制器以及安防触发控制电路;所述安防触发控制电路与单片机连接,所述单片机与主控制器连接进行带电模式下的正常数据通信;

所述安防触发控制电路包括水浸触发电路、拔卡触发电路、开关触发电路、定时时间到触发电路、工作模式切换电路以及供电电源切换电路。

优选的,所述供电电源切换电路包括第一电阻R1、第二电阻R2、第三电阻R3、第一二极管D1、第二二极管D2、第一电容C1、第二电容C2、第三电容C3以及锂电池;

第一电阻R1的一端为正常供电VCC_3V3端,所述第一电阻R1的另一端与第一二极管D1的正极连接,所述第一二极管D1的负极连接第三电阻R3的一端,所述锂电池的正极为VBAT端,所述锂电池的正极连接第二电阻R2的一端,所述第一电容C1的一端连接第二电阻R2的一端,所述锂电池的负极与第一电容C1的另一端连接并接地,所述第二电阻R2的另一端连接第二二极管D2的正极,所述第二二极管D2的负极连接第三电阻R3的一端,所述第三电阻R3的一端连接第二电容C2的一端,所述第二电容C2的另一端接地,所述第三电阻R3的另一端构成VMCU_3V3端,所述VMCU_3V3端分别连接单片机的VDD/DC+端、VBAT端以及第三电容C3的一端,所述第三电容C3的另一端接地,所述单片机的VDD/DC+端是单片机正常工作NORMAL模式下的供电引脚,VBAT端是单片机低功耗工作SLEEP模式下的供电引脚。

优选的,所述工作模式判断电路包括第一三极管Q1、第四电阻R4、第五电阻R5以及第六电阻R6,所述第一三极管Q1的集电极分别连接第六电阻R6的一端和第四电阻R4的一端,所述第四电阻R4的另一端构成PowerCheck引脚,所述PowerCheck引脚与单片机的P1.5的GPIO端口连接,所述第六电阻R6的另一端构成VMCU_3V3端,所述第一三极管Q1的基极与第五电阻R5的一端连接,所述第五电阻R5的另一端构成VCC_3V3端,所述第一三极管Q1的发射极接地。

优选的,电源正常供电时带电状态下,VCC_3V3为3.3V电压,PowerCheck引脚为低电平;仅有电池供电的掉电状态下,VCC_3V3为0V,PowerCheck引脚为高电平。

优选的,所述水浸触发电路包括第一探针、第七电阻R7以及第四电容C4,所述第一探针的一路连接第七电阻R7的一端,所述第七电阻R7的另一端接地,所述第一探针的另一路分别连接第四电容C4的一端和单片机的P1.1端口,所述第四电容C4的另一端接地。

优选的,所述拔卡触发电路包括第二探针、第八电阻R8、第九电阻R9以及第五电容C5,所述第二探针的一路连接第九电阻R9的一端,所述第九电阻R9的另一端接地,所述第二探针的另一端分别连接单片机的P1.2端口、第八电阻R8的一端以及第五电容C5的一端,所述第八电阻R8的另一端构成VMCU_3V3端,所述第五电容C5的另一端接地。

优选的,所述开关触发电路包括轻触开和第六电容C6,所述轻触开关的一端接地,所述轻触开关的另一端分别连接单片机的P1.3端和第六电容C6的一端,所述第六电容C6的另一端接地。

优选的,所述定时触发电路包括时钟芯片、第七电容C7、第八电容C8、第10电阻R10、第十一电阻R11以及第十二电阻R12,所述时钟芯片的信号为DS3232,所述时钟芯片的VCC引脚连接第十电阻R10的一端,所述第十电阻R10的另一端接地,所述时钟芯片的INT#引脚分别连接单片机的P1.4端口和第七电容C7的一端,所述第七电容C7的另一端接地,所述时钟芯片的SCL引脚分别连接第十二电阻R12的一端和单片机的P0.7端口,所述时钟芯片的SDA引脚分别连接第十一电阻R11的一端和单片机的P0.6端口,所述第十一电阻的另一端与第十二电阻R12的另一端连接并构成VMCU_3V3端,所述时钟芯片的VBAT端连接第八电容C8的一端,所述时钟芯片的VBAT端构成VMCU_3V3端,所述时钟芯片的GND端与第八电容C8的另一端连接并接地。

优选的,所述主控制器包括ARM芯片和DSP芯片,所述主控制器与单片机通过串口或I2C接口连接。

根据本发明提供的一种基于单片机的低功耗安防控制算法,包括以下步骤:

步骤S1:上电初始化:对单片机的GPIO端口进行初始化,对拔卡触发判定端口设置为模拟输入,通过比较器判定该事件的发生;对水浸、开关、定时触发判定端口设置为数字输入,通过定时器周期扫描端口状态判定以上事件的发生,对比较器CP0和定时器Timer0进行初始化;

步骤S2:进入主循环,根据P1.5端口PowerCheck电平状态,分支为两个子循环,一个是电池供电下的sleep模式子循环,另一个是正常供电下的normal模式子循环。

步骤S3:若P1.5为高电平,则进入sleep模式子循环,设置单片机进入sleep模式并设置唤醒源为比较器0和端口匹配,若没有触发,则单片机处于低功耗的模式,若有水浸、拔卡、开关、定时及工作模式改变的任一触发事件发生,则单片机被唤醒,此时读取唤醒源状态寄存器,先判断唤醒源种类,再判断唤醒源具体为何,再去执行对应的响应动作。

步骤S4:若检测判定P1.5为低电平,则进入normal模式子循环,单片机正常顺序执行系统所需的各任务处理流程,水浸、拔卡、开关、定时及工作模式的触发判定通过中断方式进行响应,其中拔卡通过比较器0中断实现,水浸、开关、定时及工作模式的触发判定通过定时器中断定时扫描端口状态实现。

步骤S5:当P1.5电平状态发生改变,会在下一次循环判定时切换进入到相应的工作模式,主循环中会不断的在触发事件响应完毕后进行两种分支子循环的重新判定,从而使系统按需运转。

与现有技术相比,本发明具有如下的有益效果:

1、本发明开发出使用C8051F912单片机完成的低功耗的安防控制装置,低功耗sleep工作模式下的安防触发控制通过配置相应唤醒源的方式实现,实测sleep模式下系统电流不大于10μA,当选用CR2450锂电池时,其电池电量为580mAh,轻松满足装置在低功耗的sleep模式下锂电池的使用寿命长达5年以上;

2、本发明依托C8051F912单片机,开发出适用的两种低功耗的触发配置方式,一种是常态为高电平,触发态为瞬态低电平,适于配置为数字式输入;另一种为常态为低电平,触发态为持续高电平,适于配置为模拟式输入。可以根据具体的使用场合进行灵活变形和多路的扩展;

3、本发明提供了一种低成本的安防控制方案,电路简单、触发高效,在掉电sleep模式下通过唤醒触发方式响应各种触发事件,同时,单片机可扩展连接存储电路,触发事件发生时可进行关键数据的擦除或直接物理销毁动作;同时单片机还可以通过串口或者I2C等常用接口与其他主控制器(如ARM、DSP或其他SOC芯片)互连,在带电normal模式下响应到触发时间还可以传递给主控制器,便于扩展完成系统中的其他重要任务。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明基于单片机的低功耗安防控制装置示意图;

图2为本发明中供电电源切换电路图;

图3为本发明中工作模式判断电路图;

图4为本发明中水浸触发电路图;

图5为本发明中拔卡触发电路图;

图6为本发明中开关触发电路图;

图7为本发明中定时触发电路图;

图8为本发明中单片机低功耗安防控制算法图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

本发明专利包含两部分,一部分为低功耗单片机安防控制装置的硬件设计框图以及各触发电路具体实现的硬件电路,实现了电源在正常供电和电池供电下的切换、工作模式的判断以及各触发方式下触发电路的搭建;另一部分是单片机低功耗安防控制算法,实现了正常模式下的触发控制以及sleep低功耗模式下的唤醒触发控制。

如图1所示,本发明的硬件系统框图,单片机选用SILICON LABORATORIES的C8051F912,单片机直接与安防触发控制电路进行连接,安防触发控制电路包括水浸触发电路、拔卡触发电路、开关触发电路、定时时间到触发电路、工作模式切换电路以及供电电源切换电路;同时,通过串口(或者I2C等其他常用通信接口)与主控制器进行带电模式下的正常数据通信,实现系统功能的扩展,主控制器包括ARM芯片、DSP芯片以及其他SOC控制器芯片。

如图2所示,供电电源切换电路,供电电源切换电路包括第一电阻R1、第二电阻R2、第三电阻R3、第一二极管D1、第二二极管D2、第一电容C1、第二电容C2、第三电容C3以及锂电池,第一二极管D1和第二二极管D2的型号均为BAT54C。

第一电阻R1的一端为正常供电VCC_3V3端,第一电阻R1的另一端与第一二极管D1的正极连接,第一二极管D1的负极连接第三电阻R3的一端,锂电池的正极为VBAT端,锂电池的正极连接第二电阻R2的一端,第一电容C1的一端连接第二电阻R2的一端,锂电池的负极与第一电容C1的另一端连接并接地,第二电阻R2的另一端连接第二二极管D2的正极,第二二极管D2的负极连接第三电阻R3的一端,第三电阻R3的一端连接第二电容C2的一端,第二电容C2的另一端接地,第三电阻R3的另一端构成VMCU_3V3端,VMCU_3V3端分别连接单片机的VDD/DC+端、VBAT端以及第三电容C3的一端,第三电容C3的另一端接地。单片机的VDD/DC+端是单片机正常工作NORMAL模式下的供电引脚,VBAT端是单片机低功耗工作SLEEP模式下的供电引脚。

单片机C8051F912的VDD/DC+和VBAT相应引脚均连接到VMCU_3V3,VMCU_3V3是正常供电VCC_3V3和电池VBAT经过BAT54C的后端输出。VBAT是锂电池两端电压,正常3.3V且会越来越小,VCC_3V3是正常带电电压,正常可达3.35V,且基本在相应的纹波范围内不改变。当VCC_3V3存在时,VMCU_3V3输出以VCC_3V3为准,当VCC_3V3不存在时,VMCU_3V3输出以VBAT为准。供电电源切换电路实现正常供电与电池供电下的切换,保证VMCU_3V3供电电压一直存在(除非电源下电时同时电池电量耗尽)。

如图3所示,工作模式判断电路:工作模式判断电路包括第一三极管Q1、第四电阻R4、第五电阻R5以及第六电阻R6,第一三极管Q1的集电极分别连接第六电阻R6的一端和第四电阻R4的一端,第四电阻R4的另一端构成PowerCheck引脚,PowerCheck引脚与单片机的P1.5的GPIO端口连接,第六电阻R6的另一端构成VMCU_3V3端,第一三极管Q1的基极与第五电阻R5的一端连接,第五电阻R5的另一端构成VCC_3V3端,第一三极管Q1的发射极接地。

工作模式判断电路中第一三极管Q1型号为2N3904搭建判定电路,电源正常供电时带电状态下,VCC_3V3为3.3V电压,PowerCheck引脚为低电平;仅有电池供电的掉电状态下,VCC_3V3为0V,PowerCheck引脚为高电平;PowerCheck判定信号接入单片机C8051F912的P1.5的GPIO端口。工作模式判断电路通过PowerCheck信号与单片机P1.5 GPIO端口相连,实现工作模式转变后PowerCheck电平状态改变,从而单片机通过读取P1.5端口状态获取当前应处于的工作模式。

如图4所示,水浸触发电路,水浸触发电路包括第一探针、第七电阻R7以及第四电容C4,第一探针的一路连接第七电阻R7的一端,第七电阻R7的另一端接地,第一探针的另一路分别连接第四电容C4的一端和单片机的P1.1端口,第四电容C4的另一端接地。

水浸触发电路是两探针信号插入水中产生短路进行触发,其中1路探针信号为GND,另一路信号接入单片机C8051F912的P1.1的GPIO端口,同时对地连接0.1uF电容进行防抖。水浸触发电路,实现水浸探针在水中短路后,水浸触发,WaterDestroy+信号电平发生改变,单片机通过读取P1.1端口状态获取这一触发事件,从而做出相应的动作。

如图5所示,拔卡触发电路,拔卡触发电路包括第二探针、第八电阻R8、第九电阻R9以及第五电容C5,第二探针的一路连接第九电阻R9的一端,第九电阻R9的另一端接地,第二探针的另一端分别连接单片机的P1.2端口、第八电阻R8的一端以及第五电容C5的一端,第八电阻R8的另一端构成VMCU_3V3端,第五电容C5的另一端接地。

拔卡触发电路是两探针信号在底板上常态短接,模块拔出后断开进行触发。其中1路探针信号为51K电阻下拉到GND,另一路信号为上拉1M电阻到电源并接入单片机C8051F912的P1.2的GPIO端口,同时对地连接0.1uF电容进行防抖。拔卡触发电路,实现模块从机箱拔出时板卡常态短路的两个探针分离,拔卡触发,P1.2端口的CardDestroy+模拟电压值发生改变,单片机通过配置的比较器输出的状态改变获取这一触发事件,从而做出相应的动作。

如图6所示,开关触发电路,开关触发电路包括轻触开和第六电容C6,轻触开关的一端接地,轻触开关的另一端分别连接单片机的P1.3端和第六电容C6的一端,第六电容C6的另一端接地。

开关触发电路是轻触开关按下(触发信号与GND短接)进行触发,松开后恢复常态,其中触发信号接入单片机C8051F912的P1.3的GPIO端口,同时对地连接0.1uF电容进行防抖。开关触发电路,轻触开关按下后,实现按键两端瞬时短路,松开后按键两端重新分离,开关触发信号SwitchDestroy在此过程中电平发生改变,单片机通过读取P1.3端口状态获取这一触发事件,从而做出相应的动作。

如图7所示,定时触发电路,定时触发电路包括时钟芯片、第七电容C7、第八电容C8、第10电阻R10、第十一电阻R11以及第十二电阻R12,时钟芯片的信号为DS3232,时钟芯片的VCC引脚连接第十电阻R10的一端,第十电阻R10的另一端接地,时钟芯片的INT#引脚分别连接单片机的P1.4端口和第七电容C7的一端,第七电容C7的另一端接地,时钟芯片的SCL引脚分别连接第十二电阻R12的一端和单片机的P0.7端口,时钟芯片的SDA引脚分别连接第十一电阻R11的一端和单片机的P0.6端口,第十一电阻的另一端与第十二电阻R12的另一端连接并构成VMCU_3V3端,时钟芯片的VBAT端连接第八电容C8的一端,时钟芯片的VBAT端构成VMCU_3V3端,时钟芯片的GND端与第八电容C8的另一端连接并接地。时钟芯片的32KHZ引脚是32.768KHZ时钟输出端口,本发明不使用,悬空不外接;时钟芯片的RST#引脚是漏极开漏输入/输出的低电平有效的复位引脚,本发明仅使用芯片内部50KΩ连接至VCC引脚的上拉电阻功能,上电自复位,悬空不外接。

定时触发电路采用DS3232时钟芯片做RTC时钟功能,同时可以设置时间和定时报警时间,定时时间到产生触发信号。触发信号接入单片机C8051F912的P1.4的GPIO端口,同时对地连接0.1uF电容进行防抖。定时触发电路,采用RTC芯片DS3232实现定时和报警功能,通过芯片中断输出引脚TimeDestroy与单片机P1.4互连,定时时间到事件触发,单片机通过读取P1.4端口状态获取这一触发事件,从而做出相应的动作。

如图8所示,为单片机低功耗安防控制算法,通过对单片机C语言编程实现:

步骤1:上电初始化:对GPIO口进行端口初始化,为避免外接上拉电阻引入大量的电流消耗,使能单片机端口的弱上拉功能。对拔卡触发判定端口设置为模拟输入,通过比较器判定该事件的发生;对水浸、开关、定时触发判定端口设置为数字输入,通过定时器周期扫描端口状态判定以上事件的发生,故还需要对比较器CP0和定时器Timer0进行初始化,此外,需要对系统正常工作所需的单片机其他功能模块进行初始化。

步骤2:进入主循环:在while(1)主循环中,根据P1.5端口PowerCheck电平状态,分支为两个子循环,一是电池供电下的sleep模式子循环,另一个是正常供电下的normal模式子循环。

步骤3:若一开始P1.5为高电平,则进入sleep子循环,设置单片机进入sleep模式并设置唤醒源为比较器0(CP0上升沿)和端口匹配(PORT_MATCH)。若一直没有触发,则单片机一直处于低功耗的模式,实测电流消耗仅为8μA左右,若有水浸、拔卡、开关、定时及工作模式改变的任一触发事件发生,则单片机被唤醒,此时读取唤醒源状态寄存器,先判断唤醒源种类,再判断唤醒源具体为何,从而去执行对应的响应动作。

步骤4:若检测判定P1.5为低电平,则进入normal子循环,单片机正常顺序执行系统所需的各任务处理流程。为了提高响应速度、提高安防处理效率,此时,水浸、拔卡、开关、定时及工作模式的触发判定通过中断方式进行响应,其中拔卡通过比较器0(CP0上升沿)中断实现,其他通过定时器中断定时扫描端口状态实现。

步骤5:当P1.5电平状态发生改变,会在下一次循环判定时切换进入到相应的工作模式,也就是说,主循环中会不断的在触发事件响应完毕后进行两种分支子循环的重新判定,从而使系统按需运转。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于以太网控制器的智能网卡

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!