脉冲控制方法、装置及电子设备与流程

文档序号:25990917发布日期:2021-07-23 21:02阅读:110来源:国知局
脉冲控制方法、装置及电子设备与流程

本申请涉及电子技术领域,尤其涉及一种脉冲控制方法、装置及电子设备。



背景技术:

目前,矩形波、三角波和锯齿波等时序脉冲信号广泛应用于电机控制、led驱动、电力控制等领域。脉冲控制系统通常由指令接收装置、处理器和脉冲发生装置等组成,指令接收装置将接收到的指令传递给处理器,处理器根据指令计算脉冲序列值,控制脉冲发生装置产生不同频率、不同占空比的脉冲信号,最终实现对负载设备的控制。

相关技术中,在指令切换时,直接清除脉冲序列值,然后切换至下一指令对应的脉冲序列值,但这种方法无法实现负载设备的平滑过渡,影响负载设备性能。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的第一个目的在于提出一种脉冲控制方法,能够及时响应高优先级指令,实现指令间不同脉冲频率的平稳过渡,进而实现负载设备的平滑过渡,降低指令切换对负载设备性能的影响。

本申请的第二个目的在于提出一种脉冲控制装置。

本申请的第三个目的在于提出一种电子设备。

为达上述目的,本申请第一方面实施例提出了一种脉冲控制方法,包括:获取当前脉冲控制指令;根据所述当前脉冲控制指令的优先级和已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,确定所述当前脉冲控制指令规划的起始状态;将所述当前脉冲控制指令规划为多个可分步执行的子指令;根据所述子指令充填脉冲序列;传输所述脉冲序列至脉冲发生装置。

本申请实施例提出的脉冲控制方法,通过获取当前脉冲控制指令,根据当前脉冲控制指令的优先级和已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,确定当前脉冲控制指令规划的起始状态,将当前脉冲控制指令规划为多个可分步执行的子指令,根据子指令充填脉冲序列,传输脉冲序列至脉冲发生装置。本申请实施例的脉冲控制方法能够及时响应高优先级指令,实现指令间不同脉冲频率的平稳过渡,进而实现负载设备的平滑过渡,降低指令切换对负载设备性能的影响。

根据本申请的一个实施例,所述根据所述当前脉冲控制指令的优先级和已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,确定所述当前脉冲控制指令规划的起始状态,包括:若所述当前脉冲控制指令的优先级不高于所述已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,则将上一脉冲控制指令的最后一个脉冲序列对应的脉冲个数与频率,确定为所述当前脉冲控制指令规划的起始状态;若所述当前脉冲控制指令的优先级高于所述已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,则计算正在进行脉冲序列规划的脉冲序列对应的脉冲个数与频率,清空已规划的子指令,将所述正在进行脉冲序列规划的脉冲序列对应的脉冲个数与频率确定为所述当前脉冲控制指令规划的起始状态。

根据本申请的一个实施例,所述将所述当前脉冲控制指令规划为多个可分步执行的子指令之前,还包括:对所述当前脉冲控制指令进行校验;若校验不通过,则对所述当前脉冲控制指令进行修正;若校验通过,则执行所述将所述当前脉冲控制指令规划为多个可分步执行的子指令步骤。

根据本申请的一个实施例,所述根据所述子指令充填脉冲序列,包括:根据当前子指令进行脉冲序列的规划,若规划完毕,则读取下一子指令作为所述当前子指令继续脉冲序列的规划,并根据规划好的脉冲序进行脉冲序列的充填;在脉冲序列的规划过程中,实时判断是否超出预设的规划时间阈值;若超出所述规划时间阈值,则停止所述当前子指令的脉冲序列的规划;若未超出所述规划时间阈值,则继续所述当前子指令的脉冲序列的规划。

根据本申请的一个实施例,所述传输所述脉冲序列至脉冲发生装置,包括:采用dma控制器双缓存机制传输所述脉冲序列至所述脉冲发生装置。

