在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10131|回复: 20

[求助] UART传输出错问题,怀疑是波特率的误差。

[复制链接]
发表于 2016-1-18 10:40:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本人设计了一个UART传输和接收的小程序,实现对2K大小的文件进行接收和发送。主要功能实现是对2K文件进行接收,然后存入RAM里面,再从RAM里读法进行发送,使用串口调试软件进行调试。
目前存在的问题是,发送2K文件,总是会时不时的出现一个字节的错误或者漏掉。分析了一下,可能是波特率的问题,选用的是9600波特率,用100MHz时钟进行分频,651的时钟产生一个bclk,这样算下来,会有0.04的误差。怀疑出现问题是因为这0.04的误差长时间累计造成。

有没有前辈做过这方面的开发,遇到过这样的问题吗?请指点一下,谢谢!
发表于 2016-1-18 11:42:47 | 显示全部楼层
为什么是651个clk出一个bclk?
发表于 2016-1-18 12:56:48 | 显示全部楼层
回复 1# 71875456
9600波特率很低了,应该不会是这个问题。
发表于 2016-1-18 13:36:50 | 显示全部楼层
你得过采样是多少
发表于 2016-1-18 13:51:22 | 显示全部楼层
用你波特率的5倍去采样,并且在沿变的时候去矫正——绝对不会出问题。

我之前在学校的时候也出现过这个现象,后来才知道是因为采样时钟太高了,还有就是没有做矫正。
 楼主| 发表于 2016-1-18 14:17:42 | 显示全部楼层
回复 5# 清霜一梦


   这个可以具体点吗?我用的是16波特率做采样的,沿变时候矫正是个什么概念?
 楼主| 发表于 2016-1-18 14:18:24 | 显示全部楼层
回复 4# 南宫恨


   16倍的波特率
 楼主| 发表于 2016-1-18 14:21:14 | 显示全部楼层
回复 2# whz7783478


   用的16倍的波特率采样。1/(9600*16)=6.510416667e-6s。 时钟是100MHz,不是大概651个clk吗?
 楼主| 发表于 2016-1-18 14:23:07 | 显示全部楼层
回复 5# 清霜一梦


   有没有更便捷的联系方式,QQ什么的?
发表于 2016-1-18 14:30:48 | 显示全部楼层
回复 1# 71875456
给你参考。

PC16550.zip

703.93 KB, 下载次数: 51 , 下载积分: 资产 -2 信元, 下载支出 2 信元

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-27 20:42 , Processed in 0.026265 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表