大家好,之前我画了一块带有STM32F103VET6、CH340g的板子,但是出现了和时钟、晶振有关的一些问题(反复调试后的总结,但不是很清楚),具体原因现在也不明了。我想描述一下问题现象和我的设计图,希望对晶振、STM32时钟系统了解的朋友们能给出解答,谢谢!
问题1. WIN10系统无法识别CH340g
首先排除软件(驱动)问题。常年使用CH340芯片,加上事发同时手头有一块正点原子的STM32精英版(带有CH340g),电脑可顺利识别。唯独这块DIY板子上的CH340g无法识别。。。(我不信邪,按照原子的指南重装了驱动也没用)
接下来锁定硬件问题 猜想1是CH340g的外围电路。楼主本人不是纯电子专业学生,因此不是模电行家,外围电路是仿照原子的原理图(外加一些学位论文里的案例来的)。感觉应该不是电路设计的问题,如下图。
猜想2是CH340g批次的问题。我盯着原子的开发板上的CH340g和我DIY板子上的CH340g看了半天,发现他们型号后面的尾缀数字不同。因此我去某一家硬件厂商的官网查阅了批次的资料(原文链接如下: 游客,本帖隐藏的内容需要积分高于 1 才可浏览,您当前积分为 0 )
新批次的CH340g推荐的负载电容是20pF~47pF的,用的也绝大部分是12MHz的晶振。我参考的图纸都是按新批次来匹配电容值的(22pF),然而我手头的CH340g是老批次的,推荐电容范围是27pF~47pF。。我当时用的22pF显然不在这个范围内。不知道是不是这个原因导致的。本来我自己可以简单地验证一下(在板子上的电容上并1个电容看看行不行),但是那块老的CH340g已经被我拆到别的板子上去了……因此只能来论坛请教各位。虽然那块板子已经被拆掉了,但我希望还是能总结一下这次设计失败的经验。
问题2. STM32F103外部时钟源异常
现象:运行systick的delay函数时,耗时约为正常情况的10倍。
我想排除软件的原因,因为底层配置用的是原子的(配合8MHz的外部晶振 HSE可产生72MHz的时钟),且同样的代码在原子的精英版(STM32F103ZET6)上运行时完全没有任何问题。我把我之前在另一块正常的STM32F103VET6板子上能跑的代码(时钟无异常)放到这块板子上,也变成了这种低速的形态。
我的猜想是晶振问题,晶振部分的原理图很朴素,没什么好纠结的,如下。所以当时觉得是晶振本身的问题了。。我冒着板子被拆坏的风险,取下了原来的晶振,换了一个新的(下图是换了一个新的8MHz晶振后的板子),还是无济于事。。我没有从同一个厂家买晶振,这两家晶振都是次品的概率应该不大吧。。哎,所以只能求助于大家了
|