带有系统引导加载程序的DFU模式不工作,而USB工作
主机无法识别使用系统引导程序的DFU模式下的STM32,或者连接不可靠。但USB用户应用程序运行良好。这里的问题可能是由AN2606中提到的HSE水晶引起的(见第21页第3.1节):“F。。。
主机无法识别使用系统引导程序的DFU模式下的STM32,或者连接不可靠。但USB用户应用程序运行良好。
这里的问题可能是由AN2606中提到的HSE晶体引起的(见第21页第3.1节):
“对于使用DFU/CAN接口嵌入引导加载程序的STM32设备,其中DFU/CAN操作需要外部时钟源(HSE),HSE值的检测由引导加载程序固件动态完成,并基于内部振荡器时钟(HSI、MSI)。”
如果内部振荡器精度由于温度或其他条件而改变到公差带以上(理论值周围的1%),则引导加载程序可能计算出错误的HSE频率值。然后使用错误的HSE值来计算PLL参数。这使得MCU和MCU外围设备以意想不到的频率工作。
如果使用引导加载程序DFU/CAN接口,则使用不正确的通信频率;如果使用DFU,则USB主机无法与该设备通信,该设备无法连接。
AN2606的推荐解决方案
- 在温度受控的环境中使用引导加载程序,例如在环境温度下使用生产线
- 如果使用UART,则使用9600波特的较低波特率,以最大限度地减少通信错误
- 如果使用USB或CAN,强烈建议使用低于或等于8MHz的较低外部晶体值。
该值越低,HSE计算的精度越好。
客户注意事项: 1) 如果您想提交评论,反馈或者关于这篇文章或我们的知识数据库的任何建议,您可以通过电子邮件至kb.feedback@st.com 2) 如果您需要特定的(产品)支持请参阅我们的支持主页(https://www.st.com/content/st_com/en/support/support-home.html)您可以从各种在线支持选项中进行选择,并选择最符合您要求的服务。 |
上一篇: 双闪存模式下的STM32 QSPI接口地址 下一篇: 与STM32F103并行使用USB和CAN