MSP430+MCP144制作低功耗方案演示板

楼主
MSP430+MCP144制作低功耗方案演示板
继“MSP430F2031+MCP144低功耗方案实验板[DIY]”LP1板子后,我们推出公开实验板制作。第二版低功耗板命名为“LP2”,该由小型号单片机是TI的MSP430F1232与MC的MCP144器件组成。
MSP430F1232PW主要具体ADC10模数转换模块外还带有一块通讯模块,这通讯模块可用于UART或SPI其中之一用途。板子外部都采用电源供电控制,实现低功耗控制模式;而低功耗的性能在MCU和LCD驱动方面的资料很多了在这里不再重复地提及了。
作为一个简单的微型开发板用途,LP2是一个值得拥有的板子。该板的SCH、BOM、Gerber制作文档都要在该贴上公开。
[URL=http://www.microcontrol.cn/HomeImages/MC/LP2/LP2_V1.1.zip]下载LP2硬件资料包[/URL] (第二版的SCH、GerberFile、BOM)
2012.11.20.已更新为V1.1版
2012.11.13.首发第1.0版
电路图如下
[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2_SCH_V1.1_01.jpg[/IMG]
电源供电、电量检测、温度传感器等

[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2_SCH_V1_02.jpg[/IMG]
MSP430F1232PW单片机及周边器件与接口

[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2_SCH_V1_03.jpg[/IMG]
MCP144低功耗液晶驱动电路

[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2_Top.jpg[/IMG]
PCB板设计完成后的顶层布局图

[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2_Bot.jpg[/IMG]
PCB板设计完成后的底层布局图

[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V1_Board_3D_View.jpg[/IMG]
由Altium Designer 10平台设计出来的PCB,产生3D模型图。

[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V1_Board_01.jpg[/IMG]
由板厂洗板回来后的真实PCB板,这可以对比之前的的3D图。3D效果与真实板子还是非常接近的。

[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V1_Board_02.jpg[/IMG]
板子回来后,当然拿拿临将其焊起来调试啦!LP2样机整个造形十分引人,接下来就得玩玩做些实验了。
1楼
[P]焊完了,拿拿临就三两下手工夫弄个低功耗演示例子与大家分享一下。
基本功能是用DS18B20测温、ADC检测电池电量并做低电量时指示,6F22(9V)电池低于约7.5V时就指示出电池符号。正常时电池标志不显示。采用定时工作读取温度值,所以DS18B20的供电我改为了由Q1控制。据说DS18B20由软件控制休眠模式,但我没去试。
下面我是我测量三种情况的电流,MSP430F1232的低功耗模式(LPM3)电流、MCP144正常显示时低功耗电流、DS18B20测量温度时功耗电流(含MCU)。总的来说,基本上达到目的低功耗。如果再加点心思去优化程序的话,电流可能还能做到更小些。由于显示电流特别小,所以全程显示着屏幕数据。
温度的测量间隔完全由程序控制,再加上两个按能添加不同操作;基本上不花销功耗。由这个MCU有ADC10、UART、SPI和TA等等。还可以在上面做些其他的应用,对这8KB FLASH和256B RAM做个小产品是足够了。

   [IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V1_Board_Show.jpg[/IMG]
   板子虽小五脏具全。LP2板上设置有MCU和LCD两个测试点,断开跳线就可以测量各自的功耗。
   另一方面,该板显示部分通过四根跳线连接在一起的。如果断开后,MCP144+MC128U2的显示部分与MCU部分是完全可以独立的。这样用户可以将显示部分也可以用于其他显示用途。

   [IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V1_Board_MCUA.jpg[/IMG]
 单片机工作在LPM3模式下测量功耗。ACLK(32768)用作TimerA的时钟源,定时唤醒读取温度并更新显示。

   [IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V1_Board_LCDA.jpg[/IMG]
   习惯性动作,测量液晶显示部分的工作电流。仅需5.5uA(典型低功耗模式),如果对MCP144软件上再设低一级功耗还可以做到更低一点。但我觉得这么小的就完全可以了。

   [IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V1_Board_1820A.jpg[/IMG]
   DS18B20工作时的电流,约1.2mA。跟手册上的差不多。

这样弄下来,用个9V电池供电,就可以完事一个用普通电池低功耗温度测量应用。当然,真正的应用还需花更多的时间去完善。

采用9V的原因有三个考虑的,第一保持ADC供电有个稳定的REF+参考源。其二,最高参考源可达3.3V,这样使ADC输入的可测量的范围拿到最大。如果用双节电池供电的话,只能依靠ADC内部的1.5V参考源。但这1.5V的测量范围就小了。所以,选择3.3V做AVCC就是我考虑的原因。
第三个原因就是,如果我用两节电池的话,最大是3V,电量再小些时电压可能降到3V以下。当小于3.0V这个电压对于MCU和MCP144来说是没问题的,但于DS18B20来说就有所风险了。因为DS18B20的最小工作电压在3V。如果电压过低可能带来一些不利的影响。

在使用9V电池供电时,也十分方便。同时使用了超低功耗的ULP-LDO:MCP33,该器件却说一直在工作但他的功耗仅消功<1uA电流。所以9V电池配置这MCP33在这个设计上使用非常出色的。[/P]
2楼
[P]  [IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V2_Board_LPM3A.jpg[/IMG]
  软件稍修改了一下,在低功耗模式LPM3下相比之前那张图片显示的4.5uA降至到3.5uA。

  [IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V2_Board_LPM4A.jpg[/IMG]
按下LP2的K2键,使MSP430F1232进入LPM4低功耗模式,测得MCU电流为1.2uA。我想如果再用心点去优化器件上的设置功耗还可能再降低一点点。不过我觉得还是没有太过必要了,都已经达到1uA级别了还想怎样。

  [IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V2_Board_LcdOffA1.jpg[/IMG]
再测量MCP144驱动器关闭显示时,居然发现我的FLUKE 12E 三位半万用表在uA档居然不起表。天啊!难道MCP144休眠时真是无电流吗?

  [IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V2_Board_LcdOffA2.jpg[/IMG]
最后我得拿出整个微控实验室成本最高的手持万用表FLUKE 187四位半万用表对其进行测量。该表基本直流准确度达0.025%,直流电流最大分辨率达0.01uA。(小插曲:当年187是美国产的,价格达5000人民币。现在该表已停产了升级代替的289型号才卖2500元人民币左右。)
在用这个大表去测量MCP144的休眠电流非常有公信力;经过测量可知道MCP144休眠时只有90nA左右,难怪我的FLUKE 12E万用表在这么小的电流下不起表。

如果按整个休眠情况来看,各主要器件的功耗如下:
MCP33 固定功耗电流消耗为约1uA(或以下)。
MSP1232 如果长期放置在LPM4模式约为1.2uA。LPM3模式下约3.5uA。
MCP144 休眠时功耗消耗约为0.09uA。显示时低功耗模式约为5.5uA。
在外挂的DS18B20测量时功耗约为1.2mA,而平时非采样时供电是被MOSFET所控制的所以功耗基本不算。由于温度读取和电池电压检测更新数据是定时工作的,而在计算固定容量电池的使用时间长短时主要还是由DS18B20的工作次数所决定。

关于温度的读取次数问题;我觉得如果单纯是用于测量环境温度变化的监控的话。以分钟时间来计,一般在3次/分钟就可以了。由于一般环境温度变化是较慢的,所以没有必要太过频繁;地频的话测量到的数据作用不大。再说远点,如果在实际监测环境温度可能每小时就测几次而已。所以整个设计功耗的长短将会取决于功耗最大的那部件工作的长短和数次。

在做这个简单的设计中,看来起来就两三个器件而已。但在开始构思一个以电池供电的设计时我们可得考虑很多问题。
比如: MCU我选择那个系列、什么型号?
显示用什么样的显示、长期显示的话功耗怎样?
现实的测量类型是什么、用什么样的传感器、传感器的功耗如何?
整个被选择的器件当中工作最低可靠的供电电压是多少?是否需要用到称定的电源源等。
根据上面的初选电路类型,我该选择什么样的电池供电方式。[/P][P]曾经有个高级工程师(李工)跟我聊过,电池供电的产品并不要十分苛刻。电池就完就得换就是了。是的,确实如此;但作为一个低功耗的设计如果能做到尽可能低那多好啊~。[/P][P]针对上述设计前思考虑的问题,我也做了如下的基本考虑:
MCU方面当然选择我自己所了解的MSP430了,由于明确目标是测量温的,且没有成本和应用太多限制又能工作在3V系统下的。习惯性我会选择DS18B20这个料,这个料精度高、功耗小、方便易用(只针对我的DIY而已)。由于使用了MCP144LCD驱动所占用的IO少(由I2C接口就用了两根GPIO)、DS18B20一根GPIO和两个按键,在这个设计中估计4K的FLASH空间就够的了。单片机本应选择MSP430F1132就行的,但为了做扩展需要,我最终选择了MSP430F1232这个型号。该型号多了个URAT/SPI接口,便以后用得着。[/P][P]整个应用中DS18B20的工作电压要求最为3V(手册写的),所以如果万一低于3V的话温度数据转换可能得不到保障。关于这点,所以电源可能不太适宜用双节电池了,所要在3V以上,所以只能选择性9V电池供电了。当然,或4.5V、6V都可以的。由于用到了ADC10模块,所以在ADC的参考源和输入动态范围的因原,还是选择了3.3V做为AVCC供电。
居然在这里有用到几节电池或9V电池供电,这必须要用到LDO或DC/DC进行电压变换的。故此对这个长期工作的器件要求功耗也必须低的;所以咱们这MCP33当然而然就是个首选了。

上面是我弄这个小板制作过程心得,整理得有点粗糙;欢迎与大家讨论并指证不当之处...。[/P]
3楼
第一版硬件上有小小失策!
  第1版PCB出错的地方,下图红色圈那部分。
  [IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2_SCH_V1_01.jpg[/IMG]

  问题就发生在电池电压检测那里,既然发现这个电路是有问题的。失策、失策!
  [IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2V1_Hardware_Bug_01.jpg[/IMG]
第一电路就是上面这个,当N-MOSFET关闭时,采样端会出现电池端的输入电压。此时芯片的IO的共模电压承受不了这个电压值;芯片必挂无疑!
为了要补救这个失误问题,我手工在板上搭构出第二个图,这个图在关闭NMOSFET时,同时PMOSFET也会被关闭的。但结果这个电路还是会出现我预想不到的风险的结果出来。这个电路不可靠,所以被我否掉了。

本来正确的用法跟电路图中Q1那样用PMOS才对的,只是要控制9V开关的话必须要在POMOS的G下面增加一个NPN三极管或NMOS来做电位转换而已。但现在在这版板上改这个电路已不现实了。需要改这部分的话也只能等第二版了。
为了首次能够将设计完成,维为将取样电阻直接拉地不被控制了。但电阻用到几M级来试试,以减少固有电流的消耗。只好在下一版后再修正这个硬件Bug了。
第一版PCB应用中,电池检测部分我只能用一个2M+1M的电阻串联了,由于这样没有开关切断。固定消耗功耗会有3uA。如上图中第三个电路做法。

如果有兴趣要第一版LP2(V1)小型开发板成品的朋友,可以联系微控淘宝店店长进行预订。如果想自己洗板制作,可以下载我们更新过好的LP2(V1.1)版的资料。第二版的制板资料已解决完第一版出现的小问题。
4楼
我靠,神仙啊,大半夜的出来发帖
5楼
秀秀LP2主板3D预览图
花了不少时间去精心制作了的AD 3D库,这样可以在制板前进行预览帮助制作前验证工作。
[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2_3D_01.jpg[/IMG]

由于可以自由地在不同角度地进行观测,给设计带大极大方便。
[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2_3D_02.jpg[/IMG]

LP2的底部,清楚地看到LCD显示部分与单片机部分是分开的。
[IMG=0,absMiddle]http://www.microcontrol.cn/HomeImages/MC/LP2/LP2_3D_03.jpg[/IMG]

电脑版 Page created in 0.2666 seconds width 3 queries.