查看: 200|回复: 0

[教程] 【转】分享一点STM32硬件设计的经验

[复制链接]

29

主题

0

好友

713

积分

举人

Rank: 4

  • TA的每日心情
    开心
    昨天 06:33
  • 签到天数: 128 天

    [LV.7]常住居民III

    发表于 2016-9-2 05:59:07 |显示全部楼层

    声明:由于下述内容不起眼但很重要,所以别的人肯定是不会写出来告诉你的啦。

    很多经验都是从错误中总结出来的,所以没有实践,哪会犯错,没有犯错,哪来经验。

    我曾经设计了一个基于STM32的工控板,引出了JTAG调试接口,当我把板子上的电源部分和STM32最小系统部分先焊好以后,先试一下JLINK V8能否顺利下载程序,结果插上JLINK V8以后,JLINK的灯变成了红色。正常的时候是绿色。所以我知道这里肯定有问题了。

    JLINK灯变红,据我以前的经验,一般就是复位引脚有问题。所以我用万用表量了一下复位引脚的电压,结果是0V。

    我们看复位电路,正常情况下,复位以后,复位引脚应该是高电平(3.3V)才对。

    我首先怀疑电容C11是不是焊的短路了,因为贴片电阻相对直插电阻来说还是很小的,以前也有直接焊短路的时候。拿万用表量了一下,结果没有短路。

    然后怀疑复位引脚是不是在焊接过程中,直接连了地了?用万用表量了一下,没有接地。这个错误又排除了。

    不是以上两个焊接电路引起的问题,我就开始想,这个电路和以前设计的STM32电路有什么区别,这个电路和以前的STM32电路的区别就是,这个电路的VDDA引脚和VREF+引脚没有直接和VDD3.3V相连,而是连接了一个参考电压芯片。用的参考电压芯片是LM4040A30芯片,这是一个3.0V的参考电压,连接电路如下:

    用万用表量了一下,结果那个3.0V的地方是1.76V,远远低于3.0V,所以我再一次打开了LM4040A30芯片的datasheet,找到了如下一段话。

    这段话的意思就是要选择合适的电阻Rs,不要让Iz大于15mA,否则就会烧坏它。也就是穿过LM4040的电流不能大于15mA,我算了一下我现在用5.1K电阻的话,穿过LM4040的电流应该是连1个mA都不到,所以我怀疑是不是这个限流电阻用的太大了,使得电压基准芯片工作不正常了。

    那就倒算一下吧,假设现在LM4040A30正常,输出3.0V,那么Rs的电阻值就应该是(3.3V-3.0V)/15mA=20欧姆,也就是说,只要电阻大于20欧姆就可以保证LM4040不被烧坏,手头正好有100欧的电阻,所以我如果用100欧的电阻的话,穿过LM4040的电流就是(3.3V-3.0V)/100欧=3mA。发生在100电阻上的功率大概就是0.3V乘以0.003安,不到1mW,所以用0805封装的电阻足够了,保证不会烧电阻。

    所以我把原来的5.1K换成了100欧,再次量了一下基准电压,变成3.00V了,这时候,插上JLINK V8,灯也绿了,可以正常下载程序了。

    为什么基准电压VDDA和VREF+在1.75V时单片机不正常?

    看了一下STM32单片机的参考手册,手册上指出,VDDA引脚和VREF+引脚的电源电压范围应该是2.4~3.6V,所以当VDDA引脚电压不足时,单片机无法工作。

    另外注意:我的电路中,把VDDA和VREF+连接到了一起,接到了3.0V基准电压了。建议,以后再做STM32电路的时候,把VDDA和其他的VDD连接,只把VREF+和基准电压芯片连接。

    这就是做STM32电路板的一点经验,希望对你有帮助。


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /5 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-10 07:13 , Processed in 0.088283 second(s), 9 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部