当前位置:首页 > msp430
  • 详解TI MSP430 FRAM MCU惊呆小伙伴们的“杀手锏”

    详解TI MSP430 FRAM MCU惊呆小伙伴们的“杀手锏”

    针对智能水表、电表、遥控器等需要长时间使用的应用,任何MCU厂商都会以“低功耗”来大做文章,8 bit、16 bit和新晋的32 bit MCU都在分食低功耗应用市场,并且厮杀得越来越激烈。德州仪器(TI)MSP430一直是业界的明星产品,MSP430 FRAM系列MCU问世之后,更是频频打破低功耗的极限,同时也成为竞争对手争先对比和“攻击”的对象。我们不要再听厂商们“王婆卖瓜自卖自夸”,先来看看权威第三方机构的验证结果。 嵌入式微处理器基准评测协会(EEMBC),基本上涵盖80%~90%的MCU的厂家都是其成员,他们一起做了评估,此次评估囊括了8 bit、16 bit和32 bit MCU,评估的标准值称为ULP -MAX(Bench),该值是一个综合评估值,比较全面地权衡各种状态下的功耗和性能,这个最能体现超低功耗的总体性能,值越大代表越好。MSP430的ULP -Bench值大约为119.2,跟其他的供应商(再次强调包括8 bit低功耗单片机)相比具有巨大的优势,第二名仅为80左右。   图1 ULP -Bench用户界面 日前,TI再次重磅推出两款产品MSP430FR4x/FR2x FRAM MCU,以完善FR家族产品,满足细分市场需求。德州仪器半导体事业部MSP430业务经理夏树荣携德州仪器MSP430中国区业务拓展经理刁勇顶住雾霾压力,来京向记者分享了这两款产品以及开发工具的“杀手锏”。MSP430FR4x/FR2x是夏经理带领的中国的MSP430团队,利用中国的设计理念,针对中国市场本土开发出来的适合中国市场的产品。   图2 德州仪器半导体事业部MSP430业务经理夏树荣 解析“杀手锏” 针对低功耗应用设计,用户常见问题主要有以下几点。(1)应用能耗,如客户以削减或同等的能量预算来实现功能的增加。例如超市电子标签,要做得很大很薄,就需要用纸电池替代纽扣电池,但是电池寿命要求一样,这时MSP430就有用武之地了。(2)调试问题,设计人员要完成功耗设计要求,往往会花费75% 以上的工作时间来查找系统中的电能‘漏失’,明显浪费了人力资源;(3)复杂性,嵌入式软件正变得日益复杂,因而增加了内存要求、能量预算和产品上市时间;(4)未来开发,客户依赖于一个可扩展的产品系列,以在未来项目中能重复使用之前的硬件与软件。 刁勇先生表示:TI整体超低功耗MCU平台的设计初衷是节省能源并实现一个无电池的世界,不断解决用户问题。针对以上问题,TI采取的相应对策。 超低功耗(ULP)架构。MSP430 FRAM MCU是业界功耗最低的MCU,与采用Flash的MSP430相比,其功耗降低了一半。具有集成式液晶显示驱动器以延长电池寿命,超低运行功耗,对比度保持均衡的LCD待机功耗极低,精确实时时钟(RTC)电流低于1 µA。 作为一个普通消费者,记者特别了解了一下“对比度保持均衡”的问题。空调遥控器之类的显示控制器在电池快没电之前,显示码会变暗,影响了用户的使用。TI MSP430FR4x/ FR2x有一个片上电荷泵,使得不管电池提供的电压是多少,输入到所有LCD驱动的电压是恒定的,这样对比度就会很好地控制了。夏总表示:“我们的产品即使是在待机的时候,还能正常显示温度、风量等需要的信息,同时电池放得再久、时间再长,也要达到与正常使用时是一致的,对比度不会下降。” EnergyTrace技术。使用MSP430FR4133 LaunchPad或MSP-FET编程器/调试器,可免费提供独特的能量测量技术,开发人员可轻松对代码执行作出明智判定并基于功率分布图进行优化。夏经理表示:“开发人员最大的问题不是解决问题,而是根本找不到问题所在。”EnergyTrace能够帮助他们看在每一步、每一个时间段、每一个外设的功耗,问题马上无所遁形。夏总说他之前去拜访一个客户,对方花了2个月时间去找功耗问题,用了EnergyTrace以后,1天就找到问题,真是相见恨晚。 集成式LCD和红外(IR)逻辑。片上LCD控制器和IR调制逻辑可简化硬件配置和软件设计,软件可配置引脚能简化LCD板布局,红外IR调制硬件则可减少软件需求。 管脚的灵活配置是针对中国用户需求而特别设计的。夏总表示:“国外电路板现在都是6~8层板为主,而中国用户用的最多的还是单层板和双层板,布局太麻烦。既要用LCD,又要有存储的接口,还要复位键,MSP430FR4133 LaunchPad的好处是40个管脚通过软件任意地选,这样到下一代产品电路板很难布局的时候,只需要把软件改一下。这样的自由配置惊呆了我们的小伙伴们。因为他们修改电路板硬件从设计、验证、生产,周期最快也要两周,而TI可以帮助他们无需改动硬件的布局,用软件就能实现。我个人对我的开发团队非常地自豪。这是在针对中国市场的需求,在中国定义、中国研发团队完成的。我们写了一个可配置的逻辑,这个确实是很挑战,既要集成模拟也要集成数字的,可以集成在一个I/O口上。另外我们也谈到了红外遥控器,我们说最低功耗的LCD控制器,这就是说我们在待机模式的时候是要看工作的,而且是最低的功耗。” 可扩展的产品组合。TI的MSP430产品组合现在可提供基于4 KB ~128 KB FRAM的超低功耗MCU。这个也是一个亮点,用户可以用软件按需将芯片内部的FRAM自由配置为Flash、SRAM、EEPROM三者任意的组合以及所占的内存比。针对不同应用开发,提供超过10种封装形式。100多种FRAM MCU已投入批量生产,并且引脚和代码兼容。 应用亮点 MSP430 FRAM MCU适用的应用包括智能计量仪表、遥控器、能量收集、数据采集、工业和远程传感器等,适用于需要延长电池寿命、扩展产品功能同时又要缩短开发周期的开发人员。 夏总举例到:“针对智能计量应用,例如智能水表,现在的新需求是用钮扣电池让其工作8年以上。再如在工业控制上,不能每天在管道里面拿一个表测一次,而是做一个浮动流量剂放在管道中进行计量,并保证工作10年,这对低功耗的要求是非常苛刻的。”[!--empirenews.page--] 如今热门的是智能家居或者物联网,最终用户关心的是什么?是人机界面。现在物联网的趋势是洗衣机、空调这些白色家电都可以通过ZigBee或者Wi-Fi联网(TI在这两方面都有强大的产品),用户可以通过远程来控制家电,同时能衡量家电的能耗。以冰箱为例,我们怎么样节约能源?现在比较流行的是三层冰箱:冷藏、冷冻、零度,目前大多只求是否达到温度效果,往往会出现过量供电的现象,导致能源的浪费。通过一个数据采集和控制就会达到一个很好的能量分配,能进一步地节省能源,同时可以通过远程控制或者信息采集自动地把过去几个月的冰箱使用习惯、洗衣机的使用习惯等搜集起来,反馈给家电,让它进行智能的控制。 下图上为智能水表的演示,中左图为遥控器演示、中右为空调遥控器LCD显示的演示、最下部图为简单的触摸演示。   图3 案例演示 FRAM与低功耗的“密恋” 很多人会问,Flash用了十几年了,为什么说FRAM好?TI为什么投入了大量的人力物力在铁电存储器上?夏总说是因为它确实是革命性的创新。 MCU的功耗主要包括4种。待机功耗:大多数电池供电型应用要将使用寿命中超过80%的时间花费在电源备用模式,间歇性地唤醒以实现低占空比。模拟功耗(外设功耗):微控制器应用通过LCD等复杂的外设添加功能。数据写入功耗:微控制器应用经常在非易失性存储器中记录数据以满足应用中的需求。运行处理功耗: 电池供电型应用通常将CPU用于决策、基础数学和控制。 就像EEMBC所测得的ULP-Bench值一样,TI MSP430 FRAM MCU这4种功耗综合起来是最低的。其中除了MSP430本身具有的低功耗DNA以外,FRAM所起的作用最大,其优势包括:可写入更多,写入速度比闪存快100倍,拥有无限的可擦写次数(1015),能延长产品寿命并淘汰EEPROM;可降低功耗,写入时的能耗比闪存低250倍,能延长电池寿命,通过缩短内存更新时间,最大限度地降低无线系统功耗;可简化开发,简单易用,具有无与伦比的灵活性迁移指南、代码示例和应用手册可加速设计。 关于FRAM的低功耗原理,记者从之前对TI相关人士的采访中简单地得到了一些,仅供参考。一般的MCU通常用Flash(闪存)存储代码,用EEPROM存储数据,当需要对片上Flash 擦写时,MCU内部需要专门的升压电路将电源电压(通常为3.3 V)升至15 V,才能执行Flash擦写操作,因此,MCU在写Flash的时候是特别耗电的。FRAM在执行擦写时不需要升压到15 V,可以直接写,而且FRAM写入速度比一般的Flash快了近1 000倍。基于FRAM的上述两个优势,MCU在写FRAM时的功耗是MCU写Flash时功耗的1/250,实现了最低的内存功耗。 MSP430和FRAM两者对低功耗的完美诠释,成就了TI今天的“金刚狼”系列,至于是否会逐渐把FRAM推广到其他MCU,我们也将拭目以待。

    时间:2017-06-25 关键词: fram MCU MSP430 TI 嵌入式处理器

  • MSP430无线充电器电路原理图

    MSP430无线充电器电路原理图

    电源切换 直流输入采用单刀双闸继电器,交流上电常开闭合,常闭打开实现交流优先,交流断电继电器断电,常闭闭合,实现自动切换。在切换时,时间很短,C1 可提供一定时间的电量,可以实现不断电切换,不影响充电。见图2 所示。   发射及接收电路 发射电路由振荡信号发生器和谐振功率放大器两部分组成, 见图3 所示。采用NE555($0.0700) 构成振荡频率约为510KHZ 信号发生器,为功放电路提供激励信号;谐振功率放大器由Lc 并联谐振回路和开关管IRF840($0.6202) 构成。振荡线圈按要求用直径为0.8mm 的漆包线密绕2O 圈,直径约为6.5cm,实测电感值约为142uH ,由, 当谐振在510KHZ 时,与其并联的电容c5、c6 约为680P,可用470pF 的固定电容并联一个200PF 的可调电容,可方便调节谐振频率。   大功率管TRF840 最大电流为8A、完全开启时内阻为0.85 欧,管子发热量大,所以需要加装散热片。当功率放大器的选频回路的谐振频率与激励信号频率相同时,功率放大器发生谐振,此时线圈中的电压和电流达最大值,从而产生最大的交变电磁场。当接收线圈与发射线圈靠近时,在接收线圈中产生感生电压,当接收线圈回路的谐振频率与发射频率相同时产生谐振,电压达最大值。构成了如图4 所示的谐振回路。实际上,发射线圈回路与接收线圈回路均处于谐振状态时,具有最好的能量传输效果。   充电电路 如图5 所示,电能经过线圈接收后,高频交流电压经快速二极1N4148($0.0054) 进行全波整流,3300F 的电容滤波,再用5.1v 压二极管稳压,输出直流电为充电器提供较为稳定的工作电压。   充电效率是一个不得不考虑的问题。本设计系统可以在发射接收电路的能量传输部分做适当改进,以获得更高的效率和更远的距离;也可以设计充电设备检测电路, 在没有能量接收电路时能量发送部分处于睡眠状态,当能量接收电路靠近发送部分时,激活发射电路开始充电。本设计系统达到了设计要求,具有无线充电、携带方便、成本低、无需布线等优势,有着广泛的应用前景。

    时间:2017-06-22 关键词: 电池电源 电路图 无线充电器 MSP430

  • 手头没有下载器?你需要知道msp430的BSL下载

    在使用msp430做硬件开发时,一般都不会把用于载入程序的CH340或PL2303等电路模块集成到电路板上,所以就需要一个下载器(或BSL程序烧录器)下载,这个很容易买到。不过,如果手头没有下载器的话该如何把程序下载到你的msp430??? 一、什么是BSL BSL(BootstrapLoader)是msp430flash系列独有的一项功能,在程序空间、ROM之外有1KB左右的引导区,用来存放msp430的BOOTROM文件(引导ROM)。这个引导程序是固化在BOOTROM空间内,而且是用户不能直接使用和修改的存储空间。当外界给芯片提供一种特定激励是,芯片内的引导程序开始工作,引导外部数据写入片内ROM、RAM。外部数据由串口UART提供,所以一般msp430开发板上都带有CH340等USB转串口模块。 二、USB转串口常用方法 使用CH340,输出端口:TXD、RXD、DTR、RTS。 使用PL2303,输出端口:TXD、RXD、DTR、RTS。 可以看出两者输出相同。回到刚开始的问题,我们在没有BSL下载器时,可以使用我们手头开发板上的资源进行下载,具体方法比较简单,但须连接正确。下面的左边是我们开发板转串口的输出,右边是我们开发所用的、即将要下载的msp430芯片的4个引脚。 TXD <-----------> P2.2(RXD) RXD<-----------> P1.1(TXD) DTR<-----------> RST RTS <-----------> TCK 三、试验 上图即是通过大开发板转串口向小开发板msp430芯片下载,小板在这只提供待下载芯片(假想的开发硬件),但必须供电<-_<-,试验后能成功将代码载入msp430芯片。

    时间:2017-06-14 关键词: 程序下载 bsl下载 MSP430

  • 基于MSP430与DTMF技术的医院呼叫对讲系统设计

    16位的MSP430单片机的集成度很高,片内资源丰富,主要的突出特点是低功耗,可以实现长时间的稳定工作,应用到该系统后,性能得到很好的优化,可以提高医护人员的工作效率和降低他们的劳动强度,病人也能得到及时的护理和医疗,可以显著提高医院的服务水平和医疗质量。 1 DTMF呼叫对讲系统介绍 1.1 DTMF技术的介绍 DTMF(Dual Tone Multi Frequency),即双音多频,由一个高频信号与一个低频信号叠加组合成的,分别代表一个数字或字符。双音多频信号,是用两个特定的单音频的组合来代表数字或功能。高低频信号各有4种,分别组成高频群和低频群,采用8选1的组合方式来构成DTMF信号,从而有16种组态,分别可以代表拨号键盘上的0—9、A—D、*、#等16个字符,按照信号频率和字符对应列出表格(如表1所示)。由于其具有良好的抗噪声特性,被广泛用于通信系统拨号传输。 1.2 呼叫对讲系统的工作原理 系统的主机和分机都通过单片机进行控制,由于在整个呼叫系统中主机只有一个,是系统的核心模块,通过外部总线可以与分机连接,实现呼叫对讲的功能。主机可以在任何时间接收分机的呼叫,同时数码显示屏和病人信息一览显示表能同步和准确地显示相应的信息,设有一级、二级和三级护理级别,当有多路呼叫信号时,按护理级别和先后拨打顺序循环显示。 2 系统的总体设计 系统在空间上可分为3个部分,分别为医护人员值班室、病房和走廊(如图1所示)。主机、电话机和病人信息一览显示表等安装在医护人员值班室,分机安装在各个病房的各个床位,数码显示屏安装在走廊上。主机在待机的时候,走廊上的数码显示屏显示日期时间等信息,当有病人使用分机呼叫主机时,在医护人员值班室的主机会发出响铃信号同时病人信息一览显示表和走廊上的数码显示屏会显示相应病人的信息,电话接通后,医护人员得知病人的情况,以便准备相应的医疗措施。 3 系统主要硬件电路设计 3.1 主机的硬件设计 本系统主要由单片机、DTMF信号的发送电路、DTMF信号的接收电路、DTMF信号的解码电路、振铃检测电路、摘挂机检测电路等部分组成,如图2所示。 主机的设计采用MSP430F149单片机作为核心控制模块,它不仅控制着主机和分机号码的收发,还控制主机和分机的接通、振铃信号的通断、显示等功能。系统处在正常工作状态下,当主机呼叫分机时,通过相应的信号检测,主机电话机摘机后,拨打分机号码,经过DTMF信号解码后发送到相应的分机,分机电话机摘机后,主机和分机便可以实现通话,通话结束后挂机。当医护人员需要广播时,启动群呼功能,主机对所有分机广播,挂机后结束。当有分机呼叫主机时,主机接收到信号后对其进行编码,通过解码电路送入单片机,CPU读取信息后,显示电路显示相应分机的号码和呼叫时间,主机电话机摘机后,振铃信号清除,分机和主机便可以实现通话。 3.2 DTMF信号收发电路 本系统的DTMF信号收发电路采用MT8880,它集成度高,功耗低,能用于发送和接收DTMF信号。使用Protues设计收发电路,如图3所示,A端口接入到总线,B端口是DTMF信号收发端。MT8880使用标准的单片机控制接口,单片机可以精确地完成接收和发送功能。 处于发送状态时,数据总线上的4位二进制码锁存到发送数据寄存器,发送的信号频率由晶振频率通过分频产生,在基准频率中分离出8个不同的频率信号再按八取二的组合方式选择出一组高低频率从而合成一个DTMF信号。处于接收状态时,DFMF信号输入后,被分离成一组高低频率信号,检测到后译成对应的4位二进制码,随后锁存在接收数据锁存器中。 3.3 信号的解码电路 主机呼叫分机利用电话机的拨号原理,主机电话机拨打分机号码,发出的DTMF信号通过解码电路获得对应分机的地址信号。本系统采用MT8888作为解码器芯片,它的功能强大,具有电路简单、功耗低、稳定性高和抗干扰能力强等特点,该芯片外同电子元件少,很容易与MCU接口相连。由Protues设计出解码电路,如图4所示,单片机的P1.1端用作读选通功能接到MT8888的RD端,P1.2端用作写选通功能接到MT8888的WR端,图中电路当有DTMF信号输入时,锁存到输出寄存器中,使得IRQ端输出高电平,CPU查询到该信号后对MT8888进行控制,使得RD和CS端有效,同时把代表所拨号码的4位二进制码传送至CPU处理。 3.4 振铃检测电路 当有用户呼叫本机时,电话交换机发来铃流信号,因此可以通过检测有无铃流信号来判断有无呼叫信号。本系统的振铃检测电路由4个二极管D1~D4,2个稳压二极管D5、D6,1个电阻R和1个电容C组成,IN1端与IN2端是铃流信号输入端,OUT1端与OUT2端是振铃检测输出端。当没有振铃信号输入的时候,稳压管D5不能导通,振铃检测电路的输出端电压近似为0V,此时检测结果为没有振铃信号;当有振铃信号输入的时候,由于二极管D1~D4组成的电路具有整流作用,信号变换成脉动直流电,通过电阻R对电容C充电,振铃检测电路的输出端产生电压,此时检测结果为有振铃信号。在电路中的稳压二极管D6的作用是限制振铃信号的幅值,防止输入电压过火而烧坏电路元件。 3.5 摘挂机检测电路 挂机检测电路用于检测摘挂机状态,并将其输入单片机控制系统。摘挂机的检测信号输入到单片机的P1.3引脚,磁铁装在话筒上,干簧管装在电话机内部,利用干簧管的合上与断开可以实现话筒和话机合上与断开。电话机摘机时,话筒和话机分开,由于失去了磁铁的吸引作用,干簧管的弹片断开,P1.3引脚输入高电平;电话机挂机时,话筒与话机合上,由于磁铁的的吸引作用,P1.3引脚输入低电平,这样可以通过查询P1.3引脚的电平状态来检测摘挂机。 4 系统软件设计 根据需要,设计出主机的呼叫工作流程图(如图5所示)。主机处在空闲状态下,即没有呼叫和通话时,走廊上的数码显示屏会显示实时的口期和时间等信息,同时主机会不断进行中断查询,判断此时是否有分机发送的呼叫信号,若没有的话就执行按键查询,判断是否拨号呼叫;当主机与分机进行通话时,双方接通后,此时数码显示屏会显示病人的相关信息,如病房号、床位号等。 5 实验仿真分析 为了验证DTMF信号的可靠性,应用MATLAB进行仿真实验。需要设置一组DTMF信号频率组,本实验选择按键“0”的DTMF信号,其对应的频率组为1 366 Hz和941 Hz,导入到MATLAB后可以得到该信号的时域波形图(如图6所示),再选择其它频率组进行仿真实验也得到类似的结果。由此实验可说明一组高低频率可以有效地组合成一个DTMF信号,并且能被准确的识别和处理,由于DTMF拨号速率的高效性,避免了传统的拨号方式带来的缺陷,确保信号准确无误地传送,可以肯定本系统的可行性。 6 结束语 本系统结构设计比较简单,以MSP430F149单片机作为控制核心,采用DTMF信号的通信技术,能有效地降低系统的成本,提高其可靠性和抗干扰能力。本系统的组装和维护方便,操作简单,便于医护人员和病人使用,病人能直接与值班室的医护人员交流,很好地改善了医患关系,让医护人员及时了解病人的现状,病人也能得到悉心的护理和对医院的信任度也有所提高。本文所研究的系统重点在于设计一个有效、方便的呼叫对讲系统,基本上达到了设计目标,但是科技总是不断发展的,技术会逐步更新,今后医院呼叫对讲系统的功能也会不断地完善。  

    时间:2017-06-08 关键词: dtmf 呼叫对讲 MSP430

  • 基于MSP430的心电采集系统设计

    摘要 采用仪表放大器和MSP430单片机设计开发了一种简单有效的心电采集测量系统。通过标准2导联,把生物电信号传送到放大器,由于生物电信号比较微弱,信号还需要经过二次放大。利用50 Hz陷波器消除工频干扰;使用单片机采集数据;采用单端模式,测量心电信号测量范围0~600 mV.可以在12864液晶屏上显示,也可通过串口传送到个人计算机。最后为试验系统编写了上位机程序,该系统可以为医生提供病人的远程参考数据。 随着微电子技术与工艺的发展,各种电子产品逐渐趋于小型化和集成化,而功能更强大,这使得医用设备家庭化成为可能。随着我国城市人口老龄化、物质生活的改善,心血管疾病不断增加,人们对这一类疾病的预防和诊断需求也在增长。文中采用TI公司的SOc型混合微处理器单片机,用Altera公司的CPLD做为控制器,处理心电和脉搏信号。作为数字前端的心电和脉搏信号,经过由放大器组成的模拟电路,放大、滤波和陷波处理,经控制系统,通过串口发送到个人计算机,同时设有报警装置。此心电和脉搏测量最小系统以插卡形式给出,通过PCI接口完成对其电源配置和CPLD连接到液晶显示。 1 心电和脉搏处理电路设计 采用标准II导联模式,将电极分别接在人体的左右手腕和左脚腕。具体的连接如图1所示,左右手两路信号连接到易用放大器,左脚接地,进行一次放大。从人体皮肤测得的心电信号较微弱,而且经常叠加着各种干扰和噪声,最常见的就是电网的工频干扰。因此信号要进行二次放大并且进行50 Hz陷波处理。接下来的数据一路送往报警检测电路,另一路送往单片机处理。 图1 心电与脉搏处理电路 由于心电信号微弱,仪用放大器输入电阻大,共模抑制比高,增益调节方便,使用易用放大器作为输入级。 放大器件采用INA128增益 Rg是2脚和8脚之间的电阻值,设计中为滑动变阻器与固定电阻之和,变化范围是220~5220Ω,增益变化范围约为10~228 dB动态范围很大。 心电信号经过放大后仍需要二次放大,其电路采用普通的同相比例放大器经过二次放大后,所得信号可达4~5 V.为消除50 Hz工作频率的影响,采用传统的陷波器,抑制50Hz噪声。 陷波器有两种:一种是使用双由双T网络和运放组成;另一种是由带通滤波气和相加器组成。文中使用的是带通滤波器和相加器构成的陷波器,如图2所示。 图2 带通滤波器和相加器构成的陷波器 U1信号加入进带通滤波器,使用双踪示波器观察U1和U2波形,调节滑动变阻器使得U2处50 Hz信号最大,带通滤波器中心频率为50 Hz,U1和U2信号等幅度反相位,信号U2进入加法器,微调变阻器使U3输出接近为零,抑制50 Hz信号,这就完成了50 Hz陷波。由于模拟电路噪声的存在,50 Hz仍然有微弱输出,可以通过数字滤波进行消除。 图3是50 Hz陷波以后示波器观察的心电信号。图4是50 Hz陷波以后示波器观察的脉搏信号。陷波以后的信号一路送往报警电路,一路送往单片机,进行采样处理。 图3 心电信号   图4 脉搏信号 2 MSP430单片机系统设计 MSP430系列单片机是TI公司1996年推出的一个优秀的SOC型混合微处理器产品系列,16位的高效的微处理器系统,丰富强大的外围电路资源,其中也包括很多高性能的模拟电路资源,低功耗成为被广泛应用的一款单片机设计采用MSP430的2系列单片机。对心电信号进行A/D采样。然后经模拟串口发送到个人计算机。 2.1 Sigma-delta模块 2系列单片机含有独立的16位ADC,并且包含基准源,可编程序增益放大器以及温度传感器,适合各种高精度测量应用,SD16模块部分框图如图5所示,它采用Sigma-delta调制技术。 图5 SD16模块部分框图 SD16模块含有独立的控制寄存器,并且有8个独立的差分通道,6通道接到内部传感器,通道7短路,用于0 V校准。其实ADC模块只是引出数量有限的通道,原因是管脚受限。 2.2 单片机系统设计 MSP430单片机系统设计硬件框图如图6所示。 图6 MSP430单片机系统设计硬件框图 数据采集部分,使用单端模式,时钟为辅助时钟32.768 kB,2分频以后,过采样率为256 Hz,实际采样率为64 Hz,相对于心电信号和脉搏信号,满足奈奎斯特采样定律。采样数据可以通过模拟串口发送到上位机PC,也可以通过CPLD至液晶屏实时显示波形。 2.3 数据采集和模拟串口发送软件设计 有单片机采集的数据经过串口传送到计算机,使用SPI(Serial Peripheral Interface)协议。 由于计算机串口电平转化,采用Max232N进行设计,电路图如图7所示。 图7 MAX232N与串口protel原理图 MAX232芯片是美信公司专门为电脑的RS~232标准串口设计的单电源电平转换芯片由3部分组成,图7是Protel原理图。 (1)供电部分包括电源和地,分别是16脚和15脚,5V电源。 (2)电荷泵电路部分,功能是提供正负12 V电源,供给RS-232串口使用,使用了前6个引脚,1和3脚之间,4和5脚之间使用了极性电容分别为1μF. (3)数据转换部分,有两个数据通道。第一数据通道包括13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT);第二数据通道包括8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 MSP430单片机低功耗主要靠时钟休眠来实现,中断子程序可以唤醒不同深度的休眠模式。因此,充分利用时中断、休眠和时钟之问的关系,实现数据采集和串口发送。单片机程序流程图,如图8所示。 图8 单片机程序流程图 使用定时器模拟串口通信协议,产生波特率9 600 bit·s-1.由于是16位A/D,每次传送8位到计算机,分两次传输,先传送高8位,然后传送低8位,采样率为64Hz。 3 实验结果和PCB设计 数据通过串口发送到计算机,没有数字滤波之前使用Matlab仿真现显示的波形如图9所示。 图9 心电波形 与正常电信号相比滤波之后能够反映出心脏的基本工作状况。南于是数模混合电路,PCB插卡的设计和调试较重要,数字地和模拟地应分开且单点连接。CPLD和液晶在试验基板上,插卡只是整个大系统的一小部分。 4 基于LabVIEW上位机设计 设计了基于LabVIEW的上位机界面,LabVIEW是一种图形化程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但LabVIEW与其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用图形化编辑的G语言编写程序,产生的程序是框图形式。 图10是上位机程序界面,可以实现心率测量,数据区域放大、拖动、存储和回放,既可以自动测量,也可以设定门限手动测量。 图10 上位机界面 5 结束语 设计时考虑到了成本和单片机的资源需求,测量心电和脉搏是分开的,PCB插卡上有跳线,可以在不同需要时进行选择。设计采用传统的模拟电路和最新的数字器件,用单片机自带的模数转换模块,对信号进行采集,定时器产生波特率中断模拟串口,通过串口发送到计算机,实现模拟信号的数字化处理,最后使用LabVIEW编写上位机程序。不足之处是,远程传输问题考虑得不够完备,应当改进。

    时间:2017-05-24 关键词: PCB 心电采集 MSP430

  • MSP430低功耗原理及其在海温测量中的应用解读

    MSP430低功耗原理及其在海温测量中的应用解读

    MSP430系列单片机是一款具有精简指令集的16位超低功耗混合型单片机。采用MSP430系列单片机的一个最大优势是它具有低功耗和高集成度,非常适合于电池供电和空间受限的工作环境以及便携式应用场合。 1 MSP430系列单片机的低功耗原理及工作模式 1.1 低功耗原理 MSP430系列单片机能够具有很低的功耗,是由它的结构特点决定的。 1.1.1 灵活的时钟信号 MSP430系列单片机为系统提供不同的时钟信号,用户可以根据实际需要选择合适的系统时钟。MSP430的时钟模块由高速晶体振荡器、低速晶体振荡器、数字控制振荡器DCO、锁频环FLL以及锁频环增强版本FLL+等部件构成。MSP430系列单片机输出3种不同频率的时钟信号:ACLK(辅助时钟)、MCLK(主系统时钟)、SMCLK(子系统时钟)。下面以MSP430F4XX系列单片机的时钟模块为例作介绍。 MSP430F4XX系列单片机的时钟模块有3个时钟源:LFXT1CLK,XT2CLK,DCOCLK。LFXT1CLK为低频时钟;XT2CLK为高频时钟;DCOCLK为片内数字控制RC振荡器,经常用作系统和外设的时钟信号,其稳定性可由FLL+硬件控制。 MSP430F4XX系列单片机时钟模块的结构如图1所示。ACLK来自LFXT1CLK,可由软件选作各外围模块的时钟信号,一般用于低速外设,ACLK经1,2,4,8分频后供外部电路使用,保证了MSP430F4XX和MSP430F1XX的时钟系统相兼容;MCLK可由软件选择来自LFXT1CLK,XT2CLK,DCOC-LK三者之一,然后经1,2,4,8分频得到,主要用于CPU和系统;SMCLK可由软件选择来自XT2CLK或DCOCLK,主要用于高速外围模块。用户根据不同的应用要求和系统条件,通过程序选择低频或高频,3种不同的频率时钟输出给不同的模块,从而合理利用系统的电压,实现整个系统的低功耗。   DCOCLK可以用作MCLK和SMCLK,但由于RC振荡器DCO的频率会因温度和电压的不同而变化,导致输出频率不稳定。MSP430F4XX系列单片机的时钟模块应用了增强型锁频环技术FLL+,可以通过频率积分器和调制器的自动调节使DCOCLK的频率趋于稳定,实现了硬件自动调整DCO频率,而MSP430F1XX系列单片机的时钟模块则需要通过软件调整DCO频率。 1.1.2 完全独立运行的外围模块 MSP430系列单片机的各个模块运行完全独立,定时器、A/D转换器等都可以在CPU休眠的状态下独立运行,从而降低了系统工作时的功耗。例如,用两种方式实现方波的输出。 方式1 为通常单片机使用的方式,使用CPU控制输出端口来实现高、低电平的交替转换。在这种方式下,CPU一直处于工作状态。方式1的程序如下:   方式2 使用MSP430外部模块定时器A1的自动翻转模式来实现高、低电平的交替转换。在这种方式下,CPU在设定了定时器A1的工作模式后,由定时器A1的输出控制波形,完全不需要CPU的参与,CPU可以休眠,降低了系统的功耗。方式2的程序如下:   1.1.3 瞬间唤醒的响应特性 在通常情况下,软件将CPU设定到某一低功耗模式下,在需要时使用中断将CPU从休眠状态中唤醒,完成工作之后又可以进入相应的休眠状态。MSP430可以在极短的时间内唤醒CPU,从而缩短了CPU的活动时间,降低了功耗。MSP430F4XX系列DCO振荡器的响应时间小于6 μs,可支持长睡眠周期和突发事件的执行。 1.2 工作模式 MSP430系列单片机提供6种不同的工作模式:活动模式(AM)、低功耗模式0(LPM0)、低功耗模式1(LPM1)、低功耗模式2(LPM2)、低功耗模式3(LPM3)、低功耗模式4(LPM4)。选用哪种工作模式由CPU的状态寄存器SR中的SCG0、SCG1、OscOff和CPUOFF位控制。通过设置控制位MSP430可以从活动模式进入到相应的低功耗模式,而各种低功耗模式又可以通过中断方式回到活动模式。在各种工作模式下,时钟系统所产生的3种时钟活动状态是各不相同的。各种工作模式、控制位及3种时钟的活动状态之间的相互关系如表1所示。   图2显示了在电压为3 V、周期为1μs时各种工作模式的耗电情况。可以看出,在LPM4工作模式下的耗电量相当低。   灵活的时钟信号、完全独立运行的外围模块和瞬间响应的特性使得MSP430系列单片机可以通过软件设置配置不同的工作模式,通过中断切换不同的工作模式,CPU和各模块都能在最低功耗状态下正常工作。 2 海温测量中的应用 作为重要的海洋水文参数,温度测量在海洋监测、开发应用和科学研究中都具有特别的意义,为此人们设计了各种形式的海水温度测量仪器。目前,获取海水温度信息的手段多种多样,如卫星、飞机、船舶、浮标、岸基监测站、海上固定平台、志愿船等。其中抛弃式海水温度探测系统可快速获取海温的实时数据,具有良好的机动性,便于组网。抛弃的测温装置需要单独在海洋中完成海温数据的采集和发送,依靠自身携带的电池供电,这时系统的功耗便尤为重要。因此,采用超低功耗的MSP430单片机来设计抛弃式测温装置的温度采集系统。 2.1 设计方案 系统采用MSP430F4794作为微处理器同时完成数据的采集和处理任务。采用NTC热敏电阻RT作为前端温度传感器,其突出特点是灵敏度高,响应速度快。利用3个标准精密金属膜电阻R1,R2,R3和NTC热敏电阻RT构成测温电桥,用于激励出热敏电阻的差分电压信号。 使用MSP430F4794芯片内部自带的SD16_A(增强型16位的∑-△A/D转换器)模块进行模/数转换。从前端温度传感器送来的差分信号首先经过MSP430F4794内部自带的输入缓存,可以避免直接接入程控放大器造成的测量误差;经过输入缓存后由程控放大器对信号进行差分放大,然后送入SD16_A;最后将转换好的数据存入16位A/D转换专用数据存储器,完成一次数据采集。采集好的数据送运算器进行运算最终获得海水温度测量结果。[!--empirenews.page--] MSP430F4794芯片内部有低温漂18 ppm,1.2 V的基准电压,利用其给测温电桥和SD16_A同时提供电压基准,以形成比值测量系统,能够有效消除测量系统中的漂移误差。系统方案原理图如图3所示。   2.2 系统的低功耗设计 2.2.1 硬件的低功耗设计 系统选用了低功耗的处理器MSP430F4794。MSP430F4794为MSP430的4系列单片机,工作电压为1.8~3.6 V;当工作电压为2.2 V,频率为1 MHz时,活动模式下电流为280μA,待机模式下电流为1.1μA;从待机到唤醒的时间不超过6μs。 采用32768 Hz和4 MHz的晶振作为时钟输入,当系统处于温度采集或通信状态时采用高频时钟来获取较高的处理速度,当系统处于待机状态时采用低频时钟来降低系统功耗。这样就较好的解决了电池供电的小电流应用系统中工作频率和功耗之间的矛盾。 选择低的供电电压和低功耗的外围器件来降低功耗。系统采用CR2032电池供电;使用超低功耗的LDO芯片AS1360进行电源管理;选用低功耗的段式液晶显示器LCD048。 2.2.2 软件的低功耗设计 在程序设计上充分利用MSP430提供的多种低功耗工作模式。在进行温度采集时,系统由活动模式转换为LPM0工作模式,CPU处于休眠状态,让A/D转换器独立工作。在不进行温度采集时,系统处于待机模式,进入LPM3工作模式。当需要工作时,发生中断唤醒CPU,处理完后再进入低功耗模式。这样,系统通常运行在LPM3工作模式下,该模式又被称为休眠模式,它是在保持实时时钟活动情况下功耗最低的一种工作模式。通过各种模式之间的灵活转换,实现了降低系统功耗的目的。系统进行一次温度采集时程序的运行状态与对应工作模式的转换如图4所示。   3 结语 随着便携式、低功耗智能仪器仪表的迅速发展,需要有低功耗、高集成度、模拟特性好、处理能力强的微处理器,MSP430系列单片机满足了这样的需求。采用MSP430F4794作为微处理器设计的海水温度采集系统能够适应空间受限、电池供电的海温测量工作环境。测温系统经过修改,可以获取海水的盐度、波浪等其他海洋水文参数,具有推广应用意义。

    时间:2017-03-10 关键词: 单片机 驱动开发 MCU MSP430

  • MSP430时钟设置及应用总结

    ********************************基于MSP430F1612*************************** 在MSP430单片机中,一个时钟周期 = MCLK晶振的倒数。如果MCLK是8MHz,则一个时钟周期为1/8us。 一个机器周期 = 一个时钟周期,即430每个动作都能完成一个基本操作。 一个指令周期 = 1~6个机器周期,具体根据具体指令而定。 另外,指令长度只是一个存储单位,与时间没有必然的关系。 MSP430单片机的时钟模块主要包括:     三个时钟:辅助时钟ACLK 、主时钟MCLK 、子系统时钟SMCLK 三个振荡器:低频时钟源LFXT1 、高频时钟源XT2 、数字控制RC振荡器DCO 而MSP430单片机工作所需时钟就是由这些振荡器振荡后经处理产生的。 (1)ACLK:是LFXT1CLK信号经1/2/4/8分频后得到的,主要用作低速外围的时钟 (2)MCLK:是LFXT1CLK,XT2CLK,DCOCLK的三者之一决定,由软件选择,然后经1/2/4/8分频后得到,主要用于CPU和系统 (3)SMCLK:可由LFXT1CLK和DCOCLK,或者XT2CLK与DCOCLK决定,然后经1/2/4/8分频后得到,主要用于高速外围模块 MSP430的时钟模块由DCOCTL,BCSCTL1,BCSCTL2,IE1,IFG1这五个寄存器来确定,具体的功能如下所示:       DCOCTL:控制DCO振荡器    BCSCTL1:控制XT2,LFXT1,DCO振荡,并控制ACLK的分频情况       BCSCTL2:设置三个时钟源分别选择什么振荡器 我们在程序里对寄存器的设置,也就是对三个振荡器进行设置,时钟振荡器设置好了,还要对时钟模块进行设置,也就是让三个时钟模块MCLK SMCLK ACLK选择相应的时钟振荡器以得到不同频率的时钟。 PUC信号后,系统选择内部电阻以实现频率的输出。RSELx = 4 与 DCOx = 3,开始时使DCO有一个适中的频率。MCLK与SMCLK的时钟信号全部来自DCO,约为800KHz(芯片手册)。PUC信号后将LFXT1设置到LF模式(XTS=0),并且关断HF模式(XTS=1)与关断XT2振荡器。 (1)DCOCTL:DCO控制寄存器,地址为56H,初始值为60H //       7    6    5    4    3    2    1    0 //     DCO2 DCO1 DCO0 MOD4 MOD3 MOD2 MOD1 MOD0 // //  DCO0~DCO2:DCO Select Bit,定义了8种频率之一,而频率由注入直流发生器的电流定义 //  MOD0~MOD4:Modulation Bit,频率的微调 // // DCO的设置:通过设置DCOCTL和BCSCTL1,设置DCO的频率 //  (1)DCO的调节: 设置DCOR比特来选择是外部电阻还是内部电阻,以确定一个基准频率 通过BCSCTL1寄存器的RSELx来进行分频,确定时钟频率; 通过DCOCTL寄存器中DCOx在标称频率基础上分段粗调,选择频率; 通过DCOCTL寄存器中MODx的值对频率进行细调,选择 DCOx 与 DCOx+1 之间的频率 //  注意:DCO工作在最高频率时,内部电阻正常值大约为200k,此时DCO的工作频率大约为5MHz。 例子: //DCOCTL初始值为60H,即DCOCTL |= DCO1 + DCO2;   DCOCTL |= DCO0 + DCO1 + DCO2;              // Max DCO   //MOD0~MOD4:Modulation Bit,频率的微调一般保持默认即可   //系统默认情况下,RSELx=4   (2)BCSCTL1(ACLK):Basic Clock System Control 1,地址为58H,初始值为84H //       7     6    5     4     3     2     1     0 //     XT2OFF XTS DIVA1 DIVA0 XT5V RSEL2 RSEL1 RSEL0 // //   RSEL2~RSEL0:选择某个内部电阻以决定标称频率(0最低,7最高) //   XT5V:1,该比特未用,必须选择复位 //   DIVA0~DIVA1:选择ACLK的分频系数。DIVA=0,1,2,3(DIVA_0,DIVA_1...),ACLK的分频系数分别为:1,2,4,8 //   XTS:选择LFXT1工作在低频晶体模式(XTS=0)还是高频晶体模式(XTS=1) //   XT2OFF:控制XT2振荡器的开启(XT2OFF=0)与关闭(XT2OFF=1) // // BCSCTL1的设置:初始值为84H //使用XT2振荡器   //控制XT2振荡器的开启(XT2OFF=0)与关闭(XT2OFF=1)   BCSCTL1 &= ~XT2OFF;//清OSCOFF/XT2   do   {     IFG1 &= ~OFIFG;//清OFIFG     OSC_Delay = 255;     while(OSC_Delay --);//延时等待   }   while(IFG1 & OFIFG);//直到OFIFG=0为止     //RSEL2~RSEL0:选择某个内部电阻以决定标称频率(0最低,7最高)   BCSCTL1 |= RSEL0 + RSEL1 + RSEL2;// XT2on,max RSEL     //选择ACLK的分频系数:DIVA=0,1,2,3,ACLK的分频系数分别为:1,2,4,8   //BCSCTL1 |= DIVA_2;//对ACLK进行2分频   //(3)BCSCTL2(SMCLK,MCLK):Basic Clock System Control 2,地址为58H,初始值为00H //       7       6      5     4     3     2     1     0 //     SELM1 SELM0 DIVM1 DIVM0 SELS DIVS1 DIVS0 DCOR // //   DCOR:Enable External Resister,0—选择内部电阻,1—选择外部电阻 //   DIVS0~DIVS1:DIVS=0,1,2,3,对应SMCLK的分频因子为1,2,4,8 //   SELS:选择SMCLK的时钟源,0:DCOCLK,1:XT2CLK/LFXTCLK //   DIVM0~DIVM1:选择MCLK的分频因子,DIVM=0,1,2,3,对应MCLK的分频因子为1,2,4,8 //   SELM0~SELM1:选择MCLK的时钟源,0,1:DCOCLK,2:XT2CLK,3:LFXT1CLK // // BCSCTL2的设置:初始值为00H //设置BCSCTL2,选定MCLK和SMCLK的时钟源XT2,并可以设置其分频因子   //注意:ACLK只能来源于LFXT1,可以在BCSCTL1里设置ACLK的分频,就是说ACLK最大只能为32768Hz(XIN 与 XOUT间接32.768KHz晶振)     //DCOR一般设置为默认值     //设置SMCLK的分频因子,DIVS0~DIVS1:DIVS=0,1,2,3,对应SMCLK的分频因子为1,2,4,8   //BCSCTL2 = DIVS_0;   //BCSCTL2 = DIVS_1;   //BCSCTL2 = DIVS_2;   //BCSCTL2 = DIVS_3;     //设置MCLK的分频因子,DIVM0~DIVM1:DIVM=0,1,2,3,对应MCLK的分频因子为1,2,4,8   //BCSCTL2 = DIVM_0;   //BCSCTL2 = DIVM_1;   //BCSCTL2 = DIVM_2;   //BCSCTL2 = DIVM_3;     //BCSCTL2:设置三个时钟源分别选择什么振荡器     //SELM0~SELM1:选择MCLK的时钟源,0,1:DCOCLK,2:XT2CLK,3:LFXT1CLK   //选择 MCLK 时钟源为XT2,   //BCSCTL2 = SELM_2 ;     //SELS:选择SMCLK的时钟源,0:DCOCLK,1:XT2CLK/LFXTCLK   //选择 SMCLK 时钟源为XT2   //BCSCTL2 = SELS ;     //选择MCLK 与 SMCLK为XT2   BCSCTL2 = SELM_2 + SELS;   //(4)IE1,Interrupt Enable Register 1 //       7     6    5     4     3     2     1     0 //                                         OFIE //     7~2 and 0 : These bits may be used by other modules //     OFIE:Oscillator fault interrupt enable. 0---Interrupt not enabled //                                    1---Interrupt enabled //(5)IEG1,Interrupt Flag Register 1 //       7     6    5     4     3     2     1     0 //                                        OFIFG //     7~2 and 0 : These bits may be used by other modules //     OFIE:Oscillator fault interrupt flag. 0 No interrupt pending //                                  1 Interrupt pending // 在PUC信号后,默认情况下由DCOCLK作MCLK与SMCLK的时钟信号,由于DCOCTL初始值为60H,根据需要可将MCLK的时钟源另外设置为LFXT1或者XT2,设置顺序如下: //(1)清OSCOFF/XT2 //(2)清OFIFG //(3)延时等待至少50us //(4)再次检查OFIFG,如果仍置位,则重复(1)~(4)步,直到OFIFG=0为止 //(5)设置BCSCTL2的相应SELM

    时间:2017-03-01 关键词: MSP430

  • MSP430的头文件解析

    1、#define   BIT0        (0x0001)      //(0x0001)不是地址,而是一个16进制数值。 例1、P3DIR |= BIT3;实际上也可以写成P3DIR |= 0x0008;意思是将P3口的默认上电值0x0000和0x0008相与,设置P3口的第三位(即P3.3)管脚作输出使用。 例2、WDTCTL = WDTPW + WDTHOLD;实际上就是WDTCTL=0x5A80; 你可以在头文件中查到#define WDTPW (0x5A00)和#define WDTHOLD (0x0080)。WDTCTL是看门狗的控制寄存器,在msp430的User'Guide中有说明:当它的值为0x5A80时停止看门狗定时。 那为什么我们不直接写成WDTCTL=0x5A80;呢?这样的话程序的可读性会很差。0x5A80只是一个数值,当你下次再看你写的程序,或者别人读你的程序时,就不明白WDTCTL=0x5A80;的意思了。如果写成WDTCTL = WDTPW + WDTHOLD;就好理解多了:WDTPW(Watchdog timer password,看门狗的密码,WDTCTL的高8位):只有WDTCTL的高8位为0x5A时才能对WDTCTL寄存器进行写操作。 WDTHOLD(Watchdog timer hold,WDTCTL的第7位):当WDTCTL的第7位为1时,停止看门狗计时。这样我们通过PW,HOLD就可以轻松的知道WDTCTL = WDTPW + WDTHOLD;是做什么的了。可以看出msp430的头文件是很人性化的。 2、当然也有表示地址的,例如,头文件中有以下部分: #ifdef __IAR_SYSTEMS_ASM__ #define DEFC(name, address) sfrb name = address #define DEFW(name, address) sfrw name = address; ///运用了可变参数宏的宏定义格式:#define    宏符号名(参数表)    宏体;;宏体中就是写出参数表中各个 //参数之间的关系。 #endif …… …… #define P6OUT_ (0x0035) DEFC(   P6OUT   , P6OUT_)      //这里就是用了以上的可变参数宏。DEFC(   P6OUT   , P6OUT_) 就表//示:sfrb P6OUT = P6OUT_这里的0x0035就是指P6OUT这个寄存器的地址了。

    时间:2017-03-01 关键词: 头文件 MSP430

  • MSP430--低功耗模式

    1.CPU的结构:16个寄存器R0-R15,16位算数逻辑单元ALU和一个指令控制单元。 2.寄存器中R4-R15是通用寄存器没有特殊功能。   R0-R3具有特殊性:   R0:程序计数器PC(Program counter),存放着下一条要从程序存储器中取出的指令的地址。   R1:堆栈指针SP(Stack Point),系统堆栈在系统调用子函数或者进入中断服务程序时,保护程序计数器PC。   R2:状态寄存器SR(State Register):   R3:常数发生器 3.状态寄存器SR 4.低功耗 不同的低功耗模式就是配置不同的SCG1,SCG0,OscOff,CPUOff. SCG1:复位使能SMCLK,置位则禁止SMCLK. SCG0:复位激活DCO,置位且DCOCLK不用于MCLK或SMCLK时禁止DCO。 OscOff:复位则LFXT激活,置位且LFXT不用于MCLK或SMCLK时,LFXT振荡器禁止--对应着ACLK。 CPUOff:复位则MCLK激活,置位则MCLK停止。 解释: (1)POR:POWER ON RESET.上电或复位信号都可以发生POR。    PUC:POWER UP CLEAR.POR可以出发PUC,另外看门狗的事件可以出发PUC。 (2)AM:全部活动    LPM0:CPUOFF=1,CPU被禁止,即MCLK被禁止。    LPM1:CPUOFF=1,SCG0=1。CPU-MCLK禁止,且若DCO未用做MCLK或SMCLK,则DCO禁止。    LPM2:CPUOFF=1,SCG1=1。CPU-MCLK禁止,SMCLK禁止。(DCO未用作MCLK,SMCLK则自动禁止)    LPM3:CPUOFF=1,SCG1=1,SCG0=1.CPU-MCLK禁止,SMCLK禁止,DCO禁止。    LPM4:CPUOFF=1,SCG1=1,SCG0=1,OSCOFF=1.全部禁止,包括ACLK也禁止。   5.系统工作原理:单片机各个模块运行完全独立。定时器,IO,AD,看门狗等都可以在主CPU休眠的状态下独立运行。   软件将CPU设定到某一低功耗工作模式下,在需要时使用中断将CPU从休眠状态中唤醒,完成工作后又进入相应的休眠状态。   系统响应中断的过程:如果在中断处理子程序中修改堆栈中SR的状态,那么中断返回后将不再是原来的SR状态。     PC入栈,SR入栈。     中断向量赋给PC。     GIE,CPUOFF,OSCOFF,SCG1清除。     IFG标志位清除.  执行中断处理子程序。  执行RETI指令,中断返回。     SR出栈     PC出栈   [cpp] view plain copy 在CODE上查看代码片派生到我的代码片 void main(void)  {    BCSCTL1 |= DIVA_2;//ACLK 4分频:由LFXT1CLK提供(32kHZ)    WDTCTL = WDT_ADLY_1000; //WDT作为间隔定时器:8000ms    IE1 |= WDTIE;    while(1)    {      unsigned int i;      _BIS_SR(LPM3_bits+GIE);//设置SR寄存器,进入LPM3,打开全局中断    }    }    进入LPM3:SCG1+SCG0+CPUOFF:也就是只有ACLK是活动的,但是仍支持WDT,TIMER. 编译器支持直接对位赋值:_intrinsic unsigned short _BIS_SR(unsigned short),位于in430.h 同理要清除SR中某一位的话就用 _BIC_SR();

    时间:2017-03-01 关键词: MSP430

  • MSP430捕获器简单实用

    MSP430定时器A捕捉脉实例[调试通过,很好用] /*****************************************************************  //功能:利用定时器A的捕捉能测量脉冲信号的脉宽  //  //  //                MSP430F449  //             -----------------  //         /|\|              XIN|-  //          | |                 | 32kHz  //          --|RST          XOUT|-  //            |                 |  //            |        P1.5/ACLK|---+  //            |                 |   |  //            |         P2.0/TA2|<--+  //            |                 |  //            |                 |  //说明:ACLK要进行8分频(4K),并将其作为外部的要捕获的脉冲;  //MCLK=SMCLK=8M;  *****************************************************************/  #include  <msp430x44x.h>  int pwm_start,pwm_end,pwm_wide=0;    void main(void)  {    WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT    P1DIR = 0x20;                   //  P1.5 输出    P1SEL = 0x20;              // P1.5输出ACLK       P2SEL|=BIT0;                              //P2.0 CCI2A       SCFI0 |= FN_4;    SCFQCTL = 121;                   // (121+1) ×32768 *2= 7.99Mhz    FLL_CTL0=DCOPLUS+OSCCAP1;       //MCLK=SMCLK=8M       FLL_CTL1 |= FLL_DIV_8;                         //ACLK要进行8分频,ACLK=4K          TACCTL2 =CAP+CM_3+CCIS_0+SCS+CCIE;  //捕获模式,上升和下降都捕获,选择CCI2A,同步,捕获中断开                                                //Capture input select: 0 - CCI2A    TACTL = TASSEL_2 + MC_2 ;    //SMCLK=8M,L连续计数模式    _EINT();                 //开总中断    LPM0;    _NOP();    pwm_wide=pwm_end-pwm_start;      while(1);  }    // Timer_A3 Interrupt Vector (TAIV) handler  #pragma vector=TIMERA1_VECTOR  __interrupt void Timer_A(void)  {       switch(TAIV)   {case 2:break;    case 4:       if(TACCTL2 & CCI)          pwm_start=CCR2;         else          pwm_end=CCR2;       //pwm_wide=pwm_end-pwm_start;       break;    case 10:       break;    }    LPM0_EXIT;  }  检验方法: 在调试环境下,在watch 窗口观察pwm_end和pwm_start,然后相减! 我计算了一下。在所给的例子中理论值pwm_end-pwm_start=976 通过观察的结果是978,还是有点误差,可能是由于晶振的值原因,计算上的舍入有点偏差。

    时间:2017-03-01 关键词: 捕获器 MSP430

  • MSP430的几个基本语句讲解

    最近初学MSP430起始对430不大了解,被一些语句搞混了,下面跟大家分享一下。 1.  P1DIR |= BIT1;              将最低位置1,其他位不受其影响(保持原状态不变)。         2.  P1DIR |= ~BIT1;              将高七味位置1,最低位不收影响(保持原状态不变)。 3.  P1DIR &= BIT1;      将最低位置1,其他位全部置0(强制)。 4.  P1DIR &= ~BIT1;      将高七位置1,最低位置0(强制)。 其中 #define BIT0                (0x0001u) #define BIT1                (0x0002u) #define BIT2                (0x0004u) #define BIT3                (0x0008u) #define BIT4                (0x0010u) #define BIT5                (0x0020u) #define BIT6                (0x0040u) #define BIT7                (0x0080u) #define BIT8                (0x0100u) #define BIT9                (0x0200u) #define BITA                (0x0400u) #define BITB                (0x0800u) #define BITC                (0x1000u) #define BITD                (0x2000u) #define BITE                (0x4000u) #define BITF                (0x8000u)

    时间:2017-03-01 关键词: MSP430

  • 基于MSP430的低功耗便携式心电仪的设计

     心电图是心脏疾病诊断的重要工具之一,目前在医院临床中有广泛的应用,给医生诊断病症带来很大的帮助。传统的心电仪虽能有效地监测心电、降低心脏病患者的死亡率 ,但不能对患者进行长时间的实时监护,而且存在体积大、功耗高、携带不便等缺点。鉴于此,本文设计了一种结构简单、性能稳定、可靠的便携式心电仪,能够在家庭、野外等一些场所对心电进行实时监测,具有广泛的应用前景。 1 系统硬件结构及原理 低功耗便携式心电仪由MSP430F169、心电信号采集调理电路、液晶显示模块、数据存储模块、按键输入模块等组成,如图1所示。     通过以标准导联方式I和人体相连的电极取得的心电信号,因为环境中存在各种干扰(人体自身的肌电干扰,外部的工频干扰等),所以必须经过模拟放大电路的放大、滤波等调理之后才可进入MSP430F169单片机,利用单片机内部的A/D模块对模拟信号进行模数转换,然后存储数据,并在液晶屏上显示,观察者可以直观地看到心电信号波形和每分钟心跳的次数。系统采用SD卡来存储采集的数据,采集的心电信号数据可以长时间存储,这对于心电信号异常且有偶发性的病人具有重要价值。系统还可以通过串口把采集的心电信号实时传输到上位机,由上位机显示并进行实时分析。 1.1 微控制器 微控制器采用TI公司的MSP430F169单片机,它是一款低功耗单片机,当所有器件均采用低功耗模式工作时,总功率不到1 W,RAM 数据保持方式下耗电仅 0.1 ?滋A,活动模式下耗电250 μA/MIPS,特别适合于便携式设备;片内集成有12 bit A/D转换模块,4种转换模式,转换速度最快达到200 Kb/s,足以满足心电采集的要求。 1.2 心电信号调理电路 心电信号调理电路是本系统的重要环节之一,主要由前置放大、高通滤波、50 Hz陷波、低通滤波和后级放大电路组成,如图2所示。因为体表ECG心电仪一般只有0.05 mV~5 mV,具有微弱和易受干扰等特点, 因此,采用高输入阻抗、高共模抑制比的差分放大电路进行前置放大,以增大输入阻抗、减少共模信号干扰;带通滤波电路主要由高通滤波器和低通滤波器组成,通频带为0.5 Hz~100 Hz,滤除心电频率范围以外的干扰信号;50 Hz 陷波处理器滤除工频干扰;后级放大器将ECG信号进一步放大100倍左右到合适范围,然后输出到核心控制器MSP430F169的A/D模块。     1.3 数据存储模块 本系统中使用SD卡存储采集的心电信号数据。SD卡是一种体积小、容量大、性价比高、访问接口简单的存储卡,具有低功耗、非易失性等特点,被大量应用于数码照相机、手机等便携式设备中。使用SD卡可将心电数据传送到功能更强大的PC机中进行进一步的分析处理,其接口电路如图3所示。其中,DAT0~DAT3为数据线,CMD为命令线,CLK为时钟线,为存储模块提供时钟,CD_SW用于控制SD卡的热插拨。         MSP430F169的P1.1~P1.5连接5个独立按键,其中4个用于调整心电波形显示的周期和幅值,1个用于串口数据发送。 2 软件系统设计 系统软件部分是在IAR430开发平台下进行开发调试完成的。IAR430是专门为TI公司的MSP430单片机而设计的一款开发软件,它提供了工程管理、程序编辑、代码下载、软硬件调试等几乎所有的功能。 系统流程图如图5所示。首先系统进行初始化(包括看门狗、系统时钟、I/O口、UART1、ADC12、TimerB及LCD等初始化),开总中断后系统进入主循环体,当采集满一屏数据时,主循环体内进行心电波形的刷新显示;不满一屏数据时,进入低功耗状态。A/D采集用中断方式,系统的采样频率通过定时器控制,5个独立按键采用中断方式,通过软件延时消除按键抖动。     2.1 低功耗设计 由于MSP430单片机是专为低功耗设计的,所以本系统的程序部分按照其低功耗方案设计。除了心电波形显示、擦除这种必要步骤在大循环内运行外,其余的(包括A/D转换程序、定时器采样频率、按键)全部采用中断方式,只有事件触发时才运行;而在主程序设计中只有在采集完一屏数据之后才运行心电波形显示,其余时间全部进入LPM1低功耗模式;数据的存储不经MCU,直接利用MSP430F169内部的DMA模块实现数据传输。这一设计方法大大降低了系统的功耗[4]。 2.2 系统各子程序设计 (1)A/D部分 MSP430F169的P6.0~P6.7为A/D复用口,本系统采用P6.4,即A4作为A/D的输入口,采用单通道多次转换方式。A/D转换采用中断方式,中断子程序内只编写一条语句,即关A/D中断,不进行其他任何操作,以使A/D最高采样频率达到理想状态。A/D的初始化程序如下: void ADC12_S_S_Init(void) { P6SEL|=BIT4; ADC12CTL0=ADC12ON+REFON+REF2_5V+SHT0_2 +MSC; ADC12CTL1=ADC12SSEL_0+SHP+CONSEQ_2 +CSTARTADD_4; ADC12MCTL4=SREF_1+INCH_4; ADC12IE |=BIT4; ADC12CTL0 |=ENC+ADC12SC; } (2)定时器中断部分 系统的采样频率由定时器控制,并由按键对频率进行缩放,定时器采用子系统时钟、8分频(系统时钟为8 MHz)。定时器亦采用中断方式,中断子程序内对A/D转换后的值进行存储,并查询是否采集完一屏数据,如果采集满屏,即关闭定时器中断和A/D中断,然后满屏标志位置1,退出低功耗模式,退出中断[5]。中断子程序如下: #pragma vector=TIMERB0_VECTOR __interrupt void Timer_B (void) { results[index]=ADC12MEM4; index++; if(index==102)//如果采集完一屏 { index=0; TBCCTL0 &=~CCIE;//先关闭定时器B ADC12IE &=~BIT4;//关ADC中断 collect_a_screen=1;//满屏标志位置1 LPM1_EXIT;//退出低功耗模式 } else ADC12IE |= BIT4;//开ADC中断 } (3)SD卡部分 采集的数据通过MSP430F169内部集成的DMA模块传送到SD卡内。DMA选用通道0,触发方式为ADC12IFG4,按字节发送。SD卡的操作以命令方式进行,所有的命令都由主机主动发送,SD卡根据不同的命令做出不同的响应。其应答流程如图6所示。     3 应用与注意事项 用本系统采集人体心电,经验证,能够在LCD屏上正确显示出如图7所示的人体的心电波形,并能通过串口或SD卡将采集的数据传送到上位机进行进一步显示分析。本系统设计时需要注意:MSP430F169默认是关闭中断嵌套,所以用到中断嵌套时,进入中断子程序后应首先打开总中断,这样才能执行嵌套中断;在LCD上画心电波形时,应采用分列式,即擦一列画一列,这样才能保证心电波形稳定显示。     本文从家用便携式心电仪的特点出发,设计了一款功能适当、功耗极低并且价格低廉适用于家庭保健用的心电仪。同传统的数据采集系统相比,本系统采用低功耗微控制器MSP430F169,在软件设计中通过低功耗设计,大大降低了系统功耗,而且性能稳定、可靠,设计过程简便,降低了成本,具有广泛的应用价值。

    时间:2017-02-09 关键词: 便携设备 心电仪 MSP430

  • 详说七大主流单片机的优缺点

    详说七大主流单片机的优缺点

     单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇,发展也是相当的迅速,从上世纪80年代,由当时的4位8位发展到现在的各种高速单片机…… 各个厂商们也在速度、内存、功能上此起彼伏,参差不齐~~同时涌现出一大批拥有代表性单片机的厂商:Atmel、TI、ST、MicroChip、ARM…国内的宏晶STC单片机也是可圈可点… 下面为大家带来51、MSP430、TMS、STM32、PIC、AVR、STC单片机之间的优缺点比较及功能体现…… 51单片机 应用最广泛的8位单片机当然也是初学者们最容易上手学习的单片机,最早由Intel推出,由于其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“经典”,为以后的其它单片机的发展奠定了基础。 51单片机之所以成为经典,成为易上手的单片机主要有以下特点: 特性: 1. 从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,处理对象不是字或字节而是位。不但能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。 【本文转载自网络,版权归原作者所有,如有侵权请联系删除】 2. 同时在片内RAM区间还特别开辟了一个双重功能的地址区间,使用极为灵活,这一功能无疑给使用者提供了极大的方便, 3. 乘法和除法指令,这给编程也带来了便利。很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。 缺点:(虽然是经典但是缺点还是很明显的) 1. AD、EEPROM等功能需要靠扩展,增加了硬件和软件负担 2. 虽然I/O脚使用简单,但高电平时无输出能力,这也是51系列单片机的最大软肋 3. 运行速度过慢,特别是双数据指针,如能改进能给编程带来很大的便利 4. 51保护能力很差,很容易烧坏芯片 应用范围: 目前在教学场合和对性能要求不高的场合大量被采用 使用最多的器件:8051、80C51 MSP430单片机 MSP430系列单片机是德州仪器1996年开始推向市场的一种16位超低功耗的混合信号处理器,给人们留下的最大的亮点是低功耗而且速度快,汇编语言用起来很灵活,寻址方式很多,指令很少,容易上手。主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。其迅速发展和应用范围的不断扩大,主要取决于以下的特点… 特性: 1. 强大的处理能力,采用了精简指令集(RISC)结构,具有丰富的寻址方式( 7 种源操作数寻址、 4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序 2. 在运算速度方面,能在 8MHz 晶体的驱动下,实现 125ns 的指令周期。 16 位的数据宽度、 125ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等) 3. 超低功耗方面,MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。电源电压采用的是 1.8~3.6V 电压。因而可使其在 1MHz 的时钟条件下运行时, 芯片的电流会在 200~400uA 左右,时钟关断模式的最低功耗只有 0.1uA 缺点: 1. 个人感觉不容易上手,不适合初学者入门,资料也比较少,只能跑官网去找 2. 占的指令空间较大,因为是16位单片机,程序以字为单位,有的指令竟然占6 个字节。虽然程序表面上简洁, 但与pic单片机比较空间占用很大 应用范围: 在低功耗及超低功耗的工业场合应用的比较多 使用最多的器件:MSP430F系列、MSP430G2系列、MSP430L09系列 TMS单片机 这里也提一下TMS系列单片机,虽不算主流。由TI推出的8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合。虽然没STM32那么优秀,也没MSP430那么张扬,但是TMS370C系列单片机提供了通过整合先进的外围功能模块及各种芯片的内存配置,具有高性价比的实时系统控制。同时采用高性能硅栅CMOS EPROM和EEPROM技术实现。低工作功耗CMOS技术,宽工作温度范围,噪声抑制,再加上高性能和丰富的片上外设功能,使TMS370C系列单片机在汽车电子,工业电机控制,电脑,通信和消费类具有一定的应用。 STM32单片机 由ST厂商推出的STM32系列单片机,行业的朋友都知道,这是一款性价比超高的系列单片机,应该没有之一,功能及其强大。其基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核,同时具有一流的外设:1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表现,当然和MSP430的功耗比起来是稍微逊色的一些,但这并不影响工程师们对它的热捧程度,由于其简单的结构和易用的工具再配合其强大的功能在行业中赫赫有名…其强大的功能主要表现在: 特性: 1.内核:ARM32位Cortex-M3CPU,最高工作频率72MHz,1.25DMIPS/MHz,单周期乘法和硬件除法 2.存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器 3.时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。POR、PDR和可编程的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振 4、调试模式:串行调试(SWD)和JTAG接口。最多高达112个的快速I/O端口、最多多达11个定时器、最多多达13个通信接口 使用最多的器件:STM32F103系列、STM32 L1系列、STM32W系列。 PIC单片机 PIC单片机系列是美国微芯公司(Microship)的产品,共分三个级别,即基本级、中级、高级,是当前市场份额增长最快的单片机之一,CPU采用RISC结构,分别有33、35、58条指令,属精简指令集,同时采用Harvard双总线结构,运行速度快,它能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期,这也是高效率运行的原因之一,此外PIC单片机之所以成为一时非常热的单片机不外乎以下特点: 特点: 1. 具有低工作电压、低功耗、驱动能力强等特点。PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。I/O脚增加了用于设置输入或输出状态的方向寄存器,从而解决了51系列I/O脚为高电平时同为输入和输出的状态。 2. 当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。相对于51系列而言,这是一个很大的优点 3. 它可以直接驱动数码管显示且外电路简单。它的A/D为10位,能满足精度要求。具有在线调试及编程(ISP)功能。 不足之处: 其专用寄存器(SFR)并不像51系列那样都集中在一个固定的地址区间内(80~FFH),而是分散在四个地址区间内。只有5个专用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4个存储体内同时出现,但是在编程过程中,少不了要与专用寄存器打交道,得反复地选择对应的存储体,也即对状态寄存器STATUS的第6位(RP1)和第5位(RP0)置位或清零。数据的传送和逻辑运算基本上都得通过工作寄存器W(相当于51系列的累加器A)来进行,而51系列的还可以通过寄存器相互之间直接传送,因而PIC单片机的瓶颈现象比51系列还要严重,这在编程中的朋友应该深有体会 使用最多的器件:PIC16F873、PIC16F877 AVR单片机 AVR单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作业。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用4~8MHz,故最短指令执行时间为250~125ns。AVR单片机能成为最近仍是比较火热的单片机,主要的特点: 特点: 1. AVR系列没有类似累加器A的结构,它主要是通过R16~R31寄存器来实现A的功能。在AVR中,没有像51系列的数据指针DPTR,而是由X(由R26、R27组成)、Y(由R28、R29组成)、Z(由R30、R31组成)三个16位的寄存器来完成数据指针的功能(相当于有三组DPTR),而且还能作后增量或先减量等的运行,而在51系列中,所有的逻辑运算都必须在A中进行;而AVR却可以在任两个寄存器之间进行,省去了在A中的来回折腾,这些都比51系列出色些 2. AVR的专用寄存器集中在00~3F地址区间,无需像PIC那样得先进行选存储体的过程,使用起来比PIC方便。AVR的片内RAM的地址区间为0~00DF(AT90S2313) 和0060~025F(AT90S8515、AT90S8535),它们占用的是数据空间的地址,这些片内RAM仅仅是用来存储数据的,通常不具备通用寄存器的功能。当程序复杂时,通用寄存器R0~R31就显得不够用;而51系列的通用寄存器多达128个(为AVR的4倍),编程时就不会有这种感觉。 3. AVR的I/O脚类似PIC,它也有用来控制输入或输出的方向寄存器,在输出状态下,高电平输出的电流在10mA左右,低电平吸入电流20mA。这点虽不如PIC,但比51系列还是要优秀的… 缺点: 1. 是没有位操作,都是以字节形式来控制和判断相关寄存器位的 2. C语言与51的C语言在写法上存在很大的差异,这让从开始学习51单片机的朋友很不习惯 3. 通用寄存器一共32个(R0~R31),前16个寄存器(R0~R15)都不能直接与立即数打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接与立即数打交道,显然要优于前者。 使用最多的器件:ATUC64L3U、ATxmega64A1U、AT90S8515 STC单片机 说到STC单片机有人会说到,STC也能算主流,估计要被喷了~~我们基于它是国内还算是比较不错的单片机来说。STC单片机是宏晶生产的单时钟/机器周期的单片机,说白了STC单片机是51与AVR的结合体,有人说AVR是51的替代单片机,但是AVR单片机在位控制和C语言写法上存在很大的差异。而STC单片机洽洽结合了51和AVR的优点,虽然功能不及AVR那么强大,但是在AVR能找到的功能,在STC上基本都有,同时STC单片机是51内核,这给以51单片机为基础的工程师们提供了极大的方便,省去了学习AVR的时间,同时也不失AVR的各种功能… STC单片机是高速、低功耗、超强抗干扰的新一代8051单片机51单片机,指令代码完全兼容传统8051,但速度快8~12倍,内部集成MAX810专用复位电路。4路PWM 8路高速10位A、D转换,针对电机电机 的供应商控制,强干扰场合,成为继51单片机后一个全新系列单片机… 特性: 1. 下载烧录程序用串口方便好用,容易上手,拥有大量的学习资料及视频,最著名的要属于杜老师的那个视频了,好多对单片机有兴趣的朋友都是通过这个视频入门的,同时具有宽电压:5.5~3.8V,2.4~3.8V, 低功耗设计:空闲模式,掉电模式(可由外部中断唤醒) 2. STC单片机具有在应用编程,调试起来比较方便;带有10位AD、内部EEPROM、 可在1T/机器周期下工作,速度是传统51单片机的8~12倍,价格也较便宜 3. 4 通道捕获/比较单元,STC12C2052AD系列为2通道,也可用来再实现4个定时器或4个外部中断,2个硬件16位定时器,兼容普通8051的定时器。4路PCA还可再实现4个定时器,具有硬件看门狗、高速SPI通信端口、全双工异步串行口,兼容普通8051的串口,同时还具有先进的指令集结构,兼容普通8051指令集 PS:STC单片机功能虽不及AVR、STM32强大,价格也不及51和ST32便宜,但是这些并并不重要,重要的是这属于国产单片机比较出色的单片机,但愿国产单片机能一路长虹… 使用最多的器件:STC12C2052AD Freescale单片机 主要针对S08,S12这类单片机,当然Freescale单片机远非于此。Freescale系列单片机采用哈佛结构和流水线指令结构,在许多领域内都表现出低成本,高性能的的特点,它的体系结构为产品的开发节省了大量时间。此外Freescale提供了多种集成模块和总线接口,可以在不同的系统中更灵活的发挥作用!Freescale单片机的特有的特点如下: 1.全系列:从低端到高端,从8位到32位全系列应有尽有,其推出的8位/32位管脚兼容的QE128,可以从8位直接移植到32位,弥补单片机业界8/32 位兼容架构中缺失的一环 2.多种系统时钟模块:三种模块,七种工作模式。多种时钟源输入选项,不同的mcu具有不同的时钟产生机制,可以是RC振荡器,外部时钟或晶振,也可以是内部时钟,多数CPU同时具有上述三种模块!可以运行在FEI,FEE,FBI,FBILP,FBE,FBELP,STOP这七种工作模式 3.多种通讯模块接口:Freescale单片机几乎在内部集成各种通信接口模块:包括串行通信接口模块SCI,多主I2C总线模块,串行外围接口模块 SPI,MSCAN08控制器模块,通用串行总线模块(USB/PS2) 4.具有更多的可选模块:具有LCD驱动模块,带有温度传感器,具有超高频发送模块,含有同步处理器模块,含有同步处理器的MCU还具有屏幕显示模块OSD,还有少数的MCU具有响铃检测模块RING和双音多频/音调发生器DMG模块 5.可靠性高,抗干扰性强,多种引脚数和封装选择 6.低功耗、也许Freescale系列的单片机的功耗没有MSP430的低,但是他具有全静态的“等待”和“停止”两种模式,从总体上降低您的功耗!新近推出的几款超低功耗已经与MSP430的不相上下! 使用最多的器件:MC9S12G系列 如果真要在这些单片机中分个一二三等,那么如果你想跟随大众,无可厚非51单片机还是首选;如果你追求超高性价比,STM32将是你理想选择;如果你渴望超低功耗,MSP430肯定不会让你失望;如果你想支持国产,STC会让你兴奋

    时间:2017-01-27 关键词: 51 pic tms 单片机 STM32 AVR stc MSP430

  • 亲爱的工厂经理:通过预测性维护,您可预防问题的发生

    偶尔检查您家里的暖通空调系统是预防性维护的一个很好示例——对于保持它们正常运行很重要。但假如您能预测到加热器将在两个月后失灵,而此时正值严冬时节,您会怎样做? 基于正确的信息,您可以制定计划,更换装置,避免紧急维修,以及其它一同出现的不便。 MSP430™微控制器(MCU)产品营销工程师Dave Smith说:“通常,我们只有在设备停止工作的时候,才发现它出现故障了。某些情况下,我们会定期进行预防性维护,尽量避免这些意外故障的发生。” “通过智能化等式可进一步进行预测性维护。”   这正是我们TI所做的:为我们的MCU增加一定的性能水平,帮助实现预测性维护等应用。(阅读有关预测性维护的白皮书。) 想象一下:如果这种类型的预测性维护可以帮您避免家中出现的一些小的紧急情况,那么它可为一个布满电子设备的工厂做些什么? 新TI设备 我们有几个新的设备,为工厂提供了一些有意思的可能性。例如,SimpleLink™双频CC1350无线MCU和低功耗、高性能MSP430FR5994 FRAM(铁电随机存取存储器)MCU设计用于终端应用,如超声波计量、便携式健康设备、楼宇和工厂自动化设备。 Dave表示:FRAM MCU具有市场上类似MCU的40倍的性能,可用于分析振动,用于工厂的预测性维护。 此外,我们刚刚宣布推出最新的高性能、80V电流感应放大器INA240。它可以检测工厂设备工作电流的变化,这可以帮助诊断设备的整体健康状况,并在发生故障之前指示潜在故障。 产品线经理Jason Cole说:“它能在恶劣的切换环境中工作并能提供目前市场上最精确的测量,这是非常棒的。与这些应用打交道的设计人员真正了解精确、低漂移精度测量的价值。” 那么到底什么是预测性维护呢?基本上,预测性维护是指连接的机器在故障发生前可告诉您潜在的故障。通过预测故障和减少意外停机时间可以帮助公司节省数百万美元,这有助于满足终端设备客户的要求。 用创新的预测性维护取代传统的预防性维护,不仅可以缩短工厂停产时间,还可以提高工厂的安全性和可靠性,节省部件和人工成本。 “我们可派出工程师快速更换故障部件,让您免去故障带来的烦扰,”Dave表示,他引用工业电机或泵作为示例,“即使是最平稳的电机也会产生小幅振动。通过测量和寻找这些振动的变化,我们可以确定电机是否运行良好或是否发生了一些不可见的磨损。” 这就是今天所讲的预测性维护内容,它可轻松地与当前的工厂通信系统集成,可将其设计成新的生产过程或改装到现有过程。 引入低能耗加速器(LEA) 我们的新型16位MSP430 MCU是首个包含低能耗加速器(LEA)的设备。该设备是针对超低功耗、信号处理应用进行高度优化的加速器。这种新的外部设备扩展了MSP430 MCU在某些应用中的处理能力。 LEA模块的信号处理能力还将帮助设计人员开发更紧凑、更简单的嵌入式系统,用于分析工厂设备的振动。Dave表示:“今天这些系统是昂贵的、复杂和高耗能。我们的设备可以帮助降低系统成本和复杂性,从而可安装更多的预测性维护系统。” 现有系统通常限于昂贵的工业设施。未来,我们将在家中的暖通空调系统中进行预测性维护,从而减少系统故障。Dave表示:我们的设备还可能产生积极的环境影响:通过降低功耗,我们可以延长电池寿命,从而减少被废弃的电池数量。但是,这很难量化,因为它取决于应用程序和LEA模块的使用量。Dave表示:“对许多电池供电的应用来说,其中的可用能量有限。这个带LEA模块的设备可以提供一个更节能的解决方案。”。

    时间:2016-11-23 关键词: lea 预测性维护 MSP430

  • MSP430系列添新成员:武装了LEA的FR5994神通何在?

    MSP430系列添新成员:武装了LEA的FR5994神通何在?

    MSP430产品从1996年问世到2000年初现低功耗的特点,再到如今MSP430铁电系列产品一直致力于发展更低功耗的MCU。多年以来,MSP430产品主要定位在两大类应用,感测应用与测量应用,可以为门禁系统、烟雾探测系统、火灾报警系统、入侵检测系统等在内的楼宇自动化、工业自动化提供高性能超低功耗MCU。11月TI宣布MSP430系列铁电家族再添两位新成员——MSP430 FR5994与MSP430 FR2111。 MSP430 FR5994性能暴增40倍?! 在感测应用方面和测量应用方面对MCU都有哪些方面的要求?TI MSP430中国区业务拓展经理刁勇介绍:“低功耗、程序存储空间与信号处理性能是现在低功耗MCU面临的主要困难。” (TI MSP430中国区业务拓展经理 刁勇) 在低功耗方面和信号处理方面,FR5994 16位MCU将LEA集成其中,那么LEA到底是何方神圣,居然能够挑起功耗和信号处理两方面功能?FR5994的LEA外设其实是个硬件加速器,该加速器中内嵌数学运算算法,这对用户来讲就省掉了FFT算法或IIR算法软件的工作。用户只需要把FFT的数据用一条命令送到LEA处理器,作为一个接口,把数据送给它,它就可以自动完成输出用户想要的结果。举个例子,与传统DSP使用的快速傅氏变换算法相比,以256点作为快速傅氏变换算法的基准,运行同样FFT,32位Cortex-M0如要花32ms时间,FR5994只需要花1ms时间,比Cortex-M0的速度快40倍,而在其他时间FR5994则会进入更低功耗的休眠状态。集成LEA外设模块是MSP430 FR5994最大的亮点。 带有LEA外设的FR5994可以用于在计量类或电网类的应用上,例如,将集成LEA的产品在用到超声波流量测量可以做的功耗低,又可以做很多数学运算以及信号相关和过滤。LEA外设还可用于电力上对故障、传输线的检测,应对高频率的傅氏变换。此外,LEA外设可支持便携式健康设备,这些设备大部分都是低功耗设备,它又需要做很复杂的数学运算,同时又需要做到低功耗,集成了LEA外设的FR5994可以满足这类应用的需求。 (支持LEA的应用) 面对高性能产品对程序空间要求越来越大的形势,FR5994将铁电存储器上扩展了1倍——从128K扩展到256K。FRAM可以做成统一化的存储器,用户只需要做一个定义就可以取代以前对RAM需求非常大的MCU应用。 同时,丰富的模拟外设也是FR5994的一大亮点:16个通道,12位差分ADC、16通道比较器集于FR5994一身。丰富的串行通讯接口最多可以支持8个不同的串行通讯,兼具AES加密外设、32位CRC校验外设等数据保护外设。FR5994还具有很丰富的时钟资源,并带有硬件RTC,支持日历和报警功能。 高性价比铸造MSP430 FR2111 MCU TI所推出MSP430 FR2111 MCU主要是基于8位单片机的应用,意在用8位单片机价格提供16位铁电单片机的功能,能够解决现在8位单片机用户面临的存储上的挑战或模拟外设上的挑战。 MSP430 FR2111 MCU的铁电提供了统一化的存储器,拥有铁电家族安全性能高、擦写次数多等特点,铁电存储器尺寸仅为2K FRAM,尤其适用于数据采集传感器类应用。同时,它还有1K SRAM,2K ROM用来做程序升级。片上还具有10位SA型的ADC,1个比较器等模拟外设,并带有6位的DSA作为阈值设定,可以通过6位DSA来设不同比较器比较的阈值。 (MSP430 FR2111 MCU低功耗感测应用) MSP430 G系列升级到FR2111也非常得简单和方便,FR2111和G系列CPU内核相同,开发系统和指令都兼容。并且,它有很丰富的定时器资源,看门狗时钟,1个16位的时钟,1个RTC。还有很丰富的串联,就是1个UART,1个SPI,支持12个I/O。MSP430FR2111 MCU让开发人员能够利用具有FRAM存储器技术的先进、高集成MCU升级以往的8位和16位设计。 无论是武装了新外设的FR5994还是性价比超高的FR2111都为MSP430铁电系列增添了一抹亮色。

    时间:2016-11-14 关键词: lea 技术专访 fr5994 fr2111 MSP430

  • 温度测量系统设计,基于msp430单片机

    本文介绍一种应用msp430单片机测量温度的方法,来代替传统教学中相对落后的热敏电阻结合电流表的实验方法。 1 温度测量部分 用于测量温度的温度敏感元件有很多种,比如热电偶、热敏电阻、集成温度传感器、数字温度传感器等等。本系统采用的是热敏电阻。热敏电阻由对温度非常敏感的半导体陶瓷质工作体构成。与一般常用的金属电阻相比,它有较大的电阻温度系数,可以获得较高的温度分辨率。不同材料制成的热敏电阻适用的测温范围不同,如CuO和MnO2制成的热敏电阻适用于-70~120℃,适于测量体温。温度是模拟量,要把被测的模拟量转换成数字量,以供单片机处理。为了节约成本,可以通过斜率A/D转换来实现模数转换。斜率A/D转换是利用外接电容的充电和放电来实现的。电路连接如图1所示。   应用msp430的比较器(Comparator_A)和定时器(Timer_A),可以测量热敏电阻的阻值。根据阻值和温度的对应关系可以得出待测的温度,实现A/D转换。将Comparator_A的CA0端接外部信号,CA1端接内部参考电压0.25Vcc.Timer_A工作在捕获模式,下降沿捕获,通过CCI1B捕获CAOUT.先使P1.2端口输出高电平,通过Rref给电容C6充电。充电完毕时,CA0端电压高于CA1端电压,CAOUT输出1.读Timer_A的计数值t0,t0=TAR.然后再使P1.2端口输出低电平,电容C6通过Rref放电,当CA0端电压降至 0.25Vcc时,Comparator_A输出翻转,CAOUT输出0,Timer_A通过CCI1B捕获到下降沿,触发定时器中断,读出捕获值 CCR1,t1=CCR1.C6通过Rref放电到0.25Vcc的时间time_ref=t1-t0.再对热敏电阻Rsens充电和放电,同样测出C6 通过Rsens放电到0.25Vcc的时间time_sens.由下面的公式可以计算出热敏电阻(Rsens)的阻值。   2 温度显示部分 MSP430F413带有液晶驱动电路和显示缓存,通过对显存中各位的置位和复位来使得液晶屏上对应的段显示或消失,将斜率转换后得到的数据发送到显存,就可以在液晶屏上显示出测得的温度。msp430有4种驱动方式,选用哪种驱动方式由需要驱动的液晶段数以及液晶屏的管脚和液晶屏内部电极的排布决定。本系统采用的液晶屏是大连东显电子有限公司生产的EDS812液晶显示屏。该显示屏可以显示3位数字,有24个管脚,其中1个公共极管脚,23个段极管脚。由于该液晶屏只有1个公共极,只能采用静态驱动方式。根据图2和表1所示的对应关系连接MSP4 30和EDS812,并将数据写入显存,即可显示出测得的温度。   3 键盘控制部分 键盘是人机对话的输入设备,通过键盘可以设置系统参数,控制系统运行。应用系统的键盘可采用非行列式键盘和行列式键盘。非行列式键盘的硬件电路和执行软件都比较简单,消耗CPU资源少,但只适用于按键较少的情况。本系统只有一个开关键和一个温度测量键,适于采用非行列式键盘。本系统采用轻触按键,它是通过开关状态来实现其功能的。在实际应用中,的运行速度相对于操作者按键的速度来说是非常快的,这样就必须考虑按下按键前后的抖动问题。本系统采用软件延时来消除抖动,即当系统检测到有按键按下时,经过20 ms再次检测是否该按键被按下。如果检测到该按键确实被按下,则执行该按键对应的功能;如果没有检测到该按键被按下,则继续保持待机状态。 4 结语 利用以上系统可以精确地测得温度。不同学校可以根据具体的教学要求在硬件连接、软件设计等方面制定具体的实验步骤。通过该实验使学生将基础课的教学阶段初步掌握集成电路的应用。由本系统构成的实验仪器和传统的实验仪器相比较应用了更多的现代科学技术,也更接近实际的仪器设备,可以使学生将学校中学到的知识更好地应用到实际工作当中。

    时间:2016-09-21 关键词: 单片机 温度测量 MSP430 嵌入式处理器

  • 超低功耗430+铁电强强联合——MSP430 FR5969评测

    超低功耗430+铁电强强联合——MSP430 FR5969评测

     随着设备小型化,便携式的发展,对于处理器的低功耗要求标准渐渐提高。而做为芯片厂商中佼佼者就数TI。当430与超低功耗,高速读写的铁电存储器强强结合那就必须得数MSP430FR5XXX/6XXX系列了。 1 开箱及板载资源 今天我就带着大家来一睹MSP430FR5XXX中的贵族MSP430FR5969。它是TI第一颗基于超低功耗铁电技术的平台芯片,处理器容合了铁电超低功耗,快速读写,更长读写寿命的非易失性存储。 熟悉的黑色小盒,三颗飞天小火箭。打开它,一张醒目的Attention映入眼帘,提示开发环境CCS V6.0、IAR EW430 6.10或更新。 红色标致小板,自带仿真,只要通过USB口联接就可以进行仿真调试,方便呀! 我们还采购了与它兼容的夏普96液晶屏。来张全家福看看吧!   下面我们仔细看看板载的资源 l 基于MSP430及超低功耗铁电存储技术的16位微处理器 l 0.1F超级电容滤波标准电源 l 具有能量跟踪功能 l 用户界面有2个按键和两个LED灯 l 串口转USB直接连接PC端调试 开发板正面 背面图像 可以看出开发板给其实是一个最小系统板,而外扩的GPIO给我们提供了更多想象和开发的空间。那我们就来看看这颗48VQFN宝贝MSP430FR5969,到底它能带给我们什么…… MSP430FR5969芯片内部结构   外部接口列表1-1 从表1-1中可以清楚的看到,它是16位的RISC精简指令集,最高工作频率16MHz,1.8V-3.6V宽压输入,四种工作状态,Shut down模式下只有0.02uA。 内嵌64KB的非易失存储器,1015次擦写次数,超短的读写时间,写一个字节只需125ns,写完64KB仅需4ms的时间;66KB的RAM并带有32x32的乘法器,数据的处理能力上大大的提高;加上AES256保密机制,数据存储更加安全可靠。 丰富的外部接口,I2C,SPI,ADC,UART样样具全,再加上3路道的DMA让数据的传输变得更加快捷。而且开发板具有能量跟踪的功能,实时检测板子的功耗。 通过上面的介绍是不是也想看看上电后的效果了呢?将开发板与PC的USB端口联接,些时在PC的设备管理器中可以看到如下两下串口。 2、软件开发 打开CCS V6.1软件,在菜单项选择:View->resource explorer,并在页面的Packages:MSPWare。在Devices项中看到MSP430的单片机系列。 点击需要的型号,如我现在用的MSP430FR5XX/6XX,就可以看到用户说明,数据手册,代码例程,设计资源等等,如下界面所示。点击Code Example选择芯片5969,在右侧的窗口中列出了与它相关例程。 或者选择Develop Tools可以查看到用户使用介绍,设计的原理图,PCB,测试用例程。 现在先用板上自带的程序来做个测试,点击out of Box Experience GUI界面程序来看一下开发板的运行状态,步骤如视频1所示。 [!--empirenews.page--] 在视频1中可以看出此例程使板子一共两种状态,一个是温度测试,另一个铁电存储的读写。选择串口,点击transfer FRAM Data,显示数据传输结果如上图所示。 2)运行LED闪烁程序 LED1---P4.6                                         LED2---P1.0                                        S2---P4.6 硬件原理图如下所示: 主程序如下所示:     点击debug,程序运行。 休眠状态及唤醒 从MSP430FR5969元件说明中可以看到它在四种工作模式4): 1) Active Mode: Approximately 100 μA/MHz 2) Standby (LPM3 With VLO): 0.4 μA (Typical) 3) Real-Time Clock (LPM3.5): 0.25 μA (Typical) 4) Shutdown (LPM4.5): 0.02 μA (Typical) TI为我们提供了两个LPM4.5低功耗的例程,下面我们就来实际测试一下吧! Lpm4-5_01.c例程功能如下:当LED1灯亮,进入LPM4.5模式后;当按下S2按钮后开发板从LPM4.5低功耗模式唤醒,并使能晶震LFXT,LED2灯闪烁。状态如视频2所示。 由视频2中可以看到,进入LPM4.5后,开发板的电流仍在哪3.4mA,而退出后最大只有1.6mA,原因是因为我们的LED1指示灯点亮。下面我们将LED1关闭(P4OUT ^= BIT6;红色部分),然后再来测试一下,程序修改如下:     下图是程序运行在进入LPM4.5状态时的显示窗口及放大的power图型。 当按下S2,通过中断将其唤醒后,程序运行情况及power的显示情况。 由视频3可以看到, TI的energyTrace显示只有0.02mA,与芯片的datasheet说明一致,万用表显示功耗只有0.07mA,原因是表的显示精度,位数和测量误差的存在,所以数据上有所出入。 3、总结 可以看到,MSP430FR5969单片机不仅继承了430系列的低功耗还将铁电存储器的快速读写,多次擦除等特性很好的容和在一起,在低功耗的便携设备中将有不错的表现。 4、遇到的问题 在CCS调试时,点击例程,选择芯片类型后,提示如下错误信息: Error: Device is either 'null' or unrecognized 解决办法: 重新安装CCS 并在process 包中选择MSP430 Ultra Low Power MCUs. 完装完成后就可以导入现在的例程了。 参考文档 1) 参考文件 2) 开发板主要性能 3) 芯片资源 4) 元件datasheet网址 本文系21ic原创,未经许可禁止转载

    时间:2016-07-28 关键词: 超低功耗 铁电 fr5969 MCU MSP430 TI

  • 基于MSP430和CC2530的温室大棚数据采集系统设计

    设计基于MSP430F149单片机为主控制单元,CC2530为数据采集单元的温室大棚数据采集系统CC2530连接温湿度传感器AM2301、二氧化碳传感器TGS4161和光照传感器BH1750,对温室大棚内的温湿度、二氧化碳浓度和光照强度进行采集,并将采集到的数据发送给配有 CC2530模块的MSP430F149单片机,由单片机对收到的数据进行分析处理并发给上位机存储显示。给出了系统的整体框图、采集电路和系统软件流程图。实际测试表明,系统能够准确的完成温湿度、二氧化碳浓度和光照强度的采集,功耗较低,具有智能化传感器网络的特点,在智能农业领域有着很好的市场前景和推广价值。 农作物的生长受到自然条件的影响,如温湿度、二氧化碳浓度和光照等。随着计算机技术和无线传感网络的发展,用信息技术改造农业尤其是农业温室大棚是农业发展的必然阶段。温室环境检测是实现温室智能化控制的一个重要环节。如何有效的利用传感器技术、自动检测技术、通讯技术和计算机技术,研制出对温室温度、湿度、光照和二氧化碳浓度等多种温室环境要素进行测量的数据采集系统,是科技工作者面临的重要课题。中国的智能温室大棚起步较晚,已有的温室大棚控制系统采集环境要素单一,技术还不够成熟。因此,设计一套具有自主知识产权的温室大棚数据采集系统是十分必要的。本文设计了一套使用超低功耗单片机 MSP430F149为控制核心的温室大棚数据采集系统,能够实现对温室大棚内的温湿度、二氧化碳浓度和光照实时采集传输,由主控单元将采集到的数据经过分析处理后,通过USB发送到上位机进行实时显示与存储。该系统使用的硬件资源较少,电路工作稳定,功耗较低,便于携带和安装。 1总体设计 系统的总体结构图如图1所示。   图1 系统总体结构图 CC2530连接温湿度传感器AM2301、二氧化碳传感器TGS4161和光照传感器BH1750,测出实时的温度、二氧化碳浓度和光照强度,对这些数据进行处理后打包发送给CC2530路由节点,路由节点再将接收到的数据发送给带有CC2530无线模块的 MSP430F149.MSP430F149对路由节点发送来的数据进行分析,滤除掉无效的数据,将数据通过USB发送给上位机存储显示。USB端口所起到的作用还有MSP430F149的BSL方式程序下载。对于长度小于50米的温室大棚,可以选择合适的位置放置一个接有传感器的CC2530模块;对于长度较长的温室大棚,可按照CC2530的一般传输距离适当增加CC2530模块的数量。 2系统硬件设计 2.1接有CC2530无线模块的MSP430F149电路 MSP430系列单片机是TI公司1996年开始推向市场的一种16位超低功耗的混合信号处理器。以MSP430F149为例,其主要特点有:1)超低功耗。待机电流小于1μA,在RAM数据保持方式时仅耗电0.1μA,活动模式时耗电250μA.在系统中共有1种活动模式(AM)和5种低功耗模式(LP M0-LPM4)。2)强大的处理能力。MSP430F149采用了目前流行的、颇受学术界好评的精简指令集结构,1个时钟周期就可以执行1条指令。3)高性能模拟技术及丰富的片上外围模块。内部集成看门狗定时器、12位ADC、DMA控制器、基本定时器和串行通信(UART、IIC、SPI)等。 CC2530是用于IEEE802.15.4、ZigBee和RF4CE应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总材料成本建立强大的网络节点。CC2530结合了领先的RF收发器的优良性能,业界标准的增强型8051CPU,系统内可编程闪存8KB RAM和许多其他的强大功能。CC2530有4种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB的闪存。CC2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。CC2530结合了TI公司业界领先的ZigBee协议栈(Z- StackTM),提供了一个强大和完整的ZigBee解决方案。 MSP430F149与无线模块CC2530的电路连接如图2所示。   图2 MSP430F149与CC2530电路连接原理图 此模块设计利用了MSP430F149的超低功耗特点,通过串行通信UART模式与ZigBee相连接。当CC2530没有进行接收数据时,为了节省能源,MSP430F149和CC2530均处于休眠状态;当定时时间到时,MSP430F149和CC2530从睡眠唤醒,CC2530接收由路由器节点的CC2530传送来的数据,并将数据通过串口传输给MSP430F149单片机,单片机对接收的数据进行分析处理之后,发送给上位机存储显示;之后两者又同时进入休眠状态,等待下一次唤醒时继续接收数据,如此循环。 2.2 MSP430F149的USB转串口电路 MSP430F149的USB转串口电路如图3所示。   图3 MSP430F149的USB转串口电路 MSP430F149的USB转串口电路主要用于电路初期的测试、与上位机间的数据传输。串口芯片采用Silicon公司推出的USB接口与 RS232接口转换器CP2102.CP2102是一款高度集成的USB—UART桥接器,提供一个使用最小化元件和PCB空间来实现RS232转换 USB的简便解决方案,包含了USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号的异步串行数据总线。其中USB选用目前比较通用 Micro-USB,在两根数据线D+和D-上采用SP0503BAHT保护,用于抑制静电阻抗和其它瞬态电压,帮助保护数据、信号或者控制线路的模拟输入。 2.3接有传感器的CC2530无线模块电路 接有传感器的CC2530的无线模块电路如图4所示。此模块设计利用CC2530连接温湿度传感器AM2301、二氧化碳传感器TGS4161和光照传感器BH1750,实现对温湿度、二氧化碳浓度和光照强度的测量。由于温室大棚内一天之中的环境变化不是特别明显,通过实际考察,推算出各个环境变量的测量时间间隔。温湿度的测量为10分钟一次,二氧化碳的测量为2小时一次,光照强度为30分钟一次,其它时间模块均处于低功耗的睡眠状态。当10分钟定时时间到时,模块从睡眠唤醒,对温室大棚内的温湿度进行采样测量,将数据发送至CC2530路由节点,发送成功后继续进入睡眠状态;30分钟定时时间到时,模块从睡眠唤醒,对温室大棚内的光照强度进行采样测量,将数据发送至CC2530路由节点,发送成功后继续进入睡眠状态;2小时定时时间到时,模块从睡眠唤醒,对温室大棚内的光照强度度进行采样测量,将数据发送至CC2530路由节点,发送成功后继续进入睡眠状态;这样就完成了对温室大棚内3种环境要素的测量。[!--empirenews.page--]   图4 接有传感器的CC2530电路图 AM2301数字温湿度传感器采用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。AM2301的供电电压为 5 V,为4针单排引脚封装。传感器上电之后,要等待1 s以越过不稳定状态,在此期间无需发送任何指令。AM2301的引脚2为数据线DATA,用于CC2530与AM2301之间的通讯和同步,采用单总线数据格式,测量精度分别为温度16bit,湿度16bit. TGS4161是由半导体气体传感器制造商Figaro几年前推出的一款长期稳定工作的二氧化碳传感器,供电电压为5 V,它由置于衬垫上的对二氧化碳敏感的固态电解质构成,并配有加热器,以减小环境温度改变对测量的影响;TGS4161非常脆弱,一个持续流经高阻抗传感器核心的电流就会烧毁它,所以设计中选用TLC271对传感器进行保护。传感器输出电平端通过TLC271与CC2530的AD端口P0_0相连接。 BH1750是一种不区分光源的数字型环境光强度传感器,供电电压为3.3 V,采用两线式串行总线接口的集成电路,根据收集的光线强度数据进行环境监测,具有1—65535lx(lx为光照强度单位)的高分辨率,可支持较大范围的光照强度变化。设计的模块中,BH1750的SCL、SDA引脚分别与CC2530的P1_4和P1_5相连接。 2.4锂电池供电电路 考虑到在温室大棚内使用CC2530需要在无人值守的情况下工作,连接传感器的CC2530以及CC2530路由节点均使用锂电池供电。锂电池供电电路如图5所示,左边部分为锂电池转3.3 V电路,右边部分为锂电池转5 V电路,转换芯片选用LTC3440.   图5 锂电池供电电路 本设计采用市面上最常用的锂电池作为电源,可充电的锂离子电池的额定电压为3.6 V.锂离子电池的放电曲线平坦,可以保证CC2530模块收发数据时具有更好的线性特征。Linear Teehnology公司的LTC3440是一种高效率、固定频率、降压-升压型的DC/DC转换器,能够用单个电感器调节输出电压,使其高于、低于或等于输入电压,其输入和输出的电压范围均为2.5~5.5 V.LTC3440在所有的工作模式下都具备连续传送功能,非常适用于延长单节锂电池或者镍氢电池的工作时间。其中锂电池转3.3 V电压用来给CC2530无线模块、BH1750传感器供电,锂电池转5 V用来给TGS4161传感器和AM2301传感器供电,如果接有CC2530模块的MSP430F149模块不与上位机间进行通讯,也可采用锂电池转 3.3 V供电。 3系统软件设计 本系统中MSP430F149的开发环境为IAR Embedded Workbench Evaluation for MSP430 5.30,CC2530的开发环境为IAR Embedded Work beneh for 8051 8.10 Evaluation.CC2530所使用的协议栈为TI公司的ZStaek-CC2530-2.3.0-1.4.0.系统的软件流程图如图6所示,其中左边为与CC2530相连接的MSP430F149软件流程图,右边为连接传感器的CC2530数据采集发送流程图。   图6 系统软件流程图 4结论 该温室大棚数据采集系统以MSP430F149与CC2530为核心硬件资源,各电路工作稳定,系统搭建后无需人员长期值守,各采集模块独立工作。实际测试表明,该系统能够准确采集到温室大棚内的温湿度、二氧化碳浓度和光照强度数据,并能够成功的发送给MSP430F149单片机,系统通过休眠机制大大降低了系统的功耗,在智能农业领域有着广阔的发展空间。

    时间:2016-07-16 关键词: 处理器 cc2530 MSP430 嵌入式处理器

  • MSP430电容触摸转轮

    摘要 本应用文档介绍了使用MSP430微控制器实现电容触摸转轮和多路独立LED的PWM软件驱动技术。方案通过4路I/O 端口实现电容触摸转轮控制,I/O端口配合三极管驱动LED,实现LED呼吸、轨迹灯等效果。本方案为需要电容触摸转轮控制和LED跟踪显示等绚丽灯效的产品提供了有效的低成本方案。 简介 电容触摸技术作为一种实用、时尚的人机交互方式,已经被广泛的应用到各种电子产品,小到电灯开关,大到平板电脑、触摸桌等。随之而来的是考验产品设计者如何发挥智慧,在把产品用户界面设计得方便简洁的同时,又能呈现产品绚丽的外观,从而带来良好的用户体验。 LED显示由于界面友好,可以实时反映触摸的位置信息,在电容触摸产品设计中得到广泛应用。本设计正是利用了大量的LED来实现呼吸灯、轨迹灯的特效,可以为例如灯光、音量、温度等带有调节功能的产品提供设计参考。 德州仪器的MSP430系列单片机以低功耗和外设模块的丰富性而著称,而针对电容触摸应用,MSP430的PIN RO电容触摸检测方式支持IO口直接连接检测电极,不需要任何外围器件,极大的简化了电路设计,而本设计文档中使用的MSP430G2XX5更支持多达 32个IO口,可驱动24个以上的LED灯,达到理想的显示效果。 1.电容触摸转轮实现方案 MSP430电容触摸转轮方案通过4个IO口完成4个通道的电容检测,配合特殊的电极图形,就可实现转轮的设计。 1.1 电容触摸实现原理 MSP430根据型号的不同支持多种电容触摸检测方式,有RC震荡、比较器、PIN RO, 本设计使用的是PIN Relaxation Oscillator方式,原理如图1,芯片管脚内部检测电路由施密特触发器、反向器,以及一个电阻组成,震荡信号经过施密特触发器变成脉冲信号,再通过反向器反馈回RC电路,通过Timer_A对施密特触发器的输出进行记数,再通过设置测量窗口Gate获得记数的结果。当手指触摸电极,电极上的C产生变化,导致震荡频率改变,这样在定长的测量窗口就能获得不同的记数结果,一旦差值超过门限,结合一定的滤波算法判断就可以触发触摸事件。   图1 PIN RO原理图 1.2 转轮算法 将4个按键电极按照图2锯齿状交叉就形成了一个转轮的电极,转轮的大小根据产品设计的需要可进行适当的缩放,图2的图形设计适合30mm左右直径的转轮。   图2 转轮电极设计 当用户在转轮上操作的时候,在手指对应位置的电极会获得最高的信号值,手指临近的通道会有相对高的信号值,离手指最远的通道检测到的信号值最小,如图3所示:   图3 手指触摸时不同电极上测量到的信号值 这时可以利用不同通道上信号值的不同计算出手指在转轮或滑条上的位置。位置计算步骤如下: a.用排序方法找出4 个电极中信号最大的电极 index = Dominant_Element(groupOfElements, &measCnt[0]); b.将找到的这个电极的信号加上相邻电极的信号 position = measCnt[index] + measCnt[index+1] + measCnt[index-1]; 相加后的结果如果大于门限,就认为有触摸事件产生,继续后续的位置计算。 把前后信号相加的原因是手指在操作的过程中有可能处于两个电极中间,这样两个电极上得到的信号都不会很高,需要把信号相加才可以与门限做比较。 c.计算位置坐标时先根据筛选出的index 值得到一个大约的位置,再根据index 的相邻电极信号强度进行修正,得到最后的坐标值 position = index*(groupOfElements-》points/groupOfElements-》numElements); position += (groupOfElements-》points/groupOfElements-》numElements)/2; position += (measCnt[index+1]*(groupOfElements-》points/groupOfElements-》numElements))/100; position -= (measCnt[index-1]*(groupOfElements-》points/groupOfElements-》numElements))/100; d.针对index为0或者3的情况代码需要另外处理,不过计算方法和上述是一致的。 这里转轮的分辨率,即转轮一圈分为多少个段是根据points设定的,假设用户只需要区分24个位置,就可以设points为24,当然也可以设为 64,128,甚至更高,这取决于转轮的大小,电极图形的设计以及电极的多少,例如需要类似1024这种高精度,需要增加电极数从4个到8个或者更多。

    时间:2016-07-01 关键词: 电容触摸 驱动开发 转轮 MSP430

  • MSP430低功耗原理及其在海温测量中的应用

    MSP430系列单片机是一款具有精简指令集的16位超低功耗混合型单片机。采用MSP430系列单片机的一个最大优势是它具有低功耗和高集成度,非常适合于电池供电和空间受限的工作环境以及便携式应用场合。 1 MSP430系列单片机的低功耗原理及工作模式 1.1 低功耗原理 MSP430系列单片机能够具有很低的功耗,是由它的结构特点决定的。 1.1.1 灵活的时钟信号 MSP430系列单片机为系统提供不同的时钟信号,用户可以根据实际需要选择合适的系统时钟。MSP430的时钟模块由高速晶体振荡器、低速晶体振荡器、数字控制振荡器DCO、锁频环FLL以及锁频环增强版本FLL+等部件构成。MSP430系列单片机输出3种不同频率的时钟信号:ACLK(辅助时钟)、MCLK(主系统时钟)、SMCLK(子系统时钟)。下面以MSP430F4XX系列单片机的时钟模块为例作介绍。 MSP430F4XX系列单片机的时钟模块有3个时钟源:LFXT1CLK,XT2CLK,DCOCLK。LFXT1CLK为低频时钟;XT2CLK为高频时钟;DCOCLK为片内数字控制RC振荡器,经常用作系统和外设的时钟信号,其稳定性可由FLL+硬件控制。 MSP430F4XX系列单片机时钟模块的结构如图1所示。ACLK来自LFXT1CLK,可由软件选作各外围模块的时钟信号,一般用于低速外设,ACLK经1,2,4,8分频后供外部电路使用,保证了MSP430F4XX和MSP430F1XX的时钟系统相兼容;MCLK可由软件选择来自 LFXT1CLK,XT2CLK,DCOC-LK三者之一,然后经1,2,4,8分频得到,主要用于CPU和系统;SMCLK可由软件选择来自 XT2CLK或DCOCLK,主要用于高速外围模块。用户根据不同的应用要求和系统条件,通过程序选择低频或高频,3种不同的频率时钟输出给不同的模块,从而合理利用系统的电压,实现整个系统的低功耗。   DCOCLK可以用作MCLK和SMCLK,但由于RC振荡器DCO的频率会因温度和电压的不同而变化,导致输出频率不稳定。MSP430F4XX系列单片机的时钟模块应用了增强型锁频环技术FLL+,可以通过频率积分器和调制器的自动调节使DCOCLK的频率趋于稳定,实现了硬件自动调整DCO频率,而MSP430F1XX系列单片机的时钟模块则需要通过软件调整DCO频率。 1.1.2 完全独立运行的外围模块 MSP430系列单片机的各个模块运行完全独立,定时器、A/D转换器等都可以在CPU休眠的状态下独立运行,从而降低了系统工作时的功耗。例如,用两种方式实现方波的输出。 方式1 为通常单片机使用的方式,使用CPU控制输出端口来实现高、低电平的交替转换。在这种方式下,CPU一直处于工作状态。方式1的程序如下:   方式2 使用MSP430外部模块定时器A1的自动翻转模式来实现高、低电平的交替转换。在这种方式下,CPU在设定了定时器A1的工作模式后,由定时器A1的输出控制波形,完全不需要CPU的参与,CPU可以休眠,降低了系统的功耗。方式2的程序如下:   1.1.3 瞬间唤醒的响应特性 在通常情况下,软件将CPU设定到某一低功耗模式下,在需要时使用中断将CPU从休眠状态中唤醒,完成工作之后又可以进入相应的休眠状态。 MSP430可以在极短的时间内唤醒CPU,从而缩短了CPU的活动时间,降低了功耗。MSP430F4XX系列DCO振荡器的响应时间小于6 μs,可支持长睡眠周期和突发事件的执行。 1.2 工作模式 MSP430系列单片机提供6种不同的工作模式:活动模式(AM)、低功耗模式0(LPM0)、低功耗模式1(LPM1)、低功耗模式 2(LPM2)、低功耗模式3(LPM3)、低功耗模式4(LPM4)。选用哪种工作模式由CPU的状态寄存器SR中的SCG0、SCG1、OscOff 和CPUOFF位控制。通过设置控制位MSP430可以从活动模式进入到相应的低功耗模式,而各种低功耗模式又可以通过中断方式回到活动模式。在各种工作模式下,时钟系统所产生的3种时钟活动状态是各不相同的。各种工作模式、控制位及3种时钟的活动状态之间的相互关系如表1所示。   图2显示了在电压为3 V、周期为1μs时各种工作模式的耗电情况。可以看出,在LPM4工作模式下的耗电量相当低。   灵活的时钟信号、完全独立运行的外围模块和瞬间响应的特性使得MSP430系列单片机可以通过软件设置配置不同的工作模式,通过中断切换不同的工作模式,CPU和各模块都能在最低功耗状态下正常工作。 2 海温测量中的应用 作为重要的海洋水文参数,温度测量在海洋监测、开发应用和科学研究中都具有特别的意义,为此人们设计了各种形式的海水温度测量仪器。目前,获取海水温度信息的手段多种多样,如卫星、飞机、船舶、浮标、岸基监测站、海上固定平台、志愿船等。其中抛弃式海水温度探测系统可快速获取海温的实时数据,具有良好的机动性,便于组网。抛弃的测温装置需要单独在海洋中完成海温数据的采集和发送,依靠自身携带的电池供电,这时系统的功耗便尤为重要。因此,采用超低功耗的MSP430单片机来设计抛弃式测温装置的温度采集系统。 2.1 设计方案 系统采用MSP430F4794作为微处理器同时完成数据的采集和处理任务。采用NTC热敏电阻RT作为前端温度传感器,其突出特点是灵敏度高,响应速度快。利用3个标准精密金属膜电阻R1,R2,R3和NTC热敏电阻RT构成测温电桥,用于激励出热敏电阻的差分电压信号。 使用MSP430F4794芯片内部自带的SD16_A(增强型16位的∑-△A/D转换器)模块进行模/数转换。从前端温度传感器送来的差分信号首先经过MSP430F4794内部自带的输入缓存,可以避免直接接入程控放大器造成的测量误差;经过输入缓存后由程控放大器对信号进行差分放大,然后送入 SD16_A;最后将转换好的数据存入16位A/D转换专用数据存储器,完成一次数据采集。采集好的数据送运算器进行运算最终获得海水温度测量结果。[!--empirenews.page--] MSP430F4794芯片内部有低温漂18 ppm,1.2 V的基准电压,利用其给测温电桥和SD16_A同时提供电压基准,以形成比值测量系统,能够有效消除测量系统中的漂移误差。系统方案原理图如图3所示。   2.2 系统的低功耗设计 2.2.1 硬件的低功耗设计 系统选用了低功耗的处理器MSP430F4794。MSP430F4794为MSP430的4系列单片机,工作电压为1.8~3.6 V;当工作电压为2.2 V,频率为1 MHz时,活动模式下电流为280μA,待机模式下电流为1.1μA;从待机到唤醒的时间不超过6μs。 采用32768 Hz和4 MHz的晶振作为时钟输入,当系统处于温度采集或通信状态时采用高频时钟来获取较高的处理速度,当系统处于待机状态时采用低频时钟来降低系统功耗。这样就较好的解决了电池供电的小电流应用系统中工作频率和功耗之间的矛盾。 选择低的供电电压和低功耗的外围器件来降低功耗。系统采用CR2032电池供电;使用超低功耗的LDO芯片AS1360进行电源管理;选用低功耗的段式液晶显示器LCD048。 2.2.2 软件的低功耗设计 在程序设计上充分利用MSP430提供的多种低功耗工作模式。在进行温度采集时,系统由活动模式转换为LPM0工作模式,CPU处于休眠状态,让 A/D转换器独立工作。在不进行温度采集时,系统处于待机模式,进入LPM3工作模式。当需要工作时,发生中断唤醒CPU,处理完后再进入低功耗模式。这样,系统通常运行在LPM3工作模式下,该模式又被称为休眠模式,它是在保持实时时钟活动情况下功耗最低的一种工作模式。通过各种模式之间的灵活转换,实现了降低系统功耗的目的。系统进行一次温度采集时程序的运行状态与对应工作模式的转换如图4所示。   3 结语 随着便携式、低功耗智能仪器仪表的迅速发展,需要有低功耗、高集成度、模拟特性好、处理能力强的微处理器,MSP430系列单片机满足了这样的需求。采用MSP430F4794作为微处理器设计的海水温度采集系统能够适应空间受限、电池供电的海温测量工作环境。测温系统经过修改,可以获取海水的盐度、波浪等其他海洋水文参数,具有推广应用意义。

    时间:2016-07-01 关键词: 低功耗 驱动开发 海温测量 MSP430

发布文章

技术子站

更多

项目外包