一种基于FPGA的同步分段延时链的DPWM模块的制作方法

文档序号:12132923阅读:484来源:国知局
一种基于FPGA的同步分段延时链的DPWM模块的制作方法与工艺

本发明涉及FPGA及电源管理芯片领域,具体的说是一种基于FPGA的同步分段延时链的DPWM模块。



背景技术:

DC-DC转换器的反馈环路以模拟控制技术为主,这种技术应用持续了很长一段时间。然而,传统的模拟脉冲宽度调制(APWM)易受PVT影响和稳定性差等缺点,使得模拟控制脉冲宽度调制无法实现更高的分辨率。随着半导体技术的发展,传统的模拟脉冲宽度调制(APWM)逐渐过渡到数字控制脉冲宽度调制(DPWM),但是数字控制也存在一定的缺点,其中两个最主要的缺点是采样延时和受限的分辨率,因此DPWM需要有足够高的线性度和稳定性、分辨率,以保证所需要的电压调节精度和避免不期望的极限环。如何提高DPWM的时间分辨率和线性度、稳定性是今后DPWM的重大挑战。



技术实现要素:

本发明是为了克服现有技术存在的不足之处,提供一种基于FPGA的同步分段延时链的DPWM模块,以期能提高脉宽调制器的时间分辨率和占空比线性度和稳定性,增强脉宽调制器的鲁棒性,从而缩小DC-DC转换器的纹波和稳定时间,抑制并减弱调制过程出现的过冲和振铃。

本发明为解决技术问题采用如下技术方案:

本发明一种基于FPGA的同步分段延时链的DPWM模块的特点是包括:基于计数器的时钟控制模块、基于锁相环的粗延时模块、基于加法器链的细延时模块、与门和RS锁存器;

所述基于锁相环的粗延时模块接收外部的时钟信号CLK并进行倍频和相移处理,得到相移时钟信号clk_0、clk_90、clk_180、clk_270后;将相移时钟信号clk_0作为所述DPWM模块的同步时钟并分别传递给所述基于计数器的时钟控制模块和基于加法器链的细延时模块;

所述基于锁相环的粗延时模块根据所接收的外部数据流信号D[n:0]中的部分数据流信号D[m+2:m+1]对所述相移时钟信号clk_0、clk_90、clk_180、clk_270进行粗延时选择,得到粗延时信号cd_delay并发送给所述基于加法器链的细延时模块,m<n-3;

所述基于计数器的时钟控制模块接收外部数据流信号D[n:0]中的部分数据流信号D[n:m+3]以及所述相移时钟信号clk_0并进行零检测和计数处理,得到置位信号set_sr和时钟延时信号cc_delay后,将所述置位信号set_sr发送给所述RS锁存器,将所述时钟延时信号cc_delay发送给所述与门;

所述基于加法器链的细延时模块根据所接收的外部数据流信号D[n:0]中的部分数据流信号D[m:0]以及所述相移时钟信号clk_0对所述粗延时信号cd_delay进行延时处理,该延时即是所述细延时模块产生的细延时,经过细延时处理后得到细延时信号fd_delay并发送给所述与门;

所述与门对所接收到的时钟延时信号cc_delay和细延时信号fd_delay进行与运算,得到复位信号rst_sr并给所述RS锁存器;

所述RS锁存器当检测到所述置位信号set_sr为高电平时,对所自身产生的PWM输出信号进行置位处理,当检测到所述复位信号rst_sr为高电平时,对所述PWM输出信号进行复位处理,从而获得占空比信号PWM。

本发明所述的同步分段延时链的DPWM模块的特点也在于,

所述基于锁相环的粗延时模块包括:锁相环、多路选择器和D触发器;

所述锁相环接收所述外部的时钟信号CLK并进行倍频和相移处理得到相移时钟信号clk_0、clk_90、clk_180、clk_270后发送给所述多路选择器;

所述D触发器在所述相移时钟信号clk_0为上升沿时,将所接收到的外部数据流信号D[n:0]中的部分数据流信号D[m+2:m+1]进行同步处理,得到所述多路选择器的选择信号sel[m+2:m+1];

所述多路选择器根据所述选择信号sel[m+2:m+1]对所述相移时钟信号clk_0、clk_90、clk_180、clk_270进行选择输出,得到粗延时信号cd_delay。

