|
【背景】
最近把玩 CH375 模块,希望能用硬件访问 USB 底层稳定些,结果发现低速小容量的 AVR 很吃力。
随即换了块 m2560 的板子(Arduino_m2560_r3,CH340G改版),准备带一带看效果如何。
【发现】
资源分配的时候看了看原理图,发现 M2560 使用了形状略微诡异的晶振,如下所示。
#1. Arduino_m2560_r3 主板:
#2. 晶振特写,左侧黄圈为 CH340G 用 12M 晶振,右侧红圈为 M2560 用 16M 晶振:
#3. 原理图
#4. 走线图
好奇害死猫,我就这么很好奇为什么都是抄,还非要用两个版本的晶振?莫非这小晶振有很高精度?
按着原理图百度 CSTCE16M0V53-R0 了,结果是个 ceramic oscillator(陶振),而且只有 0.5% 精度!
×了狗了,这么好的主板(M2560不算低配),居然用 0.5% 的陶振!随便市场上买买的晶振都是 ppm 级别吧。
这么说还真得谢谢那些给 CH340 留了假贴片晶振的,至少精度不至于这么差。
【测试】
怀着忐忑的心情上了示波器,啥都别说了,AVR将死,Arduino补了几刀。
以下测试AVR使用外部晶振,Full-Swing-Crystal-Oscillator 熔丝配置。
#5. M2560 串口 200kbps,8n1 发送一字节:0x1E. 帧长度从 50us 拉伸至 50.44us:
#6. M2560 晶振位置直接测量,手动划了两个周期. 测频从 8M 掉到了 7.89M:
#7. CH340G 晶振位置直接测量,手动划了两个周期 6M 较为准确:
#8. M2560 晶振位置自动测频,平均值不说啥了(标称16M):
#9. CH340G 晶振位置自动测频,平均值真对得起 12.000:
【结论】
还能说啥,Arduino 从意呆利原版的,到国产山寨的,几乎清一色的用了陶振。
不光是 m2560 这个板子,用的最多的 Arduino_UNO 貌似也是这个陶振。
计时 0.5% 理论最好精度。实际上 1% 都是抬举。
从这个角度,所有用 Arduino 做时间基准的都是扯淡(频率计、软万年历、放音机)。
真心佩服做出来 3D 打印机的弟兄们,想来定位用了光栅,才不至于把基准放在这个陶振上。
感觉就是个态度,从设计到山寨,都只是一味的重复,连对产品最基本的务实情怀都没有。
可能意呆利设计师家亲戚是卖陶振的,然后就用这个了,然后就满世界抄,其实真心不咋地.....
如果说为啥有了 STM32 还在玩 AVR,无非就是情怀,就像电子管版本的HIFI。
这次 Arduino 补刀真是实在,想用 m2560 调试都不敢了,还是乖乖拿 f103 玩吧。
或者陶振有什么更好的作用,不知哪位大神能给科普下,晚生先谢过了.....
------------------------------------------------
我没有 Arduino 社区的账号,就在这里发发吐槽吧,也算是给大家提个醒。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|