利用fpga来实现uart的设计

利用fpga来实现uart的设计

ID:31361090

大小:103.50 KB

页数:4页

时间:2019-01-09

利用fpga来实现uart的设计_第1页
利用fpga来实现uart的设计_第2页
利用fpga来实现uart的设计_第3页
利用fpga来实现uart的设计_第4页
资源描述:

《利用fpga来实现uart的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、利用FPGA来实现UART的设计  摘要:计算机通信有串行和并行通信。串行通信虽然使设备之间的连线很少,但会带来串/并转换和位计数等问题,这使串行通信技术比并行通信技术更为复杂。串/并转换既可用软件实现,也可用硬件来实现。  关键词:接口;发送器;接收器;通信  1总体设计  整个设计包括两部分:基于FPGA的UART的设计和基于VB6.0的上位机程序设计。UART的设计采用模块化的设计思想,可分为3个模块:FPGA数据发送模块、数据接收模块以及波特率发生器控制模块。上位机程序采用VB6.0的Mscomm控件,可分为画面设计和功能设计两部分。串口采用标准的RS-232协议,主

2、要参数选择为:波特率9600bit/s,8位有效位,无奇偶校验位,1位停止位。  2UART的结构和帧格式  UART主要包括接收器和发送器。从异步接收输入信号SIN接收到的异步信号通过接收器完成串行/并行的转换,形成异步数据帧;发送器将CPU发出的8位数据进行并行/串行转换,从SOUT发送出去。功能包括微处理器接口、TBR(发送缓冲器)、TSR(发送移位寄存器)、帧产生、并转串、RBR(接收缓冲器)、RSR(接收移位寄存器)、帧产生、串转并。  3UART的设计与实现4  下面分别给出UART的3个模块(发送器、接收器和波特率产生器)的方框图。  3.1发送器  UART串

3、行发送器模块框图如图2所示。DIN为8位数据,其余为1位。  从图1的框图可以看出,串行发送器中包含有一个8位THR(发送保持寄存器)和TSR(发送移位寄存)。复位时,引脚TRE为高电平,当数据载入到TSR之后,引脚TRE变为低电平。发送完毕,TRE变为高电平。当侦测到输入WRN变为低电平时,自动使能串行数据发送过程。首先传送1位的起始位(逻辑电平0),同时THR中的数据自动地并行载入到TSR中。然后,定长的数据位从TSR中移出,接着是校验位。最后,产生停止位(逻辑电平1),标志着一帧的结束。串行数据帧将以内部时钟频率的1/16传送。如果THR中内容不空,当一个串行数据帧传送

4、结束后,紧接着发送下一个数据帧。这种自动的流程使得数据帧以背靠背的方式发送,提高了数据传输的带宽。当没有数据发送时,SDO引脚保持高电平。  发送器每隔16个时钟周期输出1位,顺序遵循1位起始位、8位数据位(假定数据位为8位)、1位校验位(可选)、1位停止位。  3.2接收器  UART串行接收器模块框图如图2所示。DOUT为8位数据,其余为1位。接收器包含一个8位RBR和RSR。RBR的状态可以通过引脚DATA_READY米表示。当RBR中的数据有效时,DATA_READY变为高电平,向CPU表明可以取同数据。4  本设计只要求实现简单的收发功能,故未设计检错程序,程序在侦

5、测到起始位后,计16个时钟周期,便开始接收数据,移位输入RSR,最后输出数据DOUT。还要输出一个数据接收标志信号标志数据接收完。  串行输入RXD为0010101101,每一位占16个时钟周期,一旦检测到输入RXD为0,计数器开始计数,开始接收数据,接收完毕,标志位变为高电平。  3.3波特率发生器  UART的接收和发送是按照相同的波特率进行收发的。波特率发生器产生的时钟频率不是波特率时钟频率,而是波特率时钟频率的16倍,目的是为在接收时进行精确地采样,以提出异步的串行数据。根据给定的晶振时钟和要求的波特率算出波特率分频数。  4上位机程序设计  本文使用VB6.0进行上

6、位机程序的设计,实现PC与FPGA的串行通信。下面是1个上位机收发测试通信程序的设计过程,通过该程序可以与FPGA进行串行通信。波特率默认值是“9600,N,8,1”,其意为所使用的通信端口是以9600bit/s的速度传输,不作字符校验,每次的数据是8位,而停止位是1位。波特率(单位为bit/s)可为110、300、600、1200、2400、9600、14400、19200、28800。校验位为:E偶校验,N无校验,O奇校验,S空白。正确的数据位值有:4、5、6、7、8(默认值)。正确的停止位值有:1(默认值)、1.5、2。  将UART的程序编译、仿真后,下载到FPGA的

7、EPlK30TC144-3芯片上。引入20MHz的晶振频率;发送使能端和复位端分别接一个开关;状态输出标志TRE和DATA-READTY分别接一个二极管,指示状态;设置波特率为“9800,N,8,1”4。串行数据帧的格式为:起始位0,8位数据位,无校验位,1位停止位。将UART的串行发送、接收端口分别与计算机的RS-232的串行接收、发送端口连接,以便与PC机进行串行通信;并行输入DIN接入并行输出DOUT;连好线后,执行发送测试程序。  5结束语  在实现FPGA与PC的串行通信中,将程序下载到芯片中

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

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

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