没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/28185445/bg1.jpg)
1 / 14
通用异步收发器 UART 设计
——现代电子系统设计
一、实验原理:
通用异步收发器是一种广泛应用的短距离串行传输接口。常用于短距离,低速,低成
本 的 微 机 与 下 位 机 的 通 讯 中 , —基 本 的 UART 连 接 通 信 图 如 下 :
UART 只需两条信号线(RXD,TXD)和一条地线就可以完成全双工传输。由于 UART 是异
步通讯,所以需要对数据进行同步,UART 传输一个数据帧的容如下:
UART 发送部分的用途是将准备输出的并行数据,按照基本帧格式,转为 TXD 信号串行
输出,这里串行话的时钟信号只要使用对应要求的波特率的本地时钟即可。UART 接收部分
RXD 接收串行信号并将其转化为并行数据,但串并转化的时钟显然同发送器一样处理,收发
设备的时钟误差是会累计的,会导致接收数据不正确,这就需要用一个远远高于波特率的本
地时钟信号对输入 RXD 不断取样,以不断让接收器和发送器保持同步,在设计中采用只有波
特率时钟周期的 1/16 的时钟,需要用一个波特率发生器专门产生,因此本设计包含波特率
发生器、UART 接收器和发送器 3 个子模块和一个总模块。
波特率发生器
波特率发生器实际就是一个简单的分频器,可以根据给定的系统时钟频率(晶振时钟)
和要求的波特率算出波特率分频因子。已算出的波特率因子作为分频器的分频数。波特率发
生器产生的时钟频率不是波特率时钟频率,而是波特率时钟频率的 16 倍,目的是为在接收
时进行精确地采样,以提出异步的串行数据。
接收器
部采样时钟 blck(波特率发生器产生)是发生或接收波特率时钟频率的 16 倍。所以需
要至少 8 个连续 blck 周期的逻辑 0 被接收到,才认为起始位接收到,接着数据位将每隔 16
RXD 设备二
TXD
GND
TXD
设备一 TXD
RXD
GND
TXD
起始位 数据位 校验位 停止位
START
D0 D1 D2 D3 D4 D5 D6 D7 P
STOP
![](https://csdnimg.cn/release/download_crawler_static/28185445/bg2.jpg)
2 / 14
个 blck 周期被采样一次(即每一个波特率时钟采样一次),如果起始位的确是 16 个 blck 周
期长,那么接下来的数据将在每个位的中点被采样。 收发器状态图如下:
r_start:等待起始位。当 UART 接收器复位后,接收状态机将处于这一状态,在此状态,状
态机一直等待 RXD 的电平跳变,从 1 变到 0,即起始位,这意味着新的一帧 UART 的开始,
一旦起始位被确定,状态将转入 r_center 状态。
r_center: 求中点。在本状态,就是由起始位求出每位中点,通过对 bclk 的个数进行计数
(rcnt16)计数值不是理想的“1000” ,要经过一个状态,即经过一个 bclk 周期,所希望
的是的到的是采样时的 1/2 位,另外,对于偶然出现的干扰脉冲,由于其周期很短,所以可以认为当保持
逻辑 0 超过 1/4 个位时间的信号一定是起始位。
r_wait: 等待采样。处于这一状态时,等待计满 15 个 bclk,在第 16 个 bclk 是进入 r_sample
状态进行数据的采样检测,同时也判断是否采集的数据长度已达到数据帧的长度
(Framelen),如果达到,说明停止位来临了。本设计中,Frample 默认为 8,即对应
得 UART 工作在 8 位数据位,无校验位。
r_sample: 数据位采样检测,完成后无条件转入 r_wait 状态,等待下次数据位的到来。
r_stop: 无论停止位是 1 位还是 1.5 位,或是 2 位,状态机载 r_stop 状态下不具体检测
RXD,只是输出帧接收完毕信号(rec_done<=1)停止位后状态机转回到 r_start 状态,
等待下一帧的起始位。
发送器
发送器状态转化图如下:
x_Idle: 空闲状态。当 UART 被 reset 复位后,进入这一状态,在此状态中,UART 的发送
器一直在等待一个数据帧发送命令 xmit_cmd。Xmit_cmd_p 信号是对 xmit_cmd 的处
x_Idl
ee
x_star
t
x_wait
x_shif
t
x_stop
r_tar
t
r_enter
r_wart
r_samp
r_stop
![](https://csdnimg.cn/release/download_crawler_static/28185445/bg3.jpg)
3 / 14
理,xmit_cmd_p 是一个短脉冲信号。当 xmit_cmd_p=1 时,进入 x_start,准备发
送起始位。
x_start: 起始位。在此状态下,UART 的发送器一个时间宽度的逻辑 0 信号至 TXD,即起
始位,紧接着状态机进入 x_wait 状态,xcnt16 时 bclk 的计数器。
x_wait:移位等待。 接收 x_wait 类似。
x_shift: 移位状态。实现待发数据的并串转换。
x_stop:停止位。 数据帧发送完毕,转入该状态,并发送 16 个 bclk 周期的逻辑 1 信号,
即 1 位停止位,发送完停止位后回到 x_Idle 状态,并等待另外一个数据帧的发送命令。
总模块
其实相当于 UART 的外部线路接口,就是成品的引脚图,它的接口一部份连接着其它模块,
另一部份连接外部通信设备,其程序就是一些接口间数据的传送和接收。以下是对 UART 总
模块中涉与的外部接口的简要说明。
时钟信号 clk(输入):UART 的系统时钟。
复位信号 rest(输入)):UART 系统总复位。
16 倍时钟 bclk(输出):16 倍于波特率时钟。
UART 发送 txd(输出):UART 异步串行发送端。
发送缓冲 xbuf(输入):带发送数据输入。
发送命令 xmit_cmd(输入):启动发送器发送一个 UART 帧。
发送完成 xmit_done(输出):UART 帧发送完成,等待新的发送命令。
UART 接收 rxd(输入):UART 异步串行接收端。
接收缓冲 rbuf(输出):接收数据缓冲,在下一个帧数据接收完毕时,数据缓冲 rbuf 会被
更新,需要在此之前取走数据。
接收准备 rec_ready(输出):接收协调信号,接收完毕后的下一帧接收准备好信号,在
rec_ready 有效时,rbuf 已被更新。
二、实验原程序:
整体分四个模块,一个顶层模块,三个子模块
顶层模块:uart
A.:uart
//uart.v
module
uart(clk,bclk,reset,rx
d,txd,xmit_cmd,xmit_do
ne,rec_ready,xbuf,rbuf
);
input clk;
input reset;
input rxd;
input xmit_cmd;
input [7:0] xbuf;
output bclk;
output txd;
output xmit_done;
output rec_ready;
output [7:0] rbuf;
wire bclk16;
baud
baud(.clk(clk),.reset(
剩余13页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
huayuya123
- 粉丝: 26
- 资源: 31万+
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- GUET课程表.apk.1
- albiononline-android-full-1.26.030.285891.apk
- 2023-04-06-项目笔记 - 第二百五十二阶段 - 4.4.2.20全局变量的作用域-250 -2025.09.10
- 毕设之java银行帐目管理系统.zip
- 2023-04-06-项目笔记 - 第二百五十二阶段 - 4.4.2.20全局变量的作用域-250 -2025.09.10
- AMS的核心原理讲解AMS的核心原理讲解
- Android的启动流程
- Binder机制与常见面试题讲解
- World of Warcraft CLASSIC80Grandel战场宏无须YY
- 临时存储,复合命令未写完
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)