Part Number:MSP430F5529Other Parts Discussed in Thread:ENERGYTRACE,
1.自制电路板使用CCS内置energytrace测得LPM3_01.c例程平均电流为2mA左右。自制电路板跟F5529 LP的走线位置与器件布局相仿,但使用晶振物料有差异,BSL及仿真部分去除,PU.0,PU.1串电容接地。
VBUS没有外接电源,内置LDO应该不会工作,想问功耗较大是因为啥?
2.我想把VUSB作为外设VCC,并把PU.0,PU.1作为外设软件I2C/SPI端口的一部分,内置LDO当成外设的电源开关。那内置LDO的这种USBPWRCTL &= ~VUSBEN处理与LDO硬件EN端口低电平关断操作
有何异同?当我把PU.0,PU.1当成GPIO使用时,为了低功耗,是否要像“P1OUT = 0x00;P1DIR = 0xFF;”这样设置,还是说直接进入LPM3模式即可?
Susan Yang:
user6373522 说:自制电路板使用CCS内置energytrace测得LPM3_01.c例程平均电流为2mA左右。
这个电流太大了。您测试时是否连接了仿真器?能否详细说下测试情况?
另外请看一下相关分享
https://e2echina.ti.com/support/archived-groups/w/faq/467/msp430
,
user6373522:
并没有,自制板没有仿真器,测试时采用Spy Bi-Wire连接方式与FR5969LP,通过FR5969板子烧录程序及energytrace测试;
跑LPM4例程平均电流也有7uA。
我查阅了你给的链接之后,只链接了VCC跟GND,发现自制板LPM4达到0.11uA,但LPM3下电流2.8mA。
,
Susan Yang:
user6373522 说:但LPM3下电流2.8mA。
您现在使用的是FR5969LP?因为您之前标题中是MSP430F5529。
那您在LPM3测试的是下面的例程?
msp430fr59xx_lpm3_02.c Enters LPM3 with ACLK = VLOmsp430fr59xx_lpm3_03.c Enters LPM3 with ACLK = LFXT1
,
user6373522:
自制板F5529并不带有energytrace技术芯片,测量方法参考以下链接
How To Measure An Energia Application’s Power Usage with EnergyTrace | Four-Three-Oh! (43oh.com)
我本身有官方F5529LP作为功耗对比,希望指点自制板的芯片外围电路是否有出错的地方。
,
Susan Yang:
请问您现在硬件设计是怎样的?是否已经焊接?
如之前链接所说:
如果硬件电路时用户自己设计的,测量LPM3,LPM4下面的功耗时,最好不要焊接MSP430相关的其他电路。如果已经焊接了的话,那么MSP430 GPIO的状态配置一定要根据外部硬件电路的设计来配置。如果功耗大于MSP430数据手册上处于LPMx的功耗的话,可以尝试更改GPIO的配置,来时系统功耗达到最低。
,
user6373522:
硬件设计我在问题题干就说了呀,我是焊接好再测的,PU.0,PU.1串了个10pf的电容接地,P1.0,P1.1,P2.1,P4.7悬空,其他部分跟跟官方开源PCB图一样。
,
Susan Yang:
看起来您的硬件设计没什么问题。对于不使用的引脚,您可以看一下用户指南的接法
Table 1-3. Connection of Unused Pins
https://www.ti.com.cn/cn/lit/ug/slau208q/slau208q.pdf
对于MSP430未使用的GPIO而言,应该将其设置为输出;或者是设置为输入,但是将管脚的电平固定,可以通过外部电路将管脚连接至Vcc或者GND,也可使能内部上下拉电阻,将管脚电平固定。
,
user6373522:
这是我跑的例程
#include <msp430.h>int main(void) {//WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer// Enable XT1P5SEL |= BIT4+BIT5;// Port select XT1UCSCTL6 &= ~(XT1OFF);// XT1 OnUCSCTL6 |= XCAP_3;// Internal load cap// Loop until XT1 & DCO stabilizesdo{UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);// Clear XT2,XT1,DCO fault flagsSFRIFG1 &= ~OFIFG;// Clear fault flags}while (SFRIFG1&OFIFG);// Test oscillator fault flagUCSCTL6 &= ~(XT1DRIVE_3);// Xtal is now stable, reduce drive// strength// Port ConfigurationP1OUT = 0x00;P2OUT = 0x00;P3OUT = 0x00;P4OUT = 0x00;P5OUT = 0x00;P6OUT = 0x00;P7OUT = 0x00;P8OUT = 0x00;PJOUT = 0x00;P1DIR = 0xFF;P2DIR = 0xFF;P3DIR = 0xFF;P4DIR = 0xFF;P5DIR = 0xFF;P6DIR = 0xFF;P7DIR = 0xFF;P8DIR = 0xFF;PJDIR = 0xFF;// Disable VUSB LDO and SLDOUSBKEYPID=0x9628;// set USB KEYandPID to 0x9628// access to USB config registers enabledUSBPWRCTL &= ~(SLDOEN+VUSBEN);// Disable the VUSB LDO and the SLDOUSBKEYPID=0x9600;// access to USB config registers disabled// Disable SVSPMMCTL0_H = PMMPW_H;// PMM PasswordSVSMHCTL &= ~(SVMHE+SVSHE);// Disable High side SVSSVSMLCTL &= ~(SVMLE+SVSLE);// Disable Low side SVS__bis_SR_register(LPM3_bits);// Enter LPM3__no_operation();// For debugger }既然硬件设计没问题,官方板和自制板跑的例程也一样,那是说焊接技术的原因吗?
另外能回答一下题干的第二条问题吗,最好可以直接把代码砸到我脸上
,
Susan Yang:
user6373522 说:既然硬件设计没问题,官方板和自制板跑的例程也一样,那是说焊接技术的原因吗?
若是可以的话,请给一下原理图,我们具体看一下
,
user6373522:
原理图就是官方原理图稍微改了一点
,
Eason Zhou:
1. 原理图看起来没问题。
2. 功耗大的几个点:a.外部电路(建议把MSP430吹下来,测一下电路功耗),b MSP430芯片硬件(还是吹一下来看一下功耗,Vbus供电试试)C MSP430软件(和launchpad比对过了,软件应该没有问题)
,
user6373522:
用热风枪吹下来吗?这边测功耗用的是CCS内置energytrace,还是改用万用表测吗?单芯片不知道怎么搭建测功耗电路,纯萌新。
,
Eason Zhou:
你先测Vbus那个,launchpad上是供电了的。
然后热风枪吹。
,
user6373522:
热风枪是边吹边用软件测吗?Vbus那个我这边没有接5V,内置LDO关闭,还存在着漏电的可能吗?
,
Eason Zhou:
你接了5V试试,这个我没测过。
热风枪把芯片吹了,然后测板子的功耗。如果是uA级说明是芯片问题,然后换个芯片再试试。如果是mA级那就是无源器件有问题。