基于加法器链的细延时模块包括:译码器、D触发器、2m+1个与门和2m+1个加法器;

所述译码器对接收的外部数据流信号D[n:0]中的部分数据流信号D[m:0]进行译码处理,得到译码器的输出信号dec_out[2m+1-1:0]并传递给所述D触发器;

所述D触发器在相移时钟信号clk_0为上升沿时,将所述译码器的输出信号dec_out[2m+1-1:0]进行同步处理,得到D触发器的输出信号Q[2m+1-1:0]给所述2m+1个与门;

所述2m+1个与门在所述粗延时信号cd_delay的门控处理下,对所述D触发器的输出信号Q[2m+1-1:0]进行与运算,得到只包含一个高电平,其余均为低电平的输出结果,并相应传递给所述2m+1个加法器进行累加计算,从而得到细延时信号fd_delay。

与已有技术相比,本发明有益效果体现在:

1.本发明的DPWM模块以FPGA的方式实现,具有可编程性和灵活性等特点,同时因为FPGA特殊的实现方式缩小了将设计转向市场的时间,克服了以传统模拟实现方式中的斜波比较器等模拟电路易受工艺、电压、温度的缺点,提高了该模块设计的稳定性;另一方面,已有技术的脉宽调制器的时间分辨率都比较低,一般为若干纳秒和几百皮秒,本发明由于使用Altera内置的加法器链并且利用单一的加法器延时作为该DPWM模块的时间分辨率,因而该DPWM具有极高的时间分辨率(约为50皮秒);同时该内置加法器链使用特殊工艺处理从而加法器之间的路径延时为零,这使得以加法器延时的叠加作为细延时的DPWM模块具有良好的线性度;最后,已有技术特别是以分段延时为特点的技术存在关键路径问题,并且没有对关键路径的延时作优化和补偿,因而其占空比线性度和稳定性受限,本发明在实现中解决了由粗延时模块和细延时模块中关键路径的延时问题,进一步提高该DPWM模块输出占空比的线性度和稳定性。

2.本发明DPWM模块中的粗延时模块,其内部结构的多路选择器在已有技术中都采用普通的实现方式处理,即编写的代码在综合工具自动综合下实现的逻辑结构不对称,这使得输入信号进入多路选择器到输出的延时都不相等或差距过大,而多路选择器作为关键路径的一部分,未优化和补偿会造成最终产生的占空比的非线性行为,本发明通过采用多个ALTCLKCTRL模块并采取相应综合优化,从而综合后得到逻辑对称的多路选择器结构,保证了多路选择器内部信号延时的一致性,并且经过优化后的多路选择器由于ALTCLKCTRL模块有着抗干扰特性,抑制尖刺等优点,最终实现了的DPWM模块稳定性得到了极大提高。

3.本发明DPWM模块的细延时模块,其内部的加法器链和与加法器同等数量的与门在已有技术中通常是通过综合工具自动布局布线,显然综合器识别出来的电路其延时特征很难满足现有高时间分辨率的DPWM,本发明通过set_location_assignment位置静态时序分析约束后,保证了与门和对应的加法器对准,从而保证了该与门和相应路径延时的一致性。其中,因为加法器链的每个加法器单元延时小,该延时作为本发明DPWM模块的两个占空比之间的最小时间差,即时间分辨率,因此可以获得极高的时间分辨率。

4.本发明上述细延时模块和粗延时模块之间还存在路径延时,本发明将该路径设置成全局信号,从而路径延时保持一致,因此粗延时模块和细延时模块之间的关键路径得到全面的优化,能保证不同信号通过关键路径的延时相等,为精确补偿该延时提供精确性和稳定性。该延时是设计中不需要的因为它叠加在粗延时和细延时的叠加过程,造成生成占空比的非线性,影响主电路的调制效果,因而需要补偿,与已有技术没有优化并补偿的DPWM模块相比,本发明通过时序约束语句set_net_delay补偿后,能使得占空比信号具有极好线性度和稳定性。

附图说明

图1是本发明DPWM总体架构的顶层结构框图;

图2是本发明时钟控制模块的内在结构框图;

图3是本发明时钟控制模块的时序图;

图4是本发明粗延时模块的内在结构框图;

图5是本发明细延时模块的内在结构框图;

图6是本发明DPWM总体架构的内部结构框图;

