[求助] 中微5897有关内部晶振不准

一眼呆   2022-11-1 10:09 楼主

以波特率115200为例,代码写的是八位异步,串口调试助手通讯时,波特率设置115200,停止位1,接收到的信息会出现错误,但停止位为2则正常接收,或者是将串口调试助手的波特率调节成118063也可以正常接收,这种有什么办法可以解决?

利用内部晶振做定时器,设置一个一小时定时熄灭,有的在58分左右就熄灭,有的还延时,看手册内部晶振频率误差在正负2%,有什么办法能保证误差一致性?

回复评论 (5)

不至于差这么多吧,2/60了

点赞  2022-11-1 11:14

如果是真这样不准。一致性不好。

还硬是要用这芯片的内部晶体

1,针对每台通信修改波特率(115200+正负补偿)

2,定时设置 也针对每台正负补偿

 

或者分类后直接写不同带补偿的程序进去。

点赞  2022-11-1 15:42

内部的RC本振可不是晶振,石英晶体是无法集成进硅晶片的,天生不可能精准。不建议使用内部本振做高速率的波特率发生器,至少不能长期做。如果有外部稳定的信号源,可以借由外部信号源做校准,但因内置本振的温度特性,校准也只能短时有效,一般是每次通讯发起前校准。

上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2022-11-2 13:37

楼上有网友说的单台校准法不可取,因为RC本振不仅仅有较大的制造离散性,温度漂移更是无法避免,必须随用随校准。本质的解决方法是使用真正的晶振,增加不了几个钱的成本。

上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2022-11-2 13:39

有些芯片内置的RC本振有温度补偿,这样的本振会好一些,但依然无法满足高波特率的要求,只能勉强用于低波特率。

上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2022-11-2 13:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复