本帖最后由 香水城 于 2017-8-11 14:36 编辑
关于Nucleo-L053板子不上电运行问题研究
前言
客户在使用Nucleo-L053R8开发板调试的程序低功耗功能的时候发现,即使去掉JP6的跳线帽,程序依然在运行,进而怀疑所测试的电流是否是准确的.
问题分析
问题复现
找一块Nucleo-L053R8开发板,直接下载范例程序,路径如下:
STM32Cube_FW_L0_V1.8.0\Projects\STM32L053R8-Nucleo\Examples\GPIO\GPIO_IOToggle
之后去掉板子上的JP6跳线,发现LD2依然可以闪烁,只是亮度降低了。再将JP5的跳线帽完全移除,LD2依然是闪烁的。
原理分析
另外找一块Nucleo-L476RG的板子,下载了相同的GPIO反转程序,当去掉JP6的时候,LD2直接停止闪烁。这两块板子的原理图都是一样的,那么为什么在Nucleo-L476RG 的板子上正常的现象在Nucleo-L053R8上就有问题呢?
对比了一下板子的版本,发现Nucleo-L053R8是MB1136 C2版本,而Nucleo-L476RG是MB1136 C3版本,这两个版本有和区别呢?
查找文档UM1724发现,在C3版本中,针对L4xx系列将SB16这个跳线的默认状态修改为了断开状态。
这个跳线的作用是什么呢?再看一样原理图,发现这个跳线是用板载的ST-Link/V2-1给目标MCU提供8MHz的时钟用的。我尝试将SB16去掉后,Nucleo-L053的板子就正常了。
深入研究
这个问题其实是这样的:这个单独MCO输出的8MHz的时钟是可以当作电源来理解的,为什么呢?它本身和目标板连接上了GND,8MHz的时钟输出,直接使用万用表去测量,有2V左右的电压(这个电压就是平均电压),这个电压直接作用在STM32L的时钟输入管脚上,进而引起内部供电。STM32L053的供电电压范围是1.71-3.6V,所以这相当于连接了2.0V左右的电压源。这引起了STM32L053工作,LD2闪烁也就是正常的了。
总结: 在我们Nucleo板子越来越多的被使用在低功耗的评估上,但因为版本的问题,有些细节的地方还是需要注意的。
|