WCH沁恒单片机
直播中

王银喜

7年用户 2397经验值
私信 关注
[问答]

CH549的新板子使用测试过的代码怎么也连接不上外设怎么解决?

今天遇到一个非常奇怪的问题,CH549的新板子使用测试过的代码怎么也连接不上外设了。经检查,外设不会向CH549回报ACK。但是相同的外设在电脑或者max3421e的板子上都是可以的回报ACK的。外设是一台噪声计,拆开检查是atmega168主控,应该是软件模拟USB。


之后我发现是USB信号的速率有误差,第一片CH549时钟速率为标准值的98.6%,外设完全不会返回ACK。第二片CH549时钟速率为标准值的99.4%,外设在第六次左右请求会返回ACK。第三片CH549时钟速率为标准值的99.7%,外设在第一次左右请求就会返回ACK。


现在问题是板子使用的的封装是SOP16,无法外接晶振。请问在不更换芯片封装的情况下,是否可以通过再次校正的方式,提升时钟精度。虽然手册上好像没写,但还是希望有办法调整校准字之类的方法。

回帖(3)

h1654155275.5753

2022-6-2 10:52:21
如果需要电话联系,请问我可以打哪个电话联系技术支持?
举报

徐丽丽

2022-6-2 10:52:28
你好,下图是我们手册中描写的校准内部时钟的误差范围:

理论上当使用USB主机功能时,要求时钟误差不大于万分之5,所以使用内部时钟做时钟源使用USB主机功能时,其实是不满足精度要求的。所以当你的应用环境对时钟精度要求较高时,建议还是使用外部晶振。另外电压以及温度对内部时钟影响也较大,可以考虑这两个因素。
举报

刘华湘

2022-6-2 10:52:32
回报一下进展。单片机换成CH549F并焊好晶振,使用原程序,仍无法正常通讯。加入外部晶体振荡器切换代码后可正常通讯,问题解决。


之前使用内部振荡器测试鼠标键盘什么的都没问题。但是看来时钟精度不够的话兼容性还是不行的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分