1 引言
数据采集系统常需要进行异步串行数据传输。目前广泛使用的RS232异步串行接口,如8250、 NS16450等专用集成器件,虽然使用简单,却占用面积、布线复杂等缺点。片上系统SoC(System on Chip)是以嵌入式系统为核心,以IP复用技术为基础,集软、硬件于一体的设计方法。使用IP复用技术,将UART集成到FPGA器件上,可增加系统的可靠性,缩小板面积;其次由于IP核的特点,使用IP核可使整个系统更加灵活,还可根据需要实现功能升级、扩充和裁减。这里采用VHDL语言编写 UART模块,将其集成到FPGA上,与器件其他功能模块构成片上系统SoC。
2 异步串行口模块设计与实现
2.1 UART结构
图1为完整的UART接口,包括由发送锁存器、发送移位寄存器和逻辑控制组成的发送模块(txmit),以及由接收锁存器、接收移位寄存器和逻辑控制组成的接收模块(rxcver)。发送模块和接收模块除共用复位信号、时钟信号和并行数据线外,各自分别有输入输出和逻辑控制单元。
2.2 UART的帧格式
图2为UART的帧格式。该帧格式包括线路空闲状态(idie,高电平)、起始位 (start bit,低电平)、5~8位数据位(databit)、校验位(parity bit,可选)和停止位(stop bit,位数可为1、1.5、2位)。该格式是由起始位和停止位实现字符同步。UART内部一般有配置寄存器,可配置数据位数(5~8位)、是否有校验位和校验的类型、停止位的位数等设置。
2.3 波特率时钟的控制
由于数字量接口、工作模式选择、实时监测接口的波特率都不同,UART核包含一个可编程的波特率发生器,可灵活配置波特率。波特率发生器给发送模块和接收模块提供发送数据和接收数据的基准时钟,波特率发生器产生的时钟mclkx16是串行数据波特率的16倍。它对系统时钟n分频,n=系统时钟/波特率×16,针对不同波特率设定相应数值可得到所期望的波特率时钟。
2.4 发送模块设计
发送模块分为空闲、载入数据、移位等3种模式。如图3所示。当并行8位数据从总线写入发送模块后,发送模块将并行数据装入锁存器thr中,然后在移位寄存器tsr中将数据移位,产生完整的发送序列(包括起始位,数据位,奇偶校验位和停止位),以相应波特率从tx发送。发送模块的输入时钟mclkx16是串行数据波特率的16倍,模块内部将其16分频后得到波特率时钟txclk。
发送模块部分VHDL程序如下:
2.5 接收模块设计
接收模块也分为空闲、检测起始位、移位等3种模式。如图4所示。首先捕捉起始位,在 mclkx16时钟下不断检测从rx端输入数据的起始位,当检测到起始位后,接收模块由空闲模式转换为移位模式,并且16分频mclkx16产生 rxclk波特率时钟。此时rxclk时钟的上升沿位于串行数据每一位的中间,这样接下来的数据在每一位的中点采样。然后由rxclk控制在上升沿将数据位写入移位寄存器rgr的rsr[7]位,并且rsr右移1位,依次将8位数据全部写入rsr,并且停止产生rxclk波特率时钟。判断奇偶校验、帧结构和溢出标志正确后,rsr寄存器中的数据写入rhr数据锁存寄存器中,最后由8位数据总线输出转换完成的数据。
接收模块部分VHDL程序如下:
3 硬件电路设计
UART IP核设计完成后需要嵌入FPGA系统中才能运行,该系统选用Xilinx公司Spartan-IIE XC2S50型FPGA和与其配套的EPROM XC18V01组成,如图5所示。该系统已实现设计要求的功能,实现IP核的验证。
4 结果分析
程序经仿真验证后,须综合生成IP核并嵌人FPGA中。使用Xilinx公司的Xilinx ISE工具综合UART模块,FPGA选用Xilinx公司Spartan-IIE XC2S50,系统时钟40 MHz。经Xil-inx ISE后,资源使用结果如表1所示。表明使用少量FPGA的Slice和LUT单元就可生成UART核,节省资源UART核可灵活分成接收和发送两部分,可根据需要选择使用。节省系统资源;一些控制标志字也可根据需要自行删减和扩充。最后将集成有UART核的FPGA数据采集系统与测试台进行异步串行实验,检测通信数据表明使用UART核传输数据稳定可靠。
5 结束语
数据采集系统经常采用UART异步串行通信接口作为系统的短距离串行通信。相对于传统的UART器件来说,把具有UART功能的IP核集成在FPGA中的更有利于提高数据采集系统的可靠性和稳定性,减小电路板面积。该系统设计的UART IP核通过仿真验证,经综合、编译、嵌入FPGA,成功实现系统通信。
关键字:FPGA RS232 异步串行口 IP核
引用地址:
基于FPGA的RS232异步串行口IP核设计
推荐阅读最新更新时间:2024-05-03 00:42
基于FPGA的乐曲发生器设计
1 概 述
随着EDA技术的进展,基于可编程ASIC的数字电子系统设计的完整方案越来越受到人们的重视,并且以EDA技术为核心的能在可编程ASIC上进行系统芯片集成的新设计方法,也正在快速地取代基于PCB板的传统设计方式。
与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。如何使用EDA工具设计电子系统是人们普遍关心的问题,本设计在美国ALTERA公司MAX + plusⅡ的EDA软件平台上,使用层次化设计方法,实现了乐曲发生器的设计。乐曲选取《梁祝》中化蝶部分,其简谱如图
[半导体设计/制造]
基于FPGA的高速FIR数字滤波器的设计
1 引 言 目前FIR滤波器的实现方法主要有3种:利用单片通用数字滤波器集成电路、DSP器件和可编程逻辑器件实现。单片通用数字滤波器使用方便,但由于字长和阶数的规格较少,不能完全满足实际需要。使用DSP器件实现虽然简单,但由于程序顺序执行,执行速度必然不快。 FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好。但长期以来,FPGA一直被用于系统逻辑或时序控制上,很少有信号处理方面的应用,其原因主要是因为在FPGA中缺乏实现乘法运算的有效结构。本文利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器,使FPGA在数字信号处理方面有
[应用]
FPGA实现UART和MCU一体化设计
摘要:现代数字电子系统设计正在朝着新的方向发展,即利用FPGA技术进行系境设计。介绍了一种利用FPGA来实现通用串行异步收发器(UA-RT)和控制通信的MCU的数字系统,底层设计模块采用VHDL硬件描述语言实现,并进行了仿真验证。该设计方法和理念为以后的计算机系统以及其他的数字电子系统提供了一个新的思路,应用此技术可以使系统设计更加紧凑、可靠。 关键词:计算机系统;FPGA;VHDL;UART;MCU;有限状态机 计算机技术和微电子技术的发展为现代电子设计提供了新的方法和途径。传统的电子设计采用功能独立的分立元件进行功能组合从而实现特定的功能,计算机设计初期也一直采用这种模式。但是随着近代电子技术的进步,尤其是FPGA(
[嵌入式]
基于FPGA的简易频谱分析仪的设计方案
1 引言 目前,由于频谱分析仪价格昂贵,高等院校只是少数实验室配有频谱仪。但 电子 信息类教学,如果没有频谱仪辅助观察,学生只能从书本中抽象理解信号特征,严重影响教学实验效果。 针对这种现状提出一种基于FPGA的简易频谱分析仪设计方案,其优点是成本低,性能指标满足教学实验所要求的检测信号范围。 2 设计方案 图1为系统设计总体框图。该系统采用C8051系列单片机中的 C8051F121作为控制器,CvcloneⅢ系列EP3C40F484C8型FPGA为数字信号算法处理单元。系统设计遵循抽样定理,在时域内截取一段适当长度信号,对其信号抽样量化,按照具体的步骤求取信号的频谱,并在LCD上显示信号的频谱,同时提供
[测试测量]
电子技术解密:简化FPGA电源设计方案
FPGA即现场可编程门阵列,它是一种多电源需求的芯片,在 电子技术 设计中常见电子芯片,那么在对其供电的时候肯定对电源设计的要求也是严格的,多电源设计是复杂的,我们要FPGA高效运行需要简化电源设计,节约成本,下面即是具体的电源设计方法。 FPGA是一种多电源需求的芯片,主要有3种电源需求: 1.Vccint核心工作电压 一般电压都很低,目前常用的FPGA都在1.2V左右。为FPGA的内部各种逻辑供电,电流从几百毫安到几安不等,具体取决于内部逻辑的工作时钟速率以及所占用的逻辑资源。对于这个电源来说,负载时一个高度容性阻抗,对电源的瞬态响应要求很高,而且由于驱动电压低工作电流大,对PCB的布线电阻非常敏感,需要特
[电源管理]
FPGA在卫星数字电视码流转发器设计中的应用
1 引 言 由于数字电视能提供更清晰的图像、更逼真的声音、更大的屏幕,以及数字化传输方式所特有的高效数据传输率,可以在有限的传输频带内传送更多的电视节目,正成为数字化视听技术发展的一个新方向。作为数字电视前端设备中的卫星数字电视码流转发器,简称为码流机,其主要功能就是接收频率为950~2 150 MHz的国内外数字卫星节目信号进行QPSK解调,并转换成ASI格式的MPEG-2传输流,输出给TS流复用器、QAM调制器等前端设备处理后发射到数字电视终端用户,即相当于有线电视台转播节目的信号源;同时他还输出模拟视频和音频信号,供管理人员监控使用。本文主要讨论如何把调谐器输出的TS流转换为ASI格式的MPEG-2传输流。 2 系统硬
[应用]
学工控不得不知的通信接口 RS232 RS422 RS485
RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422
[嵌入式]
利用计算机打印口调试FPGA
摘要: 介绍一种用于计算机打印口调试ALTERA的FLEX10K系列FPGA的方法。对于没有ALTERA的Quartus软件的设计者,该方法可以在一定程序上弥补MAX+PLUSIII软件没有SinalTap逻辑分析功能的不足。
关键词: 并行口 MAX+PLUSII FPGA 硬件调试
随着FPGA实现的功能越来越复杂,其调试也越来越困难。尤其对于输入/输出较少、内部运算复杂的FPGA设计来说,其内部操作就象一个“黑箱”,数据进入这个“黑箱”后,它如何被操作、传输,设计者很难知道。仅凭很少的输入/输出信号,很难判断设计是否有问题以及问题的症结所在。因此,在硬件调试中非常有必要深入FPGA内部去
[应用]