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

    基于FPGA的串口通讯电路设计.docx

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

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

    基于FPGA的串口通讯电路设计.docx

    1、基于FPGA的串口通讯电路设计本科学生毕业论文论文题目:基于FPGA的串口通信电路设计学 院:电子工程学院年 级:专 业:集成电路设计与集成系统姓 名:学 号:指导教师:2011 年 5 月 28 日摘要串行通信接口是一种应用广泛的通信接口。目前,大部分处理器都集成了支持RS-232接口(又称EIA RS-232-C)的通用异步收发器(Universal Asynchronous Receiver/Transmitter,UART),本文设计了一个串口数据采集和处理程序,详细介绍了用Verilog HDL硬件描述语言来开发波特率发生器、接收模块和发送模块这三个模块,以及系统各个模块的具体设计方

    2、法和原理,用Quartus II软件进行仿真并给出结果,分别验证各个模块的正确性。本设计还使用基于ALTERA公司的Cyclone II EP2C5T144芯片的FPGA开发板,在FPGA开发板上实现和PC通过串口调试软件完成双向通信,不仅要求将开发板的数据显示在PC的串口调试助手软件上,还要求用PC发送数据的ASCII码来驱动电路的8个LED灯,验证用FPGA实现串行通信的可行性。关键词串行通信;RS-232;UART;Verilog HDL;FPGAAbstractSerial communication interface is a widely used communication i

    3、nterface. At present, most of processor integrated RS-232(EIA RS-232-C) interface to support UART (Universal Asynchronous Receiver/Transmitter) communication, This thesis design a data acquisition and treatment program. Besides that, the thesis introduced Baud Rate Generator module、Receiver module、S

    4、end module based on language Verilog HDL and give the results by simulate in Quartus II software. This design also uses EP2C5T144 FPGA chip to achieve the two-way communication by simulate with Quartus II and PC through the serial port debugging software. Not only requires the development boards dat

    5、a displayed in the PCs serial port debugging software, also ask ASCII data sent by PC Code to drive eight LED lights, meanwhile verified the serial communication with FPGA.Key wordsSerial communication; RS-232; UART; Verilog HDL; FPGA第1章 语言和工具1.1 Verilog HDL语言概述Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽

    6、象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog HDL语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog仿真

    7、器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。Verilog HDL语言最初是于1983年由Gateway Design Automation公司为其模拟器产品开发的硬件建模语言。那时它只是一种专用语言。由于他们的模拟、仿真器产品的广泛使用,Verilog HDL作为一种便于使用且实用的语言逐渐为众多设计者所接受。在一次努力增加语言普及性的活动中,Veri

    8、log HDL语言于1990年被推向公众领域。Open Verilog International(OVI)是促进Verilog发展的国际性组织。1992年,OVI决定致力于推广Verilog OVI标准成为IEEE标准。这一努力最后获得成功,Verilog 语言于1995年成为IEEE标准,称为IEEE Std 13641995。完整的标准在Verilog硬件描述语言参考手册中有详细描述。下面列出的是Verilog HDL硬件描述语言的主要能力:基本逻辑门,例如and、or和nand等都内置在语言中。用户定义原语(UDP)创建的灵活性。用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语

    9、。开关级基本结构模型,例如pmos和nmos等也被内置在语言中。提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式使用过程化结构建模;数据流方式使用连续赋值语句方式建模;结构化方式使用门和模块实例语句描述建模。Verilog HDL中有两类数据类型:线网数据类型wire和寄存器数据类型reg。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。能够描述层次设计,可使用模块实例结构描述任何层次。设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。Verilog HDL不再是某些公司的

    10、专有语言而是IEEE标准。人和机器都可阅读Verilog HDL语言,因此它可作为EDA的工具和设计者之间的交互语言。Verilog HDL语言的描述能力能够通过使用编程语言接口(PLI)机制进一步扩展。PLI是允许外部函数访问Verilog 模块内信息、允许设计者与模拟器交互的例程集合。设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级(RTL)到算法级,包括进程和队列级。能够使用内置开关级原语在开关级对设计完整建模。同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。Verilog HDL能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。这些值

    11、也能够用于与期望值比较,在不匹配的情况下,打印报告消息。在行为级描述中,Verilog HDL不仅能够在RTL级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述。能够使用门和模块实例化语句在结构级进行结构描述。Verilog HDL的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。Verilog HDL 还具有内置逻辑函数,例如&(按位与)和|(按位或)。对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用。可以显式地对并发和定时进行建模。提供强有力的文件读写能力。语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果;

    12、例如,事件队列上的事件顺序在标准中没有定义。1.2 FPGA概述FPGA(Field Programmable Gate Array)现场可编程逻辑门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。它是当今数字系统设计的主要硬件平台,其主要特点就是完全由用户通过软件进行配置和编程,从而完成某种特定的功能,且可以反复擦写。在修改和升级时,不需额外地改变PCB电路板,只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了系统设计的

    13、周期,提高了实现的灵活性并降低了成本。一、什么是可编程逻辑器件:在数字电子系统领域,存在三种基本的器件类型:存储器、微处理器和逻辑器件。存储器用来存储随机信息,如数据表或数据库的内容。微处理器执行软件指令来完成范围广泛的任务,如运行字处理程序或视频游戏。逻辑器件提供特定的功能,包括器件与器件间的接口、数据通信、信号处理、数据显示、定时和控制操作、以及系统运行所需要的所有其它功能。逻辑器件又分为固定逻辑和可编程逻辑,固定逻辑是器件复杂性不同,从设计、原型到最终生产,当应用发生变化时就要从头设计,可编程逻辑器件较固定的优点就在于当应用发生变化和器件工作不合适时不用从头设计,直接从新编写逻辑器件后就

    14、可以了,这样就节省了前期的开发费用和周期。二、可编程逻辑器件CPLD/FPGA的比较:可编程逻辑包括PAL、GAL、PLD等,经过不断的发展,演变成现在的CPLD/FPGA。CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件和FPGA(Field Programmable Gate Array)两者的功能基本相同,只是实现的原理有些不同,忽略两者的区别时统称为可编程逻辑器件或者是CPLD/FPGA。两者的区别一般有如下特点:(1)CPLD的逻辑单元比较大,容量较小,时序确定,延时可预测,FPGA基于查找表(LUT)所以时间上取决于查找表的路由。(2

    15、)CPLD的容量一般比较小,寄存器少,适合做一些容量不大,组合逻辑比较复杂的设计,如地址译码器,总线接口和上电复位逻辑等,相反FPGA则可以做一些容量大,内嵌存储器等高级设计,如嵌入式CPU,数据处理等。(3)CPLD内部连线采用连续性内部连线,这样的链接延时比较固定,但受连接路径的影响,FPGA则采用片段链接,可以充分利用连线资源。(4)FPGA可以提供比CPLD器件足够大的逻辑容量密度,大大减少PCB的空间,降低系统的功耗。上述了CPLD和FPGA的区别,但是作为可编程逻辑器件,他们也有其共同的特点,概括起来他们基本组成分三大部分:(1)二维的逻辑阵列(逻辑单元),构成器件的德逻辑组成核心

    16、。(2)输入和输出块(I/O),负责芯片与外界电路的借口连接。(3)链接逻辑块的互联资源,用于逻辑块之间,逻辑块与输入/输出之间的连接。三、FPGA的特点:(1)高性能是实时性,由于FPGA芯片内部是通过上百万个逻辑单元完成硬件实现,具有并行处理的能力,运算速度比平常的单片机和DSP快很多。(2)高集成性FPGA可根据用户的需求在内部嵌入硬/软IP核,以实现不同的而要求而且采用SOPC技术也可节省目标硬件的面积。(3)高可靠性和地成本目前的FPGA芯片在出厂之前都做过100%的检测,不需要设计人员承担投片生产的费用。(4)高灵活性和低功耗FPGA是现场可编程,用户可以反复的编程,擦写,使用,或

    17、者在外围电路保持不变的情况下,采用不同的设计而实现不同的功能,这样给产品的升级和维护带来极大的方便。四、FPGA的体系结构:FPGA采用逻辑单元阵列LCA(Logic Cell Array)的概念,内部包括可配置逻辑模块CLB(Configurable Logic Block),输入/输出模块IOB(Input/Output Block),内部连线(Interconnect)和用于存放编程数据的静态存储器SRAM组成。五、FPGA的设计流程:FPGA是可编程芯片,因此FPGA的设计方法包括硬件设计和软件设计两部分。硬件包括FPGA芯片电路、存储器、输入输出接口电路以及其他设备,软件即是相应的V

    18、HDL程序和Verilog HDL程序。FPGA采用自顶而下的设计方法,开始从系统级设计,然后逐步分化到二级单元,三级单元知道可以直接操作基本逻辑单元或IP核为止,一般情况下设计流程如图1-1所示,步骤如下:图1-1 FPGA开发的一般流程(1)功能定义/器件选型在FPGA设计项目开始之前,必须有系统功能的定义和模块的划分,另外就是要根据任务要求,如系统的功能和复杂度,对工作速度和器件本身的资源、成本、以及连线的可布性等方面进行权衡,选择合适的设计方案和合适的器件类型。(2)设计输入设计输入有原理图输入和硬件描述语言输入,原理图输入比较直观但不易仿真,但效率很低,且不易维护,不利于模块构造和重

    19、用。更主要的缺点是可移植性差,当芯片升级后,所有的原理图都需要作一定的改动。硬件语言包括VHDL和Verilog HDL以及System C等,硬件描述语言输入其共同的突出特点:语言与芯片工艺无关,利于自顶向下设计,便于模块的划分与移植,可移植性好,具有很强的逻辑描述和仿真功能,而且输入效率很高。(3)功能仿真功能仿真也称为前仿真是在编译之前对用户所设计的电路进行逻辑功能验证,此时没有延迟信息,仅是对功能的初步检测。(4)综合优化所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。就目前的层次来看

    20、,综合优化(Synthesis)是指将设计输入编译成由与门、或门、非门、RAM、触发器等基本逻辑单元组成的逻辑连接网表,而并非真实的门级电路。(5)综合后仿真综合后仿真检查综合结果是否和原设计一致。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。但这一步骤不能估计线延时,因此和布线后的实际情况还有一定的差距,并不十分准确。(6)实现与布局布线布局布线可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能链接的布线通道进行连线,并产生相应文件(如配置文件与相关报告),实现是将综合生成的逻辑网表配置到具体的FPGA芯片上

    21、。(7)时序仿真时序仿真,也称为后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规(即不满足时序约束条件或器件固有的时序规则,如建立时间、保持时间等)现象。时序仿真包含的延迟信息最全,也最精确,能较好地反映芯片的实际工作情况。(8)板级仿真与验证板级仿真主要应用于高速电路设计中,对高速系统的信号完整性、电磁干扰等特征进行分析,一般都以第三方工具仿真和验证。(9)芯片编程与调试设计的最后一步就是芯片编程与调试。芯片编程是指产生使用的数据文件(位数据流文件,Bitstream Generation),然后将编程数据下载到FPGA芯片中。逻辑分析仪(Logic Analyzer,L

    22、A)是FPGA设计的主要调试工具,但需要引出大量的测试管脚,且LA价格昂贵。目前,主流的FPGA芯片生产商都提供了内嵌的在线逻辑分析仪。六、FPGA的应用领域:随着FPGA厂商降低芯片的成本,FPGA被广泛应用于,通信,数字信号处理,工业控制,航空航天等领域,并取得非常高的可靠性。1.3 Quartus II软件介绍Quartus II软件是Altera公司的EDA开发软件,支持原理图、VHDL、Verilog HDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设

    23、计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上

    24、可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Altera Quartus II作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Quartus II软件支持APEX系列、Cyclone系列、Stratix系列和Excalibur系列等新型系列器件的开发。含有工作组计算、集成逻辑分析仪、EDA工具集成、多过程支持、增强重编译和IP集成等特性。支持百万门级的设计,支持高速I/O设计,具有更强的设计能力和更快的编译速度。Quartus II开发软件为可编程片上系统(SOPC)设计提供了一个完

    25、整的设计环境。无论是使用个人电脑、NUIX或Linux工作站,Quartus II都提供了方便设计、快速编译处理以及编程功能。Quartus II输入的设计过程可分为创建工程、输入文件、项目编译、项目校验和编程下载等几个步骤。1.4 FPGA开发板介绍本设计中开发板采用Altera公司Cyclone II系列EP2C5T144C8或者EP2C8T144C8芯片而设计的。帮助用户降低学习成本和加快用户快速进入可编程逻辑器件的设计开发领域。提供一个帮助用户快速学习可编程逻辑器件的硬件平台。开发板上使用JTAG接口对芯片进行编程,也可以使用AS接口下载。配送的ByteBlaster II下载线可以下

    26、载Altera公司的所有FPGA/CPLD芯片。开发板上所有的I/O口都通过排针引了出来,板上都有标示。引出来的I/O用户可以任意配置分配管脚,方便用户开发自己的产品,最大限度为用户节约学习成本。开发板硬件配置介绍:(1)CycloneII U1 EP2C5T144C8或者EP2C8T144C8(2)IIC U5 AT24C04或者AT24C02或者AT24C01(3)AS U6 EPCS1或者EPCS4(4)UART 通用的MAX232转换或者 USB串口小板(5)PS/2 A;PS/2 B(6)8个动态数码管(7)8个LED灯(8)BELL(9)LCD12864/LCD1602接口(10)

    27、4个独立按键(11)一个FPGA重配置按键(12)JTAG AS下载模式(13)上电模式:外接5V DC电源(14)50M有源晶体(15)8路数据输入,可以固定的输入1(高电平)或者0(低电平)本程序用到的LED灯管脚分配原理图如1-2所示,I/O口分配如下:D30 : PIN65、D31 : PIN69、D32 : PIN70、D33 : PIN71、D34 : PIN72、D35 : PIN73、D36 : PIN74、D37 : PIN60,当I/O口为低电平时LED点亮。图1-2 8个发光二极管I/O口分配本程序用到的串口通信,串口管脚分配原理图如1-3所示,I/O口分配如下:TX :

    28、 PIN 9、RX : PIN8。图1-3 串口接口的I/O口分配开发板上没有用的I/O都接了出来,具体请看学习板上的标示,板上更清楚。没有用的I/O口如图1-3所示。本设计中输出的节后也用到了其中几个I/O接口,后面分配的时候可以看到本设计具体分配的管脚。图1-4 没有用的I/O口分配1.5 本章小结首先本章主要对Verilog HDL语言进行简要概述,介绍了Verilog HDL语言的发展历史和Verilog HDL硬件描述语言具备的能力。其次还对Quartus II软件进行了简要概述,Quartus II作为一种可编程逻辑的设计环境,由于其强大的设计能力支持APEX系列、Cyclone系

    29、列、Stratix系列和Excalibur系列等新型系列器件的开发。含有工作组计算、集成逻辑分析仪、EDA工具集成、多过程支持、增强重编译和IP集成等特性。支持百万门级的设计,支持高速I/O设计,具有更强的设计能力和更快的编译速度。Quartus II输入的设计过程可分为创建工程、输入文件、项目编译、项目校验和编程下载等几个步骤。最后本章还对FPGA进行了简要概述,并且对本设计将用到的FPGA开发板进行了介绍,以及本设计中将要用到的I/O口都给出了图示。后面的章节将用到本章介绍的Verilog HDL语言和Quartus II软件以及FPGA开发板,还将对软件的使用和开发过程进行详细介绍。第2

    30、章 串口通信协议简介RS-232接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。本章主要介绍RS232接口的原理介绍。2.1 串口通信接口串口即串行数据接口,是一种常用的数据接口。在PC一般都有两个串行口(COM1和COM2),其形状如图1-1所示,是典型的9针D形接口,也称为DB9。由于串口多采用RS-232-C传输协议并长达数十年,因此也常被称为RS-232接口。 图2-1 串口的物理形状示意图串口主要用于网管控制或主业务数据的传输,支持数据的双向

    31、传输,速率9600-115200bps,即可以完成和PC的通信,也可以完成与带有标准串口的外设相连,其典型的连接方式如图1-2所示。其中串口接口分为带插孔和带插针的两种,其中插针端称为DCE,插孔端称为DTE。图2-2 串口连接的示意图2.2 RS232通信协议RS-232全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”,该标准规定采用25个脚的串口连接器(DB25),不仅对连接器的每个引脚的信号内容加以规定,还规定了各种信号的电平。标准的RS-232-C协议具有25根信号线,其中有4根为数据线、11根控制线、3根定时线和7根备用线。通常情况下,使用其中的9根线就可以实现RS-232串口通信。通常DB-25也可以像DB-9那样使用,但是它们的针号和针孔之间的连接关系是不一样的,下面给出常用的25针DB-25和DB-9的对照表以及管脚说明,如表1-1所示。表2-1 RS-232-C接口引脚定义DB25DB9信号源信号名信号功能描述23DCETXD发送数据,终端通过此将信号发给调制器32DTERXD接收数据,终端通过此从调制器接收数据47DCERTS请求发送,当终端需要发送数据时,使能该信号,控制调制器进入发送状态58DTECTS允许发送,当调制器准备好接收数据时,使能该信号,通知终端开始发送


    注意事项

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

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




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

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

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


    收起
    展开