#申请原创# @21小跑堂
刚发了篇《APM32E103系列CAN通讯受时钟精准影响的测试分析》看到时钟偏差超过±1% CAN通讯出现异常时,串口通讯还是正常的,顺便也测试下,串口通讯要波特率偏差多少会有问题。
同样的测试环境,基于上一篇的代码,就不再详细说明了。
这次就不用CAN收发了,只看MCU串口跟串口助手的通讯情况。
以比较常用的波特率115200来测试,校准值为初始0x10时正常通讯。
调整 RCC_AdjustHSICalibrationValue(0x10);中的校准值
当校准值为0x04时,开始出现了乱码的情况 。
示波器查看HSI频率已经达到了7.562Mhz,偏差约-5.5%。
增大校准值到0x18,出现了发送数据显示乱码的情况。
示波器查看HSI频率已经达到了8.313Mhz,偏差约4%。
由此看来,串口通讯对波特率偏差的容忍还是比较大的,出现乱码的临界值到了-5.5%和4%。
相比CAN通讯±1%的要求,大了很多,基本上使用MCU的内部晶振通讯也不会有什么问题。
这些测试也只是比较大概的测试时钟偏差对通讯的影响,测试也没覆盖全部应用范围,给大家做个粗略的参考。
|