根据本申请的一个实施例,所述采用dma控制器双缓存机制传输所述脉冲序列至所述脉冲发生装置,包括:若所述dma控制器已传输次数为预设的中断次数,则判断所述脉冲序列是否为空;若所述脉冲序列为空,则停止循环传输;若所述脉冲序列不为空,则判断传输长度是否发生变化;若所述传输长度未发生变化,则更新下一次传输地址;若所述传输长度发生变化,则记录所述脉冲序列的长度,并设置脉冲序列长度变化标志位,更新下一次传输地址,停止循环传输。

根据本申请的一个实施例,所述采用dma控制器双缓存机制传输所述脉冲序列至所述脉冲发生装置,还包括:若所述dma控制器已传输次数不为所述预设的中断次数,则判断所述脉冲序列长度变化标志位是否发生改变;若所述脉冲序列长度变化标志位发生改变,则重新设置所述传输长度,并置位所述脉冲序列长度变化标志位,并更新下一次传输地址;若所述脉冲序列长度变化标志位未发生改变,则判断当前传输模式是否为循环传输;若所述当前传输模式为循环传输,则更新下一次传输地址;若所述当前传输模式不为循环传输,则判断所述脉冲序列是否为空;若所述脉冲序列为空,则控制所述dma控制器停止传输所述脉冲序列至所述脉冲发生装置;若所述脉冲序列不为空,则设置下n次传输地址,并控制所述dma控制器开始重新传输所述脉冲序列,其中,所述n大于1且小于预设的次数阈值。

根据本申请的一个实施例,所述中断次数为奇数次。

为达上述目的,本申请第二方面实施例提出了一种脉冲控制装置,包括:获取模块,用于获取当前脉冲控制指令;确定模块,用于根据所述当前脉冲控制指令的优先级和已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,确定所述当前脉冲控制指令规划的起始状态;规划模块,用于将所述当前脉冲控制指令规划为多个可分步执行的子指令;充填模块,用于根据所述子指令充填脉冲序列;传输模块,用于传输所述脉冲序列至脉冲发生装置。

本申请实施例提出的脉冲控制装置,通过获取当前脉冲控制指令,根据当前脉冲控制指令的优先级和已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,确定当前脉冲控制指令规划的起始状态,将当前脉冲控制指令规划为多个可分步执行的子指令,根据子指令充填脉冲序列,传输脉冲序列至脉冲发生装置。本申请实施例的脉冲控制方法能够及时响应高优先级指令,实现指令间不同脉冲频率的平稳过渡,进而实现负载设备的平滑过渡,降低指令切换对负载设备性能的影响。

为达上述目的,本申请第三方面实施例提出了一种电子设备,包括:如本申请第二方面实施例所述的脉冲控制装置。

附图说明

图1是根据本申请一个实施例的脉冲控制方法的流程图;

图2是根据本申请另一个实施例的脉冲控制方法的流程图;

图3是根据本申请另一个实施例的脉冲控制方法的流程图;

图4是根据本申请另一个实施例的脉冲控制方法的流程图;

图5是根据本申请另一个实施例的脉冲控制方法的流程图;

图6是根据本申请另一个实施例的脉冲控制方法的流程图;

图7是本申请实施例的脉冲控制方法中指令处理流程示意图;

图8是本申请实施例的脉冲控制方法中dma传输流程示意图;

图9是根据本申请一个实施例的脉冲控制装置的结构示意图;

图10是根据本申请一个实施例的电子设备框图。

具体实施方式

下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

下面结合附图来描述本申请实施例的脉冲控制方法、装置及电子设备。

图1是根据本申请一个实施例的脉冲控制方法的流程图,如图1所示,本申请实施例的脉冲控制方法包括以下步骤:

s101,获取当前脉冲控制指令。

本申请实施例中,本申请实施例的脉冲控制方法,可由本申请实施例提供的脉冲控制装置执行,脉冲控制装置可以设置在具有直接存储器存取(directmemoryaccess,简称dma)控制器的电子设备中。

当前脉冲控制指令即当前时刻接收到的外部输入的脉冲控制指令。其中,脉冲控制指令包括但不限于对脉冲发生装置产生的脉冲信号的频率、个数和占空比等的要求。