图7是本发明DPWM总体架构的工作时序图;

图8是本发明DPWM模块关键路径的问题示意图。

具体实施方式

本实施例中,一种基于FPGA的同步分段延时链的DPWM模块,如图1所示,包括:基于计数器的时钟控制模块、基于锁相环的粗延时模块、基于加法器链的细延时模块、与门和RS锁存器;

基于锁相环的粗延时模块接收外部的时钟信号CLK并进行倍频和相移处理,得到相移时钟信号clk_0、clk_90、clk_180、clk_270后;将相移时钟信号clk_0作为DPWM模块的同步时钟并分别传递给基于计数器的时钟控制模块和基于加法器链的细延时模块;

基于锁相环的粗延时模块根据所接收的外部数据流信号D[n:0]中的部分数据流信号D[m+2:m+1]对相移时钟信号clk_0、clk_90、clk_180、clk_270进行粗延时选择,得到粗延时信号cd_delay并发送给基于加法器链的细延时模块,m<n-3;

基于计数器的时钟控制模块接收外部数据流信号D[n:0]中的部分数据流信号D[n:m+3]以及相移时钟信号clk_0并进行零检测和计数处理,得到置位信号set_sr和时钟延时信号cc_delay后,将置位信号set_sr发送给所述RS锁存器,将时钟延时信号cc_delay发送给与门;

基于加法器链的细延时模块根据所接收的外部数据流信号D[n:0]中的部分数据流信号D[m:0]以及相移时钟信号clk_0对粗延时信号cd_delay进行延时处理,该延时即是细延时模块产生的细延时,经过细延时处理后得到细延时信号fd_delay并发送给与门;

与门对所接收到的时钟延时信号cc_delay和细延时信号fd_delay进行与运算,得到复位信号rst_sr并给RS锁存器;

RS锁存器当检测到所述置位信号set_sr为高电平时,对所自身产生的PWM输出信号进行置位处理,当检测到复位信号rst_sr为高电平时,对PWM输出信号进行复位处理,从而获得占空比信号PWM。

如图2所示,为当n=10,m=5的时钟控制模块内在结构图,包括计数器、零检测器、比较器、D触发器,由于位数已经确定因此计数器的计数范围也因此确定,其中clk_0为粗延时模块中锁相环产生的时钟信号并作为该DPWM的同步时钟,传递到计数器和D触发器,q[2:0]为计数器的输出,该时钟控制模块的功能是产生PWM的置位信号set_sr和以时钟周期为延时单位的时钟延时信号cc_delay,该延时满足以下式(1):

Tcpd=a·T (1)

式(1)中,Tcpd为时钟控制模块以同步时钟为单位的延时,a为D[10:8]对应的十进制数,T为同步时钟clk_0的周期。

如图3为该时钟控制模块的时序图,首先,计数器对clk_0循环计数,当其输出q[2:0]=3'b000时,即计数器输出为零,零检测器检测到其为零后输出一个高电平,并在下一个同步时钟clk_0的上升沿时刻将信号set_sr置位;当计数器的计数数值等于D[10:8]对应的二进制时,比较器输出高电平并在下一个同步时钟clk_0的上升沿时刻将信号cc_delay置位;根据式(1),可知该时钟控制模块产生的延时Tcpd=4T。

具体实施中,同步分段延时链的DPWM模块中的基于锁相环的粗延时模块包括:锁相环、多路选择器和D触发器;锁相环接收外部的时钟信号CLK并进行倍频和相移处理得到相移时钟信号clk_0、clk_90、clk_180、clk_270后发送给多路选择器;D触发器在相移时钟信号clk_0为上升沿时,将所接收到的外部数据流信号D[n:0]中的部分数据流信号D[m+2:m+1]进行同步处理,得到多路选择器的选择信号sel[m+2:m+1];多路选择器根据选择信号sel[m+2:m+1]对相移时钟信号clk_0、clk_90、clk_180、clk_270进行选择输出,得到粗延时信号cd_delay。

