第一章为绪论。本章主要说明了本设计提出的背景和本文的主要研究内容和成果。
第二章为系统原理概述。本章从串行传送的过程入手讨论了消息帧格式的设计,设计了系统的原理框图,并对每个子模块的功能、组成以及不同模块之间的协调进行了阐述,以及给出UART分别工作在接收和发送两种模式下的工作流程图。
第三章为系统各模块设计和总体仿真。这是本设计的核心部分,也是本设计最主要的内容。
本章利用QUARTUS II 软件开发平台和VHDL语言对 UART内核、 移位寄存器-计数器、波特率发生器、总线选择器、奇偶校验器、信号检测器751大模块进行设计,并给出原理说明、仿真时序图、部分关键源代码。 期中,UART内核、移位寄存器-计数器 是本设计的两个核心模块。将进行重点介绍,并给出UART内核的状态框图。
最后再给出UART整体电路的在接收和发送两种工作模式下的仿真结果。
第四章为验证模块设计。本部分的内容主要是为了对前面设计的UART进行实物验证。阐述了对接收和发送两个工作模式的验证方法。此时需要添加一些模块,包括数制转换,显示驱动等。并将整个设计下载到FPGA的开发板上,和PC机串口连接,进行实物验证。
1 系统原理概述
2.1 UART通信过程
异步通信中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步[4-5]。
UART 监测到低位起始位时,接收过程开始。在接收过程中,UART从消息帧中去掉起始位和结束位,对进来的字节进行奇偶校验,并将数据字节从串行转换成并行。UART也产生额外的信号来指示接收和接收的状态,包括接收完毕已否、根据校验位计算的接收正确与否[6-7]。
UART收到CPU的发送启动信号时,发送过程开始。在发送过程中,UART从处理器接收到并行数据,然后将其转换为串行数据以约定的波特率发送,并加上起始位和由UART计算出的校验位以及高位停止位。并在发送完成后想处理器发送指示信号。
本设计中,信号帧的格式设计为11位,从一个低位起始位开始,后面接下来的是八位(一字节)数据位和 一位校验位,本设计中奇偶校验采用偶校验,即数据位中有偶数个“1” 时校验位的值为1否则为0,在校验位之后是至少1.5位的高位停止位。消息帧的波特率定为1200。
2.2 系统结构设计
UART 主要有UART内核、信号检测器、移位寄存器、波特率发生器、计数器、总线选择器、和奇偶校验器7部分共6个模块组成。 其中,移位寄存器、计数器联系紧密作为一个模块设计,其源代码在一个源程序文件中。在系统中UART内核、移位寄存器 计数器是本设计的两个核心模块。系统各模块及相互联系的框图如 图2.2
图2.2 系统原理框图
2.3 子模块功能描述
2.3.1 UART内核
UART内核是整个设计的两个核心模块之一,负责协调其他各个模块的工作。
接收过程中,在信号检测器提供的指示信号下,对波特率发生器和移位寄存器-计数器模块进行复位,并修正总线选择器的控制信号。接收完成时负责各个子模块的复位,以及向处理器发送相关信号[8]。 基于FPGA的UART设计+文献综述(3):http://www.751com.cn/tongxin/lunwen_6000.html