发明内容
本申请的目的包括,例如,提供了一种电机驱动方法以及系统,能够提高控制电机转动的精度。
本申请的实施例可以这样实现:
第一方面,本申请实施例提供了一种电机驱动方法,应用于驱动系统,所述驱动系统包括驱动芯片,所述驱动芯片包括电路控制模块以及数据处理模块,所述电路控制模块与所述数据处理模块通信连接;所述方法包括:
所述电路控制模块获取目标电机的状态数据;其中,所述目标电机包括第一电机和第二电机,所述状态数据包括所述第一电机的至少两相回路的电流数据、所述第一电机的电压数据、所述第一电机的位置数据、所述第二电机的至少两相回路的电流、所述第二电机的电压数据和所述第二电机的位置数据;所述数据处理模块从所述电路控制模块获取所述状态数据,根据所述状态数据得到脉宽调制占空比,所述脉宽调制占空比用于驱动所述目标电机。
基于第一方面提供的电机驱动方法,在进行目标电机的驱动时,通过驱动芯片的电路控制模块获取第一电机以及第二电机的状态数据,再由数据处理模块对电路控制模块获取的状态数据进行处理得到第一电机以及第二电机的脉宽调制占空比,进而驱动第一电机以及第二电机,可以使得对目标电机的控制精度更高,进一步提高了激光雷达的性能。
可选地,所述电路控制模块获取目标电机的状态数据,包括:
所述电路控制模块在第一时刻获取所述第一电机的至少两相回路的电流;其中,所述第一时刻为预设周期中的第一时刻;所述电路控制模块在第二时刻获取所述第一电机的电压数据、所述第二电机的电压数据、以及所述第一电机在所述第二时刻的位置数据;其中,所述第二时刻为所述预设周期中在所述第一时刻之后的时刻;所述电路控制模块在第三时刻获取所述第二电机的至少两相回路的电流;其中,所述第三时刻为所述预设周期中在所述第二时刻之后的时刻;所述电路控制模块在第四时刻获取所述第二电机在所述第二时刻的位置数据;其中,所述第四时刻为所述预设周期中在所述第三时刻之后的时刻。由于分时序在预设周期中获取第一电机和/或第二电机的电压数据、位置数据以及电流,使得驱动芯片的计算资源能够得到更合理的分配,节省了计算资源,提高了驱动芯片的效率。
可选地,所述驱动系统还包括电流采样电路,所述电路控制模块在第一时刻获取所述第一电机的至少两相回路的电流,包括:
所述电流采样电路接收来自所述电路控制模块的第一数据获取指令;所述电流采样电路根据所述第一数据获取指令,在所述预设周期的所述第一时刻对所述第一电机的至少两相回路的电流采样并发给所述电路控制模块。可选地,第一数据获取指令用于指示同时采集第一电机的至少两相回路的电流,通过设置专门的电流采样电路,基于第一数据获取指令来同时采样第一电机至少两相回路的电流,可以实现对第一电机的至少两相回路电流的精准同步采样。
可选地,所述驱动系统还包括位置采样电路和电压采样电路,所述电路控制模块获取目标电机的状态数据,包括:
所述位置采样电路以及所述电压采样电路分别接收来自所述电路控制模块的第二数据获取指令;所述电压采样电路根据所述第二数据获取指令,在所述预设周期的所述第二时刻对所述第一电机的电压数据以及所述第二电机的电压数据采样并发给所述电路控制模块;所述位置采样电路根据所述第二数据获取指令,在所述预设周期的所述第二时刻开始对所述第二电机的位置数据进行获取,并对所述第一电机在所述第二时刻的位置数据采样,将所述第一电机在所述第二时刻的位置数据发给所述电路控制模块。分别设置位置采样电路以及电压采样电路,当接收到第二数据获取指令后,在预设周期的不同时刻对第一电机和/或第二电机的位置数据以及电压数据进行采样。提高了对目标电机电压数据和位置数据的采样精确度,并通过分时序获取位置数据解决了位置数据获取延迟的问题。
可选地,所述电路控制模块在第三时刻获取所述第二电机的至少两相回路的电流,包括:
所述电流采样电路接收来自所述电路控制模块的第三数据获取指令;所述电流采样电路根据所述第三数据获取指令,在所述预设周期的第三时刻对所述第二电机的至少两相回路的电流采样并发给所述电路控制模块。可选地,第三数据获取指令用于指示同时采集第二电机的至少两相回路的电流,通过电流采样电路在基于第三数据获取指令来同时采样第二电机至少两相回路的电流,可以实现对第一电机的至少两相回路电流的精准同步采样。
可选地,所述根据所述状态数据得到脉宽调制占空比,包括:
根据所述第一电机的至少两相回路的电流数据、所述第一电机的电压数据以及所述第一电机在所述第二时刻的位置数据,得到所述第一电机的脉宽调制占空比;根据所述第二电机的至少两相回路的电流数据、所述第二电机的电压数据以及所述第二电机在所述第二时刻的位置数据,得到所述第二电机的脉宽调制占空比。根据获取的第一电机与第二电机的状态数据,来分别计算得到两个电机的脉宽调制占空比,可以实现对双电机的精准控制。
可选地,所述根据所述第一电机的至少两相回路的电流数据、所述第一电机的电压数据以及所述第一电机在所述第二时刻的位置数据,得到所述第一电机的脉宽调制占空比,包括:
基于所述第一电机的至少两相回路的电流数据、所述第一电机的电压数据以及所述第一电机在所述第二时刻的位置数据,根据克拉克变换、派克变换、比例积分计算以及反派克变换,得到所述第一电机的脉宽调制占空比;所述根据所述第二电机的至少两相回路的电流数据、所述第二电机的电压数据以及所述第二电机在所述第二时刻的位置数据,得到所述第二电机的脉宽调制占空比,包括:基于所述第二电机的至少两相回路的电流数据、所述第二电机的电压数据以及所述第二电机在所述第二时刻的位置数据,根据克拉克变换、派克变换、比例积分计算以及反派克变换,以得到所述第二电机的脉宽调制占空比。基于克拉克变换、派克变换、比例积分计算以及反派克变换得到第一电机以及第二电机各自的脉宽调制占空比,提高了脉宽调制占空比的计算准确度,进一步提高了激光雷达的控制精准度。
可选地,所述电路控制模块包括寄存器;
所述电路控制模块获取所述状态数据后,将所述状态数据存入所述寄存器中;所述数据处理模块从所述电路控制模块获取所述状态数据,包括:所述数据处理模块从所述寄存器获取所述状态数据。通过设置寄存器,实现了各种数据的临时存储。
可选地,所述电路控制模块为可编程逻辑模块,所述数据处理模块为处理系统模块。可以避免单独使用ARM芯片以及DSP芯片或FPGA芯片带来的运算时间长、精度低以及资源耗费大等问题,可以提高运算精度和运算速度,节省运算资源。
第二方面,本申请实施例提供了一种驱动系统,所述驱动系统包括驱动芯片;所述驱动芯片包括电路控制模块以及数据处理模块,所述电路控制模块与所述数据处理模块通信连接;
所述电路控制模块用于,获取目标电机的状态数据;其中,所述目标电机包括第一电机和第二电机,所述状态数据包括所述第一电机的至少两相回路的电流数据、所述第一电机的电压数据、所述第一电机的位置数据、所述第二电机的至少两相回路的电流、所述第二电机的电压数据和所述第二电机的位置数据;
所述数据处理模块用于,从所述电路控制模块获取所述状态数据,根据所述状态数据得到脉宽调制占空比,所述脉宽调制占空比用于驱动所述目标电机。
可选地,所述驱动系统还包括电流采样电路、位置采样电路以及电压采样电路;
所述电流采样电路,用于接收来自所述电路控制模块的第一数据获取指令,并根据所述第一数据获取指令,在预设周期的第一时刻对所述第一电机的至少两相回路的电流采样,并发给所述电路控制模块;
所述位置采样电路,用于接收来自所述电路控制模块的第二数据获取指令,根据所述第二数据获取指令,在所述预设周期的第二时刻开始对所述第二电机的位置数据进行获取,并对所述第一电机在所述第二时刻的位置数据采样,将所述第一电机在所述第二时刻的位置数据发给所述电路控制模块;
所述电压采样电路,用于接收来自所述电路控制模块的第二数据获取指令,根据所述第二数据获取指令,在所述预设周期的所述第二时刻对所述第一电机的电压数据以及所述第二电机的电压数据采样并发给所述电路控制模块;其中,所述第二时刻为所述预设周期中在所述第一时刻之后的时刻。
第二方面提供的驱动系统可以执行第一方面中任一种实现方式所述的方法,此处不在一一赘述。
此外,第二方面所述的驱动系统的技术效果可以参考第一方面中任一种实现方式所述的方法的技术效果,此处不再赘述。
第三方面,本申请实施例提供一种电子设备,其包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现如前述第一方面中任一种可能的实现方式所述的方法。示例性地,电子设备可以是激光雷达、激光雷达的中控系统等。
第四方面,本申请实施例提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面中任一种可能的实现方式所述的方法。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括:计算机程序(也可以称为代码,或指令),当该计算机程序被运行时,使得计算机执行第一方面中的任一种可能的实现方式所述的方法。
第六方面,本申请提供一种芯片系统,芯片系统包括:处理器和存储器,该存储器用于存储一个或多个程序;当该一个或多个程序被该处理器执行时,实现第一方面中的任一种可能的实现方式所述的方法。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
目前,市面上主流的ARM芯片以及DSP芯片的运算精度高,但其运算时间长。而如FPGA(Field Programmable Gate Array,现场可编程门阵列)芯片等虽然运算速度快,但存在精度低以及资源耗费大等问题。
基于以上情况,本申请实施例提供了一种电机驱动方法、电子设备及存储介质,可有效缓解上述技术问题。
请参考图1,是本申请提供的一种驱动系统10,驱动系统10包括驱动芯片11。驱动芯片11包括电路控制模块111以及数据处理模块112,电路控制模块111与数据处理模块112通信连接。
电路控制模块111用于,获取目标电机01的状态数据。其中,目标电机01包括第一电机011和第二电机012,状态数据包括第一电机011的至少两相回路的电流数据、第一电机011的电压数据、第一电机011的位置数据、第二电机012的至少两相回路的电流、第二电机012的电压数据和第二电机012的位置数据。
例如,第一电机011的至少两相回路的电流数据包括:第一电机011的第一相回路的电流数据、第一电机011的第二相回路的电流数据,还可以包括第一电机011的第三相回路的电流数据。第一电机011的至少两相回路的电流数据包括第一电机011的U相回路、V相回路、W相回路中的至少两相回路的电流。第二电机012的至少两相回路的电流类似,不再详细阐述。
数据处理模块112用于,从电路控制模块111获取状态数据,根据状态数据得到脉宽调制占空比,脉宽调制占空比用于驱动目标电机01。
如图1所示,驱动芯片11包括电路控制模块111和数据处理模块112。其中,电路控制模块111和数据处理模块112通过预设总线协议进行数据交互。电路控制模块111分别与采样电路12以及驱动电路13电连接,目标电机01分别与采样电路12以及驱动电路13电连接。
预设总线协议可以是能够使电路控制模块111与数据处理模块112进行数据交互的总线协议,例如AXI(Advanced eXtensible Interface)总线协议。驱动系统10在运行时,由电路控制模块111控制采样电路12从目标电机01获取状态数据,然后存入电路控制模块111的寄存器中,数据处理模块112通过预设总线协议从电路控制模块111的寄存器中读取状态数据进行处理,得到脉宽调制占空比,再下发回电路控制模块111的寄存器。电路控制模块111根据数据处理模块112存入寄存器中的脉宽调制占空比来控制驱动电路13调整电压,驱动电路13在通过调整后的电压来驱动目标电机01。
需要说明的是,目标电机01可以是一个,也可以是多个。当目标电机01为多个时,每个目标电机01分别与采样电路12以及驱动电路13电连接。
可选地,如图3所示,驱动系统10还包括电流采样电路121、位置采样电路123以及电压采样电路122。
电流采样电路121,用于接收来自电路控制模块111的第一数据获取指令,并根据第一数据获取指令,在预设周期的第一时刻对第一电机011的至少两相回路的电流采样,并发给电路控制模块111。可选地,第一数据获取指令用于指示同时采集第一电机的至少两相回路的电流。
位置采样电路123,用于接收来自电路控制模块111的第二数据获取指令,根据第二数据获取指令,在预设周期的第二时刻开始对第二电机012的位置数据进行获取,并对第一电机011在第二时刻的位置数据采样,将第一电机011在第二时刻的位置数据发给电路控制模块111。
电压采样电路122,用于接收来自电路控制模块111的第二数据获取指令,根据第二数据获取指令,在预设周期的第二时刻对第一电机011的电压数据以及第二电机012的电压数据采样并发给电路控制模块111。其中,第二时刻为预设周期中在第一时刻之后的时刻。
对应于驱动系统10,本申请实施例提供了一种电机驱动方法,应用于驱动系统10,驱动系统10包括驱动芯片11,驱动芯片11包括电路控制模块111以及数据处理模块112,电路控制模块111与数据处理模块112通信连接。所述方法包括如图2所示的以下步骤:
步骤S110:电路控制模块111获取目标电机01的状态数据;其中,目标电机01包括第一电机011和第二电机012,所述状态数据包括第一电机011的至少两相回路的电流数据、第一电机011的电压数据、第一电机011的位置数据、第二电机012的至少两相回路的电流、第二电机012的电压数据和第二电机012的位置数据。
步骤S120:数据处理模块112从电路控制模块111获取所述状态数据,根据所述状态数据得到脉宽调制占空比,所述脉宽调制占空比用于驱动目标电机01。
首先,需要说明的是,上述步骤S110、步骤S120仅代表驱动系统10在运行中会执行的步骤,并不代表驱动系统10必须按照步骤S110~步骤S120的顺序执行。驱动系统10可以按照步骤S110~步骤S120执行,也可以同时执行,还可以先执行其中的任意步骤,再执行其他步骤。
在步骤S110中,电路控制模块111获取目标电机01的状态数据。其中,目标电机01包括第一电机和第二电机,所述状态数据包括第一电机011的至少两相回路的电流数据、第一电机011的电压数据、第一电机011的位置数据、第二电机012的至少两相回路的电流、第二电机012的电压数据和第二电机012的位置数据。
例如,激光雷达包括棱镜电机以及振镜电机,在本申请中,第一电机011可以是棱镜电机,第二电机012可以是振镜电机,其均是通过交流电运转。在激光雷达运行时,一般为周期运转。本申请提供的电机驱动方法、电子设备及存储介质中,在每个预设周期进行一次目标电机01的驱动。
当激光雷达开始工作时,电路控制模块111周期性地从第一电机011处获取第一电机011的至少两相回路的电流数据、第一电机011的电压数据、第一电机011的位置数据;从第二电机012处获取第二电机012的至少两相回路的电流、第二电机012的电压数据和第二电机012的位置数据。
可选地,电路控制模块111获取目标电机01的状态数据,包括:
电路控制模块111在第一时刻获取第一电机011的至少两相回路的电流;其中,所述第一时刻为预设周期中的第一时刻。
电路控制模块111在第二时刻获取第一电机011的电压数据、第二电机012的电压数据、以及第一电机011在所述第二时刻的位置数据;其中,所述第二时刻为所述预设周期中在所述第一时刻之后的时刻。
电路控制模块111在第三时刻获取第二电机012的至少两相回路的电流;其中,所述第三时刻为所述预设周期中在所述第二时刻之后的时刻。
电路控制模块111在第四时刻获取第二电机012在所述第二时刻的位置数据;其中,所述第四时刻为所述预设周期中在所述第三时刻之后的时刻。
可选地,驱动系统10还包括电流采样电路121,电路控制模块111在第一时刻获取第一电机011的至少两相回路的电流,包括:
电流采样电路121接收来自电路控制模块111的第一数据获取指令。
电流采样电路121根据所述第一数据获取指令,在所述预设周期的所述第一时刻对第一电机011的至少两相回路的电流采样并发给电路控制模块111。预设周期可以是驱动一次目标电机01的时长。驱动系统10运行时,电路控制模块111向采样电路12发送数据获取指令,采样电路12接收到数据获取指令后,从目标电机01处采样目标电机01的状态数据(如三相电流数据、位置数据以及电压数据)。
第一电机的至少两相回路的电流可以是第一电机011的第一相电流以及第二相电流(例如U、V两相电流),第一数据获取指令可以是电路控制模块111发送的用于使电流采样电路121获取第一电机011的第一相电流以及第二相电流的指令。第一相电流可以是第一电机011的U相电流,第二相电流可以是第一电机011的V相电流。第一时刻可以是预设周期中的某一个时刻。
当电流采样电路121接收到第一数据获取指令后,则在预设周期中的第一时刻采样第一电机第一相电流以及第二相电流,并将其存入寄存器。举例来说,若预设周期是100us,第一时刻为第10us,则在电流采样电路121接收到第一数据获取指令后,在第10us采样第一电机第一相电流以及第二相电流。
可选地,驱动系统10还包括位置采样电路123和电压采样电路122,电路控制模块111获取目标电机01的状态数据,包括:
位置采样电路123以及电压采样电路122分别接收来自电路控制模块111的第二数据获取指令。
电压采样电路122根据所述第二数据获取指令,在所述预设周期的所述第二时刻对第一电机011的电压数据以及第二电机012的电压数据采样并发给电路控制模块111。
位置采样电路123根据所述第二数据获取指令,在所述预设周期的所述第二时刻开始对第二电机012的位置数据进行获取,并对第一电机011在所述第二时刻的位置数据采样,将第一电机011在所述第二时刻的位置数据发给电路控制模块111。
位置采样电路123根据所述第二数据获取指令,在所述预设周期的第二时刻开始对第二电机012的位置数据进行获取,并对第一电机011在所述第二时刻的位置数据采样,其中,所述第二时刻在所述预设周期中大于所述第一时刻。
预设周期的第二时刻位于第一时刻之后。当电压采样电路122接收到来自电路控制模块111发送第二数据获取指令后,则电压采样电路122在第二时刻分别从第一电机011获取第一电机011的电压值,从第二电机012获取第二电机012的电压值。
当位置采样电路123接收到来自电路控制模块111发送第二数据获取指令后,在第二时刻获取第一电机011的位置数据,并从第二时刻开始对第二电机012的位置数据进行获取。
在本申请中,获取第一电机011的位置数据可以采用增量式ABZ接口,因此从第二时刻开始,每间隔一个预设的间隔时长就能够更新一次位置数据,故可以直接在第二时刻获取第一电机011的位置数据。而第二电机012的位置数据可以采用SPI(SerialPeripheral Interface,串行外设接口)的方式获取,因此在第二时刻获取的位置数据会有延迟,数据处理模块112要在第二时刻之后一段时间才能读取到。
可选地,电路控制模块111在第三时刻获取第二电机012的至少两相回路的电流,包括:
电流采样电路121接收来自电路控制模块111的第三数据获取指令。
电流采样电路121根据所述第三数据获取指令,在所述预设周期的第三时刻对第二电机012的至少两相回路的电流采样并发给电路控制模块111。可选地,第三数据获取指令用于指示同时采集第二电机的至少两相回路的电流。
第二电机012的至少两相回路的电流可以是第二电机012的第一相电流以及第二相电流(例如U、V两相电流)。第三时刻可以是预设周期中晚于第二时刻的某一个时刻。
电流采样电路121接收来自电路控制模块111的第三数据获取指令后,在预设周期中的第三时刻对第二电机012的第二电机第一相电流以及第二相电流进行采样。
如图4所示,在一个预设周期中,电路控制模块111分别在T1获取第一电机011的第一相电流、第二相电流;在T2获取第二电机012的电压、第一电机011的电压、第一电机011在T2的位置数据;在T3获取第二电机012的第一相电流、第二相电流;在T4获取第二电机012在T2的位置数据。其中,T1为第一时刻,T2为第二时刻,T3为第三时刻,T4为第四时刻。
执行步骤S120,数据处理模块112从电路控制模块111获取所述状态数据,根据所述状态数据得到脉宽调制占空比,所述脉宽调制占空比用于驱动目标电机01。
在预设周期的第四时刻,电路控制模块111将所需的状态数据获取完成,并存入寄存器中,数据处理模块112则在预设周期内的第四时刻后开始获取状态数据,并根据状态数据计算得到脉宽调制占空比,将脉宽调制占空比下发至寄存器,以使电路控制模块111来控制驱动电路13。
可选地,所述根据所述状态数据得到脉宽调制占空比,包括:
根据第一电机011的至少两相回路的电流数据、第一电机011的电压数据以及第一电机011在所述第二时刻的位置数据,得到第一电机011的脉宽调制占空比。
根据第二电机012的至少两相回路的电流数据、第二电机012的电压数据以及第二电机012在所述第二时刻的位置数据,得到第二电机012的脉宽调制占空比。
例如,根据第一电机011的第一相电流、第二相电流、第一电机011的电压以及第一电机011在所述第二时刻的位置数据,得到第一电机011的脉宽调制占空比。
根据第二电机012的第一相电流、第二相电流、第二电机012的电压以及第二电机012在所述第二时刻的位置数据,得到第二电机012的脉宽调制占空比。
在计算脉宽调制占空比时,数据处理模块分别根据第一电机011的第一相电流、第二相电流、第一电机011的电压以及第一电机011在第二时刻的位置数据计算第一电机011的脉宽调制占空比;根据第二电机012的第一相电流、第二相电流、第二电机012的电压以及第二电机012在第二时刻的位置数据计算第二电机012的脉宽调制占空比。
可选地,所述根据第一电机011的至少两相回路的电流数据、第一电机011的电压数据以及第一电机011在所述第二时刻的位置数据,得到第一电机011的脉宽调制占空比,包括:
基于第一电机011的至少两相回路的电流数据、第一电机011的电压数据以及第一电机011在所述第二时刻的位置数据,根据克拉克变换、派克变换、比例积分计算以及反派克变换,得到第一电机011的脉宽调制占空比。
所述根据第二电机012的至少两相回路的电流数据、第二电机012的电压数据以及第二电机012在所述第二时刻的位置数据,得到第二电机012的脉宽调制占空比,包括:
基于第二电机012的至少两相回路的电流数据、第二电机012的电压数据以及第二电机012在所述第二时刻的位置数据,根据克拉克变换、派克变换、比例积分计算以及反派克变换,以得到第二电机012的脉宽调制占空比。
举例来说,在计算第二电机012的脉宽调制占空比时,数据处理模块112可以由第二电机第一相电流、第二电机第二相电流经过克拉克变换得到第二电机012在α轴以及β轴的电流数据;再由第二电机012在α轴以及β轴的电流数据以及第二电机在第二时刻的位置数据通过派克变换得到第二电机012在交轴和直轴的电流数据;然后由第二电机012在交轴和直轴的电流数据,以及交轴和直轴预设的参考电流,通过比例积分计算分别得到交轴和直轴的速度数据;根据交轴和直轴的速度数据,经反派克变换得到第二电机012在α轴以及β轴的速度数据;最终将第二电机012在α轴以及β轴的速度数据代入SVPWM(Space VectorPulse Width Modulation,空间矢量脉宽调制)计算模块,得到第二电机012三相的脉宽调制占空比。
第一电机011的脉宽调制占空比与第二电机012的脉宽调制占空比的计算方式相同。
当数据处理模块112计算完第二电机012以及第一电机011的脉宽调制占空比后,将其下发回寄存器中,电路控制模块111根据第二电机012以及第一电机011的脉宽调制占空比生成控制信号,并发送给驱动电路13。驱动电路13则基于控制信号调整输出电压,以驱动目标电机01的第一电机011以及第二电机012。
可选地,电路控制模块111包括寄存器。电路控制模块111获取所述状态数据后,将所述状态数据存入所述寄存器中。数据处理模块112从电路控制模块111获取所述状态数据,包括:数据处理模块112从所述寄存器获取所述状态数据。
每当采样电路12从第二电机012和/或第一电机011处采样到状态数据,电路控制模块即对采样的状态数据进行读取,并立即存入寄存器中。
可选地,电路控制模块111为现场可编程逻辑门阵列,数据处理模块112为ARM处理器的片上系统。
作为一种可选的实施方式,电路控制模块111可以是PL(Programmable Logic,可编程逻辑)模块,数据处理模块112可以是处理系统(Processing System, PS)模块, PL模块可实现FPGA的PL(Programmable Logic,可编程逻辑)类似的功能,PS模块可实现ARM处理器的SOC(System on Chip,片上系统)类似的功能。可以避免单独使用ARM芯片以及DSP芯片或FPGA芯片带来的运算时间长、精度低以及资源耗费大等问题,可以提高运算精度和运算速度,节省运算资源。
在终端处,可以由PL产生一段时间(例如200微妙)的中断给到PS,实现PS和PL时间同步。在开关周期的起点处,PL触发一次中断,作为PS运算的时间基准。接收到PL触发的中断后,PS通过AXI(Advanced eXtensible Interface)读取各个电流、位置、电压寄存器,并计算出脉宽调制占空比。再通过AXI更新至指定的PL寄存器。
基于同一发明构思,如图5所示,为一种电子设备100的方框示意图,该电子设备100可以为激光雷达、激光雷达的中控系统等。电子设备100包括存储器110、处理器120及通信模块130。所述存储器110、处理器120以及通信模块130。各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器中存储的数据或程序,并执行相应地功能。
通信模块130用于通过所述网络建立所述服务器与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图5所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
基于同一发明构思,本申请说明书实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文电机驱动方法的任一方法的步骤。基于同一发明构思,本申请说明书实施例提供了一种计算机程序产品,该计算机程序产品包括:计算机程序 (也可以称为代码,或指令),当该计算机程序被运行时,使得计算机执行第一方面中的任一种可能的实现方式所述的方法。
基于同一发明构思,本申请说明书实施例提供了一种芯片系统,芯片系统包括:处理器和存储器,该存储器用于存储一个或多个程序;当该一个或多个程序被该处理器执行时,实现上述电机驱动方法的任一种可能的实现方式。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。