s102,根据当前脉冲控制指令的优先级和已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,确定当前脉冲控制指令规划的起始状态。

本申请实施例中,已接收到的尚未完成脉冲序列规划的脉冲控制指令即为在接收到当前脉冲控制指令之前接收到的外部输入的且尚未完成脉冲序列规划的脉冲控制指令。将步骤s101获取的当前脉冲控制指令的优先级和已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级进行对比,确定当前脉冲控制指令的指令类型,根据当前脉冲控制指令的指令类型确定当前脉冲控制指令规划的起始状态。其中,指令类型可分为普通指令和高优先级指令,高优先级指令优先被执行。根据不同的指令类型采用不同的方式设置当前脉冲控制指令规划的起始状态,以及时响应高优先级指令,实现指令间不同脉冲频率的平稳过渡,进而实现负载设备的平滑过渡,降低指令切换对负载设备性能的影响。

s103,将当前脉冲控制指令规划为多个可分步执行的子指令。

本申请实施例中,将步骤s101中获取的当前脉冲控制指令规划为多个可分步执行的子指令。其中,可根据具体应用场景将当前脉冲控制指令规划成多个可分布执行的子指令。

s104,根据子指令充填脉冲序列。

本申请实施例中,脉冲计算阶段根据步骤s103中获得的子指令,依次取子指令,并计算子指令对应的脉冲序列,即进行子指令对应的脉冲序列的规划,并充填脉冲序列至缓冲区。例如,当采用的脉冲发生装置为定时器时,脉冲序列的值即为定时器比较寄存器的值。

s105,传输脉冲序列至脉冲发生装置。

本申请实施例中,将充填好的脉冲序列通过传输模块传输至脉冲发生装置,使得脉冲发生装置根据脉冲序列产生满足当前脉冲控制指令的脉冲信号,控制负载设备运行。传输模块可以为dma控制器。此处需要说明的是,本申请实施例中,通过将当前脉冲控制指令规划成多个可分布执行的子指令,并在脉冲计算阶段根据子指令充填脉冲序列,即仅计算未来较短时间内的脉冲序列,可以及时响应高优先级指令,实现指令间不同脉冲频率的平稳过渡,进而实现负载设备的平滑过渡,又可以兼顾脉冲序列传输的连续性。

本申请实施例提出的脉冲控制方法,通过获取当前脉冲控制指令,根据当前脉冲控制指令的优先级和已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,确定当前脉冲控制指令规划的起始状态,将当前脉冲控制指令规划为多个可分步执行的子指令,根据子指令充填脉冲序列,传输脉冲序列至脉冲发生装置。本申请实施例的脉冲控制方法能够及时响应高优先级指令,实现指令间不同脉冲频率的平稳过渡,进而实现负载设备的平滑过渡,降低指令切换对负载设备性能的影响,提高设备运行的稳定性。

图2为根据本申请另一个实施例的脉冲控制方法的流程示意图。如图2所示,在上述图1所示实施例的基础之上,本申请实施例的脉冲控制方法具体可包括以下步骤:

s201,获取当前脉冲控制指令。

本申请实施例中,步骤s201与上一实施例中步骤s101的具体实施方式相同,此处不再赘述。

上述实施例中的步骤s102具体可包括以下步骤s202-s203。

s202,若当前脉冲控制指令的优先级不高于已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,则将上一脉冲控制指令的最后一个脉冲序列对应的脉冲个数与频率,确定为当前脉冲控制指令规划的起始状态。

本申请实施例中,若当前脉冲控制指令的优先级不高于已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,则判断出当前脉冲控制指令为普通指令,进而需将根据已接收到的尚未完成脉冲序列规划的脉冲控制指令规划的脉冲序列传输完成之后才进行下一指令即当前脉冲控制指令对应的脉冲序列的传输。为实现上述传输,可以将上一脉冲控制指令的最后一个脉冲序列对应的脉冲个数与频率,确定为当前脉冲控制指令规划的起始状态,使得普通指令顺序执行,且指令与指令之间平稳的过渡。

