CN115529028A - Pwm占空比测量系统、方法及存储介质 - Google Patents
Pwm占空比测量系统、方法及存储介质 Download PDFInfo
- Publication number
- CN115529028A CN115529028A CN202110714004.6A CN202110714004A CN115529028A CN 115529028 A CN115529028 A CN 115529028A CN 202110714004 A CN202110714004 A CN 202110714004A CN 115529028 A CN115529028 A CN 115529028A
- Authority
- CN
- China
- Prior art keywords
- pwm duty
- triggering mode
- triggered
- mode
- duty ratio
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/125—Discriminating pulses
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/19—Monitoring patterns of pulse trains
Landscapes
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
本发明公开了一种PWM占空比测量系统、方法及存储介质,所述PWM占空比测量方法包括:通过接收来自上位机通过预设接口发送的待测对象的占空比测量指令,接收PWM信号,将测量引脚的外部中断触发方式设定为第一触发方式;实时检测测量引脚的第一触发次数;在第一触发次数为预设次数时,切换为第二触发方式,并从时钟模块读取两次通过第一触发方式被触发的时间点;从时钟模块中读取通过第二触发方式被触发的时间点,关闭外部中断触发方式;运用预设脉宽占比模型确定PWM信号的PWM占空比,并将PWM占空比通过预设接口反馈至上位机。因此,本发明通过普通的输入输出的引脚接口,无需给该引脚接口腾出独立的定时器资源,实现了高精度的PWM占空比测量。
Description
技术领域
本发明涉及电路测量技术,尤其涉及一种PWM占空比测量系统、方法及存储介质。
背景技术
目前,在很多应用场景下,通过PWM信号的占空比指示设备的位置等状态,特别是在需要高精度控制的设备上,比如机器人中的电机可以通过PWM信号指示当前电机转子的绝对位置,而PWM信号的占空比测量通常采用MCU的定时器资源进行脉宽以及周期捕获的方式进行测量,该方法需要一路具有一个独立定时器资源的引脚接口,由于随着社会的发展,对MCU的集成化和微型化的要求越来越高,以至对MCU的引脚使用率和定时器资源的利用率的要求越来越高,所以对间断的PWM信号的占空比进行测量,将会导致MCU的引脚使用率和定时器资源的利用率的不高,造成MCU资源的浪费。
发明内容
本发明提供一种PWM占空比测量系统、方法及存储介质,本发明无需独立的定时器资源即可进行PWM占空比测量,提高了引脚使用率和定时器资源的利用率。
一种PWM占空比测量系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序计算机可读指令,所述处理器上设有连接上位机的预设接口以及连接待测对象的测量引脚;所述PWM占空比测量系统还包括连接所述处理器的时钟模块;
所述处理器执行所述计算机可读指令时实现如下步骤:
接收来自上位机通过所述预设接口发送的待测对象的占空比测量指令,接收来自所述待测对象的PWM信号,同时将测量引脚的外部中断触发方式设定为与所述待测对象对应的第一触发方式;
实时检测所述测量引脚通过所述第一触发方式被触发的第一触发次数;
在所述第一触发次数为预设次数时,将所述外部中断触发方式切换为与所述第一触发方式不同的第二触发方式,并从时钟模块读取两次通过所述第一触发方式被触发的时间点;
在所述测量引脚通过所述第二触发方式被触发之后,从所述时钟模块中读取通过所述第二触发方式被触发的时间点,关闭所述测量引脚的外部中断触发方式;
根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比,并将所述PWM占空比通过所述预设接口反馈至所述上位机。
一种PWM占空比测量方法,包括:
接收来自上位机通过所述预设接口发送的待测对象的占空比测量指令,接收来自所述待测对象的PWM信号,同时将测量引脚的外部中断触发方式设定为与所述待测对象对应的第一触发方式;所述测量引脚连接在所述待测对象和所述处理器之间;
实时检测所述测量引脚通过所述第一触发方式被触发的第一触发次数,所述时钟模块与所述处理器连接;
在所述第一触发次数为预设次数时,将所述外部中断触发方式切换为与所述第一触发方式不同的第二触发方式,并从时钟模块读取两次通过所述第一触发方式被触发的时间点;
在所述测量引脚通过所述第二触发方式被触发之后,从所述时钟模块中读取通过所述第二触发方式被触发的时间点,关闭所述测量引脚的外部中断触发方式;
根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比,并将所述PWM占空比通过所述预设接口反馈至所述上位机。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述PWM占空比测量方法。
本发明提供了一种PWM占空比测量系统、方法及存储介质,该方法实现了通过接收来自上位机通过所述预设接口发送的待测对象的占空比测量指令,接收来自所述待测对象的PWM信号,同时将测量引脚的外部中断触发方式设定为与所述待测对象对应的第一触发方式,能够通过不具有定时器功能的输入输出的引脚接口接收待测对象的PWM信号,无需单独给该引脚接口腾出独立的定时器资源,节省了定时器资源;以及实时检测所述测量引脚通过所述第一触发方式被触发的第一触发次数;在所述第一触发次数为预设次数时,将所述外部中断触发方式切换为与所述第一触发方式不同的第二触发方式,并从时钟模块读取两次通过所述第一触发方式被触发的时间点;在所述测量引脚通过所述第二触发方式被触发之后,从所述时钟模块中读取通过所述第二触发方式被触发的时间点,关闭外部中断触发方式,实现了通过该引脚接口的外部中断触发方式的切换,为后续的PWM占空比测量提供了准确的时间点;根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比,并将所述PWM占空比通过所述预设接口反馈至所述上位机,如此,运用预设脉宽占比模型能够准确地、有效地测量出PWM信号的PWM占空比,节省了定时器资源,因此,降低了PWM占空比测量对输入输出引脚接口的要求门槛,以及实现了高精度的PWM占空比测量,提高了处理器的引脚使用率和定时器资源的利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中PWM占空比测量系统的连接结构示意图;
图2是本发明另一实施例中PWM占空比测量系统的连接结构示意图;
图3是本发明一实施例中PWM占空比测量方法的流程图;
图4是本发明一实施例中恒宽脉宽脉冲的PWM信号测量示意图;
图5是本发明一实施例中变脉宽脉冲的PWM信号测量示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一个实施例中,提供了一种PWM占空比测量系统1,该PWM占空比测量系统1的内部结构图可以如图1所示。该PWM占空比测量系统1包括存储器13、处理器11以及存储在所述存储器13中并可在所述处理器11上运行的计算机程序计算机可读指令,所述处理器11上设有连接上位机2的预设接口以及连接待测对象4的测量引脚,所述PWM占空比测量系统1还包括连接所述处理器11的所述时钟模块12,其中,该PWM占空比测量系统1的处理器11用于提供计算和控制能力,并用于测量与其连接的待测对象4输出的PWM信号的PWM占空比,所述处理器11可以为MCU、单片机、集成电路芯片等等;所述待测对象4为输出固定周期或者频率的PWM信号且通过该PWM信号能够定位出相应位置或者相位的对象,所述待测对象4优选为电机,该电机输出固定周期的PWM信号,通过该电机输出的PWM信号的占空比能够识别出该周期电机转动的位置或者相位;该PWM占空比测量系统1的存储器13包括可读存储介质,该计算机可读指令被处理器11执行时以实现一种PWM占空比测量方法,所述时钟模块12为所述PWM占空比测量系统1中用于计时或者提供时间的模块,所述时钟模块12仅传输给所述处理器11当前的计时值或者时间点;所述处理器11上设有连接上位机2的预设接口以及连接待测对象4的测量引脚,所述上位机2可以为计算机,也可以为控制所述PWM占空比测量系统1的中央控制处理器11。
在一实施例中,提供一种PWM占空比测量系统,如图1和3所示,所述处理器执行所述计算机可读指令时实现如下步骤:
S10,接收来自上位机通过所述预设接口发送的待测对象的占空比测量指令,接收来自所述待测对象的PWM信号,同时将测量引脚的外部中断触发方式设定为与所述待测对象对应的第一触发方式。
可理解地,所述上位机可以为计算机,也可以为控制所述PWM占空比测量系统的中央控制处理器,所述上位机在需要对所述待测对象进行PWM占空比测量时,发出所述占空比测量指令,并通过所述预设接口传输给所述处理器,所述预设接口可以为所述处理器中的一个或者多个引脚,所述待测对象为输出固定周期或者频率的PWM信号且通过该PWM信号能够定位出相应位置或者相位的对象,在接收到所述占空比测量指令之后,所述处理器通过所述测量引脚接收所述PWM信号,所述测量引脚为所述处理器的一个普通的输入输出接口(IO口),所述测量引脚具有外部中断的功能,即所述测量引脚能够接收不同的外部中断触发方式的中断事件进行执行相应的中断事件的程序,所述外部中断触发方式包括上升沿触发方式、下降沿触发方式、高电平触发方式和低电平触发方式,测量引脚的外部中断触发方式可以设定为上升沿触发方式、下降沿触发方式、高电平触发方式或者低电平触发方式,所述第一触发方式为根据所述待测对象输出的PWM信号的特征确定的外部中断触发方式,不同的待测对象对应的不同的第一触发方式,例如:待测对象输出的PWM信号中高电平占整个固定周期的占比体现了该待测对象的PWM占空比或者位置信息,第一触发方式就为上升沿触发方式(即接收到的PWM信号出现上升沿时触发),或者待测对象输出的PWM信号中低电平占整个固定周期的占比体现了该待测对象的PWM占空比或者位置信息,第一触发方式就为下降沿触发方式等等,所述PWM信号也称为脉冲宽度调制信号,所述PWM信号具有固定周期或者频率的信号,且所述PWM信号的固定周期的占空比不变,所述待测对象通过所述PWM信号能够体现当前的相关的位置或者相位信息。
在一实施例中,所述待测对象为电机,该电机输出固定周期的PWM信号,通过该电机输出的PWM信号的占空比能够识别出该周期电机转动的位置或者相位,如此,能够通过PWM占空比的测量,能够精准地读取出电机的相对位置或者相位,比如电机中的磁编可以通过PWM信号指示当前电机转子的绝对位置。
S20,实时检测所述测量引脚通过所述第一触发方式被触发的第一触发次数。
可理解地,实时检测所述第一触发次数,所述第一触发次数为触发所述第一触发方式的次数。
S30,在所述第一触发次数为预设次数时,将所述外部中断触发方式切换为与所述第一触发方式不同的第二触发方式,并从时钟模块读取两次通过所述第一触发方式被触发的时间点。
可理解地,在第一次触发所述第一触发方式时,从所述时钟模块中读取该被触发的时间点,在第预设次数触发所述第一触发方式时,从所述时钟模块中读取该触发的时间点,所述时钟模块为所述PWM占空比测量系统中用于计时或者提供时间的模块,在第预设次数触发所述第一触发方式之后,将测试引脚的外部中断触发方式切换为所述第二触发方式,所述第二触发方式与所述第一触发方式不同,所述第二触发方式可以为与所述第一触发方式的触发机制相反。
其中,所述预设次数为预设的次数,所述预设次数可以根据需求设定,进一步地,所述预设次数为两次,所述时钟模块仅传输给所述处理器当前的计时值或者时间点,即所述时钟模块为所述PWM占空比测量系统中共享的模块,通过该共享的时钟模块可以实现多路PWM信号的PWM占空比测量,达到资源利用最大化,如此,实现了定时器资源的共享,无需为每一路PWM信号腾出独自的定时器资源,节省了定时器资源,提高了定时器资源的利用率。
在一实施例中,所述第一触发方式为上升沿触发或下降沿触发;所述第二触发方式为与所述第一触发方式不同的下降沿触发或上升沿触发。
可理解地,所述上升沿触发是指当信号有上升沿时的开关动作,即当电位由低变高的变化而触发,下降沿触发是指当信号有下降沿时的开关动作,即当电位由高变低的变化而触发,其中,所述上升沿触发和所述下降沿触发为触发机制相反。
S40,在所述测量引脚通过所述第二触发方式被触发之后,从所述时钟模块中读取通过所述第二触发方式被触发的时间点,关闭所述测量引脚的外部中断触发方式。
可理解地,在所述测量引脚被设定为所述第二触发方式之后被触发时,从所述时钟模块中读取被触发的时间点,同时停止所述测量引脚的外部中断触发方式,即不会被外部的中断事件触发进行处理。
S50,根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比,并将所述PWM占空比通过所述预设接口反馈至所述上位机。
可理解地,所述预设脉宽占比模型为预设在所述处理器中用于根据从所述时钟模块中读取的第一触发方式连续的两次被触发的时间点和紧接着的一次第二触发方式被触发的时间点计算出接收的所述PWM信号的PWM占空比的模型,将所述预设脉宽占比模型输出的所述PWM占空比通过所述预设接口反馈至所述上位机,所述PWM占空比体现了所述PWM信号的固定周期内高电位或者低电位的占比,如此,通过一路普通的输入输出的引脚接口及该引脚接口的外部中断触发方式,就可以进行高精度的PWM占空比测量,从而能够准确地确定出电机的转动位置或者相位信息。
本发明实现了通过接收来自上位机通过所述预设接口发送的待测对象的占空比测量指令,接收来自所述待测对象的PWM信号,同时将测量引脚的外部中断触发方式设定为与所述待测对象对应的第一触发方式,能够通过不具有定时器功能的输入输出的引脚接口接收待测对象的PWM信号,无需单独给该引脚接口腾出独立的定时器资源,节省了定时器资源;以及实时检测所述测量引脚通过所述第一触发方式被触发的第一触发次数;在所述第一触发次数为预设次数时,将所述外部中断触发方式切换为与所述第一触发方式不同的第二触发方式,并从时钟模块读取两次通过所述第一触发方式被触发的时间点;在所述测量引脚通过所述第二触发方式被触发之后,从所述时钟模块中读取通过所述第二触发方式被触发的时间点,关闭外部中断触发方式,实现了通过该引脚接口的外部中断触发方式的切换,为后续的PWM占空比测量提供了准确的时间点;根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比,并将所述PWM占空比通过所述预设接口反馈至所述上位机,如此,运用预设脉宽占比模型能够准确地、有效地测量出PWM信号的PWM占空比,节省了定时器资源,因此,降低了PWM占空比测量对输入输出引脚接口的要求门槛,以及实现了高精度的PWM占空比测量,提高了处理器的引脚使用率和定时器资源的利用率。
在一实施例中,所述运用脉宽占比模型为:
D=(T2-T1)%(T1-T0)
其中,
D为PWM占空比;
T0为从时钟模块读取的第一次通过所述第一触发方式被触发的时间点;
T1为从时钟模块读取的第二次通过所述第一触发方式被触发的时间点;
T2为从所述时钟模块中读取的通过所述第二触发方式被触发的时间点。
可理解地,T1-T0为所述PWM信号的固定周期,T2-T1为第二次通过所述第一触发方式被触发的时间点距离第一次所述第二触发方式被触发的时间点的时长,之所以对T2-T1进行T1-T0求余,是因为在PWM信号的PWM占空比很小的时候,在测量引脚第二次通过所述第一触发方式被触发后,所述外部中断触发方式切换为所述第二触发方式会存在一个时间延时,如果该时间延时内出现了真实的一次第二触发方式的触发事件,而该触发事件的时间点不会被记录,因为在所述第二触发方式切换之前,不会做相对应的响应,因此就需经过一个固定周期后才会记录被触发的时间点,才会从所述时钟模块中读取的通过所述第二触发方式被触发的时间点,因此,就需要去掉一个固定周期,求余的结果才是真正的PWM占空比。
在一实施例中,图4中所示的所述PWM信号的类型为恒宽脉宽脉冲,所述恒宽脉宽脉冲是指在电机保持一定的角度而没有发生变化时,所出现的具有恒定PWM占空比的脉冲信号,根据图4所示的T0(从时钟模块读取的第一次通过所述第一触发方式被触发的时间点)、T1(从时钟模块读取的第二次通过所述第一触发方式被触发的时间点)和T2(从所述时钟模块中读取的通过所述第二触发方式被触发的时间点),运用所述运用脉宽占比模型,可以得到该PWM信号的PWM占空比。
在一实施例中,图5所示的所述PWM信号的类型为变脉宽脉冲,所述变脉宽脉冲是指PWM占空比随电机角度变化所相应变化的脉冲信号,根据图5所示的T0(从时钟模块读取的第一次通过所述第一触发方式被触发的时间点)、T1(从时钟模块读取的第二次通过所述第一触发方式被触发的时间点)和T2(从所述时钟模块中读取的通过所述第二触发方式被触发的时间点),运用所述运用脉宽占比模型,可以得到该PWM信号的PWM占空比。
在一实施例中,所述根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比之后,包括:
读取编码脉冲计数模块根据所述待测对象的第一编码信号确定的第一补偿计数值;所述编码脉冲计数模块连接所述待测对象。
进一步地,所述PWM占空比测量系统还包括编码脉冲计数模块14,如图2所示,所述编码脉冲计数模块与所述存储器连接,所述存储器还用于存储所述编码脉冲计数模块输出的计数值;所述编码脉冲计数模块与所述待测对象连接,该编码脉冲计数模块用于接收到所述待测对象传输的脉冲编码信号,并根据脉冲编码信号进行计数的模块,所述编码脉冲计数模块还连接所述处理器,为所述处理器直接提供当前计数的计数值,
可理解地,所述第一编码信号为在所述预设脉宽占比模型输出所述PWM占空比的时刻,所述待测对象发出的脉冲信号,所述第一编码信号表明了所述待测对象当前时刻的相位位置,所述编码脉冲计数模块可以根据所述第一编码信号将其转换成二进制编码的计数值,将该编码值确定为所述第一补偿计数值。
自存储器中获取第二补偿计数值以及与所述PWM占空比对应的理论相位值;所述存储器连接所述处理器。
可理解地,所述存储器记录了历史时刻所述待测对象发出的脉冲信号所对应的计数值,所述第二补偿计数值为在所述第二触发方式被触发的时间点,所述待测对象发出的脉冲信号所对应的计数值,所述存储器还存储了预设占比对照关系表,所述预设占比对照关系表记录了不同的PWM占比对应的不同的理论情况下的理论相位值,从所述预设占比对照关系表中可以查找到与所述PWM占空比对应的所述理论相位值,所述理论相位值为理论计算输出的不同的PWM占空比转动的相位角度。
在一实施例中,在关闭所述测量引脚的外部中断触发方式之前,且在所述测量引脚通过所述第二触发方式被触发之后,包括:
读取所述编码脉冲计数模块根据所述待测对象的第二编码信号确定的第二补偿计数值,并将所述第二补偿计数值存储至所述存储器中,所述第二补偿计数值为在所述第二触发方式被触发的时间点,所述待测对象发出的脉冲信号所对应的计数值。
确定所述第一补偿计数值和所述第二补偿计数值的差值,根据预设补偿对照表确定与所述差值对应的补偿相位值。
可理解地,将所述第一补偿计数值减去所述第二补偿计数值,得到的差值表明了在所述预设脉宽占比模型在处理输出所述PWM占比的过程中实际偏移的相位角度或者相位值,所述预设补偿对照表记录了不同的差值对应的不同的偏移的相位角度或者相位值,即所述补偿相位值,通过所述预设补偿对照表能够查找出与该差值相对应的所述补偿相位值。
将所述理论相位值和所述补偿相位值求和,得到所述待测对象在与所述PWM占空比对应的周期内转动的实际相位值。
可理解地,将所述理论相位值和所述补偿相位值求和,即通过所述补偿相位值对所述理论相位值进行修正,得到所述待测对象在与所述PWM占空比对应的周期(即所述PWM信号的固定周期)内转动的实际相位值,将所述实际相位值反馈至所述上位机,以记录所述待测对象的实际转动的相位信息,如此,能够根据测量出PWM信号占空比,确定出理论相位值,并通过补偿相位值对理论相位值进行修正,精准地输出实际转动或者移动的实际相位值。
本发明实现了通过读取编码脉冲计数模块根据所述待测对象的第一编码信号确定的第一补偿计数值;所述编码脉冲计数模块连接所述待测对象;自存储器中获取第二补偿计数值以及与所述PWM占空比对应的理论相位值;所述存储器连接所述处理器;确定所述第一补偿计数值和所述第二补偿计数值的差值,根据预设补偿对照表确定与所述差值对应的补偿相位值;将所述理论相位值和所述补偿相位值求和,得到所述待测对象在与所述PWM占空比对应的周期内转动的实际相位值,如此,能够根据测量出PWM信号占空比,并对其进行修正,精准地输出实际转动或者移动的实际相位值,提高了实际相位值输出的准确性和可靠性。
在一实施例中,如图3所示,提供一种PWM占空比测量方法,该PWM占空比测量方法与上述实施例中PWM占空比测量系统一一对应,并该PWM占空比测量方法应用在PWM占空比测量系统中,该PWM占空比测量方法包括如下步骤:
S10,接收来自上位机通过所述预设接口发送的待测对象的占空比测量指令,接收来自所述待测对象的PWM信号,同时将测量引脚的外部中断触发方式设定为与所述待测对象对应的第一触发方式。
S20,实时检测所述测量引脚通过所述第一触发方式被触发的第一触发次数。
S30,在所述第一触发次数为预设次数时,将所述外部中断触发方式切换为与所述第一触发方式不同的第二触发方式,并从时钟模块读取两次通过所述第一触发方式被触发的时间点。
S40,在所述测量引脚通过所述第二触发方式被触发之后,从所述时钟模块中读取通过所述第二触发方式被触发的时间点,关闭所述测量引脚的外部中断触发方式。
S50,根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比,并将所述PWM占空比通过所述预设接口反馈至所述上位机。
本发明实现了通过接收来自上位机通过所述预设接口发送的待测对象的占空比测量指令,接收来自所述待测对象的PWM信号,同时将测量引脚的外部中断触发方式设定为与所述待测对象对应的第一触发方式,能够通过不具有定时器功能的输入输出的引脚接口接收待测对象的PWM信号,无需单独给该引脚接口腾出独立的定时器资源,节省了定时器资源;以及实时检测所述测量引脚通过所述第一触发方式被触发的第一触发次数;在所述第一触发次数为预设次数时,将所述外部中断触发方式切换为与所述第一触发方式不同的第二触发方式,并从时钟模块读取两次通过所述第一触发方式被触发的时间点;在所述测量引脚通过所述第二触发方式被触发之后,从所述时钟模块中读取通过所述第二触发方式被触发的时间点,关闭外部中断触发方式,实现了通过该引脚接口的外部中断触发方式的切换,为后续的PWM占空比测量提供了准确的时间点;根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比,并将所述PWM占空比通过所述预设接口反馈至所述上位机,如此,运用预设脉宽占比模型能够准确地、有效地测量出PWM信号的PWM占空比,节省了定时器资源,因此,降低了PWM占空比测量对输入输出引脚接口的要求门槛,以及实现了高精度的PWM占空比测量,提高了处理器的引脚使用率和定时器资源的利用率。
在一实施例中,所述运用脉宽占比模型为:
D=(T2-T1)%(T1-T0)
其中,
D为PWM占空比;
T0为从时钟模块读取的第一次通过所述第一触发方式被触发的时间点;
T1为从时钟模块读取的第二次通过所述第一触发方式被触发的时间点;
T2为从所述时钟模块中读取的通过所述第二触发方式被触发的时间点。
在一实施例中,所述根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比之后,包括:
读取编码脉冲计数模块根据所述待测对象的第一编码信号确定的第一补偿计数值;所述编码脉冲计数模块连接所述待测对象。
自存储器中获取第二补偿计数值以及与所述PWM占空比对应的理论相位值;所述存储器连接所述处理器。
在一实施例中,在关闭所述测量引脚的外部中断触发方式之前,且在所述测量引脚通过所述第二触发方式被触发之后,包括:
读取所述编码脉冲计数模块根据所述待测对象的第二编码信号确定的第二补偿计数值,并将所述第二补偿计数值存储至所述存储器中,所述第二补偿计数值为在所述第二触发方式被触发的时间点,所述待测对象发出的脉冲信号所对应的计数值。
确定所述第一补偿计数值和所述第二补偿计数值的差值,根据预设补偿对照表确定与所述差值对应的补偿相位值。
将所述理论相位值和所述补偿相位值求和,得到所述待测对象在与所述PWM占空比对应的周期内转动的实际相位值。
本发明实现了通过读取编码脉冲计数模块根据所述待测对象的第一编码信号确定的第一补偿计数值;所述编码脉冲计数模块连接所述待测对象;自存储器中获取第二补偿计数值以及与所述PWM占空比对应的理论相位值;所述存储器连接所述处理器;确定所述第一补偿计数值和所述第二补偿计数值的差值,根据预设补偿对照表确定与所述差值对应的补偿相位值;将所述理论相位值和所述补偿相位值求和,得到所述待测对象在与所述PWM占空比对应的周期内转动的实际相位值,如此,能够根据测量出PWM信号占空比,并对其进行修正,精准地输出实际转动或者移动的实际相位值,提高了实际相位值输出的准确性和可靠性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中PWM占空比测量方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (12)
1.一种PWM占空比测量系统,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序计算机可读指令,所述处理器上设有连接上位机的预设接口以及连接待测对象的测量引脚;所述PWM占空比测量系统还包括连接所述处理器的时钟模块;
所述处理器执行所述计算机可读指令时实现如下步骤:
接收来自上位机通过所述预设接口发送的待测对象的占空比测量指令,接收来自所述待测对象的PWM信号,同时将测量引脚的外部中断触发方式设定为与所述待测对象对应的第一触发方式;
实时检测所述测量引脚通过所述第一触发方式被触发的第一触发次数;
在所述第一触发次数为预设次数时,将所述外部中断触发方式切换为与所述第一触发方式不同的第二触发方式,并从时钟模块读取两次通过所述第一触发方式被触发的时间点;
在所述测量引脚通过所述第二触发方式被触发之后,从所述时钟模块中读取通过所述第二触发方式被触发的时间点,关闭所述测量引脚的外部中断触发方式;
根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比,并将所述PWM占空比通过所述预设接口反馈至所述上位机。
2.如权利要求1所述的PWM占空比测量系统,其特征在于,所述第一触发方式为上升沿触发或下降沿触发;所述第二触发方式为与所述第一触发方式不同的下降沿触发或上升沿触发。
3.如权利要求2所述的PWM占空比测量系统,其特征在于,所述根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比之后,包括:
读取编码脉冲计数模块根据所述待测对象的第一编码信号确定的第一补偿计数值;所述编码脉冲计数模块连接所述待测对象;
自存储器中获取第二补偿计数值以及与所述PWM占空比对应的理论相位值;所述存储器连接所述处理器;
确定所述第一补偿计数值和所述第二补偿计数值的差值,根据预设补偿对照表确定与所述差值对应的补偿相位值;
将所述理论相位值和所述补偿相位值求和,得到所述待测对象在与所述PWM占空比对应的周期内转动的实际相位值。
4.如权利要求3所述的PWM占空比测量系统,其特征在于,在关闭所述测量引脚的外部中断触发方式之前,且在所述测量引脚通过所述第二触发方式被触发之后,包括:
读取所述编码脉冲计数模块根据所述待测对象的第二编码信号确定的第二补偿计数值,并将所述第二补偿计数值存储至所述存储器中。
5.如权利要求2所述的PWM占空比测量系统,其特征在于,所述运用脉宽占比模型为:
D=(T2-T1)%(T1-T0)
其中,
D为PWM占空比;
T0为从时钟模块读取的第一次通过所述第一触发方式被触发的时间点;
T1为从时钟模块读取的第二次通过所述第一触发方式被触发的时间点;
T2为从所述时钟模块中读取的通过所述第二触发方式被触发的时间点。
6.如权利要求1所述的PWM占空比测量系统,其特征在于,所述待测对象为电机。
7.一种PWM占空比测量方法,其特征在于,应用于设有预设接口的处理器;所述PWM占空比测量方法包括:
接收来自上位机通过所述预设接口发送的待测对象的占空比测量指令,接收来自所述待测对象的PWM信号,同时将测量引脚的外部中断触发方式设定为与所述待测对象对应的第一触发方式;
实时检测所述测量引脚通过所述第一触发方式被触发的第一触发次数;
在所述第一触发次数为预设次数时,将所述外部中断触发方式切换为与所述第一触发方式不同的第二触发方式,并从时钟模块读取两次通过所述第一触发方式被触发的时间点;
在所述测量引脚通过所述第二触发方式被触发之后,从所述时钟模块中读取通过所述第二触发方式被触发的时间点,关闭所述测量引脚的外部中断触发方式;
根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比,并将所述PWM占空比通过所述预设接口反馈至所述上位机。
8.如权利要求7所述的PWM占空比测量方法,其特征在于,所述第一触发方式为上升沿触发或下降沿触发;所述第二触发方式为与所述第一触发方式特性相反的下降沿触发或上升沿触发。
9.如权利要求8所述的PWM占空比测量方法,其特征在于,所述根据通过所述第二触发方式被触发的时间点以及两次通过所述第一触发方式被触发的时间点,运用预设脉宽占比模型确定所述PWM信号的PWM占空比之后,包括:
读取编码脉冲计数模块根据所述待测对象的第一编码信号确定的第一补偿计数值;所述编码脉冲计数模块连接所述待测对象;
自存储器中获取第二补偿计数值以及与所述PWM占空比对应的理论相位值;所述存储器连接所述处理器;
确定所述第一补偿计数值和所述第二补偿计数值的差值,根据预设补偿对照表确定与所述差值对应的补偿相位值;
将所述理论相位值和所述补偿相位值求和,得到所述待测对象在与所述PWM占空比对应的周期内转动的实际相位值。
10.如权利要求9所述的PWM占空比测量方法,其特征在于,在关闭所述测量引脚的外部中断触发方式之前,且在所述测量引脚通过所述第二触发方式被触发之后,包括:
读取所述编码脉冲计数模块根据所述待测对象的第二编码信号确定的第二补偿计数值,并将所述第二补偿计数值存储至所述存储器中。
11.如权利要求7所述的PWM占空比测量方法,其特征在于,所述运用脉宽占比模型为:
D=(T2-T1)%(T1-T0)
其中,
D为PWM占空比;
T0为从时钟模块读取的第一次通过所述第一触发方式被触发的时间点;
T1为从时钟模块读取的第二次通过所述第一触发方式被触发的时间点;
T2为从所述时钟模块中读取的通过所述第二触发方式被触发的时间点。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求7至11任一项所述PWM占空比测量方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110714004.6A CN115529028A (zh) | 2021-06-25 | 2021-06-25 | Pwm占空比测量系统、方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110714004.6A CN115529028A (zh) | 2021-06-25 | 2021-06-25 | Pwm占空比测量系统、方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115529028A true CN115529028A (zh) | 2022-12-27 |
Family
ID=84693621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110714004.6A Pending CN115529028A (zh) | 2021-06-25 | 2021-06-25 | Pwm占空比测量系统、方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115529028A (zh) |
-
2021
- 2021-06-25 CN CN202110714004.6A patent/CN115529028A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4631724A (en) | Semiconductor memory test equipment | |
US7216271B2 (en) | Testing apparatus and a testing method | |
US7852099B1 (en) | Frequency trimming for internal oscillator for test-time reduction | |
US11177827B2 (en) | Encoder signal sampling method and device | |
CN106681127B (zh) | 移位寄存器电路、相位差计算方法及时间数字转换器 | |
WO2024078164A1 (zh) | 芯片测试机信号延迟测量方法、装置及计算机设备 | |
CN116384306A (zh) | 时序仿真验证方法、验证装置、电子设备和可读存储介质 | |
KR20010024360A (ko) | 집적회로 테스터용 포맷 민감성 타이밍 교정 | |
US4414678A (en) | Electronic up-down conting system with directional discriminator | |
CN115529028A (zh) | Pwm占空比测量系统、方法及存储介质 | |
KR20230056773A (ko) | 내장 커패시터의 검출 방법, 장치, 검출 디바이스 및 저장 매체 | |
US4556976A (en) | Checking sequential logic circuits | |
JP5695985B2 (ja) | 複合的に時間測定を行う方法および装置 | |
JPH05342085A (ja) | メモリアクセス制御回路 | |
CN114758686A (zh) | 位置确定方法、读取方法、启动方法、装置、设备和介质 | |
CN115219872A (zh) | 晶闸管电压检测电路及其方法 | |
US7009431B2 (en) | Interpolator linearity testing system | |
JPS63295974A (ja) | パルス入力装置 | |
KR100286186B1 (ko) | 원 칩 클럭 동기식 메모리 장치 | |
CN114155903A (zh) | 测试系统以及测试方法 | |
US20230221365A1 (en) | Method and apparatus of testing circuit, and storage medium | |
CN111371453A (zh) | 信号周期测量电路与方法 | |
JP2587941B2 (ja) | Icテストシステム | |
CN115528972A (zh) | 电机实时角度位置确定系统、方法及存储介质 | |
JPS6142186Y2 (zh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |