好文档 - 专业文书写作范文服务资料分享网站

FPGA的UART完整设计

天下 分享 时间: 加入收藏 我要投稿 点赞

.

第三章UART设计

3.1 UART的帧格式

在 UART 中,数据位是以字符为传送单位,数据的前、后要有起始位、停止位,另外可以在停止位的前面加上一个比特(bit)的校验位。其帧格式如图所示。

数据位 起始位 D0 D1 D2 D3 —————— D7 校验位 停止位

图3_1数据帧格式

以9600波特率接收或发送,每一位时间为 1/9600秒,或48MHZ晶振5000次计数

文章 通 过 分析UART的功能,利用有限状态机来描述UART核心控制逻辑的方法,将其核心功能集成,从而使整个设计更加稳定、可靠。基本的UART通信只需要两条信号线就可以完成数据的相互通信。UART的功能模块如图3_2所示。

波特发生器 Uart控制器 接收模块 发送模块 .

.

对象模块

图3_2UART的功能模块图

.

.

3.2 UART模块

在大规模电路的设计中,广泛采用层次化,结构化的设计方法。它将一个完整的硬件设计任务从系统级开始,划分为若干个可操作的模块,编制出相应的模型并进行仿真验证,最后在系统级上进行组合。这样在提高设计效率的同时又提高了设计质量,是目前复杂数字系统实现的主要手段,也是本文设计思想的基础。 其系统模块可划分为4个部分,如波特发生器,控制器,接收器,发送器,如图3-3所示:

clr4 read send read clear_check send Clr3 ks Data_in cs Data_out reset

Clk(波特发生器)

.

clear Read_enable

counters

send_enable

counters

Counters(control)

state

T1

clk_enable

Clk_clear

clk

.

图3-3uart结构图

3.2.1主要引脚功能介绍 Read:串行输入 Data_in:并行输入

Cs:通知cpu接收数据位 Reset:重启输入

Clk:48M时钟输入

.

send:串行输出

data_out:并行输出

ks:通知cpu发送准备位

state:uart状态输入

.

3.2.2UART主体程序 `timescale 1ns/1ns module gs_opt(

input wire read, input wire clk, input wire reset, input wire state, input wire [7:0] dat_in,

output wire send, output wire cs, output wire ks,

output wire [7:0] dat_out );

wire send_enable; wire read_enable; wire clk_enable3;

wire clk_enable4; wire clear3 ; wire clear4 ; wire clk_enable; wire [7:0] counters; wire clear ; wire t1; /*

read,send,cs,ks,reset,state,clk,dat_in,dat_out);

.

FPGA的UART完整设计

.第三章UART设计3.1UART的帧格式在UART中,数据位是以字符为传送单位,数据的前、后要有起始位、停止位,另外可以在停止位的前面加上一个比特(bit)的校验位。其帧格式如图所示。数据位起始位D0D1D2D3——————D7校验位停止位<
推荐度:
点击下载文档文档为doc格式
39ocp4futj5dq8n1sig30fluh9bohz00uib
领取福利

微信扫码领取福利

微信扫码分享