s203,若当前脉冲控制指令的优先级高于已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,则计算正在进行脉冲序列规划的脉冲序列对应的脉冲个数与频率,清空已规划的子指令,将正在进行脉冲序列规划的脉冲序列对应的脉冲个数与频率确定为当前脉冲控制指令规划的起始状态。

本申请实施例中,若当前脉冲控制指令的优先级高于已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,则判断出当前脉冲控制指令为高优先级指令,进而需尽快结束上一脉冲控制指令对应的脉冲序列的传输,从而尽快进行下一指令即当前脉冲控制指令对应的脉冲序列的传输。为实现上述传输,可以计算正在进行脉冲序列规划的脉冲序列对应的脉冲个数与频率,并清空已规划的子指令,将正在进行脉冲序列规划的脉冲序列对应的脉冲个数与频率确定为当前脉冲控制指令规划的起始状态,使得高优先级指令被优先执行,且指令与指令之间平稳的过渡。

s204,将当前脉冲控制指令规划为多个可分步执行的子指令。

s205,根据子指令充填脉冲序列。

s206,传输脉冲序列至脉冲发生装置。

本申请实施例中,步骤s204-s206与上一实施例中步骤s103-s105的具体实施方式相同,此处不再赘述。

进一步的,如图3所示,上述步骤s204“将当前脉冲控制指令规划为多个可分步执行的子指令”之前,还可包括以下步骤:

s301,对当前脉冲控制指令进行校验。

本申请实施例中,在将当前脉冲控制指令规划为多个可分布执行的子指令之前,先对获取到的当前脉冲控制指令进行校验,保障当前脉冲控制指令的准确性。

s302,若校验不通过,则对当前脉冲控制指令进行修正。

本申请实施例中,若通过校验发现当前脉冲控制指令存在错误,无法实现,则校验不通过,按照预先设置的规则对当前脉冲控制指令进行修正,使得修正后的指令能够被电子设备执行且具有较高的准确度。

s303,若校验通过,则执行将当前脉冲控制指令规划为多个可分步执行的子指令步骤。

本申请实施例中,若当前脉冲控制指令校验通过,则继续执行步骤s204将当前脉冲控制指令规划为多个可分步执行的子指令。

进一步的,如图4所示,上述步骤s205“根据子指令充填脉冲序列”具体可包括以下步骤:

s401,根据当前子指令进行脉冲序列的规划,若规划完毕,则读取下一子指令作为当前子指令继续脉冲序列的规划,并根据规划好的脉冲序进行脉冲序列的充填。

本申请实施例中,对当前尚未完成脉冲序列规划的子指令即当前子指令进行脉冲序列的规划,同时将规划好的脉冲序列进行脉冲序列的填充。若根据当前子指令进行的脉冲序列规划已完成或者存在比当前子指令优先级高的子指令,则读取下一子指令作为当前子指令继续进行脉冲序列的规划。若未规划完毕且不存在比当前子指令优先级高的子指令,则无需读取下一子指令,继续当前尚未完成脉冲序列规划的子指令的脉冲序列规划。

s402,在脉冲序列的规划过程中,实时判断是否超出预设的规划时间阈值。

本申请实施例中,为能够及时响应高优先级指令,只计算未来短时间内传输的脉冲序列。在脉冲序列规划的过程中,实时监控脉冲序列的规划时间,同时判断当前进行脉冲序列规划的时间是否超出预设的规划时间阈值。其中,规划时间阈值可根据需要设置,本申请不做过多限定。

s403,若超出规划时间阈值,则停止当前子指令的脉冲序列的规划。

本申请实施例中,若当前进行脉冲序列规划的时间超出规划时间阈值,则停止当前进行的脉冲序列规划。只规划短时间内的脉冲序列,从而使得高优先级指令能够被及时响应,实现指令间不同脉冲频率的平稳过渡。

s404,若未超出规划时间阈值,则继续当前子指令的脉冲序列的规划。

本申请实施例中,若当前进行脉冲序列规划的时间未超出规划时间的阈值,则继续根据当前子指令进行脉冲序列的规划,同时根据规划好的脉冲序列进行脉冲序列的充填。

