fpga产生pwm波采样进来的数字信号怎么生成pwm波

从数字PWM信号获得准确、快速稳定的模拟电压-模拟/电源-与非网
脉宽调制()是从微控制器或FPGA等数字器件产生的一种常用方法。大多数微控制器都具有内置的专用PWM产生外设,而且其仅需几行RTL代码即可从FPGA产生一个PWM信号。如果模拟信号的性能要求不是太严格,那么这就是一种简单和实用的方法,因为它只需要一个输出引脚,而且与具有一个SPI或I2C接口的数模转换器()相比,其代码开销是非常低。图1示出了一款典型应用,其采用一个经滤波的数字输出引脚来产生一个模拟电压。
该方案的诸多不足之处您不必深究就能发现。理想情况下,一个12位模拟信号应具有小于1LSB的纹波,因而对于一个5kHz PWM信号需要采用一个1.2Hz低通滤波器。电压输出的阻抗由滤波器电阻决定,如果要保持一个大小合理的滤波电容器,那么它就会相当大。因此,输出必须只驱动一个高阻抗负载。PWM至函数的斜率(增益)由微控制器(很可能是不准确)的数字电源电压来决定。一个更微妙的影响是:为了保持线性度,在高态中连接至电源之数字输出引脚的有效电阻,以及在低态中连接至地的电阻,相比于滤波器电阻的阻值时,失配必须很小。最后,PWM信号必须是连续的,旨在把输出电压保持在一个恒定值,假如处理器被置于一种低功率停机状态,这或许会产生问题。
图1:PWM至模拟转换
PWM至模拟转换得到改善吗?
图2显示了试图弥补这些不足的方法。一个输出缓冲器允许在使用高阻抗滤波器电阻的同时提供一个低阻抗模拟输出。通过采用一个外部CMOS缓冲器改善了增益准确度,该缓冲器由一个高精度基准来供电,这样PWM信号摆幅在地电位和一个准确的高电平之间。此电路是有用的,但缺点是组件数量多,且无法改善1.1秒的稳定时间,再者也没有办法在不使用连续PWM信号的情况下&保持&模拟值。
图2:PWM至模拟转换得到改善吗?
改善了PWM至模拟转换!
LTC2644和是具有内部10ppm/&C基准的双通道和四通道PWM至电压输出DAC,可从数字PWM信号提供真正的8位、10位或12位性能。LTC2644和LTC2645克服了上面提到的那些问题,采取的方法是直接测量输入PWM信号的占空比,并在每个上升沿上将适当的8、10或12位代码发送至一个高精度DAC.
一个内部1.25V基准把全标度输出设定为2.5V,如果需要一个不同的全标度输出,则可使用一个外部基准。一个单独的IOVCC引脚负责设定数字输入电平,从而允许直接连接至1.8V FPGA、5V微控制器或介于其间的任何电压。DC准确度指标是非常出色的,具有5mV偏移、0.8%最大增益误差和2.5LSB (12位)最大INL.输出稳定时间为8&s,即可从PWM输入的上升沿稳定到终值(在12位时为1LSB)的0.024%之内。对于12位版本,PWM频率范围为30Hz至6.25kHz.
图3:4通道PWM至模拟转换
多用途的输出模式
图4示出了一款典型的电源修整/应用电路,其利用了LTC2644的另一项独特特性。把IDLSEL连接至高电平将选择&采样/保持&操作;输出在启动时为高阻抗(无裕度调节),输入端上的一个连续高电平将导致输出无限期地保持其数值,而一个连续低电平则把输出置于高阻抗状态。因此,在上电时可利用一个PWM突发脉冲(其后随一个高电平)对电源进行一次修整。将PWM信号拉至低电平可使电路干净地退出裕度调节操作。把IDLSEL连接至GND将选择&透明模式&,在该模式中,输入端上的一个连续高电平把输出设定至全标度,而一个连续低电平则把输出设定至零标度。
图4:裕度调节应用电路
倘若遭遇典型PWM至模拟转换方法的局限性,请不要绝望。LTC2645可从脉宽调制数字输出产生准确、快速稳定的模拟信号,同时保持了低组件数目和代码简单性。
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
(有奖互动)每周推出三个问题等你来辩……
旗下网站:
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号基于FPGA+PWM的多路信号发生器设计
 &>&&>&&>&&>&正文
