msp430传感器 TI 微控制器(MCU)MSP430如何让低功耗与高性能兼得
TI 微控制器(MCU)MSP430如何让低功耗与高性能兼得
随着现在和未来的产品变得越来越智能,我们发现需要处理的数据也日益增多。为了收集这些数据,厂商们部署了传感器网络来记录多个位置的事件,并为众多用例从不同的数据源收集许多不同类型的数据。
通过检测门窗打开等事件,家庭安防传感器能够为居民们带来安全感。工业泵上的传感器发出的数据可以帮助工厂所有者及早检测到警示信号,从而防止出现故障并降低随着时间的推移而产生的维护成本。来自基于分布式网格的传感器网络的数据甚至可以用来应对地质事件,让应急人员有更多的时间采取行动。在大多数情况下,必须将系统中记录的这类数据发送给中央节点,用于处理、分析和制定决策。要维持这个恒定的数据流,需要耗费大量的能源和时间。通过加入局部智能功能将单个传感器转换为智能传感器节点,便可借助更先进的局部处理或边缘处理技术缩短整个系统的响应时间,提高效率。
也可以将在系统边缘执行的推理计算传达给中央节点。这样可以减少所需的无线传输次数,并在发生关键系统事件时实时做出决策。例如,当驱动系统内某个齿轮的轮齿出现磨损和断裂时,该系统的频率特征即会发生变化。通过检测并分析这些变化,系统可以确定是否关闭电机,直到能够检查电机并在必要时让技术人员进行维修为止。如今,这一智能功能通常作为低端数字信号处理器 (DSP) 或高性能微控制器 (MCU) 实施。这两种选项各有利弊,不过即便是低端 DSP,通常也能轻松提供传感器节点所需的性能。很多低端 DSP 需要利用外部模数转换器 (ADC) 或外部存储器来收集和存储数据。
这些额外的组件导致总应用成本和功耗的无谓开销迅速增加。如前所述,考虑到很多楼宇的门窗数量数不胜数,家庭安防系统是一个很好的示例。尽管添置多个昂贵的玻璃破碎检测系统非常有用,但很多消费者并不愿意为此买单。这些基于DSP 的系统利用快速傅里叶变换 (FFT) 来执行声音振动数据分析,以确定窗户是否破损。此外,这些系统的功耗也相对较高,因此除非每个传感器都永久连接到电源,否则需要定期更换电池。
而对于微控制器,边缘处理通常是一项挑战,因为它们的计算能力非常薄弱。例如,执行通过 C 代码实施的 FFT 时所花费的时间要比使用具有专用硬件外设的 DSP 长得多。由于 MCU 较长时间内都在活动模式下运行,此时间差值不但会造成效率低下,更为重要的是,还可能导致在时间紧急的情况下无法及时得到结果。
这一固有的时间间隔降低了物联网 (IoT) 的可行性,因为此概念以两个理念为基石:
1. 中央枢纽能够与所连接的数十亿个设备通信并处理来自这些设备的数据
2. 所连接的设备足够智能,能够提供简单的最终用户体验
电池寿命也是一个关键的考虑因素,因为每天充电一次以上会导致消费者失去兴趣。如今,通过允许便携式设备只监听特定的代码字或短语,以使系统能够开始将数据传输到中央服务器进行高级分析,并将分析结果回传到所连接的设备,这一问题已经解决。这是这些类型的高级处理应用常用的一种技术,但电源的低效让我们不得不考虑用户可以接受的充电间隔是多长。
根据具体的应用,每天充电一次是可以忍受的,不过消费者明显更喜欢充电一次即可连续使用一周甚至更久的解决方案。我们再来考虑一下玻璃破碎检测器和电机监控器。在一家拥有数千个电机的大型工厂中,哪怕每隔一周为电池充一次电也是一个不切实际的解决方案。最终,将 MCU 的低功耗优势与DSP 的增强性能相结合,可让推理边缘计算的智能程度和数据处理能力实现重大突破。但这需要更先进的硬件。
老问题,新办法
想象一下,如果 MCU 具备数字信号处理引擎和专用硬件加速器的某些预处理能力。这些 MCU 可以迅速唤醒以筛选数据或执行 FFT,但也可以在待机模式下利用比较器和ADC 来了解何时唤醒。这样不仅可在各种工业和消费性应用中获得实时结果,还能降低系统功耗,让电池寿命达到数年之久,而不是数天。
尽管如今的某些 MCU 支持多种 DSP 加速器,但它们倾向于将中央处理单元 (CPU) 的能力发挥到极致,这样就导致会消耗大量的能源。MCU 中新加入的使能 DSP 协处理器(例如MSP430™ MCU 平台上引入的低功耗加速器 (LEA))以节能和具有成本效益的方式提升了性能水平,从而弥补了 MCU 与低端 DSP 之间的差距。专用硬件中具有 LEA 模块的 MCU 可执行 DSP 功能,因此允许硬件进入低功耗模式,从而降低系统总体功耗并执行更复杂的推理计算。这样,应用将:
A.更多地处于低功耗模式下,从而有效降低总体应用功耗;或者B.专注于计算,以提高应用的频率。
C.允许应用执行其他功能,例如在 IoT 应用中与主节点进行无线通信。
随着时间的推移,为使互联设备越来越普及,特别是考虑到更加智能的 MCU 能够以低成本、高能效的方式让互联设备快速、方便地为用户提供数据,所有这些选项都变得至关重要。
基于 FFT 的应用,没有 LEA 模块
基于 FFT 的应用,使用 LEA 模块
LEA 模块是位于各个 MSP430 器件内的矢量数学引擎。此模块可执行信号处理、矩阵乘法以及在应用程序运行时通常需要耗费大量时间和能源进行计算的其他运算。LEA 模块是一个低功耗协处理器,在运行时无需任何 CPU 干预,可执行运算并在执行完功能后触发中断。LEA 模块基于在配置期间提供的命令运行,这些命令根据配置用作内存输入或输出缓冲器和运算类型的指针。专门为 MSP430 MCU 打造并优化的 MSP DSP 库让这些命令变得简单易用,能够让程序员实现所选 DSP 应用。当器件上具有 LEA 模块时,编译器除了使用已实施的 MSP C 代码优化技术以外,还会自动使用此模块来优化性能。
具有 LEA 的 MSP430FR5994 MCU
MSP430FR5994 MCU 方框图
MSP430F599x 微控制器是采用这种新型 LEA模块外设的领先器件。这些高性能的 16 位 MCU 具有屡获殊荣的超低功耗架构、最大 256KB 的嵌入式铁电随机存取存储器 (FRAM) 以及多种灵活高效的外设,构成了一个适用于很多数字信号处理应用的绝佳 MCU 平台。
MSP-EXP430FR5994 MCU LaunchPadTM 开发套件
总体而言,目前有很多应用使用了 MCU 或低端 DSP。声码器、存在检测、回声/噪声消除、血糖监测仪以及结构或环境监测网络都可以细分为多种不同的信号处理功能,这些功能通过分类和数据分析、检测以及在必要时对事件或不确定情形采取措施来对情况进行解读。无论是哪种情况,TI的低功耗加速器 (LEA) 都能够更快速、更高效地执行数据分析,延长电池使用寿命、提高性能或增强功能,从而带来多种优势。请点击了解更多,浏览TI嵌入式模拟器专栏,查看更多资料>>>
作者:Dave Smith,德州仪器(TI)产品营销工程师、Evan Wakefield,德州仪器(TI)新产品应用工程师
基于MSP430的热式风速传感器设计
摘 要 : 基于热扩散原理设计了一款热式风速传感器,它是以Flow Sens FS5为感应元件,将其接入传感器电路之中,通过模拟采集电路转换为电压信号。将电压信号经差动放大电路放大之后,再经过信号滤波电路进行滤波,使电压的幅值比较稳定。最后由MSP430F149单片机的A/D定时采集电压信号,单片机处理采集数据并在液晶上显示风速值。
0 引言
在地面风的测量中,主要的测试手段为:机械式测量、热膜热线测量、激光测量、超声波测量等[1]。风的传感器种类很多,如旋转风杯风速计、热线风速传感器、激光风速仪、超声波风速传感器。热式风传感器因其响应时间短、测量部件小、抗冲击能力强而广泛应用于各行各业。
本文主要基于热扩散原理来设计热式风速传感器,采用热线为感应件达到测量风速的目的。即把热膜探头FS5接入传感器电路之中,再把气体流量信号转换为电压信号,经过差动放大电路把信号放大后送入MSP430F149单片机的一个12位AD通道;MSP430单片机再根据采集到的电压信号计算出相应的气体的流量即风速,最终显示在液晶显示器上。
1 总体设计及工作原理
本系统设计主要由微控制器MSP430F149单片机模块[2-5]、热式感应元件、模拟信号采集电路、信号放大电路、信号滤波电路、电源模块、LCD液晶显示等模块组成,如图1所示。
热式风速传感器由模拟信号采集电路采集风速信号,再经由信号放大电路把信号进行放大,由信号滤波电路对电压进行滤波,使电压的幅值比较稳定,之后再由分压电路对前段的输出电压进行分压,使其小于 3.3 V,MSP430单片机的自带A/D采集电压值,CPU处理数据,最后在液晶上显示风速。
2 系统硬件设计
2.1 FS5感应元件
热式风速传感器是基于热扩散原理所设计的,气体流过发热物时,热损失与气流量的多少成一定比例,从而测量气流的大小。传感器部分有两个不同阻值的RTD,一个用来测量气体的温度,一个作为热源。当有气体流过时,它们之间的温差与风速成线性关系。其几何结构模型如图2所示。
传感器的测量范围广,为0~0.1 m/s~100 m/s,具有体积小容易适应不同的应用或安置设备、信号的处理和校准简单、无机械移动部件重现性好、长期稳定性高、性价比高等特点。
2.2 模拟信号采集电路
热式风速传感器由FS5为感应元件,由于空气流动,带走热量,使得集成在FS5内的RH和RS的阻值变化,通过模拟采集电路转换为电压信号,采集的电压值也发生变化,再经由信号放大电路把信号进行放大,然后经MSP430单片机的A/D定时采集电压信号,单片机处理采集数据并在液晶上显示风速值。模拟信号采集电路如图3所示。
2.3 放大电路
运放要考虑器件特性,避免开环增益过低或者不稳定,从而改变滤波器传输函数的性质。另外,有源器件不可避免会引入噪声,减低了信噪比,需要考虑运放的输入输出阻抗等参数。因此电路中选用TLV27L2高精密运放[6],三极管选用BD237互补硅功率晶体管。差动放大电路具体电路如图4所示。
如果选用的R11、R12、R13和R14电阻值相等,那么它的放大倍数为1,输出电压V3=V2-V1[7]。差动放大电路常用于一般的放大电路中。
2.4 模拟信号滤波电路
典型的模拟滤波器有巴特沃斯滤波器、切比雪夫滤波器以及贝塞尔滤波器等[8]。但是在通带内巴特沃斯滤波器的幅频特性最为平坦,还有单调变化的优点[9],模拟电路后端结构选用压控电压源型滤波电路,此电路所用的元件数目很少,对有源器件特性理想程度要求相对比较低,复杂度低,方便调理,广泛应用于很多电子设备。具体电路图如5所示。
2.5 复位电路
在单片机系统里,单片机需要复位电路,复位电路可以是R-C复位电路,也可以用复位芯片来实现复位电路。具体电路图如6所示。
本文设计选用R-C复位电路,比较经济。为减少输入电源纹波的干扰,在复位电路里加了一个104电容来实现滤波。
2.6 液晶显示
本设计中使用的LCD显示模块为12864液晶显示屏,除了用于显示当前风速和平均风速,还可以在液晶上的坐标轴上打点,显示一段时间的风速情况。
2.7 电源电路
模拟信号模块需要+12 V供电,而MSP430F149控制芯片需要3.3 V供电。+12 V电压是外部输入,由电压转换芯片SPX1117M3-3.3转换输出3.3 V,发光二级管是用来检测电源电路是否工作正常的。电源电路图如图7所示。
在电压的输出端的引脚增加了一个0.1
的电容来实现滤波,以减少电源输入纹波对单片机的影响。单片机还有模拟输入端,因此用0
的电阻用来隔离数字地和模拟地,用电感来隔离数字电源和模拟电源,模拟电源输入端增加了一个滤波电容来减少干扰。
3 系统软件设计
3.1 总程序设计
系统的软件主要包括模拟量的采集模块、A/D模块、液晶显示模块和主处理模块。通电后,对单片机的寄存器控制器进行初始化,显示开机界面,点击开始测试,打开中断,A/D采集和定时器开始工作,当定时时间到,程序进入中断服务程序,进入数据的采集处理阶段,然后在液晶上显示,然后循环执行采集、处理、显示程序。具体流程图如图8所示。
3.2 主处理模块软件设计
程序编写的部分主要是将各个模块程序进行调用和数据处理,主程序模块一般先进行必要的初始化程序,然后打开中断,循环处理数据的采集、换算和显示。具体流程图如图9所示。
3.3 AD转换软件设计
定时器确定模拟量的数据采集时间间隔,定时中断时,停止A/D转换,读取A/D所采集数据,完成数据读取后启动A/D。当然,如果读到新的数据,主程序通过一个设置的标准位可得知。这个程序模块是基于中断服务结构来实现的。相应的程序流程如图10所示。
4 系统调试及其结果
为了得到整体设计效果,要把硬件和软件调试结合起来,对于不同的硬件部分则应该用不同的程序模块进行调试。软件调试涉及电压转换为风速的算法,可以把测得的实际值和换算后的电压值显示在液晶上,方便调试,查看效果直观。经过联合调试,整个系统的软件和硬件能够正常运行。表1为测试数据。
从表1可知,热式风速传感器测得的风速与实际的有明显的误差,但根据风杯风速传感器计量性能要求[10-11],其误差都在最大允许误差±(0.5+0.03 v)m/s范围之内,其中v为实际风速。总的来说是满足设计要求的。
5 结论
本文设计的热式风速传感器系统的主控单片机选用的是MSP430F149,通过MSP430单片机的一个片内AD转换通道与外部采集传感器进行连接,实现数据采集功能,再由MSP430单片机对采集来的数据进行处理,通过液晶显示出风速值。系统精度高,稳定性好,系统显示友好。该设备功耗低,电路简单易懂,便于扩展发挥,具有良好的应用价值。
参考文献
[1] 梁嫁怡.超声波二维风速风向测量系统设计[D].哈尔滨:哈尔滨工业大学,2013.
[2] 任保宏,徐科军.MSP430单片机原理与应用[M].北京:电子工业出版社,2014.
[3] 沈建华,杨艳琴.MSP430系列16位超低单片机原理与实践[M].北京:北京航空航天大学出版社,2005.
[4] 魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2004.
[5] 龙兴波,黄敏,樊昌元.基于MSP430的微弱信号检测装置[J].微型机与应用,2014,33(3):18-20.
[6] MAKINWA K A, SZEKELY V, HUIJSING J H. Modeling and simulation of thermal sigma-delta modulators[J]. IMTC2002, 2002(1):261-264.
[7] MARQUES L,TOMASZEWSKI G,ANIBAL T.de Almeida. Switch thermal anemometer[C]. IMTC2008IEEE International Instrumentation and Measure. Merit Technology Conference, Victor, 2008: 1783-1786.
[8] 胡广书.数字信号处理—理论、算法与实现[M].北京:清华大学出版社,2003.
[9] 邓彦松,杨勇,单玉华.过采样Delta-Sigma调制器原理及实现[J].中国集成电路,2004,61(6):43-47.
[10] 中国气象局,JJG(气象)004-2011.自动气象站风向风速传感器检定规程[S].2011.
[11] 张建敏,吕文华.气象计量测试指南[M].北京:中国质检出版社,2011.
相关问答
MSP 压力 传感器 _汽配人问答[最佳回答]MSP压力传感器有这些:MSP100,MSP300,MSP310,MSP320,MSP340,MSP400,MSP430,MSP5100,MSP600,MSP610,MSP800详细说明可以上江门市...
求代码!使用 MSP430 F149通过IIC信通读取16个HMC5883L磁场 传感器 的数据并通过串口输出?您好,代码如下://程序里已经在MPU6050初始化程序里写了,下面的语句002i2c_write_bit(MPU6050_I2C_Moudle,MPU6050_ADDRESS,MPU605...
msp430 f149单片机能采样电流吗?msp430f149单片机自带12位AD,不过AD只能接受电压信号,采样电流需要先用传感器或调理电路变换为合适幅值的电压即可。msp430f149单片机自带12位AD,不过AD只能...
MSP430 中P1SEL是干嘛的?谁能给我解释一下?P1口是特殊功能,只要相应位置1它的特殊功能就被开启了,比如TAn的就是PWM输出,或者时钟输出等等P1口是特殊功能,只要相应位置1它的特殊功能就被开启了,比如T...
热释电红外 传感器 单片机_汽配人问答[最佳回答]把热释电的输出信号通过三极管的基极,把三极管的c集输出接到单片机的引脚上就可以了,就是高低电平,由于热释电的信号比较小,前期要做点处理的,同时...
msp430 f169和149的区别?MSP430F149具有60kB闪存、2KBRAM、12位ADC、2USART、硬件乘法器,而MSP430F169具有60kB闪存、2048BRAM、12位ADC、双DAC、2...
msp430 的尺寸是多少?尺寸是16-位,MSP430微控制器制造商:TexasInstruments系列:MSP430™FRAM包装:带卷(TR)零件状态:在售核心处理器:MSP430核心尺寸:16-位速...
stm32和 msp430 的区别?STM32与MSP430运算效率对比如下:通过实验发现,在处理运算时,STM32的速度略快于MSP430,在做浮点运算时,速度远远快于MSP430,在需要复杂运算的环境中,STM32...S...
流量 传感器 信号采集电路_汽配人问答[最佳回答]1、因为MSP430单片机是3.3V电压,AWM3100输出是5V电压,所以输出信号要降低一倍。2、第二条不太明白是什么意思,请再详细说明一下。AWM3100是霍尼韦尔...
MSP430 F149和 MSP430 F169有什么不同?MSP430F149具有60kB闪存、2KBRAM、12位ADC、2USART、硬件乘法器,而MSP430F169具有60kB闪存、2048BRAM、12位ADC、双DAC、2...