需要说明的是,本申请实施例中,脉冲序列的规划和脉冲序列的充填是同时进行的。

进一步的,上述步骤s206“传输脉冲序列至脉冲发生装置”具体可包括以下步骤:采用dma控制器双缓存机制传输脉冲序列至脉冲发生装置。

本申请实施例中,可以采用dma控制器的双缓存机制传输脉冲序列至脉冲发生装置。dma双缓存机制可以实现脉冲序列的连续传输,保证负载设备运行的稳定性。

具体的,设置dma传输的起始地址为已充填的脉冲序列的内存地址,进而将脉冲序列传输至脉冲发生装置。当dma已传输次数为预设的传输次数时发起中断。通过判断dma已进行的传输次数来确保数据传输连续进行,保证不同脉冲序列长度的指令都能进行连续循环传输。在具体实施过程中,对dma中断的判断可包括以下两个实施例所表述的情况。

进一步的,如图5所示,上述步骤“采用dma控制器双缓存机制传输脉冲序列至脉冲发生装置”具体可包括以下步骤:

s501,若dma控制器已传输次数为预设的中断次数,则判断脉冲序列是否为空。

本申请实施例中,可以预先设置中断次数,例如设置中断次数为奇数次。若直接存储器已传输的次数为预设的中断次数,则该中断为正常的预设中断,判断脉冲序列是否为空。

s502,若脉冲序列为空,则停止循环传输。

本申请实施例中,若脉冲序列为空,即脉冲序列传输结束,则停止循环传输。

s503,若脉冲序列不为空,则判断传输长度是否发生变化。

本申请实施例中,若脉冲序列不为空,即脉冲序列传输未结束,则判断传输长度是否发生变化。

s504,若传输长度未发生变化,则更新下一次传输地址。

本申请实施例中,若传输长度未发生变化,则更新下一次传输地址,以实现循环传输。

s505,若传输长度发生变化,则记录脉冲序列的长度,并设置脉冲序列长度变化标志位,更新下一次传输地址,停止循环传输。

本申请实施例中,若传输长度发生变化,则记录脉冲序列的长度,并设置脉冲序列长度变化标志位,更新下一次传输地址,并停止循环传输。

进一步的,如图6所示,上述步骤“采用dma控制器双缓存机制传输脉冲序列至脉冲发生装置”具体还可包括以下步骤:

s601,若dma控制器已传输次数不为预设的中断次数,则判断脉冲序列长度变化标志位是否发生改变。

s602,若脉冲序列长度变化标志位发生改变,则重新设置传输长度,并置位脉冲序列长度变化标志位,并更新下一次传输地址。

s603,若脉冲序列长度变化标志位未发生改变,则判断当前传输模式是否为循环传输。

s604,若当前传输模式为循环传输,则更新下一次传输地址。

s605,若当前传输模式不为循环传输,则判断脉冲序列是否为空。

s606,若脉冲序列为空,则控制dma控制器停止传输脉冲序列至脉冲发生装置。

s607,若脉冲序列不为空,则设置下n次传输地址,并控制dma控制器开始重新传输脉冲序列,其中,n大于1且小于预设的次数阈值。

本申请实施例中,n具体可以设置为2。通过dma传输主循环函数进行脉冲序列的传输时,当dma传输停止且脉冲序列不为空时,设置dma下n次传输地址,开启dma传输。本申请实施例的脉冲控制方法,通过获取当前脉冲控制指令,根据当前脉冲控制指令的优先级和上一脉冲控制指令的优先级,确定当前脉冲控制指令规划的起始状态,将当前脉冲控制指令规划为多个可分步执行的子指令,根据子指令充填脉冲序列,传输脉冲序列至脉冲发生装置。本申请实施例的脉冲控制方法能够及时响应高优先级指令,实现指令间不同脉冲频率的平稳过渡,进而实现负载设备的平滑过渡,降低指令切换对负载设备性能的影响,提高设备运行的稳定性。

为清楚说明本申请实施例的脉冲控制方法,下面结合图7对本申请实施例的脉冲控制方法中指令处理流程进行说明。如图7所示,具体包括以下步骤:

