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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5681|回复: 19

谁做过uart的进来

[复制链接]
发表于 2009-11-14 17:25:44 | 显示全部楼层 |阅读模式

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

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

x
怎么理解UART 的发送和接受时钟是异步的?
发表于 2009-11-14 17:36:09 | 显示全部楼层
比如说,你调试开发板的时候,讲开发板连接到电脑上,用串口小助手接收调试信息。开发板用的是开发板上的时钟,而串口小助手用的是你台式机电脑上的时钟,他们俩当然是异步的啦。。
 楼主| 发表于 2009-11-14 20:56:41 | 显示全部楼层
但是同处一个UART的收发模块是同步同波特率的,对吧?
发表于 2009-11-15 13:55:55 | 显示全部楼层
同波特率是对的,但不是同步。通讯两设备间的时钟不是同一个时钟源产生的,存在频率和相位的差异,所以是异步的。
 楼主| 发表于 2009-11-15 15:01:31 | 显示全部楼层
我的意思是全双工的UART内部同端的接受模块和发送模块,应该是同时钟的了
发表于 2009-11-15 21:45:43 | 显示全部楼层
同一端自然可以用同一个时钟来发送和接受数据。在串口接收端内部,是用高速时钟对信号进行采样,通常是16倍数据波特率(也有用8倍的),而发送端则需让信号持续16(或8)个时钟周期即可。因为是多倍采样,每一次传输又有起始位和停止位分隔开,所以UART传输对时钟的要求不太严格。
如果非要用不同时钟,理论上也并无不可,只要保证时钟能满足数据波特率要求,接收缓冲器和发送缓冲器都能与上位机交换数据就行。说白了,接收与发送是分开的。不过,我想一般人都不会自找麻烦,弄出两时钟来吧?
发表于 2009-11-15 21:54:03 | 显示全部楼层
实际中我用过不对称的收发时钟,多数UART也是支持这一功能的,比如收115200,发9600
 楼主| 发表于 2009-11-16 16:41:17 | 显示全部楼层
谢谢了
再请教下:发送时波特率发生器产生的16倍分频时钟时给外部接收端做采样时钟吗?
发表于 2009-11-16 19:09:33 | 显示全部楼层
串口只需三条线:TX,发送数据线,RX,接收数据线,还有一根地线。是没有时钟的,要不然怎么说是异步呢?时钟是由接收端本地产生的,以16倍波特率对RX进行采样。
你找本书或在网上搜一下串口的标准,再去下个开源的IP核,分析一下代码就明白了,比我说的要清楚。
 楼主| 发表于 2009-11-17 13:40:20 | 显示全部楼层
那我用系统时钟每16个周期采一次数据,那不是就不用这个分频出来的时钟了?
疑惑中。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 10:09 , Processed in 0.022648 second(s), 8 queries , Gzip On, Redis On.

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