欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    学士学位论文基于fpga的串口设计正文.docx

    • 资源ID:14723919       资源大小:568.96KB        全文页数:38页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学士学位论文基于fpga的串口设计正文.docx

    1、学士学位论文基于fpga的串口设计正文基于FPGA的串口设计前 言随着FPGA/CPLD器件在控制领域的广泛使用,开发嵌于FPGA/CPLD器件内部的通用异步收发器,以实现FPGA/CPLD开发系统与PC机之间的数据通信是很有实际意义的。FPGA/CPLD器件与单片机、ARM等器件不同,内部没有集成UART,因此要实现串行通信,必须要独立开发UART模块。本设计对于深入理解串口的工作原理和理解FPGA的工作流程具有启示意义,并通过设计的过程FPGA的应用能力和系统综合设计能力将得到加强。1 引言1.1 课题来源 结合科研1.2课题研究的研究背景 当今社会是数字化的社会,是数字集成电路广泛应用的

    2、社会。数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。 通用异步收发器(Universal Asynchron

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

    4、在的主要问题 通用异步收发器(Universal Asychronous Receiver Transmitter,UART)是雷达中常用的器件类型,多用于全机监测、指令发送接收、状态传递、键盘显示操作以及控制等等。由于许多大的器件供应商不再生产此类军品级产品,因此,就必须另寻途径解决其在雷达中的应用问题。利用可编程器件实现UART功能模块,既可以满足产品类别的需求又可以在使用中根据实际情况增减配置,是我们在设计中值得考虑的一种方法。在嵌入式系统中,嵌入式CPU往往要通过各种串行数据总线与“外界”进行通信。在应用中,异步的串行数据通信用得较多,而通用异步收发器在其中扮演着重要角色:完成数据的串

    5、并转换,即把并行数据按照通信波特率转化为通信协议中规定的串行数据流,也可从串行数据流中取出有用数据转变为并行数据。 FPGA是英文 Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 FPGA 采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB (Configurable Logic Block)、输出输入模块

    6、IOB(Input Output Block)和内部连线(Interconnect)三个部分。 FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC电路的中试样片。3)FPGA内部有丰富的触发器和IO引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列,TI公司的TPC系列、ALTE

    7、RA公司的FIEX系等。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。 FPGA有多种配置模式:并行主模式

    8、为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。FPGA的设计难点:1)不同时钟域转换2)高速电路设计,信号完整性3)降低功耗1.4课题研究的指导思想与技术路线UART(即Universal Asynchronous Receiver Transmitter 通用异步收发器)是一种应用广泛的短距离串行传输接口。UART允许在串行链路上进行全双工的通信。串行外设用到的RS232-C异步串行接口,一般采用专用的集成电路即UART实现。如8250、8251、NS

    9、16450等芯片都是常见的UART器件,这类芯片已经相当复杂,有的含有许多辅助的模块(如FIFO),有时我们不需要使用完整的UART的功能和这些辅助功能。或者设计上用到了FPGA/CPLD器件,那么我们就可以将所需要的UART功能集成到FPGA内部。使用Verilog将UART的核心功能集成,从而使整个设计更加紧凑、稳定且可靠。本文设计一利用FPGA实现的通用异步收发器UART,能实现与PC机之间的串口通信。1.5基于FPGA串口设计的技术要求 (1)设计出能完成串行数据发送和接收的的串口,可实现与PC机的通讯。(2)设计波特率为9600bit/s(3)收发数据帧格式定义为:1位起始位,8位数

    10、据位和1位停止位。(4)用modelsim仿真2 UART原理介绍2.1 UART结构和工作原理2.1.1UART介绍UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上,多数是16550AFN芯片。因为计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(First Input First Output,先入先出队列)传送到串行设备,

    11、若是没有FIFO,信息将变得杂乱无章,不可能传送到Modem。 UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。作为接口的一部分,UART还提供以下功能:将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠标也是串行设备)。可以

    12、处理计算机与外部串行设备的同步管理问题。图1 UART数据传输结构图2.1.2 UART 帧的格式UART 帧的格式包括线路空闲状态(idle,高电平有效)、起始位(start bit,低电平有效)、58 位数据位(data bits)、校验位(parity bit,可选)和1 位停止位(stop bit)。 字符的同步由起始位和停止位来实现。UART 内部配置有寄存器,可以配置实现数据位数(58 位)可选、是否有校验位和校验的类型等设置。 图2 UART数据帖格式 2.1.3 UART工作原理UART 接收器在工作时,信号检测器一直监视RxD 线上的电平,当RxD 线上出现低电平时, 通知串

    13、行接收控制器有数据需要接收,此时接收控制器启动移位寄存器、波特率发生器和数据位计数器. 在波特率时钟的驱动下移位寄存器将RxD 线上的电平值依次移入内部寄存器,当计数器的计数值达到10 时表示一帧数据接收完成,这时接收控制器产生数据接收完成中断,并从接收的数据帧中提取出数据并锁存,供后续模块使用.U ART 发送器在工作时,发送信号检测器一直监视发送请求信号是否有效, 若检测发送请求信号有效,则发送信号检测器停止接收发送请求. 发送请求信号传到串行发送控制器后, 控制器启动发送移位寄存器、波特率发生器和数据位计数器, 在波特率时钟的驱动下, 发送移位寄存器先发送一位起始位( 逻辑0) , 然后

    14、将待发送的并行数据从最低位开始逐位发出,数据发送完后, 再发送一位停止位( 逻辑1)。在移位寄存器移出一位逻辑值后数据位计数器加1,当数据位计数器记满10 表示一帖数据发送完成,此时控制器停止各个辅助部件并且再次启动发送信号检测器, 开始监视下一次发送请求. 3方案选择3.1设计语言选择 本次设计用的硬件描述语言是VHDL,主要原因是以前学过该语言和它具有如下优势:(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2)VHDL丰富的仿真语句和

    15、库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。3.2电平转换方式选择RS232C 是与RS499、RS423、RS422和RS485 并列的一种UART ( universal asynchronous receiver / transm it

    16、ter)接口标准规范和总线标准规范. 这些规范虽然规定了不同的通信接口电气特性、传输速率、连接特性和接口的机械特性等内容, 但是都对应异步串行通信协议. 由于实际中PC 的外部接口配置为RS232C 已经成为事实标准, 所以文章以RS232C 为基础编写FPGA 串口驱动程序。而MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,所以电平转换部分就是用MAX232实现的。 3.3 FPGA核心芯片的选择 本系统用的主芯片是EP1C12Q240C8,该系列的芯片采用324引脚、BGA封装的EP1C12 FPGA,它拥有12060个LE,52个M4K片上RAM(共计

    17、239616bits),2个高性能PLL以及多达249个用户自定义IO。同时,系统还可以根据用户不同的设计需求来更换其它不同系列的核心板,如: EP1C6、EP2C20、EP3C25等。所以,不管从性能上而言,还是从系统灵活性上而言,它都会成为我们的好帮手。 EP1C12核心板具有JTAG调试接口、50MHz高精度时钟源等可用资源,因此对于设计和仿真都提供了较好的条件。3.4 总体设计框图图3 总体设置框图4 系统硬件设计4.1 器件芯片介绍4.1.1 FPGA核心板EP1C12介绍EP1C12核心板为基于Altera Cyclone器件的嵌入式系统开发提供了一个很好的硬件平台,它可以为开发人

    18、员提供以下资源: 1 主芯片采用Altera Cyclone器件EP1C12F324C8 2 EPCS4I8配置芯片3 4个用户自定义按键4 4个用户自定义LED 5 1个七段码LED 6 标准AS编程接口和JTAG调试接口7 40MHz高精度时钟源8 三个高密度扩展接口 9 系统上电复位电路 10 支持+5V直接输入,板上电源管理模块系统主芯片采用324引脚、BGA封装的E1C12 FPGA,它拥有12060个LE,52个M4K片上RAM(共计239616bits),2个高性能PLL以及多达249个用户自定义IO。同时,系统还可以根据用户不同的设计需求来更换其它不同系列的核心板,如: EP1

    19、C6、EP2C20、EP3C25等。图4 EP1C12核心板系统功能框图FPGA开发平台提供了丰富的资源供学生或开发人员学习使用,资源包括接口通信、控制、存储、数据转换以及人机交互显示等几大模块,接口通信模块包括SPI接口、IIC接口、VGA接口、RS232接口、USB接口、PS2键盘/鼠标接口、1Wire接口等;存储模块包括EEPROM存储器模块等;数据转换模块包括串行ADC、 DAC以及音频CODE等;人机交互显示模块包括8个按键、16个LED发光二极管显示、1602字符型点阵LCD、8位动态7段码管、实时时钟、SD卡等。上述的这些资源模块既可以满足初学者入门的要求,也可以满足开发人员进行

    20、二次开发的要求。EDA/SOPC实验开发平台提供的资源有: 1、 标准配置核心板为EP1C12核心板(核心芯片为EP1C12F324C8)。可更换EP2C20F484C8等其它核心板。2、 1602字符型液晶点阵。3、 RTC,提供系统实时时钟。4、 1个256色VGA接口。 5、1个标准串行接口。6、 1个USB设备接口,利用PDIUSBD12芯片实现USB协议转换。7、 基于SPI或IIC接口的音频CODEC模块。8、 1个蜂鸣器输出模块。9、 2个PS2键盘/鼠标接口。10、 串行ADC和串行DAC模块。11、 IIC接口的EEPROM存储器模块。12、 基于1-Wire接口的数字温度传

    21、感器。13、 8位动态七段码管LED显示。14、 16个用户自定义LED显示,8个用户自定义按键输出。15、 一个SD卡接口模块。16、 扩展接口,供用户高速稳定的自由扩展。 图5 FPGA系统平台功能框图JTAG调试接口 在FPGA开发过程中,JTAG是一个比不可少的接口,因为开发人员需要下载配置数据到FPGA。在Nios II开发过程中,JTAG更是起着举足轻重的作用,因为通过JTAG接口,开发人员不仅可以对Nios II系统进行在线仿真调试,而且还可以下载代码或用户数据到CFI Flash中。开发板上提供如图2-6所示的10针插座,其每个插针的信号定义见表1。图6 开发板上的JTAG调试

    22、插座JP1插座信号定义 1TCK 2GND 3TDO 4Vcc(3.3V) 5TMS 6 / 7/ 8/ 9TDI 10GND 表1 JTAG插座信号定义注: /表示该插针没有任何信号。晶振核心板上提供了高精度、高稳定性50MHz的有源晶振,晶振所输出的脉冲信号直接与FPGA的时钟输入引脚相连。如果设计人员需要其它频率时钟源,可以在FPGA内部进行分频或利用FPGA内部PLL倍频等途径来得到。有源晶振的输出端与FPGA的IO接口对应关系如表2所示。40M时钟信号EP1C12引脚40MHZ J3 表3 时钟信号与FPGA IO接口对应表 -4.1.2 MAX232 MAX232芯片是美信公司专门

    23、为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。 图7 MAX232芯片引脚介绍 第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据

    24、从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。主要特点1、符合所有的RS-232C技术标准 2、只需要单一 +5V电源供电 3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V- 4、功耗低,典型供电电流5mA 5、内部集成2个RS-232C驱动器 6、内部集成两个RS-232C接收器 7、高集成度,片外最低只需4个电容即可工作。4.1.3 RS232 RS232接口是1970年由美国电子工业协会(EIA

    25、)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。 该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。随着设备的不断改进,出现了代替DB25的DB9接口,现在都把RS232接口叫做DB9。RS-232C 的接口信号:RS-232C 的功能特性定义了25芯标准连接器中的20根信号线,其中2条地线、4条数据线、11条控制线、3条定时信号线,剩下的5根线作备用或未定义。常用的只有10根,它们是:(1)联络控制信号线:

    26、 数据发送准备好(Data set ready-DSR)有效时(ON)状态,表明MODEM处于可以使用的状态。 数据终端准备好(Data terminal ready-DTR)有效时(ON)状态,表明数据终端可以使用。 这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。 请求发送(Request to send-RTS)用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON状态),向MODEM请求发送。它用来控制MODEM是否要进入发送状态。 允许发送(Clea

    27、r to send-CTS)用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线TxD发送数据。 这对RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。 接收线信号检出(Received Line detection-RLSD)用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号

    28、有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字两数据后,沿接收数据线RxD送到终端。此线也叫做数据载波检出(Data Carrier dectection-DCD)线。 振铃指示(Ringing-RI)当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。 (2)数据发送与接收线: 发送数据(Transmitted data-TxD)通过TxD终端将串行数据发送到MODEM,(DTEDCE)。 接收数据(Received data-RxD)通过RxD线终端接收从MODEM发来的串行数据,(DCEDTE)。 (3)地线 : GND、Si

    29、g.GND保护地和信号地,无方向。 上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有当DSR和DTR都处于有效(ON)状态时,才能在DTE和DCE之间进行传送操作。若DTE要发送数据,则预先将DTR线置成有效(ON)状态,等CTS线上收到有效(ON)状态的回答后,才能在TxD线上发送串行数据。这种顺序的规定对半双工的通信线路特别有用,因为半双工的通信才能确定DCE已由接收方向改为发送方向,这时线路才能开始发送。 2个数据信号:发送TXD;接收RXD。 1个信号地线:SG。 6个控制信号: DSR 数传发送准备好,Data Set Ready。 DTR 数据终端准备好,

    30、Data Terminal Ready。 RTS DTE请求DCE发送(Request To Send)。 CTS DCE允许DTE发送(Clear To Send),该信号是对RTS信号的回答。 DCD 数据载波检测(Data Carrier Detection),当本地DCE设备(Modem)收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收, 并且由DCE将接收到的载波信号解调为数字信号, 经RXD线送给DTE。 RI 振铃信号(Ringing),当DCE收到对方的DCE设备送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。 由于RS232接口标准出现较早,难免

    31、有不足之处,主要有以下四点: (1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。 (2)传输速率较低,在异步传输时,波特率20Kbps。 (3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 (4)传输距离有限,最大传输距离标准值为50英尺(实际15米)。RS232(DB9)接口定义图8 接口说明1 DCD 载波检测 2 RXD 接收数据 3 TXD 发送数据 4 DTR 数据终端准备好 5 SG 信号地 6 DSR 数据准备好 7 RTS 请求发送 8 CTS 允许发送 9 RI 振铃提示4.2 系统硬件框图图9 系统硬件图4.3 主要组成电路分析本系统设计目标主要包括两个部分:FPGA模块、电平转换模块。4.3.1 FPGA模块 FPGA模块主要


    注意事项

    本文(学士学位论文基于fpga的串口设计正文.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开