概述
MAXQ3210微控制器是一款功能强大的RISC微控制器,器件所具备的功能和特性使其非常适合电池供电的监控和音频报警系统。微控制器内部集成了5V至9V稳压器、压电扬声器驱动器和模拟比较器,大大降低了系统的元件数量。另外,停机模式、唤醒模式等多种低功耗特性使其在9V电池供电时能有效延长工作时间。
本应用笔记提供了一个利用MAXQ3210微控制器实现水位监测及音频报警的系统,该系统利用矿物质对水的电导率的影响来检测水位,并在必要时给出报警信号。本文介绍的方案还不能直接用作最终产品,只是说明有效利用MAXQ3210功能的案例。实例中使用的水位检测机制并未在极端环境下进行可靠性测试,也没有对其长期工作的有效性进行评估。本应用笔记提供的只是一个简单案例,可以对自来水进行有效的监测。
本应用笔记中的程序针对MAXQ3210编写,并进行了测试,也可以运行在包含类似资源的其它MAXQ器件,如MAXQ3212。例程开发环境是MAX-IDE 1.0版和MAXQ3210评估板修订版B版。关于评估套件的详细信息,请参见MAXQ3210EVKIT。
工作原理
本应用笔记将详细讨论MAXQ3210的功能及特性,MAXQ3210的内部比较器允许使用最少外围器件实现简单的水位监测系统。通过使用处理器的低功耗休眠模式和唤醒定时器,使电池供电监测报警系统在绝大部分时间处于停机模式,只是周期性地唤醒系统检测水位,判断是否发出报警信号。
以下部分说明MAXQ3210的一些功能及在本应用如何有效利用这些功能,并对这些功能的结构、设置进行说明。
水监测传感器探头
水监测传感器探头如图1所示,如上所述,该传感器不是针对最终产品设计的。它由一片塑胶材料固定屏蔽夹子形状的电极。电极之间的距离可以任选或由具体材料决定。传感器通过一个间距为0.1的4引脚连接器直接连接到MAXQ3210评估板的J4 (引脚9-P0.4、11-P0.5/CMPI和13-P0.6)。1.0M电阻(图中靠近连接器的导线部分)作为传感器电极的一个上拉电阻,该电阻直接焊接到连接器的一个引脚。
图1. 水监测探头
图2. 水监测原理图
水监测传感器探头与处理器的连接原理图如图2所示。传感器一端连接至MAXQ3210的内部模拟比较器输入端CMPI,P0.5。该输入还与1.0M电阻相连,电阻的另一端接处理器的端口引脚,P0.6。软件将P0.6配置为输出,并在系统初始化部分将其置为高电平。由于比较器具有高输入阻抗,这种配置在正常条件下使CMPI接近于VCC (例如,传感器电极没有浸入水中)。传感器的另一端连接至端口P0.4,P0.4配置为输出引脚并置为低电平。当两个传感器电极都浸入水中时,水的电导率强行比较器输入下拉至地。发生这种情况时,比较器输出CMPO改变。关于模拟比较器及其工作的详细信息将在本文的后续内容讨论。
停机模式的重要性
除断电状态外,停机模式是MAXQ3210的最低功耗模式。停机模式下禁止处理器内部环形振荡器、唤醒定时器(如果使能)以外的所有电路工作。片上时钟、定时器和外设电路都将停止工作,程序也会停止运行。一旦进入停机模式,MAXQ3210的绝大部分时间处于静止状态,其功耗主要由漏电流决定。结合唤醒定时器使用停机模式,可实现低功耗工作。
实际工作环境下,水位变化非常慢。因此,处理器在绝大部分时间内可处于停机模式,只需在较长的时间间隔内唤醒一次简单的传感器检测操作。实例中,选择一分钟作为传感器的采样周期。该时间间隔既不会错过报警,也能够有效利用处理器的停机状态,充分延长电池的使用寿命。如果这个周期对于特定的应用过长或过短,可将软件中的唤醒延时常数(WUDel)改为所要求的数值,然后重新编译程序。以下唤醒定时器周期公式给出了这个时间间隔的计算方式:
当处理器时钟控制寄存器的STOP位,CKCN.4,置1时,处理器立即进入停机模式。如发生以下任何条件,处理器将退出停机模式:
P1.1/RESET出现低电平有效复位(如果没有禁止)
上电复位(如果没有禁止)
P0.6/INT出现外部中断(如果使能)
唤醒定时器计时到0(如果使能)及中断被响应
处理器由于唤醒定时中断而退出停机模式不会影响处理器的配置,其中包括时钟控制位设置。外部复位引起的退出停机模式则不同,处理器将恢复到默认上电状态。因此,在进入停机模式之前,处理器应该初始化为标准工作状态,以便在退出停机模式时恢复到原配置。唤醒定时器中断及其中断服务程序(ISR)除了使处理器退出停机模式外,还将启动其它系统功能(如,检测传感器、使扬声器发声、低电池电压检测等)。