今天遇到一个非常奇怪的问题,CH549的新板子使用测试过的代码怎么也连接不上外设了。经检查,外设不会向CH549回报ACK。但是相同的外设在电脑或者max3421e的板子上都是可以的回报ACK的。外设是一台噪声计,拆开检查是atmega168主控,应该是软件模拟USB。
之后我发现是USB信号的速率有误差,第一片CH549时钟速率为标准值的98.6%,外设完全不会返回ACK。第二片CH549时钟速率为标准值的99.4%,外设在第六次左右请求会返回ACK。第三片CH549时钟速率为标准值的99.7%,外设在第一次左右请求就会返回ACK。
现在问题是板子使用的的封装是SOP16,无法外接晶振。请问在不更换芯片封装的情况下,是否可以通过再次校正的方式,提升时钟精度。虽然手册上好像没写,但还是希望有办法调整校准字之类的方法。
2022-6-2 10:52:21
如果需要电话联系,请问我可以打哪个电话联系技术支持?
如果需要电话联系,请问我可以打哪个电话联系技术支持?
举报
2022-6-2 10:52:32
回报一下进展。单片机换成CH549F并焊好晶振,使用原程序,仍无法正常通讯。加入外部晶体振荡器切换代码后可正常通讯,问题解决。
之前使用内部振荡器测试鼠标键盘什么的都没问题。但是看来时钟精度不够的话兼容性还是不行的。
回报一下进展。单片机换成CH549F并焊好晶振,使用原程序,仍无法正常通讯。加入外部晶体振荡器切换代码后可正常通讯,问题解决。
之前使用内部振荡器测试鼠标键盘什么的都没问题。但是看来时钟精度不够的话兼容性还是不行的。
举报