打印
[STM8]

关于STM8S使用内置RC的串口波特率误差的探索

[复制链接]
3852|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qqiu|  楼主 | 2014-5-19 15:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在一个项目中需要用到STM8S的串口,但是因为担心外接晶振的可靠性和高频干扰的问题,决定使用内置RC。将经验进行分享,欢迎大家探讨。
老化测试:
1.测试样品:20个
2.测试周期:10天
3.波特率:115200
在常温下测试:在测试过程中所有样品均通过。
温度测试:
1.高温测试:采样2PCS.用风枪对STM8S加热。测试通过。温度大约超过70度。没有测温的工具,但是IC很烫手。
2.低温测试:采样3PCS.在冰箱冷冻。没有测温的工具,温度大概0度。测试通过。
误差测试:(室温约30度)
1.通过调整波特率的BRR2和BRR1。人为改变误差。测试目标设备对波特率误差的容忍度。
测试结果:目标设备对波特率的容忍度约为+8.5到-2.287之间,因此,目标设备对波特率的误差容忍度约在正负5.5%。采样的STM8S的频率有正向2.3%左右的偏差。

有两点不确定的问题,供大家探讨:
1.RC模式下。对串口误差的容忍度和波特率没有多大的关系。之前有人说RC下最大4800是没有根据的。波特率在115200下如果做适当的校正,一样可以用。
2.串口在工作中改变波特率直接改变BRR2和BRR1。无需关闭串口再重新打开。这样有风险吗。
沙发
motor666| | 2014-5-19 16:34 | 只看该作者
我是用的内部时钟做串口的,我的波特率从4800到19200,超出这个范围会通讯不正常,说不出什么道理,只是实验的结果。

使用特权

评论回复
板凳
mmuuss586| | 2014-5-19 16:36 | 只看该作者
1、肯定有关系啊,可能内部RC的精度偏差没有导致你通讯不正常而已;
   至于其它人4800通讯不成功,要找找原因(不是说你),和内部RC没啥关系,内部RCZ最多导致波特率不准;
2、最好先关闭串口吧,要是你改变的时候,不传数据的话也可以;

使用特权

评论回复
地板
dzguang| | 2014-5-20 01:09 | 只看该作者
亲,我用的是115200波特率,暂时来看一切正常…内rc

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

39

帖子

0

粉丝