Part Number:MSP430F2274
MCU由DC可调电源供电,2.5V ~ 3.3V供电可以正常工作,电压降至2.4V以下 (1.8V~2.4V)时会不断复位。已经排查硬件的问题。
软件中涉及到 uart、定时器(TimerA、TimerB)、ADC10、运放( OA0和 OA1)、系统时钟频率的切换( 12Mhz和 8Mhz )、低功耗模式LPM3。
另外,用1个最简单的代码进行对比,只配置MCU的1个引脚,让该引脚控制1个LED灯闪烁,供电在2.4V以下(1.8V~2.4V)可以正常运行。
想咨询:
1. 可能是什么原因导致该MCU复位?
2. 软件中未设置过SVS寄存器,是否是该芯片的SVS寄存器中低电阈值的默认值太低导致复位?是否可以设置SVS寄存器低电阈值改善?
Yale Li:
Hi Harrison,
1. 电流情况如何呢?
我建议您对照着MSP430F22x2, MSP430F22x4 Mixed Signal Microcontroller datasheet (Rev. G)中各个外设的供电情况来检查一下您的配置,可能一些配置不合理导致了复位。正常电压下可以工作的配置在低电压状态下可能就不行。
2. SVS默认是关闭的。您可以给他设定一个给定配置,来看一下情况是否会得到改善。
,
harrison ban:
hi, Yale Li,
1. 工作电流在十几uA左右。各个外设的配置情况正在排查
2. SVS寄存器不论设置什么值,读取出来都是0x0A,对结果仍然没有改善。查看规格书,该型号的MCU似乎没有SVS模块 。
,
Yale Li:
Hi Harrison,
harrison ban 说:工作电流在十几uA左右。
是在哪个模式下测得的?
,
harrison ban:
十几uA 是实际工作的平均电流,MCU在Active、LPM3模式之间来回切换。
另外,排查发现,只让LED闪烁的代码,系统时钟设置为12Mhz时,MCU会复位;而系统时钟使用默认配置时,MCU不会复位。
想问,MCU系统时钟为12MHz时不能在供电2.4V以下正常工作吗
配置系统时钟为12MHz的代码如下,麻烦帮忙看下是否有什么问题
BCSCTL1= CALBC1_12MHZ;DCOCTL = CALDCO_12MHZ;BCSCTL3 = LFXT1S_2;
,
Yale Li:
Hi Harrison,
12MHz对于2.4V的供电来说算是比较极限的数值,3V以上的话就可以稳定运行。
,
harrison ban:
hi, Yale Li,
系统时钟设置为较低的频率后,低电复位的问题有所改善。
另外,还想请教下,使用ADC中断持续采样,ADC的采样频率应该如何计算呢
,
Yale Li:
Hi Harrison,
您的ADC是由TIMER来触发的吗?
以TIMER触发为例,您设定的是TIMER触发ADC采样的频率就是采样频率。
ADC中断是用来在采样完成后对结果寄存器进行操作,或进行其它相应操作。这个中断占用的时间在大部分配置的情况下都是远小于触发周期的。
即中断是由CPU处理,ADC采样是由TIMER触发独立于CPU进行的。