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

    基于FPGA的串口设计Word文件下载.docx

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

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

    基于FPGA的串口设计Word文件下载.docx

    1、3.3电平转换方式选择 83.4总体框图设计 9第四节 系统硬件设计 94.1 器件芯片介绍 94.1.1 FPGA核心板EP1C12介绍 94.1.2 MAX232 104.1.3 RS232 114.2 系统整体结构 11第五节 系统软件设计 135.1发送数据程序流程图 135.2接收数据流程图 145.3系统源程序设计 15第六节 总结 19致谢 20参考文献 21摘要 随着微电子技术的发展,电子设备逐渐向着小型化、集成化方向发展。由于具有可靠性高、传输距离远、线路简单等优点,被广泛应用于串行通信电路。本设计是基于现场可编程门阵列的嵌入式模块化设计方法。利用实现的功能与机实现串口通信。

    2、模块是通过转换电平与机进行通信,采用硬件描述语言()实现逻辑电路,整个设计采用模块化实现,通过有限状态机,增加设计灵活性、降低成本。关键字【、串行通信、机、】AbstracWith the Rapid development of microelectronics technology,Electronic equipment become smaller and integrated . UART because of its high reliability ,long transmission distance ,lines become broader and simple seria

    3、l data communication circuit.The design is based on Field Programmable Gate Array(FPGA) design methodology for embedded UART.We use FPGA to come true the communication between UART and personal computer,all based on these modules feature hardware description language VHDL and implemented through the

    4、 finite state machine, and enhance design flexibility, reduced costs. Key Words:【、USART、】 第一节 绪论. 研究背景 近几十年,电子技术飞速发展,高新科技日新月异。传统的设计方法也逐渐被淘汰掉,取而代之的是基于的芯片设计技术。现场可编程门阵列FPGA(Field Programmable Gate Array)与复杂可编程器件CPLD(Complex Programmable Logic Device)是当今最常见的两类可编程集成电路(),其性能好、可靠性高、容量大、体积小、功耗小、使用灵活、设计周期短、成

    5、本低、硬件功能能够通过编程实现,提高电子设计系统的灵活性和通用性。它广泛应用于航天航空、网络通信、军用雷达、工业控制等多个领域,但FPGACPLD器件同单片机、等器件不同,内部没有集成的UART,因此要实现串行通信,必须另行开发独立UART模块。UART即通用异步收发器(Universal Asynchronous Receiver/Transmitter),它在数据通信时需要的连线少,具有相关工业标准提供的标准的接口电平规范,所以被广泛用于控制领域。本设计是基于FPGA器件设计了符合RS-232标准的UART,以利于实现FPGA开发系统与机之间的串口数据交换。1.课题研究现状及发展存在的主要

    6、问题 通用异步收发器(UART)是雷达中常用的器件类型,多用于全机检测、指令发送接收、状态传递、键盘显示操作以及控制等。由于许多大的器件供应商不在生产此类军用类产品,因此,就必须用别的方法其在雷达中的应用。应用可编程器件实现UART功能模块,既可以满足产品类别的需求,又可以在使用中根据实际情况更改配置,这是我们设计中值得考虑的一种方法。在嵌入式系统中,CPU往往要通过各种串行数据总线与“外界”进行通信。FPGA芯片具有静态可重复编程和动态在系统重构的特性,使得硬件功能可通过软件的编程修改参数来实现,极大的提高了电子系统设计的灵活性与适用性。因此UART技术的FPGA实现正广泛应用于军事及其他领

    7、域。当今社会是数字化的社会,数字集成电路广泛应用于社会个各领域。数字集成电路从电子管、晶体管、中小规模集成电路、超大规模集成电路(VISIC)逐步发展成专用集成电路(ASIC)。但ASIC由于其设计周期长,不够灵活等缺陷制约着它的应用。现场可编辑逻辑器件的出现使ASIC设计周期大大缩短,使能广泛应用到实际中去。FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,它采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block

    8、)和内部连线(Interconnect)三个部分。FPGA的基本特点:1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC电路的中试样片。3)FPGA内部有丰富的触发器和I/O引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 1.3课题研究的指导思想及其技术指标自第一个大规模集成电路芯片发明后,从上世纪年代UART就得到广泛的应用,进过几

    9、十年发展,UART芯片的引脚名称、功能等基本没有太大改变。这些年由于一下高速odem以及一些软件要求更高的传输速率,UART芯片内部基本构架也得到扩展。UART在系统中作为接口,提供一下功能:1将计算机内部传输来的并行数据转换为传出的串行数据流。2将计算机外部的串行数据转换为字节,供计算机内部并行数据器件使用。3在输出串行数据流中加入奇偶校验,并对外部接收的数据流进行奇偶检验。4在输出串行数据流中加入启停标记,并对外部进入的数据流删除启停标记。1.3.1UART模块UART内核模块是整个设计的核心。在数据接收时,UART内核模块负责控制波特率发生器和移位寄存器同步的接收并且保存RS-232接收

    10、端口上的串行数据。在数据发送时,UART内核模块首先生产完整的发送序列,之后控制移位寄存器将序列加载到移位寄存器的内部寄存器里。最后再控制波特率发生器驱动移位寄存器将数据串行输出。1.3.2基于FPGA串口设计的技术要求(1)能够设计出与串行数据发送和接收的串口,可实现与机的通讯。(2)设计波特率为9600bit/s。(3)发送数据帧格式定义为:位起始位,位数据位和位停止位。(4)用modelsim仿真第2节 UART原理介绍2.1 UART结构和工作原理2.1.1 UART原理 UART即通用异步收发器,是一种串行通信方式。数据在传输过程中是通过一位一位地进行传输来实现通信的,串行通信方式具

    11、有传输线少,成本底等优点,缺点是速度慢。串行通信分为两种类型:同步通信方式和异步通信方式。但一般多用异步通信方式,主要因为接受和发送的时钟是可以独立的这样有利于增加发送与接收的灵活性。异步通信是一个字符接着一个字符传输,一个字符的信息由起始位、数据位、奇偶校验位和停止位组成。每一个字符的传输靠起始位来同步,字符的前面一位是起始位,用下降沿通知收方开始传输,紧接着起始位之后的是数据位,传输时低位在前高位在后,字符本身由58位数据位组成。数据位后面是奇偶校验位,最后是停止位,停止位是用高电平来标记一个字符的结束,并为下一个字符的传输做准备。停止位后面是不同长度的空闲位。停止位和空闲位都规定为高电平

    12、,这样可以保证起始位有一个下降沿。UART的帧格式如图2.1所示。UART的帧格式包括线路空闲状态(idle,高电平)、起始位(start bit,低电平)、58位数据位(data bits)、校验位(parity bit,可选)和停止位(stop bit,位数可为1、1.5、2位)。 在串口的异步通信中,数据以字节为单位的字节帧进行传送。发送端和接收端必须按照相同的字节帧格式和波特率进行通信。其中字节帧格式规定了起始位、数据位、寄偶效验位、停止位。起始位是字节帧的开始。使数据线处于逻辑0状态 ,用于向接收端表明开始发送数据帧,起到使发送和接收设备实现同步。停止位是字节帧的终止,使数据线处于逻

    13、辑1状态。用于向接收端表明数据帧发送完毕。波特率采用标准速度9600bit/s。 这种格式是由起始位和停止位来实现字符的同步。UART内部一般有配置寄存器,可以配置数据位数(58位)、是否有校验位和校验的类型、停止位的位数(1,1.5,2)等设置将发送器和接收器模块组装起来,就能较容易地实现通用异步收发器总模块,而且硬件实现不需要很多资源,尤其能较灵活地嵌入到FPGA/CPLD的开发。.UART的结构UART的设计采用模块化的设计思想,主要分为 3个模块:数据发送模块、数据接收模块及波特率发生器控制模块。发送模块实现数据由并行输入到串行输出,接收模块实现数据由串行输入到并行输出,波特率发生器模

    14、块控制产生UART时钟频率。从图中可以看出UART主要有由数据总线接口、控制逻辑、波特率发生器、发送部分和接收部分组成且控制逻辑一般是由MP即微处理器模块实现,图中的对象器件一般指和CPU进行通信的外围串行通信设备类打印机等。 连线采用最简单的3线制连接模式,即只需要两根信号线和一根地线来完成数据收发。而FPGA 只需要选择两个普通I/O引脚分别与接口芯片MAX3232对应引脚T2IN、R2OUT相连即可完成将串口电平转换为设备电路板的工作电平,即实现RS-232电平和TTL/ CMOS 电平的转换。一个MAX3232芯片可以支持两个串口的电平变换,我们选择其中的一组接口,图中的4个电阻可以省

    15、去。在电路中加入了0 的跳线电阻,是为了在这组接口出故障时可以方便地跳线,使用另一组接口。第3节 方案选择3.1 设计语言选择3.1.1VHDL编程语言的优势 (1)与其它的硬件描述语言相比VHDL具有更强的行为描述能力 从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构 从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统

    16、高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 3.1.2VHDL基本介绍 对FPGA进行设计,我们有两种设计输入方式:一种是硬件描述语言输入方式 一种是原理图设计输入方式。本设计以硬件描述语言输入方式进行设计 因此对原理图设计输入方式 我们不做介绍。 硬件描述语言使用的是文本方式描述设计 他又分为普通硬件描述语言和行为描述、语言两种

    17、。普通硬件描述语言有ABEL-HDL、CUPL等 他们支持逻辑方程、真值表、状态机等逻辑表达方式。目前 行为描述语言是非常常用的一种高层描述语言 它有两种描述方式 VHDL和Verilog-HDL。现在这两种描述语言都成为了IEEE标准 而且他们分别都有自己的优点 设计者在系统设计、逻辑验证阶段就可以确定方案的可行性 语言可以公开利用 便于实现大规模的系统设计 硬件描述语言有很强的逻辑描述和仿真功能。 VHDL作为硬件描述语言的一种 它和Verilog在细节上有一定的区别 但是他们最大的区别在于所处的开发环境不同 Verilog它根源于传统的自底而上的设计 因而被集成电路工业基于单元的设计大量

    18、采用 而VHDL多采用的是自定而上的设计开发。 VHDL模型具有不同的构造体 有功能构造体、行为构造体、结构构造体三种。我们可以把VHDL模型分为两个部分 接口部分 VHDL中的实体entity 和行为部分 VHDL中的构造体architecture 。实体的作用是在VHDL模型中定义模块如何与其他的模型进行连接的 在实体的内部我们可以定义模型的名称以及任何要传递给模型的参数 端口定义等。3.2FPGA核心芯片的选择本系统用的主芯片是EP1C12Q240C8,该系列的芯片采用324引脚、BGA封装的EP1C12 FPGA,它拥有12060个LE,52个M4K片上RAM(共计239616bits

    19、),2个高性能PLL以及多达249个用户自定义IO。同时,系统还可以根据用户不同的设计需求来更换其它不同系列的核心板,如: EP1C6、EP2C20、EP3C25等。所以,不管从性能上而言,还是从系统灵活性上而言,它都会成为我们的好帮手。 EP1C12核心板具有JTAG调试接口、50MHz高精度时钟源等可用资源,因此对于设计和仿真都提供了较好的条件。3.3电平转换方式选择 RS232C 是与RS499、RS423、RS422和RS485 并列的一种UART ( universal asynchronous receiver / transm itter)接口标准规范和总线标准规范. 这些规范虽

    20、然规定了不同的通信接口电气特性、传输速率、连接特性和接口的机械特性等内容, 但是都对应异步串行通信协议. 由于实际中PC 的外部接口配置为RS232C 已经成为事实标准, 所以文章以RS232C 为基础编写FPGA 串口驱动程序。而MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,所以电平转换部分就是用MAX232实现的。3.4总体框图设计第四节 系统硬件设计4.1 器件芯片介绍 4.1.1 FPGA核心板EP1C12介绍 EP1C12核心板为基于Altera Cyclone器件的嵌入式系统开发提供了一个很好的硬件平台,它可以为开发人员提供以下资源:(1)主芯

    21、片采用Altera Cyclone器件EP1C12F324C8 (2)EPCS4I8配置芯片(3) 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。FPGA开发平台提供了丰富的资源供学生或开发人员学习使用,资源包括接口通

    22、信、控制、存储、数据转换以及人机交互显示等几大模块,接口通信模块包括SPI接口、IIC接口、VGA接口、RS232接口、USB接口、PS2键盘/鼠标接口、1Wire接口等;存储模块包括EEPROM存储器模块等;数据转换模块包括串行ADC、 DAC以及音频CODE等;人机交互显示模块包括8个按键、16个LED发光二极管显示、1602字符型点阵LCD、8位动态7段码管、实时时钟、SD卡等。上述的这些资源模块既可以满足初学者入门的要求,也可以满足开发人员进行二次开发的要求。 EDA/SOPC实验开发平台提供的资源有: (1)、 标准配置核心板为EP1C12核心板(核心芯片为EP1C12F324C8)

    23、。可更换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接口的数字温度传感器。(13)、 8位动态七段码管LED显示。(14)、 16个用户自定义LED显示,8个用户自

    24、定义按键输出。(15)、 一个SD卡接口模块。(16)、 扩展接口,供用户高速稳定的自由4.1.2 MAX232 MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。引脚介绍:第一部分是电荷泵电路。由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脚(

    25、T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从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接收

    26、器 (7)、高集成度,片外最低只需4个电容即可工作。4.1.3 RS232 RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。 该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。随着设备的不断改进,出现了代替DB25的DB9接口,现在都把RS232接口叫做DB94.2 系统整体结构 本设计以FPGA为基础来实现异步通信,而UART模块就为本设计关键所在,如图所

    27、示,该模块主要有串行发送器、接收器以及波特率发生器三个模块组成。 波特率发生器模块:在异步通信中,发送方和接受方必须保持相同的波特率才能实现正确的数据传送。在本设计中,由于RS-232C传输必定是工作在某种波特率下,为了便于和RS-232C总线进行同步,需要产生符合RS-232C传输波特率的时钟。本设计完整的工作流程可以间单的分为数据接收过程和发送过程两部分。接收过程:当UART模块检测到有新数据(RS-232C总线传输线的起始位)就会触发接收流程。首先UART模块内部会重置波特率发生器和移位寄存器,控制逻辑使移位寄存器的工作模式为波特率模式,以准备数据接收,其次移位寄存器在波特率时钟的驱动下

    28、工作,不断的读取RS-232C串行总线上的输入数据,一位一位的接收,并且将数据保存到内部的数据寄存器内。然后在进行串并转换,在通过CPU内部数据总线传送到数据I/O缓存器,最后被CPU内部采用。 发送过程:当要发送数据出去时,先把要发送的CPU内部数据存储到数据I/O缓存器,传送到数据寄存器,然后进行串并转换。UART模块内部会重置波特率发生器控制逻辑控制移位寄存器进入RS-232C串行发送的协议模式,并且使移位寄存器工作在波特率模式下,于是移位寄存器便在波特率时钟的驱动下依次将数据寄存器的数据一位一位发送到RS-232C的发送端TXD,这样就产生了RS-232C的数据发送时序。第5节 系统软

    29、件设计5.1发送数据程序流程图5.2接收数据流程图5.3系统源程序设计end if; (1)主程序 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;entity top is port(clk32mhz,reset,rxd,xmit_cmd_p_in:in std_logic;总的输入输出信号的定义 rec_ready,txd_out,txd_done_out:out std_logic;txdbuf_in :in std_logic_vector(7 downto 0);待发送数据输入 rec_buf:out std_logic_vector(7 downto 0);接收数据缓冲 end top;architecture Behavioral of top is component reciever port(bclkr,resetr,rxdr:r_ready:rbuf: out std_logic_vector(7 downto 0)end component;component transfer


    注意事项

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

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




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

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

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


    收起
    展开