于基fpga的串口设计 本科毕业设计.docx

上传人:b****2 文档编号:1780882 上传时间:2022-10-24 格式:DOCX 页数:31 大小:574.37KB
下载 相关 举报
于基fpga的串口设计 本科毕业设计.docx_第1页
第1页 / 共31页
于基fpga的串口设计 本科毕业设计.docx_第2页
第2页 / 共31页
于基fpga的串口设计 本科毕业设计.docx_第3页
第3页 / 共31页
于基fpga的串口设计 本科毕业设计.docx_第4页
第4页 / 共31页
于基fpga的串口设计 本科毕业设计.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

于基fpga的串口设计 本科毕业设计.docx

《于基fpga的串口设计 本科毕业设计.docx》由会员分享,可在线阅读,更多相关《于基fpga的串口设计 本科毕业设计.docx(31页珍藏版)》请在冰豆网上搜索。

于基fpga的串口设计 本科毕业设计.docx

于基fpga的串口设计本科毕业设计

前言

随着FPGA/CPLD器件在控制领域的广泛使用,开发嵌于FPGA/CPLD器件内部的通用异步收发器,以实现FPGA/CPLD开发系统与PC机之间的数据通信是很有实际意义的。

FPGA/CPLD器件与单片机、ARM等器件不同,内部没有集成UART,因此要实现串行通信,必须要独立开发UART模块。

本设计对于深入理解串口的工作原理和理解FPGA的工作流程具有启示意义,并通过设计的过程FPGA的应用能力和系统综合设计能力将得到加强。

1引言

1.1课题来源

结合科研

1.2课题研究的研究背景

当今社会是数字化的社会,是数字集成电路广泛应用的社会。

数字集成电路本身在不断地进行更新换代。

它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。

但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。

系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。

通用异步收发器(UniversalAsynchronousReceiver/Transmitter),简称为UART)由于具有数据通信时需要的连线少,具有相关工业标准提供的标准的接口电平规范等优点,在工业控制领域被广泛采用.近年来,随着FPGA/CPLD器件在控制领域的广泛使用,开发嵌于FPGA/CPLD器件内部的通用异步收发器,以实现FPGA/CPLD开发系统与PC机之间的数据通信引起了FPGA/CPLD领域研究人员的关注.为此,本设计基于FPGA器件设计了符合RS-232标准的UART,便于实现FPGA/CPLD开发系统与PC机之间的串口数据交换。

1.3国内外的发展现状、发展趋势及存在的主要问题

 通用异步收发器(UniversalAsychronousReceiverTransmitter,UART)是雷达中常用的器件类型,多用于全机监测、指令发送接收、状态传递、键盘显示操作以及控制等等。

由于许多大的器件供应商不再生产此类军品级产品,因此,就必须另寻途径解决其在雷达中的应用问题。

利用可编程器件实现UART功能模块,既可以满足产品类别的需求又可以在使用中根据实际情况增减配置,是我们在设计中值得考虑的一种方法。

在嵌入式系统中,嵌入式CPU往往要通过各种串行数据总线与“外界”进行通信。

在应用中,异步的串行数据通信用得较多,而通用异步收发器在其中扮演着重要角色:

完成数据的串并转换,即把并行数据按照通信波特率转化为通信协议中规定的串行数据流,也可从串行数据流中取出有用数据转变为并行数据。

FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,

它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集

成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又

克服了原有可编程器件门电路数有限的缺点。

FPGA采用了逻辑单元阵列LCA(Logi

cCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLo

gicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnec

t)三个部分。

FPGA的基本特点主要有:

1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

  可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

目前FPGA的品种很多,有XILINX的XC系列,TI公司的TPC系列、ALTERA公司的FIEX系等。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。

掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。

当需要修改FPGA功能时,只需换一片EPROM即可。

这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。

因此,FPGA的使用非常灵活。

FPGA有多种配置模式:

并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

FPGA的设计难点:

1)不同时钟域转换

2)高速电路设计,信号完整性

3)降低功耗

1.4课题研究的指导思想与技术路线

UART(即UniversalAsynchronousReceiverTransmitter通用异步收发器)是一种应用广泛的短距离串行传输接口。

UART允许在串行链路上进行全双工的通信。

串行外设用到的RS232-C异步串行接口,一般采用专用的集成电路即UART实现。

