前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇微控制器范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
高性能SHARC 2148x及低功耗SHARC 2147x系列处理器集成高达5Mb的存储器,为多种应用提供了单芯片、浮点信号处理精度,并为便携式设备实现了高端系统功能。SHARC 2148x系列处理器比其他32位浮点DSP产品在性能上提高了33%(400MHz),SHARC 2147x系列处理器功耗仅为363mw(典型值),比其他同类处理器降低达20%,并提供最高266MHz的性能。SHARC 2148x和SHARC 2147x处理器具备专用的硬件加速器和独立的计算单元以及DMA存储映射,实现了后台执行FFT/FIT/IIR信号处理工作的能力,可减轻内核处理负担。存储器的使用率是通过变量指令集架构(VISA)支持实现优化的,这样可以通过缩减指令操作码大小,为应用代码释放多达30%的存储空间。
ADI
电话:800-810 1742
集成图形加速单元的PIC24F单片机
这8款PIC24F J256DA单片机系列器件集成了3个图形加速单元和1个显示控制器,以及96KB的RAM,这种集成因不需要外部RAM和现实控制器,既降低了系统成本,又为范围广泛的嵌入式应用增加了先进图形显示功能。通过集成用于USB和电容式触摸传感的外设,进一步节省了成本。PIC24FJ256DA系列的应用实例包括:消费类(恒温器、无绳电话、遥控器和游戏配件),家电(咖啡机和其他台式电器、烤箱、冰箱和洗衣机),工业(POs机和远程终端)及便携式医疗(血糖仪、血压监视器和便携式心电图)等。
Microehip Technology
电话:021-5407-5533
http://
低功耗8位微控制器
低功耗的ATtiny 10/20/40微控制器系列专门针对按键、滑块和滑轮等触控感应应用予以优化,具有低功耗特点和极佳的触控感应性能。该系列产品以高性能的AVR MCU为基础,包括一个RISC控制器架构、优化的触控电路,是一款具有高集成度的低成本方案。ATtiny10/20/40器件集成有1~4KB的闪存,带有32~256KB的sRAM。这些器件支持SPI和TWI(具备12C兼容性)通信,提供1.8~5.5V的工作电压。ATtinyAVR使用专有的picoPower技术,耗电极低。通过软件控制系统时钟频率,取得系统性能与耗电之间的极佳平衡。通过在不使用时选择关闭计时器、串行接口或ADc,可进一步省电。器件以1MHz在1.8V活动模式(active mode)下耗电少于200μA,而在关电模式下,仅是100nA。
Atmel
电话:021-6280-9234
http://
高性价比交互式终端ARM处理器
Prochip SEP4020处理器定义为面向以ePOS为代表的高性能、低成本嵌入式处理器。芯片内含8K D/I CACHE,标准MMU可运行标准Linux,主频最高96MHz;EMI(外部存储)接口支持NOR Flash和低成本NAND Flash启动,内嵌64KB高速EsRAM内置LCDC,可直接驱动640×480以下的TFT数字屏;内置10M/100M自适应以太网MAC,可满足低成本的以太网接入应用;内含USB DEVICE、I2S、PWM、UART接口(均支持红外);内嵌符合IS07816时序的两路智能卡控制器,GPIO最多支持97个,极大满足软件灵活控制各种慢速设备,支持多种功耗模式,待机Sleep模式下典型功耗仅为19.42mW;满足工业级温度标准。
南京博芯电子技术有限公司
关键词:微控制器;32位;微处理器内核;模拟IP
新一代微控制器
微控制器(MCU)可以连接和控制从洗碗机等基本家用电器到先进丰富媒体消费设备的系统。过去20年,8位器件已经控制了市场,但是,增加了功能水平的范围更广泛的最终用户系统正在推动着从8位和16位器件向基于处理器的32位MCU的过渡,后者的性能和功能是更加先进的应用所必不可少的。
从8位和16位到32位MCU的过渡正在顺利进行。根据Semico Research的预测,到2011年,32位MCU的总出货量将超过20亿个,收入将以18%的年率增长。
随着行业向32位MCU的过渡,设计人员不仅需要增加功能,而且还需要增加各种外设,包括诸如USB和音频编解码器的高性能IP。
利用各种丰富的处理器内核和全面而多样化的验证模拟IP模块库,MIPS科技拥有处理器和外设IP产品组合一可为客户提供用于32位MCU应用的完整的系统解决方案。
8位和16位MCU的局限性
8位和16位MCU非常适用于低端应用。这些应用趋于使用单片电路一需要的是一个单处理器,利用一个简单的核进行控制,只需执行一个简单而特定的任务。这种应用的存储器需求可以利用8位和16位处理器的最大寻址范围。
具备有限的一系列基本外设的8位或16位微控制器的平均销售价格在1至2美元之间,这使之成为了过分要求超低成本和最低性能解决方案的有效选择。
但是,尽管8位和16位MCU仍然适用于低端场合,这些MCU的局限性还是使之无法适合那些要求更加计算密集、功能丰富的性能的应用。这样的局限性包括数据通道宽度、最大寻址范围、相对较低的功率效率、受限的C代码支持和缺乏可用的先进调试开发工具。16位微控制器还会受到缺乏一个主导的标准架构、受限的生态系统支持的影响。
32位MCU的优势
为了说明32位处理器相较于8位处理器的优势,可以来看看一个电机控制设计,这是许多工业和家庭产品中的一种普通应用。
电机的速度和功率是由MCU的脉宽调制器(PWM)电路调节的。8位MCU通常能够测量电机速度,并因此每100 ms修改一次PWM信号。一个运行于相同时钟频率的32位处理器,具有8位MCU四或五倍的速率,有助于改善精度和进行更有效的控制。
因使用32位处理器获得的额外裕量能够使它同时运行其他程序,增加其功能,例如功率因数校正或TCP/IP控制的遥控/诊断任务。
32位处理器可提供改善的计算性能和存储器、低功耗、集成的连接性和软件支持,这是今天许多基于MCU的先进最终产品所必需的。而且,中高端8位或16位MCU的价格也与32位MCU的价格相当。
微控制器系统的开发问题
32位处理器具有满足新一代MCU所需的更高水平的性能和改善的软件支持能力。开发人员面对的挑战是确定哪一个MCU架构可以充分满足设计规范,最大限度地降低系统成本,同时为降低风险和加快上市时间提供所需的工具。
开发人员必须考虑的一个问题是电源管理,尤其是在电池供电的设备、工业控制系统和家用电器设计当中,这些都要求符合最大额定功率标准。动态功耗与CV2F成正比,这意味着功耗是随频率而增加的。随着为实现工作频率使工艺尺寸不断缩小,漏电流量将增加,从而进一步增:加了功耗。
嵌入式闪存占据了MCU芯片的大部分面积,因此,对最终产品成本的影响也最大。为了使软件能够支持实时操作系统(RTOS)、复杂算法代码和网络协议栈,MCU需要嵌入至少256KB的共用闪存,才能满足OEM厂商的产品规范。该MCU架构必须采用可以减少执行该应用所需代码量的设计特点,这样才能减少闪存的数量,进而降低器件成本。
许多电机控制应用中的确定性操作非常关键。对某些32位处理器来说,要实现期望的性能,需要使用复杂的、多路关联式高速缓存(multi-way associative cache)架构和多段流水线来最大限度地实现吞吐量。不过,缓存缺失和流水线停顿可能对产品的实时行为产生不利的影响。这类系统在规定时间内可能需要服务数以百计的中断,以确保自动防故障装置的工作(例如高速机床或车辆制动系统)。因此,很重要的是用于这种类型环境的基于高速缓存的处理器需要采用一种高频流水线架构,它可以有效地处理可能的停顿和异常,而高速缓存设计能够实现很高的命中率。
其他设计不需要这样高的性能,可以不使用高速缓存而在较低的频率下工作,这是一种集成了基于无高速缓存的SRAM设计。
为了最大限度地重复使用和满足不同的应用需求,使用有一个内置高度可配置性和灵活性的标准架构是非常有利的。
根据定义,MCU包含一系列数字和模拟器件。在一般情况下,8位MCU可能采用低成本的0.25um工艺制造,以实现其具体应用所需的性能。过渡到高性能的系统不仅需要采用32位处理器,而且MCU还要采用更精细的0.13um和90nm工艺制造。
微控制器市场与应用概述
工业是MCU器件较大消费者。工业界拥有所有MCU市场中最广泛的最终产品,预计到2010年出货量将超过4亿个。产品范围从用于工厂和家用电器的单功能电机、电源转换器和仪表到更加集成的安全网络系统和医疗设备。
工业产品中的一个普遍趋势是朝着机电一体化类型的系统发展,其中更加智能的电子系统将取代机械系统或加入到机械系统当中。机电应用方面的一个例子是家庭温度自动调节器,这类电子产品可以提供更高水平的可编程能力和精度,最终将降低能源成本。
在一个机电一体化设计中集成MCU可能因增加的功能而改善了其功能性,例如LCD显示器,可以通过如脉宽调制(PWM)技术改进其效率――更精确地控制系统变量,增加更多易于使用的功能并降低成本。它还能够增加设计流程中的灵活性,有助于将相同的硬件应用干各种应用,只需改变软件就可以满足不同产品的需要。
今天,电机控制产品越来越多地生产出来以符合“绿色”能源标准,例如能源之星(Energy Star),这需要系统具备一种性能和功耗的优化平衡能力。MCU的性能通常是以每MHz的DMIPS(每秒执行百万条Dhrystone指令数)表示的,而功率效率则是以mW/DMIIX3表示的。DMIIX3/MHz等级越高,功率效率也越高,需要实现所需性能的频率也越低。
为了用最低的工作频率实现高DMIPS的性能等级,MIPS科技用于MCU市场的处理器采用了非常有效的微架构,它构建了一个5 段或8段流水线,可以实现高于1.5 MIPs/MHz的性能水平。此外,整数乘/除单元(MDU)可以加速通常用于电机控制软件的数学函数类型。
越来越多的工业设备已经开始利用高速有线和无线网络进行互连,不论是在建筑物外部还是内部。在一个有线网络配置中,系统MCU执行TCP/IP协议栈软件和数据链接固件,以便于数据在网络节点上的传输。在诸如ZigBee或蓝牙的无线连接中,微控制器通过执行复杂的媒介访问控制(MAC)层软件来控制空中接口和基带之间的链接。这些配置中的任何一个都需要具备存储器管理能力的高性能32位处理器,以实现网络的高数据传输率,支持用于这类环境的RTOS。
在网络上传输的数据越敏感,需要的嵌入数据保护安全功能的MCU就越大。作为4K内核系列一部分的MIPS32 4KSd内核,可以通过一个叫做SmartMIPS的特定应用扩展(ASE)提供这种保护能力,它增加了用于算法的密码加速,例如RSA、ECC、DES和AES。
SmartMIPS还包括一个安全存储管理单元(MMU),它可以加入高速缓存接口,进一步提高所提供的保护水平。增加SmartMIPS扩展只增加了不到10%的内核尺寸,却可以利用软件唯一的实现方法实现高达10倍的性能。
为了提高安全水平,所有MIPS科技的处理器内核都是可合成的,有助于MCU设计人员安排器件的定制布局规划。这可以通过避免值得注意的热点而减少“欺骗”的可能性,这些热点能够帮助发现代码处理(codeactivity)。
关键词: Spce061A; 气体浓度传感器; 浓烟传感器; 火灾探测
中图分类号: TN919?34; TP36 文献标识码: A 文章编号: 1004?373X(2015)06?0074?04
Bus?mounted fire alarm system based on MCU
LI Hua?yang
(Nanyang Normal University, Nanyang 473061, China)
Abstract: A bus?mounted fire alarm system taking MCU Spce061A as its core is introduced in this article. The hydrocarbon gas concentration sensor with high sensitivity and high reliability is adopted in the system to detect combustible gas. The combination of smoke sensor and flame sensor is used to detect fire signal. The data from hydrocarbon gas concentration sensor is sent to the control center in wireless transmission mode through MCU for observation and analysis of driver, which can avoid the false alarm caused by other factors. The system give out the alarm signal when the fire signal is detected by smoke sensor and flame sensor. At the same time, the window broker is started to break the window glasses and guide the passengers to get away from the bus, and the fire extinguisher is started up. The system has perfect function and fast reaction speed, can recognize fuel gas and put out the fire caused by gas. It has low false alarm rate and missing alarm, low hardware cost, high working reliability and long lifetime. The system’s maintenance and repair is convenient, and its expansion and upgrade are simple. The design can meet the urgent safety requirements of urban public transport system.
Keywords: Spce061A; gas concentration sensor; smoke sensor; fire detection
0 引 言
近年来,我国多次发生城市公交客车上人为纵火或者乘客携带的违禁易燃品燃烧引发的重大人员伤亡事件。由于我国城市交通中公交客车担负着繁重的客运任务,人员十分拥挤,加上没有随车配置车内自动化运行的危险品探测报警与灭火系统,发生火灾时常常导致极其严重的人员伤亡。
基于车上空间与成本的原因,目前不可能在客车上安装通常安装在车站与机场的危险品检测设备,因此对于危险品难以提前检测和发现,导致不法分子纵火阴谋屡屡得逞。目前,我国公交车只配备了安全锤、手提式灭火器,部分车辆配备了视频监视器及保护发动机舱的超细干粉灭火装置,但这些安全措施并不能解决车辆车厢内发生爆燃时火势在短时间内迅速蔓延、乘客难以疏散难以逃生的问题。要从根本上解决这一问题,必须研发适用于公交车的、对人体无害的高效探测报警与灭火系统。
为了能够及时发现危险品,尽可能减小危害,需要在客车上面及时探测到犯罪分子携带的汽油等易燃品,并且在其刚刚打开容器时就能够探测到,或者刚刚点燃时能够及时扑灭。本文介绍了一种基于微控制器的客车防火报警系统,能够在汽油等易燃品开始挥发和刚刚点燃时就探测到,并且及时启动自动化的灭火系统将其扑灭,从而大大减少无辜人员的伤亡。
1 系统实现的功能
客车防火报警系统的要求是能够及时发现、快速识别易燃气体和火源同时避免漏警和误警,还要能够迅速疏散乘客和启动灭火器。为满足要求,本系统采用微控制器作为控制核心,多种新型高速高灵敏度传感器相互配合来探测可燃油气体,采用固定安装在车顶的多部新型灭火器扑灭火焰,同时还采用自动破窗器在紧急情况下疏散乘客。
本系统采用了凌阳微控制器SPCE061A作为控制中心,2M010汽油传感器,MQ?2型烟雾传感器,IR3S?A三频红外火焰探测器作为传感器,可以采用各种新型自动化车载灭火器。
微控制器运行期间,一旦发现有报警信号,马上以语音提醒客车驾驶员“车厢某部位发现汽油” 、“某部位发生火灾”等突况,同时启动车顶的悬挂式灭火器朝着发现高浓度汽油或火焰的地方喷射灭火剂。这样可以避免灭火剂喷到没有汽油的地方引起混乱阻碍逃生。在喷射灭火剂的同时,为了尽快疏散车上乘客,本系统设计了自动打碎车窗玻璃的功能,在车窗玻璃的薄弱位置安装自动破窗器,如果火焰没有被及时扑灭,即可自动启动自动破窗器击破车窗玻璃,同时发出语音提示,告诉惊慌失措的乘客从此出口逃生。为了避免跳出窗户的乘客被后面的车辆误伤,系统会自动打开车辆的紧急灯提醒后面车辆避开。
2 硬件设计
本系统包括总控制台和3~4个工作单元,每个单元包括1个凌阳微控制器,2~3个配备吸气风扇的汽油传感器,4个火焰探测器,2个烟雾传感器与2个灭火器,电动破窗器及语音报警喇叭等 ,作为核心的微控制器电路板安装在公交车顶部,硬件设计功能模块如图1所示。
<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\02t1.tif>
图1 硬件设计功能模块图
配备的多个传感器与灭火器均匀安装在车厢顶部的合适部位,与微控制器电路通过信号线连接,为了能够尽可能提前发现汽油泄漏,每个工作单元可以在靠过道的座椅上另外布置1个汽油传感器,力求能够实现完全覆盖整个车厢。从而提高了探测的反应速度,大大减少了探测盲区,为及时发现危险火源和灭火争取了宝贵时间。不同种类的传感器组合使用可以减少漏报和误报情况。
系统有一个安装在驾驶员仪表板上的总控制台。每个单元的微控制器通过NRF905无线收发模块与总控制台进行信号联系。
当某个工作单元传感器发现异常情况时,报告总控制台,驾驶员可以立即判断情况,开启车辆紧急双闪灯,并且迅速把车辆减速停靠到安全地带。
采用凌阳SPCE061A微控制器的优点是中断功能强大,对传感器信号的反应速度快,语音处理能力比较好,数据处理能力比较强,容易与车载通信系统连接,也容易同时接收多种类型传感器的信号,能够同时控制各种灭火设备与破窗逃生设备,也有利于在将来对系统进行传感器改进与功能扩展[1]。2M010型汽油气体传感器体积小,价格比较低廉, 对油气气体有极高的灵敏度,同时具有良好的重复性和长期的稳定性,能够满足大规模安装与长期使用的要求[2]。
MQ?2型传感器对汽油等可燃气体燃烧产生的烟雾有很高的灵敏度,尤其对烷类烟雾更为敏感[3]。A710/IR3三频红外火焰探测器体积小,价格低,工作稳定,探测角度范围广,探测灵敏度高,信号输出方便[3]。
2M010汽油传感器的长期稳定性曲线如图2所示,2M010型汽油传感器特性曲线如图3所示。
<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\02t2.tif>
图2 2M010汽油传感器的长期稳定性曲线
3 电路的连接与工作过程
系统将各个传感器连接于微控制器的I/O口,其中,汽油传感器连接在A0口,把测得的汽油浓度数值转换为数字值以后送给CPU, 火焰探测器接于B2口,作为微控制器的外部中断源1,烟雾传感器连接于B3口作为微控制器的外部中断源2,系统利用中断方式发出警报,大大提高了对火情的反应速度[4]。
<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\02t3.tif>
图3 2M010型汽油传感器特性曲线
考虑到有些情况下可能发生虚警,例如车上有人抽烟用打火机点烟,或者路过加油站附近等区域,空气中汽油浓度比较高。因此系统需要根据不同的汽油浓度进入不同的报警级别,采取不同的报警措施,避免错误触发灭火器。系统启动以后,通过汽油传感器,随时报告汽油浓度数值并且显示在主控台的显示器上面,当汽油浓度超出100 ppm(电压值约1.5 V)时,立即发出语音报警信号,锁定汽油浓度超标的区域。驾驶员通过车载广播提醒乘客,询问是大家否发现有人携带和释放易燃液体,提醒乘客准备停车疏散。浓度超出500 ppm(电压值约2.5 V)时,立即停车并且指挥乘客下车疏散。如果汽油浓度迅速增加,特别是烟雾传感器与火焰探测器已经发现烟雾与火焰,则系统立即锁定发生火焰烟雾的区域启动灭火器扑灭火焰,并且迅速疏散乘客,如果此时火焰太大,灭火器无法迅速扑灭,人员已经无法从车门逃生,则可以由驾驶员手动或者由工作单元的微控制器自动发出指令启动自动破窗器,打碎车窗,通过语音提示,引导乘客从车窗逃生[5]。
4 工作单元的软件设计
本系统源程序分为主程序和外部中断服务程序。主程序执行系统初始化和汽油浓度检测与传输,以及浓度超标时的报警任务,当浓度超标时发出报警信号;两个外部中断服务程序方便执行发现烟雾与火焰时的快速报警任务。本方案所用的程序采用汇编语言与C语言混合编写,对于底层的驱动程序,采用汇编语言进行编程,对外给出C语言的调用接口;采用模块化程序设计的方法进行编程,有利于各个模块的升级、维护[6]。主程序与中断服务程序的流程图如图4、图5所示。
include "SPCE061.H"
int main()
{
//设置A0?A7口为带下拉电阻的输入口,A8??A15为输出口
Set_IOA_Dir(0x0000);Set_IOA_Attrib(0x0000);Set_IOA_Data(0x0000);
//设置B0,,B1口为输出口,B2,B3带下拉电阻的输入口,
Set_IOB_Dir(0x0000);Set_IOB_Attrib(0x0000);Set_IOB_Data(0x0000);
*P_INT_Ctrl=C_IRQ3_EXT1; //打开 IRQ3_EXT1 中断
*P_INT_Ctrl=C_IRQ3_EXT2; //打开 IRQ3_EXT2中断
__asm("INT IRQ"); 打开IRQ中断
while(1)
{*P_Watchdog_Clear = C_WDTCLR;清除看门狗}
unsigned int AD(void);
void Sent_SIO_Data(void);
//浓度数据通过A0口进行A/D转换以后送给无线传输模块
…
*P_ADC_MUX_Ctrl=C_ADC_CH1;
//LINE_IN输入口为IOA0口
*P_ADC_Ctrl= C_ADCE; //允许ADC转换
uiData=*P_ADC_LINEIN_Data; //ADC转换开始
uiData=0;
uiData = AD();
fVoltage=(float)uiData/0xffc0*3.3;
if(uiData>0x745E);
//是否大于1.5 V,是,则发出报警信号,发送浓度数值
*P_IOA_Data = 0x8000; //从A15发出报警信号
unsigned int Sent_SIO_Data(void); //发送浓度数值
else if(uiData>0xC000)//是否大于2.5 V,是则从A14启动灭火器,从A13启动破窗器
*P_IOA_Data = 0xE000;
Delay(); //延时
*P_Watchdog_Clear = 0x0001; //清看门作
}
unsigned int AD(void)
{
unsigned int uiData;
while(!(*P_ADC_MUX_Ctrl&0x8000)); //等待ADC 转换完成
uiData=*P_ADC_LINEIN_Data;
return(uiData&0xffc0);
}
外部中断服务子程序代码如下:
.TEXT
.PUBLIC _IRQ3
_IRQ3:
INT OFF
PUSH R1,R5 TO [SP] //现场保护
R1=0x0100
TEST R1,[P_INT_Ctrl] //比较是否为IRQ3_EXT1
JNZ L_Irq3_Ext1 //是,则转至对应程序段;
R1=0x0200
TEST R1,[P_INT_Ctrl] //否,则比较是否为IRQ3_EXT2
JNZ L_Irq3_Ext2 //是,则转至对应程序段;
L_Irq3_Key: //否,则进入键唤醒中断
GOTO L_Exit_INT;
L_Irq3_Ext2: //进入外部中断2
R1=0x8000
[P_IOA_Data]=R1 //从A15发出报警信号
GOTO L_Exit_INT;
L_Irq3_Ext1: //外部中断1
R1=0xE000
[P_IOA_Data]=R1 //从A14启动灭火器,A13启动破窗器
R1 = 0x0100
[P_IOA_Data]=R1 //从A14启动灭火器,A13启动破窗器
R1 = 0x0100
L_Exit_INT:
[P_INT_Clear]=R1
pop R1,r5 from [sp] //现场恢复
INT IRQ,FIQ
RETI
<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\02t4.tif>
图4 主程序流程图
5 系统的定期维护检测
考虑到公交车的使用非常频繁,系统长期使用以后,可能有些传感器或者电路线路发生污损、氧化等故障,因此需要定期进行检测。检测的方法简单,定期在车厢的不同部位,特别是传感器下方附近释放少量汽油,观察工作单元是否能够及时检测到并且发出报警与灭火控制信号。
<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\02t5.tif>
图5 中断服务程序流程图
6 测试结果
本系统在模拟公交车车厢内进行多次测试,打开吸气风扇以后,在不同部位泼洒汽油,系统能够在3 s之内准确地发现汽油并且1秒钟之内启动报警器,在发现浓烟或火焰2 s之内启动火源所在位置的灭火器,在5 s内扑灭火焰。当汽油浓度比较低的时候,系统只显示浓度数值提醒驾驶员去询问情况,不启动灭火器和破窗器。因此可以避免误报警的情况。
7 该系统具有以下特点
(1) 根据公交车上乘客非常拥挤的实际情况,采用多种新型传感器一起工作,系统反应速度快, 并且避免了漏警、误报和误喷灭火剂的情况;
(2) 采用无线传输模块向主控台传输汽油浓度数据,驾驶员可以根据数据及时排查是否有人携带易燃品的情况,便于排除虚警和及时停车疏散乘客。
(3) 汽油传感器与烟雾传感器配备有一个吸气风扇,风扇从车厢里抽取空气送给传感器,相比汽油等易燃气体通过自然对流的方式扩散到传感器的位置,主动吸气方式提高了对气体的反应速度。对于每一秒钟都意味着死亡或者逃生的灭火系统来说,这样的设计大大提高了发现火情的速度。
(4) 系该统具有很大改进潜力,如果采用可以自动调整灭火器喷头对准火苗喷射的红外线控制装置,可以在更短时间内扑灭火焰。
参考文献
[1] 凌阳科技.凌阳16位微控制器开发实例[M].北京:北京航空航天大学出版社,2006.
[2] 陈有卿,谢刚.新颖电子模块应用手册[M].北京:机械工业出版社,2004.
[3] 赵家贵,付小美.新编传感器电路设计手册[M].北京:中国计量出版社,2002.
[4] 陈海宴,吕江涛,李瑞.凌阳16位微控制器经典实战[M].北京:北京航空航天大学出版社,2011.
1 概述
tfPIC12C509AF是Microchip公司推出的单片集成内嵌射频无线数据发射器的8位CMOS微控制器。芯片具有高性能的RISC中央处理器,33条12位字长的指令,8位字长的数据;内置4MHz RC振荡器,运行速度1μs指令周期;7个特殊功能的硬件寄存器,2级硬件堆栈,直接、间接和相对寻址方式;1024×12bit可编程EPROM,41字节数据RAM;在线串行编程(In-Circuit Serial ProgrammingTM,ICSP TM),内部RC振荡器的频率可编程校准(独立于发射器的石英晶体振荡器基准),8位可编程定时器/计数器;上电复位,看门狗定时器,低功耗睡眠模式,可编程编码保护,5个通用I/O等功能;工作电压2.5~5.5V,低拉耗睡眠模式电流0.2~4μA。内嵌的UHF ASK/FSK发射器,射频频率范围为310~480MHz,可调节的输出功率+2~12dbm,ASK数据发射速率0~40Kbps,FSK数据发射速率0~20Kbps,PLL锁相,集成的晶体振荡器和VCO电路仅需少量的外部元件。
可用于遥控无键入口(RKE)发射器、车库门开门器、遥测(轮胎压力,水、电、气表、贵重物品跟踪)、无线安防系统、无线电遥控等领域。
2 引脚排列及功能
rfPIC2C509AF采用20脚SSOP封装,各引脚功能如下。
1(VDD):逻辑电路和I/O端品/石英振荡器输入/外部时钟输入(GPIO仅在内部RC模式,在其它振荡器模式下为OSC1)。当GPIO时TTL输入,在外部RC振荡器模式时ST输入。
3(GP4/OSC2):双向I/O端品、石英晶体振荡器输出。在石英晶体振荡器模式连接晶振或谐振器。
4(GP3/MCLR/VPP):输入端口/用户清除(复位)输入/编程电压输入。当构成MCLR时,此脚是低电平有效,实现器件复位。在设备进入正常的运行和编程模式时,MCLR、VPP上的电压不能超过VDD,并且能够通过软件编程改变引脚状态来唤醒睡眠状态。
5(XTAL):发射器晶振,连接到考比慈(COPITTS)型晶体振荡器上。
6(RFENIN):发射器和时钟输出使能,内部下拉。
7(CLKOUT):时钟输出。
8(PS/DATAASK):功率选择和ASK数据输入。
9(VDDRF):发射器正电压端。
10(ANT1):差分功率放大器的输出端连接到天线,集电极开路输出。
11(ANT2):差分功率放大器的输出端连接到天线,集电极开路输出。
12(VSSRF):发射器接地参考端。
13(NC):空脚。
14(LF):连接外部回路滤波器。VCO转换输入和充电泵输出的共用点。
15(DATAFSK):FSK的数据输入。
16(FSKOUT):FSK晶振的输出。
17(GP2/T0CKI):双向I/O端口,能构成T0CKI。
18(GP1):双向I/O端口/串口编程时钟,能通过软件编程改变引脚状态来唤醒睡眠状态。这个缓冲器在串口编程模式下为施密特触发器输入。
19(GP0):双向I/O端口/串口编程数据,能通过软件编程改变引脚状态来唤醒睡眠状态。这个缓冲器在串口编程模式下为施密特触发器输入。
20(VSS):逻辑电路和I/O脚的参考地。
3 基本结构和特性
rfPIC12C509AF内部结构包括一个完整的8位CMOS微控制器电路和发射器电路,以下介绍发射器电路。发射器电路方框图如图1所示。
发射器是一个完整的集成UHF ASK/FSK发射电路,由石英晶体振荡器、锁相环电路(PLL)、集电极开路的输出功率可变放大器PA(Power Amplifier)和模式控制逻辑(mode control logic)所组成。外接元件有旁路电容、晶振和PLL回路滤波器,能实现ASK和FSK的操作。
引脚VDDRF和VSSRF分别是发射器电路的电源供给端和接地端。这些电源脚与微控制器的电源供给脚VDD和VSS是相互独立的。
发射器的石英晶体振荡器是一个考比慈振荡器,提供PLL的基准频率,并且与PIC微控制器的振荡器是相互独立的。XTAL脚上接外部振荡器或AC模拟基准信号。发射频率是由晶振频率确定的,公式如下:
ftransmit=fXTAL×32
考虑到发射频率的灵活选择,最终晶振频率可能不是标准值。晶振频率最小值为9.65~15MHz,负载电容10~15pF,并联电容7pF,等价串联阻抗60Ω。
rfPIC12C509AF晶体振荡器实现ASK操作电路如图2所示。电容器C1取值22~1000pF。
rfPIC12C509AF晶体振荡器实现FSK操作电路如图3所示。电容C1和C2通过拖动晶振来实现FSK调制。当DATAFSK=1时,FSKOUT为高阻抗,只有C1对晶振起使用,发射频率为fMAX;当DATAFSK=0时,FSKOUT与VSSRF接地,电容C1和C2并联,发射频率为fMIN。选择一组理想的C1和C2值为确定中心频率和频率偏差。电容C1确定fMAX而电容C1和C2的并联值确定fMIN。
C1取值22~1000pF,C2取值47~1000pF。
发射器中心频率(fc):fc=(fMAX+fMIN)/2
发射器频率偏差:Δf=(fMAX-fMIN)/2
石英晶体振荡器有1个四分频(Divide by 4)电路,此电路通过时钟输出(CLKOUT)引脚输出时钟。CLKOUT时钟输出信号可作为微控制器的输入或其它外围电路的稳定基准频率。注意千万不要将CLKOUT信号连接到PIC微控制器的OSC1输入端,因为PIC微控制器没有时钟信号就不能工作,此时发射器的振荡器也不能工作。这时PIC微控制器需要从外部引入时钟或经过内部RC振荡器产生时钟。当应用中需要稳定的基准频率时,可将CLKOUT脚连接到GP2/T0CKI输入上,并且使用TIMER0模块。为了使干扰信号习尽可能小,应对CLKOUT有速率限制。CLKOUT的电压幅值由在CLKOUT脚上的充电电容决定(2VPP,5pF)。
锁相环电路(PLL)由相频检波器(phase frequency detector)、充电泵(charge pump)、压控振荡器VCO(Voltage Controlled Oscillator)和固定的32分频器(fixed divide by 32)组成。引脚LF连接1个外部回路滤波器。这个回路滤波器控制PLL的动态范围和起始锁定时间。
PLL的输出给功率入大器(PA)。集电极开路输出的不同值可直接驱动闭环天线(ANT1、ANT2)或经过1个阻抗匹配网络或平衡-不平衡变换器改变成单端口输出。引脚ANT1和ANT2为集电极开路输出,必须通过负载上拉到VDDRF。
PA的差动输出应该匹配1个1kΩ的负载电阻。当匹配不合理时会导致过度的干扰和谐波辐射。发射输出功率可以通过改变PS/DATAASK脚的电压调节成+2~-12dBm中的6个等分值。
在FSK的操作中,PS/DATAASK脚只能作为功率选择脚(PS)使用。1个20μA的内部电流源输出电流流入PS/DATAASK脚,通过电阻R2产生一个电压降,作为功率控制电压(VPS)控制发射输出功率。VPS控制PA的偏置电流,高的发射功率需要较大的偏置电流。
为了实现ASK操作,PA/DATAASK脚的功能是控制功率放大器PA导通或关断。分压网络上的R1和R2是为了确定VPS,以达到选择发射器输出功率的目的。假如要得到最大发射器输出功率,可以把引脚GP0和PA/DATAASK直接连接起来。
逻辑控制模引式脚RFENIN控制着发射器的操作。当RFENIN=1时,发射器和CLKOUT在工作模式;当RFENIN=0时,发射器和CLKOUT进入待机模式。在待机模式时,发射机产生很小的电流。REFNIN脚在内部有1个下拉电阻。
4 应用电路
关键词:蓄电池;AVR微控制器;TLV5638;电源控制
引言
蓄电池是飞行器电源系统中重要的组成部分,蓄电池的性能直接影响飞行器的安全。因此,正确维护、保养蓄电池就成为一项十分重要的工作。539CH-1型Ni-Cd蓄电池是碱性蓄电池,为了避免记忆效应影响电池容量,充电前需要对电池进行放电。该电池的放电规范要求测量单体电池电压,并记录单体电池电压下降到1V时的放电时间,然后在单体电池两极间接入放电电阻。该电池的充电规范要求使用分阶段定电流充电法。充电过程中要检测电池的端电压和充电电流,充电后期要测量单体电池的电压,并对电压较低的电池做相应处理。
本文针对539CH-l型Ni-Cd蓄电池的充放电规范,提出一种充放电控制器的设计方案。
系统设计
本设计采用AVR单片机Megal6L作为核心,可同时控制两块539CH-1型蓄电池的充放电过程。Megal6L通过串行总线接收上位机的命令,然后通过SPI总线将数据发送给TLV5638。单片机通过多路模拟开关CD4053将TLV5638的两路D/A转换输出送入信号调整电路,从而完成对充放电电流的控制。放电过程中,Megal6L通过控制8D锁存器74LS573和复合管阵列ULN2081控制放电电阻接入。
硬件设计
硬件系统包括串行通信电路、充电和放电控制电路、继电器驱动电路等模块。
通信电路
单片机通过串口与上位机通信。Megal6L端口为TTL电平,而上位机串口为RS-232C标准接口。因此,在上位机与单片机通信时需要进行电平转换。本设计采用MAX232完成TTL电平与RS-232C接口电平之间的转换。
充电和放电控制电路
单片机收到上位机的充放电控制命令后,通过SPI口将控制信号发送给TLV5638。TLV5638将收到的数字信号转换成模拟信号,并送入信号调整电路。模拟控制信号经调整后送入充电或放电电源的PI控制器,对充电和放电电流进行控制。单片机通过CD4053选择控制信号的输出通道,使该控制器可同时对两块蓄电池进行充电和放电。
D/A转换
本设计使用双通道12位电压输出型高速DAC TLV5638完成数模转换。该转换器包含3线串行接口,可与Microwire、SPI、QSPI等接口以及TMS320系列DSP无缝连接。设计中,将Megal6作为主机,通过SPI口直接与TLV5638的串行接口相连。因为Megal6的SPI口为4线串口,所以连接时单片机SPI口的PB6(MISO)悬空。
串行通信时,TLV5638的CS脚电平出现下降沿时通信开始,数据在SCL的下降沿逐位移入TLV5638的内部寄存器。最先移入的是数据的最高位。当16位数据全部移入或CS脚电平变高时,TLV5638移位寄存器中的数据被存入相应的锁存器,锁存器的选择由数据中的控制字确定。因此,当Mega16需要向TLV5638发送数据时,PB7先从高电平跳到低电平,然后通过SPI口连续进行两次写操作,写操作完成后,在SCLK的第16个上升沿,相应锁存器的内容自动更新。
送入TLV5638的16位数据字包括控制段和数据段两部分。其中,R0和R1为寄存器选择位。
12位数据段的内容受寄存器选择的影响。当数据写入DAC寄存器或缓冲器时,数据段各位均用于表示数据值;当数据写入控制寄存器时,DO和D1用于确定参考电压。
实际应用中,TLV5638工作于慢速正常模式,采用2.048V内部参考电压。更新TLV5638某一路DAC数据时,必须保证另外一路数据不变。因此,除初始化过程以外,TLV5638寄存器选择位只有R0=0、R1=0和R0=0、R1=1两种状态。
Mega16的SPI口可采用4种不同的数据传输格式工作,传输格式由SPI控制寄存器中的CPOL位和CPHA位控制。应用中,考虑到TLV5638的使用要求,令CPHA=0,CPOL=1,即传输开始时采样SCK下降沿,结束时采样SCK上升沿。
信号通道选择
Mega16通过PD4NPD5以及逻辑电路控制信号的输出通道。逻辑电路包括1片7404和2片CD4053。以TLV5638的OUTA输出信号为例。模拟控制信号从TLV5638输出,经滤波后送入CD4053的X通道和Y通道。单片机PD4一方面直接与CD4053控制端A相连,另外还通过反相器7404与CD4053控制端B相连。这样就保证A端和B端的控制信号反相,使任意时刻X、Y通道中只有一个可以输出有效控制信号,保证该路充电和放电不发生冲突。应用中没有使用CD4053的z通道,将其与控制端C及使能端一起接地。
继电器驱动电路
放电后期,需要将电池中的剩余容量完全放出,最终使单体电池电压下降到OV。设计时,利用继电器将放电电阻并联于单体电池两极,从而释放电池剩余容量。继电器由8D锁存器74LS573和达林顿管阵列ULN2801驱动。单片机PAO~PA7输出控制信号,PD2、3、7和PC6、7输出5片74LS573所需的锁存使能信号。控制信号由74LS573锁存,然后通过ULN2801驱动继电器工作,将放电电阻并联在单格电池两端,从而完成单格电池剩余容量放电。
软件设计
软件采用主从结构,基于模块化设计思想,主要包括主程序模块、通信程序模块、D/A转换与通道选择模块、继电器组控制模块等。
主程序模块完成单片机初始化,等待并处理中断等工作。
通信程序模块中,单片机与上位机间采用RS-232C串口通信。单片机采用中断方式接收上位机发出的命令,并根据接收到的数据内容向上位机发送应答信息。当命令的起始标志和结束标志都正确时,单片机向上位机发送ASCII字符‘Y’表示接收成功,然后处理收到的命令;否则,向上位机发送ASCII字符‘N’,表示发送不成功,要求上位机重新发送命令。
DA转换与通道选择模块中,当上位机需要控制充、放电电流时,单片机采用查询方式,通过SPI口向TLV5638发送命令和数据,然后通过控制CD4053确定模拟控制信号输出通道。因为Megal6L的SPI口字宽为8位,必须连续进行两次写操作才能完成对TLV5638的编程。
继电器组控制模块中,单片机收到上位机命令后,先将数据写到PA口,然后向相应锁存使能位写‘O’,将数据锁存入74LS573中,完成对继电器的控制。