如图4为当n=10,m=5时的粗延时模块内在结构图,包括锁相环、D触发器、多路选择器,该模块的关键是片上锁相环,锁相环(PLL)是AlteraFPGA芯片的数字时钟管理单元,能使输入时钟信号分频、倍频,配置时钟信号的占空比并能够额外产生四个不同相移的时钟:0°,90°,180°以及270°。普通AlteraFPGA器件提供2~4个片上PLL芯片,并且提供零传输延时,低抖动及更好地时钟相移分辨率。默认情况下,对于输入时钟,配置锁相环IP核时产生的时钟相移能够获得相同的0.5/0.5占空比导通时间/关断时间。但是,50%占空比的四个相移信号通过多路选择器会产生非线性效应,造成输出的PWM波形非线性,更严重的是多路选择器本应选择clk_270而错误选择clk_0,造成clk_270的选择无效,因而会造成输出的占空比与D[7:6]不符合。因此,配置锁相环时,要配置clk_0,clk_90,clk_180,clk_270的占空比小于25%。

在该粗延时模块中,D触发器是寄存信号D[7:6]并在clk_0上升沿有效时进行粗延时的选择,保证了和其他两个模块的同步性,信号经多路选择器选择后输出,即该模块的功能是产生一个以相移时钟当作延时的粗延时,该延时满足以下关系:

Tcd=b·tcd (2)

tcd=T/4 (3)

式(2)和式(3)中Tcd为粗延时,b为D[7:6]对应的十进制数,tcd为粗延时单位。其中式(3)代表每相移90°相当于延时1/4个同步时钟周期。

同步分段延时链的DPWM模块中的基于加法器链的细延时模块包括:译码器、D触发器、2m+1个与门和2m+1个加法器;首先,译码器对接收的外部数据流信号D[n:0]中的部分数据流信号D[m:0]进行译码处理,得到译码器的输出信号dec_out[2m+1-1:0]并传递给D触发器;D触发器在相移时钟信号clk_0为上升沿时,将译码器的输出信号dec_out[2m+1-1:0]进行同步处理,得到D触发器的输出信号Q[2m+1-1:0]给2m+1个与门;其次,2m+1个与门在粗延时信号cd_delay的门控处理下,对D触发器的输出信号Q[2m+1-1:0]进行与运算,得到只包含一个高电平,其余均为低电平的输出结果,并相应传递给所述2m+1个加法器进行累加计算,从而得到以加法器累加作为延时的细延时信号fd_delay,其累加的加法器个数由信号D[m:0]译码之后的结果决定,范围为1~2m

如图5所示为当n=10,m=5时的细延时模块内在结构图,包括译码器、D触发器、与门、加法器链;首先,信号D[5:0]经过译码器译码和D触发器同步后产生的64位信号Q[63:0]只有一位为高电平,并在粗延时信号cd_delay的门控处理下,64个与门的输出结果只有一个为高电平;随后,64个与门的输出传递到64位加法器链作为加法器的输入,而加法器的另一个输入端始终保持高电平,在这种情况下,在加法器链中,与门输出为高电平的信号传递给对应的加法器(称为主加法器且可变)产生进位输出并将进位传递给下一级加法器(称为后级加法器)的进位输入,随后继续传递给下一级加法器从而形成进位链,而主加法器前面的加法器(称为前级加法器)没有工作,因此,通过加法器的累加操作产生的延时作为该模块产生的细延时,fd_delay,并满足以下关系:

Tfd=Tcpath+(k+1)·tc (4)

式(4)中Tfd为细延时模块以加法器延时tc为单位的细延时,k为D[5:0]对应的十进制值,Tcpath为关键路径的延时。为了保证占空比的线性度,在设计当中,粗延时单位和细延时单位的关系满足:

tcd=2m·tc (5)

式(5)中tcd,tc分别为粗延时单位和细延时单位,在本次设计中因为m=5,则tcd=64·tc

基于FPGA的同步分段延时链的DPWM模块,其总体架构图如图6所示,此时n=10,m=5,其主要的模块为基于计数器的时钟控制模块、基于锁相环的粗延时模块、基于加法器链的细延时模块。从图中可得知,该模块在D触发器下由粗延时模块产生的时钟信号clk_0同步,因而保证了模块工作的同步性,减少可能在异步时序电路出现的亚稳态现象,提高了电路工作的稳定性;纵观该结构可知每一部分的子模块极易用Verilog描述并在FPGA开发板上实现并验证。该结构中的时钟控制模块从产生占空比置位信号开始后,随后产生如公式(1)所示延时Tcpd,与此同时粗延时模块和细延时模块分别产生如式(2)和式(4)所示的粗延时Tcd和细延时Tfd,以上三个延时叠加形成最终占空比高电平的持续时间,即占空比满足以下关系:

