第一范文网 - 专业文章范例文档资料分享平台

FPGA的UART完整设计

来源:用户分享 时间:2025/5/23 16:09:06 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

.

图3-5reset为零时仿真图

如图为UART的数据发送模块的功能仿真图,为方便观察,其中的时钟是直接给出来的,根据图中的数据判读,其功能为正确,UART的数据发送模块编译成功。

1.当计时器为140ns时,为数据接收 2.当计时器为357ns时,为数据发送

3.当计时器为705ns时,为奇偶校验结果发送 4.当计时器为825ns时,发送高电平 当reset为1时 如图3-6

.

.

图3-6reset为1时仿真图

.

.

3.4UART接收模块

3.4.1UART数据接收服务

串行 数 据 帧和接收时钟是异步的,由逻辑1跳变为逻辑0可视为一个数据帧的开始,所以接收器首先要判断起始位。如表3.2

计数器 操作

0 测 1~~~~8 偶校验 9 10 数据判断 数据起始位检数据接收和奇奇偶校验 表3.2uart的数据接收服务

其基 本 特 点是:

UART 接收状态 一 共 有 4个:state0(检测起始位),stat e1( 对数据位进行采样,并串/并转换),state2(奇偶校验 分析),state3(接收数据正确与否检测)。 ① 起始位判读:当UART接收器复位以后,接收器将处 于这一状态。在该状态,控制器一直等待read电平的跳 变,即从逻辑1变为逻辑0,也就是等待起始位的到来 。一旦检测到起始位,就对采样时钟elk一 rev 上跳沿计 数,当计数为8时,也就是确保在起始位的中间点 ,然后转到state1 状态。

② 数据接收 :该状态下,每间隔16位倍频采样一位 串行数据,接收8位异步数据并进行串/并转换。即对 clk一 rev 上跳沿计数,当为16时,就对数据采样,这样 保证了数据位是在中点处被采样的,同时串/并转换,当检测到已收到8个数据后以后,便进入了state2状态。

③ 奇偶校验 :该状态实现的功能是奇偶校验。本文采 用的是偶校验。校验结束以后,转到state3状态。

④ 数据帧判读 :该状态是用来帧校验的,即在校验位 以后,检测停止位是否为逻辑高电平

.

.

.

.

3.4.2UART数据接收操作

图3-7UART数据接收操作 起始位检测 空闲检测 Cpu接收位检测 检测 毛刺检测 数据帧检测 接收等待 数据位读取和奇偶校验 奇偶结果比较 图3-7UART数据接收操作

解释:数据接收速度9600波特率,以16倍频接收

cpu接收位检测:当奇偶结果比较和数据帧检测都正确时,cpu检测接收位cs置位

3.4.3UART的数据接收模块程序

///发送数据模块 module txd(

dat_in,send,reset,clk_enable4,clk,

send_enable,clear4,counters,ks);//发送数据module

input[7:0] dat_in,counters; input reset,clk,send_enable;

.

搜索更多关于: FPGA的UART完整设计 的文档
FPGA的UART完整设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c39ocp4futj5dq8n1sig30fluh9bohz00uib_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top