s701,获取外部发送的当前脉冲控制指令。

s702,若当前脉冲控制指令的优先级不高于已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,则确定当前脉冲控制指令为普通指令,并将上一脉冲控制指令的最后一个脉冲序列对应的脉冲个数与频率,确定为当前脉冲控制指令规划的起始状态。

s703,若当前脉冲控制指令的优先级高于已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,则确定当前脉冲控制指令为高优先级指令,并计算正在进行脉冲序列规划的脉冲序列对应的脉冲个数与频率,清空已规划的子指令,将正在进行脉冲序列规划的脉冲序列对应的脉冲个数与频率确定为当前脉冲控制指令规划的起始状态。

s704,对当前脉冲控制指令进行校验。

若校验不通过,则执行步骤s705。若校验通过,则执行步骤s706。

s705,对当前脉冲控制指令进行修正。继续执行s706。

s706,将当前脉冲控制指令规划为多个可分步执行的子指令。

s707,根据当前子指令进行脉冲序列的规划,并根据规划好的脉冲序列进行脉冲序列的充填。

s708,判断根据当前子指令进行的脉冲序列的规划是否完毕,或者已规划的子指令中是否存在比当前子指令优先级高的子指令。

若规划完毕或者存在比当前子指令优先级高的子指令,则执行步骤s709。若未规划完毕且不存在比当前子指令优先级高的子指令,则执行步骤s710。

s709,读取下一子指令作为当前子指令。继续执行步骤s710。

s710,判断是否超出预设的规划时间阈值。

若超出规划时间阈值,则执行步骤s711。若未超出规划时间阈值,则返回步骤s707。

s711,停止根据当前子指令进行脉冲序列的规划。

s712,采用dma控制器双缓存机制传输充填好的脉冲序列至脉冲发生装置,控制脉冲发生装置生成对应的脉冲信号,控制负载设备的运行。

为清楚说明本申请实施例的脉冲控制方法,下面结合图8对本申请实施例的脉冲控制方法中dma传输流程进行说明。如图8所示,具体包括以下步骤:

s801,判断dma控制器传输的已传输次数是否为奇数次。

若为奇数次,则执行步骤s802。若不为奇数次,则执行步骤s808。

s802,判断脉冲序列是否为空。

若脉冲序列为空,则执行步骤s807。若脉冲序列不为空,则执行步骤s803。

s803,判断传输长度是否发生变化。

若发生变化,则执行步骤s804-s807。若未发生变化,则执行步骤s810。

s804,记录脉冲序列长度。

s805,设置脉冲序列长度变化标志位。

s806,更新下一次传输地址。

s807,取消循环。流程结束。

s808,判断脉冲序列长度变化标志位是否发生改变。

若标志位发生改变,则执行步骤s809-s810。若标志位未发生改变,则执行步骤s811。

s809,重新设置传输长度,并置位脉冲序列长度变化标志位。

s810,更新下一次传输地址。流程结束。

s811,判断当前传输模式是否为循环传输。

若为循环传输,则执行步骤s810。若不为循环传输,则执行步骤s812。

s812,判断脉冲序列是否为空。

若脉冲序列为空,则执行步骤s813。若脉冲序列不为空,则执行步骤s814-s815。

s813,停止dma传输。流程结束。

s814,设置下两次传输地址。

s815,开始重新传输。流程结束。

为了实现上述实施例,本申请实施例还提出一种脉冲控制装置,该脉冲控制装置可实现上述任一实施例的脉冲控制方法。图9为根据本申请一个实施例的脉冲控制装置的结构示意图。如图9所示,本申请实施例的脉冲控制装置90具体可包括:获取模块91、确定模块92、规划模块93、充填模块94和传输模块95。

获取模块91,用于获取当前脉冲控制指令。

确定模块92,用于根据当前脉冲控制指令的优先级和已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,确定当前脉冲控制指令规划的起始状态。

规划模块93,用于将当前脉冲控制指令规划为多个可分步执行的子指令。

