基于FPGA的UART模块设计及仿真_第1页
基于FPGA的UART模块设计及仿真_第2页
基于FPGA的UART模块设计及仿真_第3页
基于FPGA的UART模块设计及仿真_第4页
基于FPGA的UART模块设计及仿真_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第29卷第23期基于FPGA的UART模块设计及仿真彭圆圆,刘林(中南大学交通运输工程学院,湖南长沙410075摘要:基于FPGA芯片为处理器的系统中,采用Verilog硬件描述语言设计了一款具有通用性的UART模块,通过仿真验证,做到了运行稳定、抗干扰性强。此驱动的实现方式通用性较好,实现了片上可编程系统,简化了电路设计,减少了电路板面积,因此具有很强的实际意义。关键词:FPGA;UART;Verilog;仿真中图分类号:TN941.1文献标识码:A文章编号:1006-8937(201023-0011-02DesignandsimulationofUARTmodulebasedonFPGAPENGYuan-yuan,LIULin(SchoolofTrafficandTransportationEngineering,CentralSouthUniversity,Changsha,Hunan410075,ChinaAbstract:Thesystem,usingFPGAchipastheprocessor,providesaUARTmodule,whichisdesignedbyVeriloghardwaredescriptionlanguageandcanbecommonlyspread.Simulationtestsshowthat,thissystemfeaturesstableandanti-jammingaswell.Becauseitcanprogramdirectlyonchips,simplifythecircuitdesign,andreducethecircuitarea,thesystemmeanssignificantlyonpractice.Keywords:FPGA;UART;Verilog;simulation收稿日期:2010-10-15作者简介:彭圆圆(1986—,女,湖南湘西人,硕士研究生,主要研究方向:测控及自动化。企业技术开发TECHNOLOGICALDEVELOPMENTOFENTERPRISE2010年12月Dec.2010UART(UniversalAsynchronousReceiver/Transmitter通用异步收发器是各种设备之间进行通信的关键模块,当一个设备需要和另一个连接的设备进行通信时,通常采用数字信号。在硬件方面采用的是基于CycloneIIFPGA系列的开发板,时钟晶振为50MHz。本文在做以FPGA为处理器的系统设计时,采用Verilog硬件描述语言设计,在片内集成了一款通用性较强的UART模块。用QuartuslI软件进行顶层和RTL级的仿真和观察,Model-Sim仿真工具仿真发送过程以及应用开发板上LED等辅助显示接收数据。结果使其性能稳定,并在此设计基础上更容易扩展为URATIPCORE,利于ASIC设计的重复利用。1RS-232通信协议RS-232全称为“数据终端设备(DTE和数据通信设备(DCE之间串行二进制数据交换接口技术标准”,该标准规定采用一25脚的串口连接器(DB25,不仅对连接器的每个引脚的信号内容加以规定,还规定了各种信号的电平。最为简单且常用的RS-232连接方法就是3线连接法,即地、接收数据和发送数据3脚相连。RS-232的串行总线在空闲的时候保持为逻辑“1”状态。当需要传送一个字符时,首先会发送一个逻辑为“0”的起始位,表示开始发送数据;之后就逐个发送数据位、奇偶校验位和停止位(逻辑“1”,每一次传输1个字符(可以设成5~8个比特。由于任意两个字符对应瞬间的时间间隔是可变的,因此也被称为异步格式。典型的传输时序如图1所示。图1数据传输时序图LSBMSB字符间隔字符1字符2stPspst起始位(start奇偶位(parity停止位(stop2UART控制器的Verilog实现2.1顶层模块组成结构UART通信控制器的顶层模块主要由3个子模块实现,包括波特率发生器、接收模块以及发送模块。顶层模块作为设计的主干,用于例化各个模块以及响应外围器件,其结构如图2所示。图2顶层模块的子模块组成tx_din[7:0]tx-cmdrstrxdclk_50MHzrstclkbclk顶层模块波特率发生器串口发送模块串口接收模块tx_din[7:0]tx-cmdresetbclktxdtx-readytxdtx-readybclkresetrxdtx_din[7:0]tx-readyLED驱动模块LED[7.0]2.2UART帧的格式本系统在数字应用开发板上实现的波特率为9600bit/s,包括了起始位、字符、停止位在内所有的比特(本设计为简单通用串口模块,为方便仿真暂不添加校验位。企业技术开发2010年12月对最低(有效位LSB上的起始位和最高(有效位MSB上的终止位对8位的数字进行打包,从而得到9位字格式。从起始位开始的前8个数据位按顺序发射,直到终止位有效时间可能会超过一个时钟周期。2.3Verilog程序设计FPGA的整个系统设计是自顶向下设计的,各个模块也是按着层次化的管理。UART模块分为3个模块:特率发生器、接收模块以及发送模块。最后由综合器把各模块电路映射到顶层模块。①波特率发生器。波特率发生器实际上是个分频器,从系统时钟频率分频得到所需要的波特率。通常来讲,为了提高系统的容错性处理,通过波特率发生器产生为实际串口数据波特率的N倍的波特率,N在本设计中取16,所以波特率发生器的信号输出频率为9600×16=153.6kbit/s。②发送模块。由于波特率发生器产生的时钟信号bclk的频率为9600Hz的16倍,因此,每16个bclk周期发送一个有效比特:首先是起始位(txd一个由逻辑1到逻辑0,且至少持续1/9600s,其次是由低位到高位的有效数据比特,再次是校验位,最后一位是停止位(逻辑1至少持续1/9600。发送模块采用FSM(有限状态机的方法,把整个发送流程分为s_idle、s_start、s_shift和s_stop。s_idle为空闲状态,当复位状态有效或者发送状态已完成时,发送模块就处于s_idle状态。当发送使能指令tx_cmd为高电平时,发送完成指示tx_ready为高电平,转为下一状态s_start,s_start为起始状态,拉低tx_ready信号,表明发送模块处于工作中,并拉低txd,跳转到s_wait状态。这一状态保持信号值不变,等待cnt记满16个bclk后,判断8个有效比特是否发送完毕,如果是则转到s_stop,结束有效数据的发送;否则,跳转到s_shift状态,发送到下一个有效比特。在状态进入s_stop时,会检查奇偶校验的结果,同时发送一停止位,发送完成后进入s_idle状态,并将tx_ready信号拉高。具体状态转移图如图3所示。图3发送模块状态转移图③接收模块。在接收系统中,一帧的所有有效数据都需要接收端检测到,为了避免毛刺等干扰的影响,对信号的每个数据进行16个样值采样(即采样频率为9600Hz的16倍,以最终超过8比的电平逻辑值为采样有效数据。同理,接收模块也采样FSM的方法,整个接收模块的状态机包含3个状态:s_idle、s_sample以及s_stop。s_idle为空闲状态,检测起始信号,复位后接收模块就处于这一状态。若检测到rxd由1跳到0,则立即进入s_sample,这一状态rx_ready信号的值为1。每个采样值采样16个,进行最大似然判决,而且重复8比,并且完成串并转换,之后直接进入s_stop状态,这一状态rx_ready信号值为0。s_stop状态用于检测停止位,等待一定时间后,直接跳到s_idle状态。经QuartusII综合得到接收模块状态转移图如图4所示。图4接收模块状态转移图3UART模块的验证仿真本UART模块的验证是通过选用Altera公司的CycloneII系列中的EP2C35F484芯片。用QuartusII进行逻辑综合,仿真工具使用ModelSim6.1。在发送模块仿真中,发送一帧8位数据11101110;接收模块的验证,使用串口助手给开发板发送一数据,用LED灯显示。发送模块的仿真结果如图5所示。通过仿真测试,下载到开发板的FPGA芯片中运行,与预期的结果一致,电路工作稳定、可靠。图5发送模块仿真4结语本文应用了FPGA集成UART功能模块。使用Verilog硬件描述语言设计了一个通用性强的UART模块,并使用Modelsim6.1仿真和开发板LED进行了验证,验证了模块的正确性。一般UART由专用芯片来实现,专用芯片在实际使用时往往只需要用到UART的基本功能,会造成资源浪费和成本提高。使用FPGA技术设计系统,可以减少电路板的面积,节省资源,又使系统在时序的改进方面提供了更多的余量。参考文献:[1]云创工作室.VerilogHDL程序设计与实践[M].北京:人民邮电出版社,2009.(下转第21页12第29卷第23期[2][美]MichaelD.Ciletti,张雅绮,李锵译.VerilogHDL高级数字设计[M].北京:电子工业出版社,2005.[3]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2008.[4]CycloneIIDeviceHandbook,Volume1[Z].2007.是否有故障,这就充分体现了其智能性。⑥测量显示数字化:长期以来,变电站采用指针式仪表作为测量仪器,准确度低,读数不方便。采用微机监控系统后,彻底改变了原来的测量手段,传统指针式仪表全被CRT显示器上的数字显示所代替,直观明了。而原来的人工抄表记录则完全由打印机打印、报表所代替。不仅减轻了值班员的劳动,而且提高了测量的精度和管理的科学性。正是由于变电站电气自动化系统具有的上述明显特征,其发展具有强劲的生命力。因此,近几年来,研究变电站电气自动化进入了高潮,其功能和性能也不断完善。变电站电气自动化将成为今后新建变电站的主导技术,同时也是变电站改造的首选产品。2自动化信息技术的应用2.1建立变电站高压电气系统自动化随着变电站自动化水平的提高,现场控制层的信息将进一步扩展,视频、音频等信息采集设备也将成为变电站自动化系统的组成部分,因此要求站级设备的性能应对这种扩展做出准备,通信能力相应提高。站级设备之间的互联宜采用广域网,以适应站级设备间高速数据交换的要求。站级设备在信息汇总的基础上,可借助数据库、优化运算等手段对全站数据进行综合、分类、优化、存储、转发等。变电站自动化系统远传端口除应具备载波、微波等低频通信接口外,还应具有ATM接入和充分利用广域网的能力,实现和调度及其他变电站的信息互联,从而实现电网互联的更多功能。建立在广域网-局域网-现场总线结构上的变电站自动化系统具有节约投资、简化安装、易于维护、组态灵活、高效可靠的特点,应在变电站自动化系统中推广使用。2.2建立自动化通信网络在变电站内可设置局域网,不同智能设备以不同的形式接入变电站局域网。部分远动、保护装置可以通过现场总线经微机综合数据处理后以TCP/IP(计算机标准通信协议接入站内的局域网,也可以用不同方式接入通信装置(如直流、交流、电量等智能装置,再由通信装置接入站内局域网。所有的工作站都挂在局域网上,实现数据共享。局域网通过网络交换机实现和国家电力数据网络的互联。在变电站自动化系统中增加V24接口,由ATM网实现连接。变电站原有的模拟接口(mx、数字接口可以作为备用通道予以保留。局部网络(LocalNetwork是一种在小区域内使各种数据通信设备互联在一起的通信网,并按照网络通信协议实现通信的系统。在该系统中,各计算机既能独立工作,又能交换数据进行通信。局部网络可分成两种类型:局部区域网络(简称局域网LAN和计算机交换机(CBX。局域网是局部网络中最普遍的一种,构成局域网的4大因素是网络的拓扑结构、传输介质、传输控制和通信方式,互联和通信是局域网络的核心。局域网可采用双绞线、同轴电缆或光纤等作为传输信道,也可采用无线信道。双绞线用于低速传输,最大传输速率每秒可达几兆比特。双绞线传输距离较近,但成本较低。厉油电缆可满足较高性能的要求,与双绞线相比,同轴电缆可连接较多的设备,传输更远的距离,提供更大的容量,抗干扰能力也较强。2.3实现系统自动化的技术支持配电网自动化系统的应用,首先是在配电网络载波通信技术获得突破、解决了系统通信问题以后而开始的。IEC自1995年后,发布了一系列基于配电载波通信的配电网自动化系统的标准(技术文件和报告。IEC在其标准中对基于配电载波通信系统(DLC配电网自动化系统(DAS的系统构成,进行了较为详细的描述。一个DAS系统有效结构的选择主要依赖于系统所要求的功能。3结语在科技高度发展的今天,电力网络的自动化已经成为电力系统应用的趋势和潮流。变电站作为供电系统的通路枢纽,承担了由供电网络向实际用户的电力能源转换任务。而高压电气系统更是变电站的核心,实现高压电气系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论