标题: 晶振导致的STM32F103和CH340工作异常 [打印本页]
作者: Luwa 时间: 2019-10-22 15:10
标题: 晶振导致的STM32F103和CH340工作异常
大家好,之前我画了一块带有STM32F103VET6、CH340g的板子,但是出现了和时钟、晶振有关的一些问题(反复调试后的总结,但不是很清楚),具体原因现在也不明了。我想描述一下问题现象和我的设计图,希望对晶振、STM32时钟系统了解的朋友们能给出解答,谢谢!
问题1. WIN10系统无法识别CH340g
首先排除软件(驱动)问题。常年使用CH340芯片,加上事发同时手头有一块正点原子的STM32精英版(带有CH340g),电脑可顺利识别。唯独这块DIY板子上的CH340g无法识别。。。(我不信邪,按照原子的指南重装了驱动也没用)
接下来锁定硬件问题 猜想1是CH340g的外围电路。楼主本人不是纯电子专业学生,因此不是模电行家,外围电路是仿照原子的原理图(外加一些学位论文里的案例来的)。感觉应该不是电路设计的问题,如下图。
猜想2是CH340g批次的问题。我盯着原子的开发板上的CH340g和我DIY板子上的CH340g看了半天,发现他们型号后面的尾缀数字不同。因此我去某一家硬件厂商的官网查阅了批次的资料(原文链接如下:)
新批次的CH340g推荐的负载电容是20pF~47pF的,用的也绝大部分是12MHz的晶振。我参考的图纸都是按新批次来匹配电容值的(22pF),然而我手头的CH340g是老批次的,推荐电容范围是27pF~47pF。。我当时用的22pF显然不在这个范围内。不知道是不是这个原因导致的。本来我自己可以简单地验证一下(在板子上的电容上并1个电容看看行不行),但是那块老的CH340g已经被我拆到别的板子上去了……因此只能来论坛请教各位。虽然那块板子已经被拆掉了,但我希望还是能总结一下这次设计失败的经验。
问题2. STM32F103外部时钟源异常
现象:运行systick的delay函数时,耗时约为正常情况的10倍。
我想排除软件的原因,因为底层配置用的是原子的(配合8MHz的外部晶振 HSE可产生72MHz的时钟),且同样的代码在原子的精英版(STM32F103ZET6)上运行时完全没有任何问题。我把我之前在另一块正常的STM32F103VET6板子上能跑的代码(时钟无异常)放到这块板子上,也变成了这种低速的形态。
我的猜想是晶振问题,晶振部分的原理图很朴素,没什么好纠结的,如下。所以当时觉得是晶振本身的问题了。。我冒着板子被拆坏的风险,取下了原来的晶振,换了一个新的(下图是换了一个新的8MHz晶振后的板子),还是无济于事。。我没有从同一个厂家买晶振,这两家晶振都是次品的概率应该不大吧。。哎,所以只能求助于大家了
作者: pan8880 时间: 2019-10-23 17:54
个人认为应该先检查下VCC电源,Reset boot0,boot1电平,有示波器可以测试下8Mhz是否有波形输出?
作者: Luwa 时间: 2019-10-23 19:53
您说的波形我觉得一定有呀。因为8MHz的晶振装上后,STM32并非不工作,只是系统时钟异常地慢而已(此时的时钟源选用的是HSE,外部高速)
作者: liyongan_1985 时间: 2019-10-23 21:01
你应该用示波器监视一下晶体负载电容的波形,确保HSE晶体已经工作,且正常工作,就算你CPU已经工作,但是一旦HSE有问题的话,CPU的sysclk会自动切换到HSI晶体,而HSI晶体恰好是8M的,你外部8M经过9倍频之后变为72M,一旦外部有问题,切换为内部8M之后,时间会自动变为你理想时间的9倍,而不是变为10倍。
作者: toyboy 时间: 2019-10-23 21:08
看到又一个怀疑电子元件质量有问题的、、感到纳闷的同时,我想弱弱的问一下:你们在焊接的时候,烙铁接地了吗?有没有做好防静电击穿工作?
作者: Luwa 时间: 2019-10-24 17:34
你的回复很有意义,谢谢!
作者: Luwa 时间: 2019-10-24 17:36
自己操作的时候好像真没有……不过这块板子是厂家代工焊接的(后期修改是我自己来的
作者: 燕单鹰 时间: 2019-10-26 08:53
WIN10系统无法识别CH340g, 这是因为win10有个“禁用驱动程序强制签名”的功能需要关闭,这样安装CH340等一些驱动才能成功,详情参考“Win10怎么禁用驱动程序强制签名”
https://jingyan.baidu.com/article/624e74594dbc8d34e8ba5aa6.html
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |