|
0 1 问题现象 有位客户,想使用STM32H523用于产品开发,网购了一块开发板用作评估,结果发现USB连接识别有问题。具体的现象是,当按住复位键,PC端并未识别为USB断开,当MCU再次运行后,PC端的串口工具串口识别和打开会存在问题。但若断开USB连接,PC端却又能正常识别为断开。这个问题对客户比较重要,因为程序需要复位MCU然后通过USB升级固件。这里按下复位键的动作,只是为了模拟MCU复位的过程。客户一度认为是芯片问题,因为根据他们的经验,以往的STM32F103并不会有此问题。 0 2 分析问题 了解到客户是网购的开发板用来评估芯片性能,于是找到这块评估板的资料。如下图所示:
▲图1 网购的开发板 图中宣传的官方例程和原理图等资料均不是ST的,找到对应的原理图,很快就发现了问题:
▲ 图2 USB外围电路 如上图所示,首先USB外围电路是没有ESD保护电路的,但这个是可以理解,为了降低成本,可以将此部分去掉,并无太大原理问题。此外,开发板的USB DP上还加了一个1.5K的上拉。而这就是问题所在了。这个就值得说道下。 STM32的USB外设在传统的STM32F103以及F3系列在DP引脚上是没有集成1.5K上拉电阻的,因此,以往是需要外接一个上拉电阻,但后来的其它新系列USB外设均已经内置集成了,不再需要这个电阻。很明显这块开发板的设计者仍然秉承了F103的惯性设计思路,多加了一个外部的1.5K上拉。与内部集成的电阻相当于并联。这在插拔PC时并不会有太大问题,但刚好这个客户它需要地是MCU复位时能正常识别USB的通断(否则会导致PC端的串口终端重新连接问题),由于MCU的USB是一直连接着PC,即便MCU复位且无任何代码执行,这个1.5K的外部上拉也一直存在,PC端正是靠这个电阻来识别USB的连接状态,这也就是为什么在MCU复位期间,PC端仍然认为USB一直连接的原因。最终导致了串口终端在自动打开串口时出现错误。 客户所使用的这块开发板,除了USB问题外,还发现了VCAP上的电容也不对。
▲ 图3 VCAP电容 再来看正确的VCAP参考电路,如下图所示:
▲ 图4 STM32H563参考电路 STM32H5上正确的VCAP外围参考电路如上图所示,两个VCAP引脚外部直接相连,每个引脚外部接一个2.2uF的低阻抗的陶瓷电容到地,且尽量靠近对应引脚。 客户的开发板为什么这里只放了一个100nF的电容?猜测硬件设计认为一个VDD引脚加一个100nF的电容,然后一个VCAP也应该对应一个100nF电容。但问题是H563有两个VCAP引脚,这里却只有一个100nF电容?内核电压能稳定么?顿时觉得,开发板设计者的一种浮躁的气息扑面而来。 当客户将那个1.5K上拉电阻拿掉后,然后USB功能测试通过。但由于USB没有ESD保护,且VCAP电容也不对,还可能存在其它一些暂时未细查且未暴露出来的风险等等。 0 3 小结 如果想评估STM32某一款型号,建议直接购买ST官方的NUCLEO板,它在网上购买并不贵。或者建议购买知名品牌的开发板,不建议为了便宜选择那些小众产品,避免走弯路浪费时间。最重要的是,它可能会误导客户对STM32的性能评估。 详细查看: 实战经验 | LAT1689 MCU复位期间PC端仍然认为USB连接未断开 |
新品上市 | STM32H5系列扩容,1MB Flash新品STM32H543/553助力成本性能均衡设计
【新品发布】STM32H543/H553 新品登场
STM32家族再添猛将:STM32H5F/E高性能系列,4MB闪存+Chrom-ART2,专为中高级图形应用而生
架构革新篇:单芯片 GUI 方案原理与核心优化技术
趋势痛点篇:嵌入式 GUI 爆发,传统存储架构的困境与挑战
上海/深圳 | 基于STM32H5的GUI图显应用开发线下实训
实战经验 | STM32H5基于USBx裸机添加OUT端点实现HID类双向通信
STM32H5 USBX 裸机实现 HID 双向通信:OUT 端点添加完整指南
STM32H5 EDATA (高寿命数据区) 使用指南与注意事项
实战经验 | LAT1585 STM32H5在使能TrustZone下实现High-Cycle的数据存储
微信公众号
手机版