STM32H750(或743)核心电源Vcore使用外部开关电源SMPS

H7的核心电压为1.2~1.4V,而为了使用内置usb外设,VDD需要3.3v。核心电压由内部ldo供电,480MHz高负荷时发热明显。

ST对于L4系列有使用外部开关电源给核心供电的例子(AN4978),H7有提到外部供电的要求,但没有开发板或参考设计。

而且其外部供电时,对电源的精度和稳定性要求变态(1.37~1.4v,电源波动任意情况下不能超过1.4V)。

做了个板试了一下,电源选用了SGM6033 4.6MHz, 1A 同步降压芯片。通过电阻将空载输出电压调整到了1.39V,参考Nucleo L4的设计,在1.4v电源和Vcap之间加了模拟开关。

然而调试时发现了很蛋疼的问题:

虽然手册上PWR_CR3这个寄存器,有个写保护位SCUEN标明的是rw,可读写,但我咋都改写不了。改不了SCUEN,就改不了下面两位,关不掉内部LDO。

后来从en.STM32H7-System-Power_control_PWR 这个文档中发现这样一句话:

At STM32H7 startup, the supply configuration is programmed in PWR controller’s CR3 register. This register is “write once” to protect against accidental over-writes.

并且从st官方论坛上了解到,此寄存器只有在上电时才会被初始化,不断电重启都不会被初始化。

我觉得H750可能设计时认为用户不会特别在意它的功耗,所以这部分的设计没有L4或者双核H7那么完备。

通过几个变量保存各状态下PWR_CR3的值发现:

1、上电时为0x46,经过HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);初始化后,无论如何后3位都不能修改了,不断电重启也不行。

2、将HAL_PWREx_ConfigSupply的参数改为PWR_EXTERNAL_SOURCE_SUPPLY后,重新上电,寄存器低8位成功变成了0x41,切换到了外部供电模式。

3、利用PWR_CR3只能上电改一次的特性,把HAL_PWREx_ConfigSupply(PWR_EXTERNAL_SOURCE_SUPPLY);

添加到SystemClock_Config();之前的用户代码段,这样就算cube重新生成代码,也不需要再次修改。

另外虽然手册上对外部供电的电压范围要求很严格,但以st的尿性,在常温下,实际电压在较大范围内应该都没问题。但如果要在产品中这么用,还是得严格设计或测试

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值