找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1414|回复: 0
打印 上一主题 下一主题
收起左侧

verilog编写uart实例

[复制链接]
跳转到指定楼层
楼主
ID:425392 发表于 2018-11-12 23:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发送数据过程:空闲状态,线路处于高电位;当收到发送数据指令后,拉低线路一个数据位的时间 T ,接着数据按低位到高位依次发送,数据发送完毕后,接着发送奇偶校验位和停止位(停止位为高电位),一帧资料发送结束。接收数据过程:空闲状态,线路处于高电位;当检测到线路的下降沿(线路
电位由高电位变为低电位)时说明线路有数据传输,按照约定的波特率从低位到高位接收数据,数据接收完毕后,接着接收并比较奇偶校验位是否正确,如果正确则通知后续设备准备接收数据或存入缓存。由于 UART 是异步传输,没有传输同步时钟。为了能保证数据传输的正确性,UART 采用 16 倍数据波特率的时钟进行采样。每个数据有 16 个时钟采样,取中间的采样值,以保证采样不会滑码或误码。一般 UART 一帧的数据位数为 8,这样即
使每个数据有一个时钟的误差,接收端也能正确地采样到数据。UART 的接收数据时序为:当检测到数据的下降沿时,表明线路上有数据进行
传输,这时计数器 CNT 开始计数,当计数器为 24=16+8 时,采样的值为第 0 位数据;当计数器的值为 40 时,采样的值为第 1 位数据,依此类推,进行后面 6 个数据的采样。如果需要进行奇偶校验,则当计数器的值为 152 时,采样的值即为奇偶位;当计数器的值为 168 时,采样的值为“1”表示停止位,一帧数据接收完成。下文将按上面的算法进行 Verilog HDL 语言建模与仿真.

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表