关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 利用MAXQ3210构建水位监测/报警系统

利用MAXQ3210构建水位监测/报警系统

作者:时间:2008-03-21来源:网络收藏

  摘要:MAXQ3210是一款高性能、低功耗16位RISC微控制器,非常适合环境监测和报警系统。器件内置5V至9V稳压器、唤醒、停机模式和环形,能够工作在低功耗模式。集成、压电扬声器驱动器和精密大大降低了系统元件数量。本应用笔记说明如何使用MAXQ3210构建一个和音频报警系统,还提供了完整的汇编程序。

  概述

  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)除了使处理器退出停机模式外,还将启动其它系统功能(如,检测传感器、使扬声器发声、低电池电压检测等)。

  唤醒定时器

  MAXQ3210的唤醒定时器是一个20位的定时器,可设置为系统时钟递减计数,也可以设置为对处理器内部环形计数。应用软件将初始值装入唤醒定时器寄存器(WUT),随后定时器从这个设定值开始递减计数。当定时器计数值达到0时,休眠周期结束,唤醒定时器控制(WTCN.1)寄存器的中断标志位(WTF)。如果中断使能,该标志将触发一次中断,使处理器退出中断模式。如果屏蔽中断,处理器将不退出停机模式。

  通过WUT寄存器,处理器及其软件可访问20位定时器的前16位,低4位只允许定时器硬件访问。尽管如此,任何情况下只要软件对WUT寄存器进行写操作,其低4位也将清零。唤醒定时器的周期由以式给出:

  唤醒定时器周期 = (源时钟周期) x WUT[19:4] x 16

  其中WUT[19:4]是20位定时器的前16位。注意,由于在WUT寄存器没有包含定时器的低4位,周期数必须乘以16。通过使用这个公式,可看出一般在使用频率为8kHz的环形振荡器时,最大唤醒周期大约为131秒。上文中选择一分钟为休眠周期,将倒计数值30,000 (07530h)装载到WUT即可产生一分钟的休眠时间。假设唤醒定时器对环形振荡器进行计数。

  配置唤醒定时器时需要对定时器控制寄存器进行一次写操作,将唤醒寄存器(WTE)的使能位WUTC.0以使能定时器。同时,唤醒定时器(WTCS)的时钟选择位WUTC.2必须置1,定时器才能对处理器的环形振荡器进行计数。因此,应用程序必须向定时器控制寄存器(WUTC) 写入十六进制数05初始化定时器。唤醒定时器标志(WTF)的WUTC.1位由定时器硬件,但必须由中断服务程序清除,以防止重复响应同一中断。

  模拟比较器

  MAXQ3210内置1位模数比较器及其2.5V的,这些电路是本应用的关键。比较器有两个输入端,+和-,如图2所示。比较器输出是两个输入端模拟电压之差的函数。本应用中,2.5V基准连接至“+”输入端,“-”输入端连接至传感器的一端。如图所示,“-”输入端通过一个1.0M电阻由设置为高电平的端口P0.5上拉至高电平。因此,在正常状态下,“-”输入端电压接近于5V,高于“+”输入端2.5V。比较器的极性选择(CPOL)位CMPC.1在本应用中设置为0。比较器输出结果CMO如下:

  CMO = 0当(VREFCMPI)时

  CMO = 1当(VREF>CMPI)时

  由此可见,正常状态下比较器输出CMPO为0。当水监测传感器的电极浸入水中时,两电极之间的导电性将比较器输入拉至地电位。这种状态下,高于CMPI,比较器输出CMO变为高电平。由于比较器的高输入阻抗,正常情况(无报警)下,只有非常小的电流流入比较器输入端。当水监测传感器电极浸入水中时,水的电导率和1.0M电阻可以限制传感器电极之间的电流。

  扬声器驱动

  MAXQ3210提供了一个板上3引脚压电扬声器驱动接口,该接口可直接驱动压电扬声器。3引脚接口的引脚配置如下:

  HORNB (扬声器铜片):这个输出连接至压电扬声器的金属电极。

  HORNS (扬声器银片):这个输出连接至压电扬声器的陶瓷电极。当压电扬声器驱动使能时,这个输出为HORNB提供互补输出。

  FEED:该


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