式(6)中j为counter位数。

如图7为该基于FPGA的分段延时链DPWM模块的工作时序图,外部时钟信号CLK、外部数据流信号D和最终输出占空比信号PWM为该架构输入和输出,其余信号均为内部信号。首先,DPWM三个模块为并行运算,假设此时外部数据流信号D[10:0]=11'b011_01_110000,基于计数器的时钟控制模块中的零检测器检测到计数器输出为0之后并在下一个时钟周期将set_sr置位,从而将输出信号PWM置位,因为时钟控制模块的部分数据流D[10:8]=3'b011,所以延时Tcpd=3T之后,该模块产生的信号cc_delay为高电平,该信号会传递给随后的与门并与细延时信号结合决定输出信号PWM的复位操作;其次,由于D[7:6]=2'b01,基于锁相环的粗延时模块中的多路选择器选择信号clk_90,得到粗延时信号cd_delay,即Tcd=tcd=T/4;最后,由于D[5:0]=6'b110000,基于加法器链的细延时模块产生细延时为Tfd=Tcpath+49·tc,得到细延时信号fd_delay,fd_delay和cc_delay通过与门产生复位信号,最终将输出信号PWM复位,得到所需要的占空比。

根据以上讨论,该DPWM模块基于锁相环的粗延时模块和基于加法器链的细延时模块之间存在关键路径;即粗延时模块和细延时模块之间存在一些不需要的组合逻辑延时和路径延时,包括多路选择器、2m+1个与门、多路选择器和2m+1个与门之间的路径、2m+1个加法器,关键路径的延时Tcpath会延长粗延时信号cd_delay到2m+1个加法器的时间,造成DPWM模块产生占空比信号PWM的非线性,因此需要对关键路径进行优化和关键路径的延时Tcpath进行补偿;该关键路径的延时为Tcpath=tmux+tline+tand,其中tmux为多路选择器的延时,tline为粗延时模块和细延时模块之间的路径延时,tand为细延时模块内部的与门延时。

如图8所示,fd_delay_1没考虑关键路径延时而fd_delay_2考虑了,在这样的情况下,因为存在关键路径的延时则PWM的导通时间Ton-time=Tcpd+Tcd+Tfd+Tcpath。该问题会造成PWM导通时间Ton-time变大,产生输出PWM脉冲波非线性行为。如果关键路径的延时没有被考虑,这些延时会叠加在占空比的导通时间上使占空比变得不精确而出现非线性行为,特别是关键路径的组合逻辑较多的时候。随着DPWM时间分辨率和运转频率的提高,两个占空比命令之间对应的占空比范围非常微小,关键路径的优化和补偿显得非常必要。

本发明对关键路径优化方法:首先,通常情况下综合工具对四选一多路选择器的综合默认采用4输入的方式,综合之后的电路不对称,信号通过多路选择器后延时不相等,为了解决该问题,提出的优化方案是修改硬件描述语言综合成对称多路选择器结构,即对多路选择器采取配置ALTCLKCTRL并作相应的综合约束,使每个信号通过多路选择器的延时相等并能消除抖动;其次,为了保证粗延时模块的输出信号到每个与门的路径延时相等,多路选择器和2m+1个与门之间的路径采用全局信号处理。最后,2m+1个与门和2m+1个加法器采用约束语句set_location_assignment进行位置分配。通过以上的约束方法,关键路径在所有情况下的延时都相等。

本发明对关键路径的补偿方法:对关键路径优化的目的是保证其延时在所有可能的情况下都相等,仅仅优化还不能消除以上的非线性行为,还需要对其进行补偿,典型的补偿方法是当在SR锁存器S端变高之前采用流水线的方式延时一段时间,这种方法补偿很精确但是这种方法需要的系统时钟很大,可能会造成时序违规。例如,要补偿1ns的关键路径延时,需要的系统时钟至少要1GHz。考虑到补偿该延时的精确度和可靠性,即RS触发器将占空比信号PWM置位之前,采用set_net_delay对RS触发器和基于计数器的时钟控制模块中的零检测器之间的路径进行时序约束,补偿掉关键路径的延时Tcpath。综合工具会自动识别约束语句并按约束的数值进行布局布线。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1