充填模块94,用于根据子指令充填脉冲序列。

传输模块95,用于传输脉冲序列至脉冲发生装置。

进一步的,在本申请实施例一种可能的实现方式中,确定模块92具体可用于:若当前脉冲控制指令的优先级不高于已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,则将上一脉冲控制指令的最后一个脉冲序列对应的脉冲个数与频率,确定为当前脉冲控制指令规划的起始状态;若当前脉冲控制指令的优先级高于已接收到的尚未完成脉冲序列规划的脉冲控制指令的优先级,则计算正在进行脉冲序列规划的脉冲序列对应的脉冲个数与频率,清空已规划的子指令,将正在进行脉冲序列规划的脉冲序列对应的脉冲个数与频率为当前脉冲控制指令规划的起始状态。

进一步的,在本申请实施例一种可能的实现方式中,将当前脉冲控制指令规划为多个可分步执行的子指令之前,规划模块93还可用于:对当前脉冲控制指令进行校验;若校验不通过,则对当前脉冲控制指令进行修正;若校验通过,则执行将当前脉冲控制指令规划为多个可分步执行的子指令步骤。

进一步的,在本申请实施例一种可能的实现方式中,充填模块94具体用于:根据当前子指令进行脉冲序列的规划,若规划完毕,则读取下一子指令作为当前子指令继续脉冲序列的规划,并根据规划好的脉冲序进行脉冲序列的充填;在脉冲序列的规划过程中,实时判断是否超出预设的规划时间阈值;若超出规划时间阈值,则停止当前子指令的脉冲序列的规划;若未超出规划时间阈值,则继续当前子指令的脉冲序列的规划。

进一步的,在本申请实施例一种可能的实现方式中,传输模块95具体用于:采用dma控制器双缓存机制传输脉冲序列至脉冲发生装置。

进一步的,在本申请实施例一种可能的实现方式中,传输模块95具体用于:若dma控制器已传输次数为预设的中断次数,则判断脉冲序列是否为空;若脉冲序列为空,则停止循环传输;若脉冲序列不为空,则判断传输长度是否发生变化;若传输长度未发生变化,则更新下一次传输地址;若传输长度发生变化,则记录脉冲序列的长度,并设置脉冲序列长度变化标志位,更新下一次传输地址,停止循环传输。

进一步的,在本申请实施例一种可能的实现方式中,传输模块95还可用于:若dma控制器已传输次数不为所述预设的中断次数,则判断脉冲序列长度变化标志位是否发生改变;若脉冲序列长度变化标志位发生改变,则重新设置传输长度,并置位脉冲序列长度变化标志位,并更新下一次传输地址;若脉冲序列长度变化标志位未发生改变,则判断当前传输模式是否为循环传输;若当前传输模式为循环传输,则更新下一次传输地址;若当前传输模式不为循环传输,则判断脉冲序列是否为空;若脉冲序列为空,则控制dma控制器停止传输脉冲序列至脉冲发生装置;若脉冲序列不为空,则设置下n次传输地址,并控制dma控制器开始重新传输脉冲序列,其中,n大于1且小于预设的次数阈值。

进一步的,在本申请实施例一种可能的实现方式中,中断次数为奇数次。

需要说明的是,前述对脉冲控制方法实施例的解释说明也适用于该实施例的脉冲控制装置,此处不再赘述。

本申请实施例提出的脉冲控制装置,通过获取当前脉冲控制指令,根据当前脉冲控制指令的优先级和上一脉冲控制指令的优先级,确定当前脉冲控制指令规划的起始状态,将当前脉冲控制指令规划为多个可分步执行的子指令,根据子指令充填脉冲序列,传输脉冲序列至脉冲发生装置。本申请实施例的脉冲控制装置能够及时响应高优先级指令实现指令间不同脉冲频率的平稳过渡,,进而实现负载设备的平滑过渡,降低指令切换对负载设备性能的影响,提高设备运行的稳定性。

为了实现上述实施例,本申请实施例还提出一种电子设备100,如图10所示,该电子设备100具体可包括上述实施例所示的脉冲控制装置90。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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