FPGA—UART实验.doc

FPGA—UART实验.doc

ID:49545984

大小:533.50 KB

页数:12页

时间:2020-03-02

FPGA—UART实验.doc_第1页
FPGA—UART实验.doc_第2页
FPGA—UART实验.doc_第3页
FPGA—UART实验.doc_第4页
FPGA—UART实验.doc_第5页
资源描述:

《FPGA—UART实验.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.串口通信设计一、实验目的1、熟练使用ISE设计工具;2、理解串口传输协议。理解采用“自顶向下”设计思路,分解模块的方法;3、在ISE使用VerilogHDL设计串口接收模块,完成仿真、下载。二、实验原理1、串口传输协议概述设计完成异步串口通信通用异步收发是一种典型的异步串口通信,简称UART。串口通信时序如图1所示。图1通用异步收发时序图由图1可以看出,在没有数据传送时,通信线会一直处于高电平,即逻辑1状态;当有数据传送时,数据帧以起始位开始,以停止位结束。起始位为低电平,即逻辑0状态;停止位为高电平,即逻辑1状态,其持续时间可选为1位、1.5位或2位(本次设计选择持续时间1

2、位)。接收端在接收到停止位后,知道一帧数据已经传完,转为等待数据接收状态;只要再接收到0状态,即为新一帧数据的起始状态。数据帧的数据位低位(LSB)在前,高位(MSB)在后,根据不同的编码规则,数据位可能为5位、6位、7位或者8位(本次设计数据位定位8位)。校验位也可根据需要选择奇校验、偶校验或者不要校验(本次设计不要校验位)。2、串口时序分析串口通讯常用“波特率”表述串口传输速率,常用的参数有9600bps和115200bps等。在硬件传输角度看,波特率表征了传输一位数据所需要的时间。例如:波特率是9600bps,传输一位数据的时间是1/9600=0.000104166666

3、6667s;范文..本次FPGA系统时钟是40MHZ,则一位数据传输时间相当于(1/9600)/(1/40M)=4167个40MHZ时钟周期。设一帧数据位数=1(开始位)+8(数据位)+1(校验位)+1(结束位)=11位,所以传输一帧数据的时间是11*1/9600=0.0011458333333333333333333333s。为了稳定采集串口数据帧的数据,需要在每位数据的“中间时刻”采样,由此,需要在每位数据开始时刻对时钟进行计数,若系统时钟是40MHZ,则在计数至4167/2=2084时采样此时刻的数值。3、数据显示PC通过串口发送的数据应该在下载板上有所显示,以此来确定发

4、送成功与否。所以实验中用到8个数码管以二进制的方式来显示通过串口助手发送的两个十六进制的数据。4、本次实验的设计一共有20个端口输入信号:CLK——系统时钟;RSTn——复位信号;Rx_EN_Sig——通信使能信号。Rx_Pin_In——串口数据输入。输出信号:SEG[7:0]——数码管段选信号;CON[7:0]——数码管位选信号。一、实验步骤1、整个系统主要设计的模块是:帧监测开始模块(detect_module)、数据位中心定位模块(Rx_Rbps_module)、数据装载模块(Rx_Control_module)和数码管显示模块(display_module)。接下来进行

5、进行分模块设计。2、帧监测开始模块(detect_module)检测串行输入数据RX_Pin_In的值,判断是否开始传送一帧的数据。并将判断结果H2L_Sig输送给数据装载模块(Rx_Control_module)。模块结构图如图2:范文..图2帧监测开始模块3、数据位中心定位模块(Rx_Rbps_module)为了稳定采集串口数据帧的数据,需要在每位数据的“中间时刻”采样,所以需要一个该模块用来检测每一位数据的持续时间的“中间时刻”。该模块原理为:当接收到数据装载模块传来的一个“当前数据有效(Count_Sig==1)”的信号时开始计数,一直计数到该数据持续时间的一半时便发送

6、一个确认信号(BPS_CLK==1)给数据装载模块,提示其开始进行数据采集。模块结构图如图3:图3数据位中心定位模块4、数据装载模块(Rx_Control_module)该模块用来接收自串口发送来的数据,并进行判断,将8位数据装载到寄存器中。并且在每接收完一帧数据时给显示模块一个确认信号(RX_Done_Sig=1),让数码管更新显示。模块结构图如图4:范文..图4数据装载模块5、数码管显示模块(display_module)在接收到来自数据装载模块发送的数据接收完毕的信号之后,将接收到的数据按位显示到每一位数码管上。模块结构图如图5:图5数码管显示模块6、顶层模块(top)对

7、各个模块进行仿真验证,确认无误后。例化各个模块并将它们连接到一起。则系统结构图如图6:范文..图6系统结构图7、根据板子锁定引脚,并生成下载文件。CLK为系统40M时钟即是P82脚;RSTn复位信号选择拨码开关1,即P20脚;Rx_EN_Sig使能信号选择拨码开关2,即P26脚;Rx_Pin_In为串口0的RX端,即P14;CON[0:7]数码管位选信号锁定对应的数码管共阳端引脚,LED[0:7]即选择对应的数码管脚锁定即可。一、实验结果1、数据装载模块(Rx_Control_module)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。