如8250、8251、NS16450等芯片都是常见的UART器件,这类芯片已经相当复杂,有的含有许多辅助的模块(如FIFO),有时我们不需要使用完整的UART的功能和这些辅助功能。

或者设计上用到了FPGA/CPLD器件,那么我们就可以将所需要的UART功能集成到FPGA内部。

使用Verilog将UART的核心功能集成,从而使整个设计更加紧凑、稳定且可靠。

本文设计一利用FPGA实现的通用异步收发器UART,能实现与PC机之间的串口通信。

 

1.5基于FPGA串口设计的技术要求

(1)设计出能完成串行数据发送和接收的的串口,可实现与PC机的通讯。

(2)设计波特率为9600bit/s

(3)收发数据帧格式定义为:

1位起始位,8位数据位和1位停止位。

(4)用modelsim仿真

2UART原理介绍

2.1UART结构和工作原理

2.1.1UART介绍

UART:

UniversalAsynchronousReceiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上,多数是16550AFN芯片。

因为计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:

CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(FirstInputFirstOutput,先入先出队列)传送到串行设备,若是没有FIFO,信息将变得杂乱无章,不可能传送到Modem。

  UART是用于控制计算机与串行设备的芯片。

有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。

作为接口的一部分,UART还提供以下功能:

将由计算机内部传送过来的并行数据转换为输出的串行数据流。

将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用。

在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。

在输出数据流中加入启停标记,并从接收数据流中删除启停标记。

处理由键盘或鼠标发出的中断信号(键盘和鼠标也是串行设备)。

可以处理计算机与外部串行设备的同步管理问题。

图1UART数据传输结构图

2.1.2UART帧的格式

UART帧的格式包括线路空闲状态(idle,高电平有效)、起始位(startbit,低电平有效)、5~8位数据位(databits)、校验位(paritybit,可选)和1位停止位(stopbit)。

字符的同步由起始位和停止位来实现。

UART内部配置有寄存器,可以配置实现数据位数(5~8位)可选、是否有校验位和校验的类型等设置。

图2UART数据帖格式

2.1.3UART工作原理

UART接收器在工作时,信号检测器一直监视RxD线上的电平,当RxD线上出现低电平时,通知串行接收控制器有数据需要接收,此时接收控制器启动移位寄存器、波特率发生器和数据位计数器.在波特率时钟的驱动下移位寄存器将RxD线上的电平值依次移入内部寄存器,当计数器的计数值达到10时表示一帧数据接收完成,这时接收控制器产生数据接收完成中断,并从接收的数据帧中提取出数据并锁存,供后续模块使用.

UART发送器在工作时,发送信号检测器一直监视发送请求信号是否有效,若检测发送请求信号有效,则发送信号检测器停止接收发送请求.发送请求信号传到串行发送控制器后,控制器启动发送移位寄存器、波特率发生器和数据位计数器,在波特率时钟的驱动下,发送移位寄存器先发送一位起始位(逻辑0),然后将待发送的并行数据从最低位开始逐位发出,数据发送完后,再发送一位停止位(逻辑1)。

在移位寄存器移出一位逻辑值后数据位计数器加1,当数据位计数器记满10表示一帖数据发送完成,此时控制器停止各个辅助部件并且再次启动发送信号检测器,开始监视下一次发送请求.

3方案选择

3.1设计语言选择

本次设计用的硬件描述语言是VHDL,主要原因是以前学过该语言和它具有如下优势:

(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。

强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。

 

(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。

 (3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。

符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。

(4)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

3.2电平转换方式选择

RS─232C是与RS499、RS423、RS422和RS485并列的一种UART(universalasynchronousreceiver/transmitter)接口标准规范和总线标准规范.这些规范虽然规定了不同的通信接口电气特性、传输速率、连接特性和接口的机械特性等内容,但是都对应异步串行通信协议.由于实际中PC的外部接口配置为RS─232C已经成为事实标准,所以文章以RS─232C为基础编写FPGA串口驱动程序。

而MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,所以电平转换部分就是用MAX232实现的。

3.3FPGA核心芯片的选择

本系统用的主芯片是EP1C12Q240C8,该系列的芯片采用324引脚、BGA封装的EP1C12FPGA,它拥有12060个LE,52个M4K片上RAM(共计239616bits),2个高性能PLL以及多达249个用户自定义IO。

同时,系统还可以根据用户不同的设计需求来更换其

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1