发新帖我要提问
123
返回列表
打印
[STM32F2]

电路板上两个STM32 USART通信对时钟精度的要求

[复制链接]
楼主: tom_xu
手机看帖
扫描二维码
随时随地手机跟帖
41
acguy| | 2015-3-18 13:49 | 只看该作者 回帖奖励 |倒序浏览
tom_xu 发表于 2015-3-18 13:14
我查了下STM32手册,
波特率发生器不能整除的误差在8M HSE /115.2K 是0.64%。
村田陶振在全温度范围,考 ...

还要考虑上升沿与下降沿波形。

使用特权

评论回复
42
forrest11| | 2015-3-18 15:31 | 只看该作者
本帖最后由 forrest11 于 2015-3-19 10:03 编辑
飞行员 发表于 2015-3-18 08:37
你有点自以为是。那就给出你的计算让我看看吧。而不是又扯出我提出的测试。 ...

串口通信,由于是异步,存在两端时钟不同,导致的误判。
一般而言,串口通信造成的误码,有两个原因:
1.  噪声;
2. 时钟偏差
在这里,我们只考虑2, 不考虑1. 噪声情况。
对于2,我们假设主频率能分频到对应波特率。在这样情况下,只考虑频率偏差造成的误码。
根据异步通信评判准则,当接收方频率和发送方码有相差180度时(即1/2码片时间),就会造成判断错误导致误码。串口通信发送一般有start bit以及8 bit data,第9bit如果有1/2时差,就产生误码。
所以delta t = 1/2 Tdata, 在9*Tdata内。
所以要求delta f= 1/18 = 5.5%, 即最大频率和最小频率差需<5.5%。
如果考虑非串口波特率倍频时钟,意味着分频后和波特率本身有偏差,对时钟的要求会更高,由于分频误差和波特率本身有关系,不再展开计算。
还要考虑时钟温漂,和长期漂移。
至于噪声,计算更复杂,要考虑是否用高斯白噪声或带限灰噪声模型。一般由于串口电平比较高:+/- 7--12v.噪声模型一般功率不大。所以这部分一般不考虑。
但在电源噪声比较大的情形,噪声造成的误码必须考虑,也是可以计算的。
所有这些,和时钟频率的高低,和锁相环,是没有必然联系的。

使用特权

评论回复
43
飞行员| | 2015-3-18 20:45 | 只看该作者
forrest11 发表于 2015-3-18 15:31
串口通信,由于是异步,存在两端时钟不同,导致的误判。
一般而言,串口通信造成的误码,有两个原因:
1. ...

你的计算不够严谨,不能操作。这就是因为对误差的计算缺乏足够的知识导致的。

例如说,分频有的影响,你就说“不展开”绕过去了。但是这个能绕过去否?

还有“没有必然联系”也看不出你有严密的推算。

使用特权

评论回复
44
周董| | 2015-3-18 20:59 | 只看该作者
误差是保证在5%以内就可以了吗?

使用特权

评论回复
45
正版兔子| | 2018-10-20 09:10 | 只看该作者
我们用过CAN通信,陶瓷晶振你不可能去挑选精度那么高的,会丢包和通信出各种错,直接用石英晶振吧,串口通信还没有发现过。晶振吧,

使用特权

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

本版积分规则