微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 如何自动检测收到的串行数据(RS232)的波特率?

如何自动检测收到的串行数据(RS232)的波特率?

时间:10-02 整理:3721RD 点击:
从串行口接收到数据,其波特率从300-115200不定,数据位长度不定,有无奇偶位也不定,总之是一个传输接口,
其传输的数据也不可预测,现在要用FPGA检测其波特率。
有一个想法:从码流中检测其最小的0的时间,如果一定量的数据内,其最小的连0的时间应该是其波特率,但是,
如果码流中有一个干扰低脉冲,其宽度比上次检测出来的0宽度还要小,是还是认为此为其波特率?
不知各位有否其它更好的办法?

自已顶一下

我觉得首先用一个超过115200至少2倍的频率来进行数据采样,然后就可以计算1个有效数据位所占时间,也就是数据周期,这样就可以得到波特率,计算一个0显然不行,应该多计几个,然后统计平均

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top