我正在围绕STM32L476设计设备。我的设备主要由电池供电,但是有一个USB端口,插入该端口后,我想用作备用电源(通过3.3V稳压器)以限制电池消耗。用户也可以在没有电池的情况下连接USB端口。
我希望能够感应到何时连接了USB端口,因此我将PA9用作OTF_FS_VBUS。
好消息:数据表显示PA9引脚可承受5V电压。
坏消息:5V耐压引脚似乎只有在上电时才是5V耐压的。数据表§6.2表18说:
FT_xxx引脚上的最大输入电压:最小值(VDD,VDDA,VDDIO2,VDDUSB,VLCD)+ 4.0V
在我的情况下,如果没有电池并且用户连接了USB端口,则在稳压器启动之前的一段时间内,PA9上的电压将为5V,而CPU电源引脚上完全没有通电。
更坏的消息是:不允许当前注入:数据手册§6.2,表19说:
FT_xxx上的注入电流:-5 / + 0(请参阅注释4)
注4:VIN> VDDIOx引起正注入,而VIN <VSS引起负注入。绝对不能超过IINJ(PIN)。
因此,在稳压器启动期间,似乎无法使用简单的电阻来限制PA9上的过量电流。显然禁止在VDD上升之前从VBUS流到PA9的任何电流。
其他人做什么?
我看了很多围绕STM32芯片的设计,看了他们的VBUS连接,他们似乎并不在乎。他们将VBUS直接连接到PA9,或者最终通过一个电阻器连接,但是我再也没有看到任何更复杂的东西。但是它们大多是开发板,所以我想坚固性(是一个词吗?)不是很重要。而且它们通常不通过USB端口供电,并且可以肯定用户在为电路板供电之前不会连接USB端口。
我有什么计划?
将其放在USB端口的VBUS和MCU的PA9引脚之间:
我真的试图保持简单。基本上,它可以确保VUSB_CPU(PA9引脚)永远不会高于VCPU + 4V(Vz + Vbe),如果可以的话不会消耗任何功率。
我的主要问题是:我的分析正确吗?这条电路是一个好的解决方案吗?我是否担心无关紧要的事情?为什么似乎没有其他人关心这个潜在问题?
附加问题:我计划使用USB OTG。如果连接器和PA9引脚之间有一个4.7k电阻,那会是一个问题吗?我猜应该是在SRP期间是否必须使用VBUS脉冲,但是这种方法显然已被弃用。那么我好吗,无论我的设备的角色(设备/主机)是什么?
最后一个:VDDUSB电源引脚消耗的最大电流是多少?数据表中为USB外设指定:AHB时钟域为16.4µA / MHz,独立时钟域为23.2µA / MHz,但我们不知道从何处绘制它(VDD或VDDUSB)。