摘& 要: 基于运放的信号发生器精度低且稳定性和可调节性差,而基于DDS的信号发生器则成本高、电路复杂。为此提出了基于FPGA+PWM的多路信号发生器设计方法。该方法硬件上无需DAC与多路模拟开关,由FPGA产生调制输出波形信号所需的PWM脉冲波,经二阶低通滤波和放大电路后即可得到所需波形信号。实验证明,该多路信号发生器幅值分辨率高,频率精度高,且具有良好的直流性能,各通道可独立产生三角波、锯齿波、正弦波、方波且输出稳定。且其成本低,设计灵活,可扩展性强,可应用于各种场合。 关键词: FPGA;PWM;多路并行;高精度;信号发生器 &&& PWM(Pulse Width Modulation)脉宽调制技术是一种对模拟信号电平进行数字编码的方法,通过对一系列脉冲的宽度进行调制,等效出所需要的波形[1]。PWM技术对波形调制的灵活性和通用性好,并且对硬件要求低,应用广泛[2]。目前的PWM信号发生器大多存在周期调节不方便、路数有限等问题,而随着大规模集成电路的发展,FPGA拥有了资源丰富、工作速度快、使用灵活、稳定性高等特点。在此基础上,本文提出了一种基于FPGA+PWM的多路信号发生器,结合二者的优势,产生波形、频率、幅度可独立调节的多路波形信号[3]。 1 原理分析 && &根据面积等效原理:冲量相等而形状不同的窄脉冲加在具有惯性的环节上,其效果基本相同(冲量是指窄脉冲的面积;效果基本相同指的是输出响应波形基本相同)。基于该理论生成的PWM控制技术即是利用一系列等幅不等宽的脉冲(不同占空比的矩形波),经过一定的信号处理来生成所需的各种波形[4]。
2.1 波形控制 && &对于三角波的生成,需要脉宽参数按照先线性增大然后线性减小的规律来实现,其他波形(如矩形波、锯齿波等)可以用相同的原理实现。 && &在实现正弦波信号时,需要计算出正弦信号表,根据波形信号的频率与幅度,通过查表的方式把RAM中的脉宽参数传递给PWM发生器,得到脉冲宽度按正弦变化的PWM脉冲波[7]。 2.2 PWM发生器 && &在FPGA中利用计数器和比较器来产生PWM矩形脉冲波,如图4所示,在一个进程中用一个寄存器保存PWM周期参数T,T_Counter在系统时钟的驱动下进行自加,直到T_Counter=T时T_Counter复位为0,完成一次PWM周期;在另一个进程中通过比较T_Counter与脉宽参数PWM_Width,从而控制PWM脉冲波的脉宽;为了更新PWM_Width,在T_Counter计数到T-1时向波形控制单元报告单次脉冲结束,波形控制单元接收到结束标志后更新脉宽参数,使PWM发生器在下一周期产生新的PWM脉冲波。
2.4 多路信号的产生 && &单路信号的波形控制单元和PWM发生器仅需要很小的FPGA资源和一个I/O引脚就能实现,并且外部滤波电路占用的PCB面积也比传统DAC实现的信号发生器要小很多,所以只要把单路信号发生器进行简单的复制就能实现多路信号的产生,且各个通道之间具有很好的独立性,互不影响,这是FPGA相比其他控制芯片所具有的优势。 3 性能分析及测试 3.1 性能分析 && &电路使用XC3S100E来实现FPGA控制单元的设计。XC3S100E有108个可分配的用户引脚,使用28个作为通信端口,剩余80个引脚进行PWM脉冲信号调制输出;电路使用fosc=120 MHz的外部晶振,经内部DCM(时钟控制管理模块)倍频后获得240 MHz的系统时钟。设置PWM脉冲发生计数器位数为N=14 bit。滤波电路通带增益设置为1(Rf=0,断开R1),所实现的信号发生器主要性能参数如下:
3.2 信号输出测试 && &通过上位机设置各个通道的波形参数,利用Tektronix TDS100B(40 MHz,500 MS/s)示波器测量各通道的输出波形,得到如图6所示波形信号输出。
第1页&&http://www.autooo.net/autooo/elec/news//125742.html你的位置:
&& 详细内容
赛灵思通讯49期:Xradio:别出心裁的系统教学用纯FPGA无线电
热度311票&&浏览1921次
时间:日 12:09
Xingran Yang
北京理工大学硕士研究生
利用赛灵思Spartan-6器件和一些外设组件轻松为学生和新手构建一款有趣的演示平台。
我们近期打算北京理工大学开发一款数字设计教学平台,它能展现FPGA在通信和信号处理领域的实际效用。这个平台要直观易用,能帮助学生了解数字设计的各个方面,同时还要便于学生针对自己独特的系统设计进行定制。
当时我们电子工程系进就能否用FPGA的I/O引脚作为比较器或直接采用1位模数转换器展开了一场激烈辩论。我们决定验证一下前提条件,试图在
XRadio平台设计中采用FPGA比较器。该平台就是我们采用赛灵思低成本Spartan®-6
FPGA和一些常见外设组件设计而成的一个全数字FM无线电接收器。去年赛灵思大学计划(XUP)总监Patrick
Lysaght刚好来北京理工大学访问,我们借机向其演示了这款能正常工作的无线电。这款设计的简易性给他留下了深刻印象,他鼓励我们在全球学术社区上分
享XRadio设计经历。
我们几乎完全用FPGA来构建XRadio平台,省略了放大器或分立滤波器等传统模拟组件的使用(如图1所示)。首先,我们将用电线连接成的简单耦
合电路链接至FPGA的I/O引脚,创建出基本天线。该天线用于发射RF信号到FPGA,FPGA通过数字下变频和频率解调实现FM接收器的信号处理。我
们随后通过I/O引脚向耳机输出音频信号。我们添加机械旋转增量解码器来控制XRadio的调频和音量。我们设计该系统可让调频和音量信息显示在7段
LED模块上。
图2显示了FPGA的顶层逻辑方框图。在这个设计中,耦合到FPGA输入缓冲器的RF信号量化为1位数字信号。量化的信号乘以数控震荡器(NCO)
生成的本地震荡信号,倍频后的信号经滤波可得到正交IQ(同相正交)基带信号。它随后通过频率解调器和低通滤波器从IQ信号获得音频数据流。
我们要解决的第一大难题就是如何将天线接收到的信号耦合到FPGA。在首次试验性设计中,我们将FPGA
I/O配置为标准单端I/O,然后我们用电阻R1和R2构建分压器,以在FPGA引脚处的VIH和VIL之间生成偏置电压。天线接收的信号可通过耦合电容
C1来驱动输入缓冲器。由内部240MHz时钟驱动的D触发器的两级负责对该信号进行采样。触发器输出端获得等间隔的1位采样数据流。
数据流随后进入脉宽调制(PWM)模块,在其输出端上生成脉冲信号。脉冲信号经过滤波,可得到驱动耳机的比例模拟值。我们将控制器模块连接到机械旋转增量编码器和LED。该模块从增量编码器获得脉冲信号,以调节NCO的输出频率以及PWM模块控制的音频音量。
为了测试这个电路,我们将结果馈送给另一个FPGA引脚并用频谱分析仪进行测量,看看FPGA是否能准确接收信号。不过,它工作得并不好,因为分析
器显示Spartan-6
FPGA的输入缓冲器有一个较小的120毫伏磁滞电压。虽然磁滞一般来说有利于避免噪声,但在本应用中我们并不希望有磁滞。我们必须想办法提高信号强度。
该设计大幅降低了信噪比,这是因为1位采样生成的噪声量化的结果。不过4个台在背景噪声下仍能正常收到。因此我们能证明这样一个理论,那就是FPGA的I/O引脚能用作比较器或XRadio中的1位模数转换器。
为了解决这一问题,我们发现差分输入缓冲器(IBUFDS)原语在正负终端之间灵敏度极高。我们的测试显示低至1
mV的峰至峰差分电压足以让IBUFDS在0和1之间摆动。图3显示了所设计的输入电路。在本实现方案中,电阻R1、R2和R3在IBUFDS的终端P和
终端N处生成普通电压。接收到的信号通过耦合电容C1馈送给终端P(sidefile:///app/ds/)。AC信号经N侧的C2电容滤波后,其可用
作AC基准信号。就此电路而言,FPGA将FM广播信号成功转换为1位数据流。
无线电能收到强度不同的大约7个FM频道,包括103.9MHz北京交通台。该设计大幅降低了信噪比,这是因为1位采样生成的噪声量化的结果。不过
4个台在背景噪声下仍能正常收到。因此我们能证明这样一个理论,那就是FPGA的I/O引脚能有效用作比较器或XRadio中的1位模数转换器。
就数字下变频而言,我们采用DDS Compiler 4.0
IP核构建数控振荡器,其系统时钟为240-MHz。正弦和余弦输出频率介于87MHz—108
MHz之间。NCO生成的本地振荡器信号乘以1位采样流,并通过低通滤波器获得正交基带信号。这里,我们采用CIC Compiler 2.0
IP核来构建三阶低通CIC抽取滤波器,其向下采样率R=240。由于滤波的基带正交信号为窄带信号,采样率降至1 MSPS。
图4显示了可将IQ基带信号频率转换为音频信号的频率解调器。我们用ROM中的查找表提取IQ数据的瞬时相位角。整合IQ数据并用作ROM地址。随
后ROM输出相应复角(complex
angle)的实部和虚部。接下来我们进行差异操作,按一下触发器,就会延迟相角数据。从原始数据中减去非实时数据,所得结果刚好为所需的音频数据。为了
改进输出信噪比,我们通过低通滤波器用简单平均法对音频信号进行滤波。
频率解调器的8位音频数据流输出可根据音量控制参数缩放,并发送到8位PWM模块。PWM脉冲的占空比反映了音频信号的强度。脉冲在FPGA的I/O引脚处输出,且通过电容驱动耳机。这里,耳机发挥低通滤波器的作用,去除音频信号中残余的脉冲的高频成分。
两个旋转增量编码器控制无线电的频率和音量。每个编码器输出两个脉冲信号。旋转方向和速度可由脉冲宽度和相位确定。状态机和计数器可将旋转状态转变为频率控制字和音量控制字。与此同时,对频率音量值进行解码,并显示在7段LED上。
XRadio平台的印刷电路板如图5所示。利用Spartan-6 XC6SLX9
FPGA,您可设计出一个只占很少一部分FPGA逻辑资源的广播节目,如表1所示。这就意味着学生们可以定制设计并加以改善。举例来说,就1位采样而
言,XRadio的音质不如标准FM无线电,不过这给学生们留下了很大的遐想空间,让他们设法如何改进XRadio音质以及如何实现立体声。
对本篇资讯内容的质量打分:
当前平均分:0.01 (123次打分)
【已经有134人表态】
[感动最多的]
[路过最多的]
[高兴最多的]
[难过最多的]
[搞笑最多的]
[愤怒最多的]
[无聊最多的]
[同情最多的]}

我要回帖

更多关于 fpga产生pwm波 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信