利用FPGA实现UART的设计
- 格式:pdf
- 大小:178.38 KB
- 文档页数:3
四川师范大学本科毕业设计基于FPGA的UART设计学生姓名院系名称专业名称班级学号指导教师完成时间基于FPGA的UART设计电子信息工程专业摘要:UART(通用异步收发器)是一种应用广泛,协议简单,易于调试的串行传输接口。
FPGA是能高密度,低消耗完成所需要的逻辑功能的一种在线可编程器件,是现在业内提高系统集成度最佳技术之一,其可反复配置,且使用灵活。
VHDL 是描述电路功能或行为的一种硬件语言。
本文首先阐述了运用FPGA实现UART接口的意义。
接着介绍了UART的波特率发生器,发送功能和接收三大核心功能的理论知识。
FPGA的工作原理,配置模式以及VHDL语言实现状态机的相关理论基础。
给出了运用VHDL语言将UART三大功能嵌入在FPGA上的模块化设计方法。
设计包括四大模块:顶层模块,波特率发生器,UART接收器,UART发生器。
在FPGA片上集成UART主要功能,减少了电路板体积,同时电路也增加了可移植和反复配置功能,有效提高了电路的集成度和灵活性。
最后运用Quartus ii 9.1实现了其功能仿真。
关键词:FPGA UART VHDL 有限状态机The Design of Universal Asynchronous Receiver Transmitter Based on FPGAAbstract:UART (Universal Asynchronous Receiver Transmitter) is a widely used, simple protocol, easy to debug serial transmission interface. FPGA is capable of high-density, low-cost needed to complete a line of programmable logic devices, is now one of the industry's best technologies to improve system integration, which can be repeated to configure and use and flexible. VHDL description of the circuit function or behavior is a hardware language. This paper first describes the use of FPGA to realize the significance of the UART interface. Then introduced the theory of knowledge UART baud rate generator, sending and receiving three core functions. FPGA works, configuration mode and the VHDL-based state machine theory. Gives the UART using VHDL language to three functions embedded in the FPGA design. Design includes four modules: the top-level module, baud rate generator, UART receivers, UART generator. Integrated on-chip UART FPGA basic functions, reducing board space, the circuit also increases the portability and repeated configuration capabilities, improve the integration and flexibility of the circuit. Finally, the use of Quartus ii 9.1 implements its functional simulation.Key Words:FPGA ;UART ;VHDL;FSM目录摘要: (I)Abstract: (II)1 绪论 (1)1.1 课题背景 (1)1.2 课题研究现状 (2)1.3 课题研究内容与主要工作 (3)1.4 课题内容结构 (3)2 UART理论基础 (4)2.1 接口技术简介 (4)2.2 UART基本结构 (4)2.3 UART数据帧格式 (5)2.4 涉及到的理论计算 (6)3 设计工具 (7)3.1 课题硬件平台——FPGA (7)3.2 设计工具QuartusII简介与使用 (7)3.3 VHDL语言简介 (7)4 UART实现方案 (8)4.1 系统总体结构 (8)4.2 顶层模块设计 (8)4.3 波特率发生模块设计 (9)4.4 接收模块 (10)4.5 发送模块设计 (12)5 UART设计的仿真与验证 (15)5.1波特率发生模块仿真 (15)5.2 接收模块仿真 (15)5.3 发送模块仿真 (16)6 总结 (17)参考文献 (18)致谢 (19)附录 (20)基于FPGA的UART设计1 绪论在计算机的数据通信中,外设一般不能与计算机直接相连,它们之间的信息交换主要存在以下问题:(1)速度不匹配。
基于FPGA实现多路UARTSPI通信系统第一部分设计概述 /Design Introduction本次的设计为多路UART/SPI通信系统,可以实现一对多的通信。
系统可以运行在UART模式,也可以运行在SPI模式。
我选择这一课题的原因主要是目前我所在的实验室需要写基于UART的快速通信。
这一课题既可以帮助我巩固之前学习的知识,又可以为我后面的项目做准备。
在完成课题的过程中,主要用到了FPGA状态机、总线等方面的知识。
这一课题可以应用在需要高速异步串行或同步串行通信的应用场合,如实时控制、监测等。
当系统运行在UART模式下,可以实现一个发送端最多向四个接收端发送信息,且有效信息中包含地址码,接收端可以根据发送端发送的地址码判断该信息是否是发送给自己的,实现信号线复用。
UART 通信简单,仅需要一根信号线,但是其缺点是只能实现单向通信,接收端无法给发送端反向发送数据。
但是这一缺点也可以通过采用两个UART系统来弥补。
当系统运行在SPI模式下,可以实现一个主机与多个从机之间的通信,且在通信过程中,系统是全双工的。
主机通过选择性拉低某一个或者某几个从机的片选信号,实现对于从机的选择。
第二部分系统组成及功能说明 /System Construction & Function Description计划功能程序实现UART和SPI的通信,并可以通过按键的方式在两种模式之间切换。
在UART模式下,发送端给接收端发送一串数据,接收端判断是否和已知数据相符。
如果相符则点亮LED,如果不符则不点亮。
在SPI模式下,主机给从机、从机给主机同时发送数据,若接收到的数据和已知数据相符,则点亮LED,如果不符,则不点亮。
同时,UART和SPI均有寻址功能。
UART的寻址方式是在数据位前面加两位地址位,实现对最多四个接收端的区分;SPI的寻址方式是通过拉低需要选定的从机的SS信号,实现对最多四个接收端的区分。
目前所有的功能均已实现。
基于DSP+FPGA的UART设计与实现摘要:UART作为RS232协议的控制接口得到广泛的应用,将UART功能集成在DSP和FPGA芯片组成的系统中,可使整个系统更为灵活、紧凑,减小电路体积,提高系统的可靠性和稳定性。
本文提出了一种基于DSP和FPGA 系统的UART 实现方法。
关键词:通用异步收发器;DSP;FPGA1 引言通用异步收发器(Universal Asynchronous Receiver/Transmitter,通常称作UART)是一种串行异步收发协议,应用十分广泛。
UART可以和各种标准串行接口,如RS232、RS485等进行全双工异步通信,具有传输距离远、成本低、可靠性高等优点。
一般UART 由专用芯片来实现,但专用芯片引脚较多,内含许多辅助功能,在实际使用时往往只需要用到UART 的基本功能,使用专用芯片会造成资源浪费和成本提高[1]。
在DSP和FPGA组成的系统中,利用DSP芯片完成UART数据收发控制,FPGA完成UART数据具体的收发时序,二者利用EMIF接口配合,即可实现UART通信功能。
这样设计可以大大减少电路体积、简化电路,也提高了系统的灵活性,使整个系统更加紧凑、稳定且可靠。
2 UART原理UART是一种串行数据总线,用于全双工异步通信。
工作原理是将数据的二进制位按位进行传输。
基本的UART 只需要两条信号线(收、发)和一条地线就可以完成数据的互通,接收和发送互不干扰。
在UART通信协议中,信号线上的状态位高电平代表“1”,低电平代表“0”。
图1 UART数据传输格式UART 数据传输格式如图1所示,一个字符由起始位、数据位、校验位和停止位组成(其中校验位可选)。
其中各位的含义如下:起始位:一位逻辑“0”信号,表示字符数据传输的开始;数据位:5~8位可选的逻辑“0”或“1”。
数据位的发送顺序为:先发送数据的最低位,最后发送最高位;校验位:包括奇校验或偶校验两种方式,即数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验)。
基于FPGA 的UART16550的设计王建伟,王厚军,王 毅(电子科技大学自动化工程学院 四川成都 610054)摘 要:串行通信在数字信息系统以及控制系统中得到了广泛的应用。
针对传统UAR T 传输速率低、稳定性相对较差的状况,介绍了高速异步串口UAR T16550的工作原理与设计实现,并且给出在现场可编程门阵列FP GA 上的实现与验证仿真。
这项设计对于片上系统之间以及与PC 机之间的串行数据传输有了很大程度的改善。
关键词:UAR T16550;串口;FIFO ;FP GA中图分类号:TN919 文献标识码:B 文章编号:1004-373X (2007)09-054-02Design of UART16550B ased on FPG AWAN G Jianwei ,WAN G Houjun ,WAN G Y i(School of Automation ,University of Electronic Science &Techonolgy of China ,Chengdu ,610054,China )Abstract :Serial communication is widely used in digital information systems and control systems.The traditional UAR T transfers data at a low speed and is not so stable.This paper introduces a higher performance UAR T16550which is designed on a FP GA.The simulation shows it works well on the FP GA.It will greatly improve the efficiency of data transmission be 2tween SoC and PC.K eywords :UAR T 16550;serial port ;FIFO ;FP GA收稿日期:2006-09-061 引 言UAR T (Universal Asynchronous Receiver/Transmit 2ter ,通用异步收发器)是用于控制CPU 与串行设备通信的芯片,将由CPU 传送过来的并行数据转换为输出的串行数据流。
基于FPGA/CPLD设计与实现UART(VHDL)1 引言由于微电子学和计算机科学的迅速发展,给EDA(电子设计自动化)行业带来了巨大的变化。
特别是进入20世纪90年代后,电子系统已经从电路板级系统集成发展成为包括ASIC、FPGA/CPLD和嵌入系统的多种模式。
可以说EDA 产业已经成为电子信息类产品的支柱产业。
EDA之所以能蓬勃发展的关键因素之一就是采用了硬件描述语言(HDL)描述电路系统。
就FPGA和CPLD开发而言,比较流行的HDL主要有Verilog HDL、VHDL、ABEL-HDL和 AHDL 等,其中VHDL 和Verilog HDL因适合标准化的发展方向而最终成为IEEE标准。
下面的设计就是用VHDL来完成实现的。
2 UART设计实例通常设计数字电路大都采用自顶向下将系统按功能逐层分割的层次化设计方法,这比传统自下向上的EDA设计方法有更明显的优势(当时的主要设计文件是电路图)。
因为由自顶向下的设计过程可以看出,从总体行为设计开始到最终逻辑综合,形成网络表为止。
每一步都要进行仿真检查,这样有利于尽早发现系统设计中存在的问题,从而可以大大缩短系统硬件的设计周期。
下面以UART的设计为例具体说明:(本设计只对本设计的总模块做各种基于MAX+PLUS II环境下的各种分析,对于各分模块只是作些必要的说明。
) UART(即Universal Asynchronous Receiver Transmitter 通用异步收发器)是一种应用广泛的短距离串行传输接口。
UART允许在串行链路上进行全双工的通信。
串行外设用到的RS232-C异步串行接口,一般采用专用的集成电路即UART实现。
如8250、8251、NS16450等芯片都是常见的UART器件,这类芯片已经相当复杂,有的含有许多辅助的模块(如FIFO),有时我们不需要使用完整的UART的功能和这些辅助功能。
或者设计上用到了FPGA/CPLD器件,那么我们就可以将所需要的UART功能集成到FPGA内部。
基于FPGA 的UART 16 倍频采样的VHDL 设计概述随着电子设计自动化(EDA)技术的发展,可编程逻辑器件FPGA/CPLD 已经在许多方面得到了广泛应用,而UART(通用异步收发器) 是在数字通信和控制系统中广泛使用的串行数据传输协议。
因此越来越多用户根据自己的需要,以EDA 技术作为开发手段,用一块FPGA/CPLD 设计出符合自己需要的UART 芯片。
基于FPGA/ CPLD 的UART 设计在诸多文献中都有论述,在此不再对UART 整个功能模块实现做太多的论述。
本文着重分析UART 接收器起始位的检测。
3 倍频采样的缺陷首先,串行异步通信规定了字符数据的传送格式。
每一帧数据由起始位、数据位、奇偶校验位、停止位和线路空闲状态组成,格式如图1 所示。
一般情况起始位为1 位,数据位为5、6、7 或8 位、奇偶校验位为1 位,停止位为1、1.5 或2 位。
其中的起始位和停止位就是用来实现字符的同步。
在空闲状态,传送线为逻辑1 状态。
数据的传送总是以一个起始位开始的,接着是要传送的若干数据位,低位先行,最后是一个1 状态的停止位;那么,当接收器检测到一个1 向0 的跳变时,便视为可能的起始位。
起始位被确认后,就知道发送器已开始发送,当接收了已协议好的位数后并接收到字符帧中停止位就是一帧字符数据已发送完毕。
这样,接收器就知道发送器何时开始发送数据和何时结束发送数据。
要提高接收器的接收准确性,减少误码率,必须要用比数据波特率高n 倍(n≥1)的速率对数据进行采样。
文献2 中采用了非常规的3 倍频采样方法:用3 倍频的波特率对每一位数据进行采样(如图2 所示),然后对3 次采样结果进行判决。
如果3 次采样中至少有2 次为高电平,则接收这一位数据被判决为。
一基于FPGA的UART通信模块设计1. UART简介(1)UART(Universal Asynchronous Receiver Transmitter通用异步收发器)是一种应用广泛的短距离串行传输接口。
常常用于短距离、低速、低成本的通讯中。
8250、8251、NS16450等芯片都是常见的UART器件。
(2)基本的UART通信只需要两条信号线(RXD、TXD)就可以完成数据的相互通信,接收与发送是全双工形式。
TXD是UART发送端,为输出;RXD是UART接收端,为输入。
2. UART的基本特点是:(1) 在信号线上共有两种状态,可分别用逻辑1(高电平)和逻辑0(低电平)来区分。
在发送器空闲时,数据线应该保持在逻辑高电平状态。
(2) 起始位(Start Bit):发送器是通过发送起始位而开始一个字符传送,起始位使数据线处于逻辑0状态,提示接受器数据传输即将开始。
(3) 数据位(Data Bits):起始位之后就是传送数据位。
数据位一般为8位一个字节的数据(也有6位、7位的情况),低位(LSB)在前,高位(MSB)在后。
(4) 校验位(parity Bit):可以认为是一个特殊的数据位。
校验位一般用来判断接收的数据位有无错误,一般是奇偶校验。
在使用中,该位常常取消。
(5) 停止位:停止位在最后,用以标志一个字符传送的结束,它对应于逻辑1状态。
(6) 位时间:即每个位的时间宽度。
起始位、数据位、校验位的位宽度是一致的,停止位有0.5位、1位、1.5位格式,一般为1位。
(7) 帧:从起始位开始到停止位结束的时间间隔称之为一帧。
(8) 波特率:UART的传送速率,用于说明数据传送的快慢。
在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送数据位的数目来表示,称之为波特率。
如波特率9600=9600bps(位/秒)。
3. FPGA UART系统组成FPGA UART由三个子模块组成:波特率发生器;接收模块;发送模块;包含四个模块:顶层模块,波特率发生器,UART接收器,UART发送器(1)顶层模块(1)异步收发器的顶层模块由波特率发生器、UART接收器和UART发送器构成。
uart驱动电路设计摘要:一、uart驱动电路设计概述1.uart驱动电路的作用2.uart驱动电路的设计目标二、uart驱动电路设计原理1.uart通信的基本原理2.uart驱动电路的关键组件3.uart驱动电路的工作流程三、uart驱动电路设计步骤1.确定电路拓扑结构2.选择合适的元器件3.设计电路原理图4.布局与布线5.仿真与测试四、uart驱动电路设计实践1.基于FPGA的uart驱动电路设计2.基于ASIC的uart驱动电路设计3.常见问题与解决方案五、uart驱动电路设计展望1.新技术的发展趋势2.应用领域的拓展3.我国在uart驱动电路设计方面的优势与挑战正文:一、uart驱动电路设计概述uart驱动电路,即通用异步接收发送器(Universal Asynchronous Receiver/Transmitter)驱动电路,是一种用于实现串行通信的电路。
在电子设备中,uart驱动电路主要负责数据的接收与发送,其性能直接影响到通信的质量和效率。
因此,设计一个高性能、稳定的uart驱动电路是通信系统设计中的关键环节。
二、uart驱动电路设计原理1.uart通信的基本原理uart通信是一种异步通信方式,数据是按照位(bit)进行传输的。
发送方将数据从并行转换为串行,按位发送给接收方。
接收方收到串行数据后,再将其转换为并行数据。
在通信过程中,双方需要约定一个波特率(baud rate),即每秒传输的位速率。
2.uart驱动电路的关键组件uart驱动电路主要包括以下几个关键组件:(1)uart芯片:作为核心部件,负责数据的接收与发送。
(2)电平转换器:用于将uart芯片与外部逻辑电平进行转换,以保证通信的稳定性。
(3)波特率发生器:产生所需的波特率信号,用于同步数据传输。
(4)其他辅助元件:如电阻、电容、二极管等,用于组成电路的基本组成部分。
3.uart驱动电路的工作流程uart驱动电路的工作流程主要包括以下几个步骤:(1)数据接收:uart芯片接收来自其他设备的串行数据。
基于FPGA的UART通信接口电路设计张蕾【摘要】随着煤矿设备自动化程度的不断提高,对信号的传输也提出了越来越高的要求.本文设计了一种基于现场可编程门阵列(field programmable gate array,FPGA)的RS232接口电路.首先,分析了FPGA在设计通用串行收发器(universal asynchronous receiver and transmitter,UART)接口电路中的优势.该接口电路主要分为UART接收子模块、波特率发生器、先进先出(first in first out,FIFO)模块、UART发送子模块、通信校验模块等.然后,基于Xilinx公司的FPGA平台,使用Verilog HDL语言编写并实现了整个系统,给出了完整的电路结构框图及实验结果.实验结果验证了所设计RS232接口电路的有效性.【期刊名称】《山西焦煤科技》【年(卷),期】2011(035)008【总页数】3页(P18-20)【关键词】通用串行收发器(UART);可编程门阵列(FPGA);过采样;先进先出(FIFO)【作者】张蕾【作者单位】山西煤炭进出口集团有限公司,山西太原 030006【正文语种】中文【中图分类】TD65目前,我国的煤矿设备自动化程度不断提高,井下作业对信号传输的要求也愈趋严格。
本文研究的通用串行收发器(universal asynchronous receiver and transmitter,UART)可通过串行线传输并行数据,其本质功能是作为控制器和串行设备间的编码转换装置,在基于RS232、RS485等标准协议的通信系统中广泛应用[1-3],非常适合矿井通信系统。
常用的单片机、DSP控制器等一般都集成有专用的UART外设,极大地方便了基于RS232等协议的通信系统设计。
但这类预先固化好的系统也存在一定的不足,如工作模式不够灵活,数据位数固定、通信的波特率一般限制在几个固定的数值,可扩展性较小。