CN103762964B - 一种多通道高精度pwm信号采样和生成装置 - Google Patents

一种多通道高精度pwm信号采样和生成装置 Download PDF

Info

Publication number
CN103762964B
CN103762964B CN201410023839.7A CN201410023839A CN103762964B CN 103762964 B CN103762964 B CN 103762964B CN 201410023839 A CN201410023839 A CN 201410023839A CN 103762964 B CN103762964 B CN 103762964B
Authority
CN
China
Prior art keywords
pwm
module
latch
counter
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410023839.7A
Other languages
English (en)
Other versions
CN103762964A (zh
Inventor
丑武胜
黄海明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201410023839.7A priority Critical patent/CN103762964B/zh
Publication of CN103762964A publication Critical patent/CN103762964A/zh
Application granted granted Critical
Publication of CN103762964B publication Critical patent/CN103762964B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Analogue/Digital Conversion (AREA)

Abstract

本发明公开了一种多通道高精度PWM信号采样和生成装置,至少包括总线收发器、晶振、微处理器、FPGA芯片,FPGA内至少包括:PLL时钟倍频模块、时钟分频模块、PWM周期采样模块、PWM脉宽采样模块、PWM采样寄存器组、PWM生成锁存器组、PWM信号生成模块、译码接口模块。PWM周期采样模块、PWM脉宽采样模块和PWM生成模块,都包含us计数器和两个ns计数器,用于进行粗计数和精计数,实现高精度PWM采样和生成。PWM采样寄存器组能够同步锁存数据,PWM生成锁存器组能够同步输出数据。采用本发明可提高PWM采样和生成精度达到ns级,易于扩展PWM采样和生成通道适用于如无人机飞控具备PWM采样和生成功能需求的系统。

Description

一种多通道高精度PWM信号采样和生成装置
技术领域
本发明涉及信号调制技术领域,具体来说是一种多通道高精度PWM信号采样和生成装置。
背景技术
PWM(PulseWidthModulation)技术在工业自动化、机器人、精密数控机床、航空航天等诸多领域得到广泛应用。伺服电机控制系统,需要生成占空比可变的PWM信号驱动IGBT、IPM等功率器件;机器人或数控机床等运动控制系统,运动控制卡和伺服驱动器间,可通过频率可变的PWM信号,传输位置控制指令;无人机系统,执行机构——舵机需要脉宽(即占空比)可变的PWM信号,具备自主起降或编队飞行功能的无人机系统,需要高精度采样遥控接收机输出的PWM信号,获取副翼舵机、升降舵机、方向舵机和油门舵机的中立位置,油门舵机带速位置、最高速位置,以及任务舵机的执行位置,供无人机飞控单元用来实现自主控制,以及用无人机飞控单元输出的舵机控制量生成高精度的PWM信号,控制舵机运动。因此,设计和实现一种多通道高精度的PWM采样和生成装置显得意义重大。
PWM信号采样和生成装置,可用单片机、DSP、ARM等微处理器实现,经GPIO输入被测PWM信号,通过中断方式,利用片内计数器对各路PWM信号进行计数,从而得到每路PWM信号的脉宽值和周期值;经专用PWM生成模块,或使用定时器和GPIO输出PWM。但是,单片机、DSP、ARM等微处理器片内资源已定制好,GPIO引脚数量、计数器和定时器数量有限,不能根据系统需要,灵活的扩展PWM通道数量,也不宜利用多个计数器和定时器对单路PWM信号进行高精度采样和生成高精度的PWM信号。例如TI公司的DSP芯片TMS320F28335,最多能提供6对12路PWM输出;STM32F405芯片最多包含17个定时器,然而,在整个应用系统中,这些定时器还需要用于主中断、任务中断定时等,所以资源有限,不易实现多通道高精度PWM信号采样和生成装置。而相比之下,FPGA具有以下优点:(1)支持并行与流水结构,每路PWM的采样和生成模块并行运行;(2)具有非常好的灵活性,可根据系统需求扩展计数器和定时器数量,完成多通道和高精度的PWM信号采样和生成;(3)工作时钟频率高,通过PLL时钟倍频模块输出频率为100MHz-1GHz的时钟信号作为计数器和定时器的计数时钟,提高采集和生成PWM信号的精度;(4)可同步锁存数据,确保每路PWM的采样值具有同步性;(5)可为微处理器节约资源,从而使微处理器完成更复杂的算法运算;因此,使用FPGA设计和实现一种PWM采样和生成装置具有诸多优势。
陈国柱等人在标题为一种基于FPGA的PWM发生器(公开号CN103178815A)的专利中利用多个PWM信号生成单元生成多路PWM信号,但它们共用具有一个时钟计数器的三角载波发生单元,存在不易对PWM周期和脉宽进行粗计数和细计数的问题,也不具备PWM信号采样功能。
发明内容
针对现有技术存在的上述问题,本发明的目的在于提供一种多通道高精度PWM信号采样和生成装置,易于灵活扩展通道数量,解决不同时具备PWM信号采样和生成功能的问题,同时能够对PWM信号采集和生成过程中的周期和脉宽进行粗计数和精计数,从而实现高精度的PWM采样和生成。
本发明的技术方案如下:
一种多通道高精度PWM信号采样和生成装置,至少包括总线收发器、晶振、微处理器、FPGA芯片和总线收发器,其特征在于所述的FPGA芯片至少包括:PLL时钟倍频模块、时钟分频模块、PWM周期采样模块、PWM脉宽采样模块1、PWM采样寄存器组、PWM生成锁存器组、PWM信号生成模块1、译码接口模块,还可以包括PWM脉宽采样模块n和PWM信号生成模块m,这些电路是通过硬件描述语言VerilogHDL编程实现;
所述的FPGA芯片内的模块连接关系是:
PLL时钟倍频模块输出100MHz时钟CLK_100M与时钟分频模块相连,PLL时钟倍频模块输出的锁相信号RST作为复位信号,与时钟分频模块、PWM周期采样模块、PWM脉宽采样模块1、PWM脉宽采样模块n、PWM信号生成模块1、PWM信号生成模块m相连;时钟分频模块输出的周期为1us的时钟CLK_US和PLL时钟倍频模块输出的100MHz时钟CLK_100M作为计数时钟基准,与PWM周期采样模块、PWM脉宽采样模块1、PWM脉宽采样模块n、PWM信号生成模块1、PWM信号生成模块m相连;PWM周期采样模块输出的us计数数据与PWM采样寄存器组的周期us寄存器相连,PWM周期采样模块输出的ns计数数据与PWM采样寄存器组的周期ns寄存器相连;PWM脉宽采样模块1输出的us计数数据与PWM采样寄存器组的脉宽us寄存器1相连,PWM周期采样模块1输出的ns计数数据与PWM采样寄存器组的脉宽ns寄存器1相连;PWM脉宽采样模块n输出的us计数数据与PWM采样寄存器组的脉宽us寄存器n相连,PWM周期采样模块n输出的ns计数数据与PWM采样寄存器组的脉宽ns寄存器n相连;PWM采样寄存器组内所有寄存器的输出数据通过数据总线与译码接口模块相连;译码接口模块输出的采样锁存信号LATCH_S作为采样寄存器组的锁存信号与PWM采样寄存器组相连;译码接口模块输出的生成锁存信号LATCH_G作为生成锁存器组的锁存信号与PWM生成锁存器组相连;译码接口模块通过数据总线与PWM生成锁存器组内所有锁存器相连;PWM生成锁存器组内周期us锁存器、周期ns锁存器、脉宽us锁存器1、脉宽ns锁存器1通过数据总线与PWM信号生成模块1相连;PWM生成锁存器组内周期us锁存器、周期ns锁存器、脉宽us锁存器m、脉宽ns锁存器m通过数据总线与PWM信号生成模块m相连。
其中,所述的PWM脉宽采样模块1至PWM脉宽采样模块n内部结构和外部接口完全一致,可以根据多通道高精度PWM信号采样和生成装置所应用的系统需求,扩展PWM脉宽采样模块至n个,这里n最小为1,最大与总线收发器的位数相等。
所述的PWM信号生成模块1至PWM信号生成模块m内部结构和外部接口完全一致,可以根据多通道高精度PWM信号采样和生成装置所应用的系统需求,扩展PWM信号生成模块至m个,这里m最小为1,最大与总线收发器的位数相等。
其中,所述的扩展PWM脉宽采样模块至n个,扩展PWM信号生成模块至m个,这里的n和m可以相等,也可以不相等。
其中,所述的PWM周期采样模块包括us计数器、TPstartns计数器、TPstopns计数器、加法器、锁存器;输入信号包括复位信号RST、计数时钟CLK_US、计数时钟CLK_100MHz、被测信号PWM_I1;输出信号包括us计数器经锁存器输出的计数值TP_US、TPstartns计数器输出计数值和TPstopns计数器输出计数值经加法器相加且通过锁存器锁存输出的计数值TP_ns;us计数器的计数时钟是周期为1us的CLK_US信号,在PWM_I1的上升沿开始计数,到下一个上升沿停止计数,且同时通过锁存器锁存以us为单位的计数值;TPstartns计数器的计数时钟是频率为100MHz的信号CLK_100M,在PWM_I1的上升沿开始计数,到CLK_US的上升沿停止计数;TPstopns计数器的计数时钟是频率为100MHz的信号CLK_100M,在CLK_US的上升沿开始计数,到PWM_I1的下一个上升沿停止计数;锁存器的锁存时刻在PWM_I1的下降沿。
其中,所述的PWM脉宽采样模块1至PWM脉宽采样模块n,内部结构和外部接口完全一致,内部包括us计数器、TWstartns计数器、TWstopns计数器、加法器、锁存器;输入信号包括复位信号RST、计数时钟CLK_US、计数时钟CLK_100MHz、被测信号PWM_Ix;输出信号包括us计数器经锁存器输出的计数值TW_US、TWstartns计数器输出计数值和TWstopns计数器输出计数值经加法器相加且通过锁存器锁存输出的计数值TW_ns;us计数器的计数时钟是周期为1us的CLK_US信号,在PWM_Ix的上升沿开始计数,到PWM_Ix的下一个下降沿停止计数;TWstartns计数器的计数时钟是频率为100MHz的信号CLK_100M,在PWM_Ix的上升沿开始计数,到CLK_US的上升沿停止计数;TWstopns计数器的计数时钟是频率为100MHz的信号CLK_100M,在CLK_US的上升沿开始计数,到PWM_Ix的下一个下降沿停止计数;同时,在PWM_Ix的下降沿,锁存器锁存us计数器输出的以us为单位的计数值和加法器输出的以10ns为单位的计数值;PWM_Ix的x是1,2,…,n。
其中,所述的PWM信号生成模块1至PWM信号生成模块m,内部结构和外部接口完全一致,内部包括周期ns计数器、us计数器、脉宽ns计数器和比较器;us计数器的计数时钟是周期为1us的CLK_US信号,在us计数器输出计数值TP_C_US与PWM生成锁存器组内的周期us锁存器输出的TP_G_US相等时,复位计数器,重新计数;周期ns计数器的计数时钟是频率为100MHz的CLK_100M信号,在CLK_US上升沿复位计数器,当周期ns计数器输出计数值TP_C_NS与PWM生成锁存器组内的周期ns锁存器输出的TP_G_NS相等时,停止计数,直至下一个CLK_US上升沿复位计数器;脉宽ns计数器的计数时钟是频率为100MHz的CLK_100M信号,在CLK_US上升沿复位计数器,当脉宽ns计数器输出计数值TW_C_NS与PWM生成锁存器组内的脉宽ns锁存器m输出的TW_G_NS相等时,停止计数,直至下一个CLK_US上升沿复位计数器;比较器,比较周期us计数器的计数输出值是否与PWM生成锁存器组内的周期us锁存器输出的TP_G_US相等,比较周期us计数器的计数输出值是否与PWM生成锁存器组内的脉宽us锁存器m输出的TW_G_US相等,比较周期ns计数器输出计数值TP_C_NS是否与PWM生成锁存器组内的周期ns锁存器m输出的TP_G_NS相等,比较脉宽ns计数器输出计数值TW_C_NS是否与PWM生成锁存器组内的脉宽ns锁存器m输出的TW_G_NS相等;当TP_C_NS==TP_G_NS且TP_C_US==TP_G_US时,比较器输出的PWM_Oy跳到高电平,当TW_C_NS==TW_G_NS且TP_C_US==TW_G_US时,比较器输出的PWM_Oy跳到低电平,其余时间,PWM_Oy信号保持不变;PWM_Oy的y是1,2,…,m。
其中,所述的PWM采样寄存器组在译码接口模块输出锁存信号LATCH_S的作用下,同步锁存PWM周期采样模块输出数据、PWM脉宽采样模块1输出数据至PWM脉宽采样模块n输出数据。
其中,所述的PWM生成锁存器组在译码接口模块输出锁存信号LATCH_G的作用下,同步输出数据到PWM信号生成模块1至PWM信号生成模块m。
本发明的有益技术效果在于:
(1)利用VerilogHDL硬件描述语言和FPGA电路设计软件,就可实现此种新型的PWM信号采样和生成装置,可以同时具有PWM采样和生成功能,适用于无人机飞控系统对遥控接收机输出PWM信号采样和生成PWM信号控制舵机等兼具PWM采样和生成需求的应用系统。
(2)PWM周期采样模块和PWM脉宽采样模块分开实现,可采用多个PWM周期采样模块和多个PWM脉宽采样模块组合方式,对多路周期和脉宽均不相同的PWM信号源进行采样,也可使用单个PWM周期采样模块和多个PWM脉宽采样模块组合方式对周期相同脉宽不同的多路PWM信号源进行采样。后者组合方式适用于无人机系统中,因为同一遥控器各通道PWM信号周期相同,脉宽不同。
(3)PWM周期采样模块和PWM脉宽采样模块,均使用三个计数器,一个以us为单位的us计数器进行粗计数,两个以ns为单位的计数器进行精计数,分别对因us计数时钟上升沿与计数开始时刻和计数结束时刻不同步而引起的计数误差进行精计数,从而使计数精度提高到ns级,而且采用多个计数器并行工作,可减小单个计数器的位宽,充分利用FPGA并行化流水线处理方法。此外,这种粗计数和精计数组合方法同样使用到PWM信号生成模块中。
(4)这种PWM信号采样和生成装置,能够同步锁存采样数据和同步输出多通道PWM信号生成模块需要的周期和脉宽数据,确保对不同通道数据处理的同步性和一致性。
(5)这种PWM信号采样和生成装置,具有双级缓存特点,第一级缓存通过PWM的上升沿或下降沿对采样的单通道PWM周期数据和脉宽数据进行缓存,第二级缓存通过微处理器经译码接口模块生成的缓存信号同步锁存采样的多通道PWM周期数据和脉宽数据,提高采样数据的有效性和可靠性。
附图说明
图1是本发明的多通道高精度PWM信号采样和生成装置结构图;
图2是本发明的PWM信号采样和生成装置无人机飞控系统应用图;
图3是本发明的高精度PWM周期采样方法图;
图4是本发明的PWM周期采样模块功能结构图;
图5是本发明的高精度PWM脉宽采样方法图;
图6是本发明的PWM脉宽采样模块功能结构图;
图7是本发明的PWM信号生成模块功能结构图。
具体实施方式
下面结合附图对本发明的具体实施作进一步的说明。
如图1本发明的多通道高精度PWM信号采样和生成装置,至少包括总线收发器1、晶振2、微处理器3、FPGA芯片4和总线收发器5,其特征在于所述的FPGA芯片4至少包括:PLL时钟倍频模块401、时钟分频模块402、PWM周期采样模块403、PWM脉宽采样模块1(404)、PWM采样寄存器组406、PWM生成锁存器组407、PWM信号生成模块1(408)、译码接口模块410,还可以包括PWM脉宽采样模块n(405)和PWM信号生成模块m(409),这些电路是通过硬件描述语言VerilogHDL编程实现;
所述的总线收发器1输入端与外部输入的多路PWM信号PWM_1至PWM_n相连,经总线收发器1输出信号PWM_I1与FPGA芯片4内PWM周期采样模块403和PWM脉宽采样模块1(404)相连,经总线收发器1输出信号PWM_In与FPGA芯片4内PWM脉宽采样模块n(405)相连;晶振2输出时钟clock与FPGA芯片4内PLL时钟倍频模块401相连;微处理器3的控制总线、地址总线和数据总线与FPGA芯片4内译码接口模块410相连;FPGA芯片4内PWM信号生成模块1(408)输出PWM_O1、PWM信号生成模块m(409)输出PWM_Om,与总线收发器5输入端相连;总线收发器5输出的PWM信号PWM_DO1至PWM_DOm供外部使用。
所述的FPGA芯片4内的模块连接关系是:
PLL时钟倍频模块401输出100MHz时钟CLK_100M与时钟分频模块402相连,PLL时钟倍频模块401输出的锁相信号RST作为复位信号,与时钟分频模块、PWM周期采样模块403、PWM脉宽采样模块1(404)、PWM脉宽采样模块n(405)、PWM信号生成模块1(408)、PWM信号生成模块m(409)相连;时钟分频模块402输出的周期为1us的时钟CLK_US和PLL时钟倍频模块401输出的100MHz时钟CLK_100M作为计数时钟基准,与PWM周期采样模块403、PWM脉宽采样模块1(404)、PWM脉宽采样模块n(405)、PWM信号生成模块1(408)、PWM信号生成模块m(409)相连;PWM周期采样模块403输出的us计数数据与PWM采样寄存器组406的周期us寄存器相连,PWM周期采样模块403输出的ns计数数据与PWM采样寄存器组406的周期ns寄存器相连;PWM脉宽采样模块1(404)输出的us计数数据与PWM采样寄存器组406的脉宽us寄存器1相连,PWM周期采样模块1(404)输出的ns计数数据与PWM采样寄存器组406的脉宽ns寄存器1相连;PWM脉宽采样模块n(405)输出的us计数数据与PWM采样寄存器组406的脉宽us寄存器n相连,PWM周期采样模块n(404)输出的ns计数数据与PWM采样寄存器组406的脉宽ns寄存器n相连;PWM采样寄存器组406内所有寄存器的输出数据通过数据总线与译码接口模块410相连;译码接口模块410输出的采样锁存信号LATCH_S作为采样寄存器组的锁存信号与PWM采样寄存器组406相连;译码接口模块410输出的生成锁存信号LATCH_G作为生成锁存器组的锁存信号与PWM生成锁存器组407相连;译码接口模块410通过数据总线与PWM生成锁存器组407内所有锁存器相连;PWM生成锁存器组407内周期us锁存器、周期ns锁存器、脉宽us锁存器1、脉宽ns锁存器1通过数据总线与PWM信号生成模块1(408)相连;PWM生成锁存器组407内周期us锁存器、周期ns锁存器、脉宽us锁存器m、脉宽ns锁存器m通过数据总线与PWM信号生成模块m(409)相连。
所述的总线收发器1和总线收发器5选用的芯片是型号为SN74ALVC16425的16位同相总线收发器。
所述的FPGA芯片4内的PWM脉宽采样模块1(404)至PWM脉宽采样模块n(405)内部结构和外部接口完全一致,可以根据多通道高精度PWM信号采样和生成装置所应用的系统需求,扩展PWM脉宽采样模块至n个,这里n最小为1,最大与总线收发器1的位数相等。
所述的FPGA芯片4内的PWM信号生成模块1(408)至PWM信号生成模块m(409)内部结构和外部接口完全一致,可以根据多通道高精度PWM信号采样和生成装置所应用的系统需求,扩展PWM信号生成模块至m个,这里m最小为1,最大与总线收发器5的位数相等。
所述的扩展PWM脉宽采样模块至n个,扩展PWM信号生成模块至m个,这里的n和m可以相等,也可以不相等。
PWM信号采样和生成装置在无人机飞控系统中的应用如图2所示,总线收发器1的输入端与无线电遥控接收机的5个通道相连,接收无线电遥控发射器发送的控制命令,总线收发器5输出端分别与副翼舵、升降舵、油门舵和方向舵相连,用于控制无人机的四个通用舵机。这里n和m不相等,是因为接收机输出的第5通道作为遥控/自驾切换通道。微处理器使用DSP,在具体实现中也可使用STM32,ARM等微处理器。
本发明的高精度PWM周期采样方法如图3所示,PWM信号的实际周期是两个PWM上升沿之间的时间TP。用周期为1us的计数时钟信号CLK_US进行粗计数,得到的采样时间是TP_US,与实际的周期TP间存在测量误差,损失起始阶段PWM上升沿与第一个CLK_US上升沿之间的时间TPstart,以及最后一个CLK_US上升沿和PWM下一个上升沿之间的时间TPstop,两者之和即是粗计数的采样误差,即粗采样的精度为±1us。为提高PWM周期的采样精度,用频率更高的100MHz时钟信号CLK_100MHz,对TPstart和TPstop分别进行精计数,最后得到的周期采样为:
TP'=TP_US+TPstart+TPstop(1)
结合粗采样和精采样后得到的PWM测量周期TP'和实际的PWM周期TP间的误差为±10ns,从而提高周期采样精度。这里特别说明的是,进行精计数的100MHz时钟,还可以根据FPGA具体芯片型号的工作频率上限,通过时钟倍频将时钟频率提升到200MHz或500MHz以上。
实现高精度PWM周期采样方法的PWM周期采样模块403,如图4所示,包括us计数器431、TPstartns计数器432、TPstopns计数器433、加法器434、锁存器435,输入信号包括复位信号RST、计数时钟CLK_US、计数时钟CLK_100MHz、被测信号PWM_I1,输出信号包括us计数器432经锁存器输出的计数值TP_US、TPstartns计数器432输出计数值和TPstopns计数器433输出计数值经加法器434相加且通过锁存器锁存输出的计数值TP_NS;用于粗计数的us计数器431的计数时钟是周期为1us的CLK_US信号,在PWM_I1的上升沿开始计数,到下一个上升沿停止计数,且同时通过锁存器435锁存以us为单位的计数值;用于精计数的TPstartns计数器432的计数时钟是频率为100MHz的信号CLK_100M,在PWM_I1的上升沿开始计数,到CLK_US的上升沿停止计数;同样用于精计数的TPstopns计数器433的计数时钟是频率为100MHz的信号CLK_100M,在CLK_US的上升沿开始计数,到PWM_I1的下一个上升沿停止计数;锁存器435的锁存时刻在PWM_I1的下降沿。
本发明的高精度PWM脉宽采样方法如图5所示,PWM信号的实际脉宽是PWM上升沿和下降沿之间的时间TW。用周期为1us的计数时钟信号CLK_US进行粗计数,得到的采样时间是TW_US,与实际的周期TW间存在测量误差,损失起始阶段PWM上升沿与第一个CLK_US上升沿之间的时间TWstart,以及最后一个CLK_US上升沿和PWM下降沿之间的时间TWstop,两者之和即是粗计数的采样误差,即粗采样的精度为±1us。为提高PWM脉宽的采样精度,用频率更高的100MHz时钟信号CLK_100MHz,对TWstart和TWstop分别进行精计数,最后得到的采样脉宽为:
TW'=TW_US+TWstart+TWstop(2)
结合粗采样和精采样后得到的PWM脉宽TW'和实际的PWM周期TW间的误差为±10ns,从而提高脉宽采样精度。这里特别说明的是,进行精计数的100MHz时钟,还可以根据FPGA具体芯片型号的工作频率上限,通过时钟倍频将时钟频率提升到200MHz或500MHz以上。
所述的FPGA芯片4内的PWM脉宽采样模块1(404)至PWM脉宽采样模块n(405),内部结构和外部接口完全一致,实现高精度PWM脉宽采样方法的PWM脉宽采样模块,如图6所示,内部包括us计数器441、TWstartns计数器442、TWstopns计数器443、加法器444、锁存器445,输入信号包括复位信号RST、计数时钟CLK_US、计数时钟CLK_100MHz、被测信号PWM_Ix,输出信号包括us计数器442经锁存器输出的计数值TW_US、TWstartns计数器442输出计数值和TWstopns计数器443输出计数值经加法器444相加且通过锁存器锁存输出的计数值TW_NS;用于粗计数的us计数器441的计数时钟是周期为1us的CLK_US信号,在PWM_Ix的上升沿开始计数,到PWM_Ix的下一个下降沿停止计数;用于精计数的TWstartns计数器432的计数时钟是频率为100MHz的信号CLK_100M,在PWM_Ix的上升沿开始计数,到CLK_US的上升沿停止计数;同样用于精计数的TWstopns计数器433的计数时钟是频率为100MHz的信号CLK_100M,在CLK_US的上升沿开始计数,到PWM_Ix的下一个下降沿停止计数;同时,在PWM_Ix的下降沿,锁存器445锁存us计数器441输出的以us为单位的计数值和加法器444输出的以10ns为单位的计数值;PWM_Ix的x是1,2,…,n。
PWM信号生成模块,同样使用粗计数和精计数结合的方法,具体实现如图7所示,所述的FPGA芯片4内的PWM信号生成模块1(408)和PWM信号生成模块m(409),内部结构和外部接口完全一致,内部包括周期ns计数器491、us计数器492、脉宽ns计数器493和比较器494;用于粗计数的us计数器492的计数时钟是周期为1us的CLK_US信号,在us计数器492输出计数值TP_C_US与PWM生成锁存器组407内的周期us锁存器输出的TP_G_US相等时,复位计数器,重新计数;用于周期精计数的周期ns计数器491的计数时钟是频率为100MHz的CLK_100M信号,在CLK_US上升沿复位计数器,当周期ns计数器491输出计数值TP_C_NS与PWM生成锁存器组407内的周期ns锁存器输出的TP_G_NS相等时,停止计数,直至下一个CLK_US上升沿复位计数器;用于脉宽精计数的脉宽ns计数器493的计数时钟是频率为100MHz的CLK_100M信号,在CLK_US上升沿复位计数器,当脉宽ns计数器493输出计数值TW_C_NS与PWM生成锁存器组407内的脉宽ns锁存器m输出的TW_G_NS相等时,停止计数,直至下一个CLK_US上升沿复位计数器;比较器494,比较周期us计数器492的计数输出值是否与PWM生成锁存器组407内的周期us锁存器输出的TP_G_US相等,比较周期us计数器492的计数输出值是否与PWM生成锁存器组407内的脉宽us锁存器m输出的TW_G_US相等,比较周期ns计数器491输出计数值TP_C_NS是否与PWM生成锁存器组407内的周期ns锁存器m输出的TP_G_NS相等,比较脉宽ns计数器493输出计数值TW_C_NS是否与PWM生成锁存器组407内的脉宽ns锁存器m输出的TW_G_NS相等;当TP_C_NS==TP_G_NS且TP_C_US==TP_G_US时,比较器494输出的PWM_Oy跳到高电平,当TW_C_NS==TW_G_NS且TP_C_US==TW_G_US时,比较器494输出的PWM_Oy跳到低电平,其余时间,PWM_Oy信号保持不变;PWM_Oy的y是1,2,…,m。
所述的FPGA芯片4内的PWM采样寄存器组406在译码接口模块410输出锁存信号LATCH_S的作用下,同步锁存PWM周期采样模块403输出数据、PWM脉宽采样模块1(404)输出数据和PWM脉宽采样模块n(405)输出数据。
所述的FPGA芯片4内的PWM生成锁存器组407在译码接口模块410输出锁存信号LATCH_G的作用下,同步输出数据到PWM信号生成模块1(408)和PWM信号生成模块m(409)。
最后说明的是本发明的一种多通道高精度PWM信号采样和生成装置不局限于上述实施例,还可以做出各种修改、变换、变形和裁剪,例如,单独使用PWM信号采样功能,或单独使用PWM生成功能。因此,说明书和附图应被认为是说明性的而非限制性的。凡是依据本发明的技术方案进行修改、修饰或等同变化,而不脱离本发明技术方案的思想和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (8)

1.一种多通道高精度PWM信号采样和生成装置,至少包括总线收发器(1)、晶振(2)、微处理器(3)、FPGA芯片(4)和总线收发器(5),其特征在于所述的FPGA芯片至少包括:PLL时钟倍频模块(401)、时钟分频模块(402)、PWM周期采样模块(403)、PWM脉宽采样模块1(404)、PWM采样寄存器组(406)、PWM生成锁存器组(407)、PWM信号生成模块1(408)、译码接口模块(410),还包括PWM脉宽采样模块n(405)和PWM信号生成模块m(409),这些电路是通过硬件描述语言VerilogHDL编程实现;
所述的FPGA芯片(4)内的模块连接关系是:
PLL时钟倍频模块(401)输出100MHz时钟CLK_100M与时钟分频模块(402)相连,PLL时钟倍频模块(401)输出的锁相信号RST作为复位信号,与时钟分频模块、PWM周期采样模块(403)、PWM脉宽采样模块1(404)、PWM脉宽采样模块n(405)、PWM信号生成模块1(408)、PWM信号生成模块m(409)相连;时钟分频模块(402)输出的周期为1us的时钟CLK_US和PLL时钟倍频模块(401)输出的100MHz时钟CLK_100M作为计数时钟基准,与PWM周期采样模块(403)、PWM脉宽采样模块1(404)、PWM脉宽采样模块n(405)、PWM信号生成模块1(408)、PWM信号生成模块m(409)相连;PWM周期采样模块(403)输出的us计数数据与PWM采样寄存器组(406)的周期us寄存器相连,PWM周期采样模块(403)输出的ns计数数据与PWM采样寄存器组(406)的周期ns寄存器相连;PWM脉宽采样模块1(404)输出的us计数数据与PWM采样寄存器组(406)的脉宽us寄存器1相连,PWM周期采样模块1(404)输出的ns计数数据与PWM采样寄存器组(406)的脉宽ns寄存器1相连;PWM脉宽采样模块n(405)输出的us计数数据与PWM采样寄存器组(406)的脉宽us寄存器n相连,PWM周期采样模块n(404)输出的ns计数数据与PWM采样寄存器组(406)的脉宽ns寄存器n相连;PWM采样寄存器组(406)内所有寄存器的输出数据通过数据总线与译码接口模块(410)相连;译码接口模块(410)输出的采样锁存信号LATCH_S作为采样寄存器组的锁存信号与PWM采样寄存器组(406)相连;译码接口模块(410)输出的生成锁存信号LATCH_G作为生成锁存器组的锁存信号与PWM生成锁存器组(407)相连;译码接口模块(410)通过数据总线与PWM生成锁存器组(407)内所有锁存器相连;PWM生成锁存器组(407)内周期us锁存器、周期ns锁存器、脉宽us锁存器1、脉宽ns锁存器1通过数据总线与PWM信号生成模块1(408)相连;PWM生成锁存器组(407)内周期us锁存器、周期ns锁存器、脉宽us锁存器m、脉宽ns锁存器m通过数据总线与PWM信号生成模块m(409)相连。
2.如权利要求1所述的一种多通道高精度PWM信号采样和生成装置,其特征在于,所述的PWM脉宽采样模块1(404)至PWM脉宽采样模块n(405)内部结构和外部接口完全一致,根据多通道高精度PWM信号采样和生成装置所应用的系统需求,扩展PWM脉宽采样模块至n个,这里n最小为1,最大与总线收发器(1)的位数相等;
所述的PWM信号生成模块1(408)至PWM信号生成模块m(409)内部结构和外部接口完全一致,根据多通道高精度PWM信号采样和生成装置所应用的系统需求,扩展PWM信号生成模块至m个,这里m最小为1,最大与总线收发器(5)的位数相等。
3.如权利要求2所述的一种多通道高精度PWM信号采样和生成装置,其特征在于,所述的扩展PWM脉宽采样模块至n个,扩展PWM信号生成模块至m个,这里的n和m可以相等,也可以不相等。
4.如权利要求1所述的一种多通道高精度PWM信号采样和生成装置,其特征在于,所述的PWM周期采样模块(403)包括us计数器(431)、TPstartns计数器(432)、TPstopns计数器(433)、加法器(434)、锁存器(435);输入信号包括复位信号RST、计数时钟CLK_US、计数时钟CLK_100MHz、被测信号PWM_I1;输出信号包括us计数器(432)经锁存器输出的计数值TP_US、TPstartns计数器(432)输出计数值和TPstopns计数器(433)输出计数值经加法器(434)相加且通过锁存器锁存输出的计数值TP_NS;us计数器(431)的计数时钟是周期为1us的CLK_US信号,在PWM_I1的上升沿开始计数,到下一个上升沿停止计数,且同时通过锁存器(435)锁存以us为单位的计数值;TPstartns计数器(432)的计数时钟是频率为100MHz的信号CLK_100M,在PWM_I1的上升沿开始计数,到CLK_US的上升沿停止计数;TPstopns计数器(433)的计数时钟是频率为100MHz的信号CLK_100M,在CLK_US的上升沿开始计数,到PWM_I1的下一个上升沿停止计数;锁存器(435)的锁存时刻在PWM_I1的下降沿。
5.如权利要求1所述的一种多通道高精度PWM信号采样和生成装置,其特征在于,所述的PWM脉宽采样模块1(404)至PWM脉宽采样模块n(405),内部结构和外部接口完全一致,内部包括us计数器(441)、TWstartns计数器(442)、TWstopns计数器(443)、加法器(444)、锁存器(445);输入信号包括复位信号RST、计数时钟CLK_US、计数时钟CLK_100MHz、被测信号PWM_Ix;输出信号包括us计数器(442)经锁存器输出的计数值TW_US、TWstartns计数器(442)输出计数值和TWstopns计数器(443)输出计数值经加法器(444)相加且通过锁存器锁存输出的计数值TW_NS;us计数器(441)的计数时钟是周期为1us的CLK_US信号,在PWM_Ix的上升沿开始计数,到PWM_Ix的下一个下降沿停止计数;TWstartns计数器(432)的计数时钟是频率为100MHz的信号CLK_100M,在PWM_Ix的上升沿开始计数,到CLK_US的上升沿停止计数;TWstopns计数器(433)的计数时钟是频率为100MHz的信号CLK_100M,在CLK_US的上升沿开始计数,到PWM_Ix的下一个下降沿停止计数;同时,在PWM_Ix的下降沿,锁存器(445)锁存us计数器(441)输出的以us为单位的计数值和加法器(444)输出的以10ns为单位的计数值;PWM_Ix的x是1,2,…,n。
6.如权利要求1所述的一种多通道高精度PWM信号采样和生成装置,其特征在于,所述的PWM信号生成模块1(408)至PWM信号生成模块m(409),内部结构和外部接口完全一致,内部包括周期ns计数器(491)、us计数器(492)、脉宽ns计数器(493)和比较器(494);us计数器(492)的计数时钟是周期为1us的CLK_US信号,在us计数器(492)输出计数值TP_C_US与PWM生成锁存器组(407)内的周期us锁存器输出的TP_G_US相等时,复位计数器,重新计数;周期ns计数器(491)的计数时钟是频率为100MHz的CLK_100M信号,在CLK_US上升沿复位计数器,当周期ns计数器(491)输出计数值TP_C_NS与PWM生成锁存器组(407)内的周期ns锁存器输出的TP_G_NS相等时,停止计数,直至下一个CLK_US上升沿复位计数器;脉宽ns计数器(493)的计数时钟是频率为100MHz的CLK_100M信号,在CLK_US上升沿复位计数器,当脉宽ns计数器(493)输出计数值TW_C_NS与PWM生成锁存器组(407)内的脉宽ns锁存器m输出的TW_G_NS相等时,停止计数,直至下一个CLK_US上升沿复位计数器;比较器(494),比较周期us计数器(492)的计数输出值是否与PWM生成锁存器组(407)内的周期us锁存器输出的TP_G_US相等,比较周期us计数器(492)的计数输出值是否与PWM生成锁存器组(407)内的脉宽us锁存器m输出的TW_G_US相等,比较周期ns计数器(491)输出计数值TP_C_NS是否与PWM生成锁存器组(407)内的周期ns锁存器m输出的TP_G_NS相等,比较脉宽ns计数器(493)输出计数值TW_C_NS是否与PWM生成锁存器组(407)内的脉宽ns锁存器m输出的TW_G_NS相等;当TP_C_NS==TP_G_NS且TP_C_US==TP_G_US时,比较器(494)输出的PWM_Oy跳到高电平,当TW_C_NS==TW_G_NS且TP_C_US==TW_G_US时,比较器(494)输出的PWM_Oy跳到低电平,其余时间,PWM_Oy信号保持不变;PWM_Oy的y是1,2,…,m。
7.如权利要求1所述的一种多通道高精度PWM信号采样和生成装置,其特征在于,所述的PWM采样寄存器组(406)在译码接口模块(410)输出锁存信号LATCH_S的作用下,同步锁存PWM周期采样模块(403)输出数据、PWM脉宽采样模块1(404)输出数据至PWM脉宽采样模块n(405)输出数据。
8.如权利要求1所述的一种多通道高精度PWM信号采样和生成装置,其特征在于,所述的PWM生成锁存器组(407)在译码接口模块(410)输出锁存信号LATCH_G的作用下,同步输出数据到PWM信号生成模块1(408)至PWM信号生成模块m(409)。
CN201410023839.7A 2014-01-17 2014-01-17 一种多通道高精度pwm信号采样和生成装置 Expired - Fee Related CN103762964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410023839.7A CN103762964B (zh) 2014-01-17 2014-01-17 一种多通道高精度pwm信号采样和生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410023839.7A CN103762964B (zh) 2014-01-17 2014-01-17 一种多通道高精度pwm信号采样和生成装置

Publications (2)

Publication Number Publication Date
CN103762964A CN103762964A (zh) 2014-04-30
CN103762964B true CN103762964B (zh) 2016-05-18

Family

ID=50530144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410023839.7A Expired - Fee Related CN103762964B (zh) 2014-01-17 2014-01-17 一种多通道高精度pwm信号采样和生成装置

Country Status (1)

Country Link
CN (1) CN103762964B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104724295B (zh) * 2014-05-30 2016-12-07 广州安云电子科技有限公司 一种无人机载荷通用接口系统
CN104698934A (zh) * 2015-02-27 2015-06-10 福建工程学院 基于fpga的无人机舵机遥控信息的采集和处理方法
JP6562758B2 (ja) * 2015-08-07 2019-08-21 キヤノン株式会社 Pwm信号生成装置、モーター制御装置及び光走査装置
CN105406844A (zh) * 2015-10-22 2016-03-16 福州瑞芯微电子股份有限公司 一种支持输入输出模式的pwm架构
CN106226605B (zh) * 2016-07-20 2019-08-13 中国航空工业集团公司航空动力控制系统研究所 一种pwm自检测方法
CN106354665B (zh) * 2016-08-26 2019-11-26 天津市英贝特航天科技有限公司 一种二级缓存数据采集模块
CN106507547B (zh) * 2016-12-27 2018-01-16 苏州纽克斯电源技术股份有限公司 一种led调光控制系统
CN107884627A (zh) * 2017-10-20 2018-04-06 上海四旻机电科技有限公司 一种多通道高精度pwm测量模块
CN109580975B (zh) * 2018-12-10 2023-09-05 珠海一微半导体股份有限公司 一种基于pwm信号的速度检测器、处理电路及芯片
CN109361381B (zh) * 2018-12-10 2024-05-03 珠海一微半导体股份有限公司 一种pwm生成电路、处理电路及芯片
CN109361395A (zh) * 2018-12-17 2019-02-19 成都国腾实业集团有限公司 一种高速并行采样方法
CN116067488A (zh) * 2023-03-06 2023-05-05 江西飞尚科技有限公司 一种低频信号采集系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1338810A (zh) * 2001-10-12 2002-03-06 清华大学 一种电力电子设备的控制脉冲的发生方法
CN202276328U (zh) * 2011-09-30 2012-06-13 上海华魏光纤传感技术有限公司 一种可产生多个超窄脉冲的信号发生器
CN103036539A (zh) * 2011-09-30 2013-04-10 上海华魏光纤传感技术有限公司 一种可产生多个超窄脉冲的信号发生器及其实现方法
CN103178814A (zh) * 2011-12-21 2013-06-26 北京普源精电科技有限公司 一种函数信号发生装置及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8509300B2 (en) * 2007-10-09 2013-08-13 St-Ericsson Sa Transmitter with reduced power consumption and increased linearity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1338810A (zh) * 2001-10-12 2002-03-06 清华大学 一种电力电子设备的控制脉冲的发生方法
CN202276328U (zh) * 2011-09-30 2012-06-13 上海华魏光纤传感技术有限公司 一种可产生多个超窄脉冲的信号发生器
CN103036539A (zh) * 2011-09-30 2013-04-10 上海华魏光纤传感技术有限公司 一种可产生多个超窄脉冲的信号发生器及其实现方法
CN103178814A (zh) * 2011-12-21 2013-06-26 北京普源精电科技有限公司 一种函数信号发生装置及方法

Also Published As

Publication number Publication date
CN103762964A (zh) 2014-04-30

Similar Documents

Publication Publication Date Title
CN103762964B (zh) 一种多通道高精度pwm信号采样和生成装置
CN103701382B (zh) 一种基于fpga的永磁同步电机电流环带宽扩展装置
CN102811012B (zh) 基于fpga的多轴伺服电机电流环控制系统及控制方法
CN103516279B (zh) 一种基于fpga的永磁同步电机控制芯片
CN102158208B (zh) 基于振荡环电路的全程可调数字脉宽调制器
CN107124125A (zh) 一种基于fpga芯片的多轴步进电机控制器系统
CN103117732B (zh) 多路视频脉冲信号发生装置及方法
CN101226408B (zh) 交流伺服绝对值编码器位置反馈脉冲分频输出方法及电路
CN102291073A (zh) 多轴步进电机插补控制器及多轴步进电机运动控制卡
CN102680726A (zh) 一种用于电机转速测量的高精度自适应装置
CN103312248B (zh) 一种基于dsp的直线加减速拐点误差补偿方法
Bangji et al. Velocity profile algorithm realization on FPGA for stepper motor controller
Amornwongpeeti et al. A single chip FPGA-based solution for controlling of multi-unit PMSM motor with time-division multiplexing scheme
CN104133409A (zh) 一种对称性可调的三角波合成装置
CN116961511A (zh) 一种改进型msmu硬件电流环及控制方法
CN106569541A (zh) 正弦波生成方法及装置
CN202172382U (zh) 多轴步进电机插补控制器及多轴步进电机运动控制卡
CN213581764U (zh) 一种时间间隔测量装置
CN103697874A (zh) 一种数字式石英音叉陀螺驱动环路控制电路
CN203691315U (zh) 一种三相永磁同步电机驱动电路
CN202957806U (zh) 基于fpga的dds信号发生器
CN102624328A (zh) 电动机速度控制装置
CN103633996A (zh) 产生任意频率方波的累加计数器分频方法
CN102361445A (zh) 基于数字频率合成器的高精度协议脉冲发生器
CN202003209U (zh) 基于fpga的数字电源控制系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160518

Termination date: 20180117

CF01 Termination of patent right due to non-payment of annual fee