电机控制系统中微处理器的系统时钟故障检测方法转让专利

申请号 : CN201310586789.9

文献号 : CN103746625B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张倩金万兵柯文静

申请人 : 广东威灵电机制造有限公司

摘要 :

本发明属于电机驱动控制技术领域,提供了一种电机控制系统中微处理器的系统时钟故障检测方法及系统。该方法及系统是在本次PWM信号周期内,利用一与系统时钟同频的时钟源作为一处理器内核定时器时钟源,通过对该处理器内核定时器的计数值的检测,实现系统时钟的半频或倍频故障检测,从而能及时发现系统时钟的故障情况并对电机采取保护,保证了微处理器中各功能模块工作的一致性,进而提高了电机控制系统运行的可靠性。

权利要求 :

1.一种电机控制系统中微处理器的系统时钟故障检测方法,其特征在于,所述方法包括以下步骤:触发本次PWM中断,并根据所述本次PWM中断,利用ADC采样模块在上次PWM中断的时间内采集的电机定子线圈电流,计算所述ADC采样模块在下次PWM中断的时间内的采样时刻;

在本次PWM中断的时间内,选择电机控制系统中一非系统时钟源作为所述微处理器中一处理器内核定时器的时钟源,并控制所述处理器内核定时器进行计数;

在所述本次PWM中断的时间内,延时预设时间以读取所述处理器内核定时器的第一计数值;

在所述本次PWM中断的时间内,若读取的所述第一计数值超过预设的第一计数范围值,则判断系统时钟失效;

在所述本次PWM中断的时间内,打开所述微处理器的全局中断,在所述上次PWM中断的时间内计算得到的采样时刻到达时,触发ADC中断,以使得所述ADC采样模块对电机定子线圈电流进行正常采集和转换。

2.如权利要求1所述的电机控制系统中微处理器的系统时钟故障检测方法,其特征在于,所述在本次PWM中断的时间内,选择电机控制系统中一非系统时钟源作为所述微处理器中一处理器内核定时器的时钟源,并控制所述处理器内核定时器进行计数的步骤包括以下步骤:在本次PWM中断的时间内,设置预设时间和第一计数范围值;

控制电机控制系统中一非系统时钟源开启;

关闭所述微处理器中的全局中断,以启动对系统时钟的故障检测;

控制所述微处理器中一处理器内核定时器停止;

初始化所述处理器内核定时器的定时器周期为最大值,并初始化相应的预分频计数器为1;

选择所述非系统时钟源作为所述处理器内核定时器的时钟源;

控制所述处理器内核定时器开启,则所述处理器内核在相应的时钟频率下开始计数。

3.如权利要求1所述的电机控制系统中微处理器的系统时钟故障检测方法,其特征在于,所述非系统时钟源是同频时钟源;

所述在所述上次PWM中断的时间内计算得到的采样时刻到达时,触发ADC中断,以使得所述ADC采样模块对电机定子线圈电流进行正常采集和转换的步骤之后,所述方法还包括以下步骤:在所述下次PWM中断的时间内,对所述处理器内核定时器进行故障检测。

4.如权利要求3所述的电机控制系统中微处理器的系统时钟故障检测方法,其特征在于,所述在所述下次PWM中断的时间内,对所述处理器内核定时器进行故障检测的步骤包括以下步骤:在所述下次PWM中断的时间内,设置所述处理器内核定时器的定时器周期、第二计数范围值以及延时时间;

关闭所述微处理器的全局中断,以启动对所述处理器内核定时器的故障检测;

控制所述处理器内核定时器停止,并加载所述定时器周期;

控制所述处理器内核定时器开启;

在所述延时时间达到时,控制所述处理器内核定时器停止;

读取所述处理器内核定时器的第二计数值;

若读取的所述第二计数值超过所述第二计数范围值,则判断所述处理器内核定时器失效。

5.一种电机控制系统中微处理器的系统时钟故障检测系统,其特征在于,所述系统包括:计数控制模块,用于在本次PWM中断的时间内,选择电机控制系统中一非系统时钟源作为所述微处理器中一处理器内核定时器的时钟源,并控制所述处理器内核定时器进行计数;

计算模块,用于触发本次PWM中断,并在所述计数控制模块执行前,根据所述本次PWM中断,利用ADC采样模块在上次PWM中断的时间内采集的电机定子线圈电流,计算所述ADC采样模块在下次PWM中断的时间内的采样时刻;

读取模块,用于在所述本次PWM中断的时间内,在所述计数控制模块执行完毕后,延时预设时间以读取所述处理器内核定时器的第一计数值;

检测模块,用于在所述本次PWM中断的时间内,若所述读取模块读取的所述第一计数值超过预设的第一计数范围值,则判断系统时钟失效;

采样触发模块,用于在所述本次PWM中断的时间内,在所述检测模块执行完毕后,打开所述微处理器的全局中断,在所述上次PWM中断的时间内计算得到的采样时刻到达时,触发ADC中断,以使得所述ADC采样模块对电机定子线圈电流进行正常采集和转换。

6.如权利要求5所述的电机控制系统中微处理器的系统时钟故障检测系统,其特征在于,所述计数控制模块包括:第一设置子模块,在本次PWM中断的时间内,设置预设时间和第一计数范围值;

非系统时钟源控制子模块,用于在所述第一设置子模块执行完毕后,控制电机控制系统中一非系统时钟源开启;

第一检测启动子模块,用于在所述非系统时钟源控制子模块执行完毕后,关闭所述微处理器的全局中断,以启动对系统时钟的故障检测;

第一处理器内核定时器控制子模块,用于在所述第一检测启动子模块执行完毕后,控制所述微处理器中一处理器内核定时器停止;

初始化子模块,用于在所述第一处理器内核定时器控制子模块执行完毕后,初始化所述处理器内核定时器的定时器周期为最大值,并初始化相应的预分频计数器为1;

选择子模块,用于在所述初始化子模块执行完毕后,选择所述非系统时钟源作为所述处理器内核定时器的时钟源;

第二处理器内核定时器控制子模块,用于在所述选择子模块执行完毕后,控制所述处理器内核定时器开启,则所述处理器内核在相应的时钟频率下开始计数。

7.如权利要求6所述的电机控制系统中微处理器的系统时钟故障检测系统,其特征在于,所述系统还包括定时器故障检测模块,所述定时器故障检测模块包括:第二设置子模块,用于在所述下次PWM中断的时间内,设置所述处理器内核定时器的定时器周期、第二计数范围值以及延时时间;

第二检测启动子模块,用于在所述第二设置子模块执行完毕后,关闭所述微处理器的全局中断,以启动对所述处理器内核定时器的故障检测;

第三处理器内核定时器控制子模块,用于在所述第二检测启动子模块执行完毕后,控制所述处理器内核定时器停止,并加载所述定时器周期;

第四处理器内核定时器控制子模块,用于在所述第三处理器内核定时器控制子模块执行完毕后,控制所述处理器内核定时器开启;

第五处理器内核定时器控制子模块,用于在所述第四处理器内核定时器控制子模块执行完毕后,在所述延时时间达到时,控制所述处理器内核定时器停止;

读取子模块,用于在所述第五处理器内核定时器控制子模块执行完毕后,读取所述处理器内核定时器的第二计数值;

检测子模块,用于当所述读取子模块读取的所述第二计数值超过第二计数范围值时,判断所述处理器内核定时器失效。

8.一种电机控制系统的微处理器,包括处理器内核定时器,以及连接所述处理器内核定时器的非系统时钟源,其特征在于,所述微处理器还包括连接所述处理器内核定时器和所述非系统时钟源的系统时钟故障检测系统,所述系统时钟故障检测系统是如权利要求5至7任一项所述的电机控制系统中微处理器的系统时钟故障检测系统。

说明书 :

电机控制系统中微处理器的系统时钟故障检测方法

技术领域

[0001] 本发明属于电机驱动控制技术领域,尤其涉及一种电机控制系统中微处理器的系统时钟故障检测方法及系统。

背景技术

[0002] 随着技术电子技术的进步,在机电领域,普遍采用微电子控制技术实现对电机的控制及驱动。图1以三相电机控制系统为例,示出了现有采用磁场导向控制(Field Oriented Control,FOC)技术的电机控制系统的结构原理。
[0003] 具体来说,现有的电机控制系统包括用于将直流输入转换成三相交流输出的三相逆变器、以及用于输出PWM信号以驱动三相逆变器工作的微处理器。其中,位置和速度估算模块估算电机的转速ω;速度PI调节模块根据位置和速度估算模块得到的偏差输出T轴参考分量Isq_req;ADC采样模块从三相逆变器的输出采样得到三相定子线圈电流,并经A./D转换和坐标变换后,得到旋转坐标系中的直流分量Isd和Isq;将T轴参考分量Isq_req和M轴参考分量Isd_req分别与直流分量Isq和Isd进行比较,得到的偏差分别经相应的转矩电流PI调节模块和励磁电流PI调节模块的调节,得到旋转坐标系的相电压分量Uq和Ud,之后再通过坐标变换,得到α-β直角坐标系的定子相电压矢量的分量Uα和Uβ;脉宽调制模块根据两个分量Uα和Uβ计算实际输出的PWM信号的占空比,生成并输出具有相应占空比的PWM信号,同时,ADC采样模块根据脉宽调制模块的输出,在PWM信号的下一周期进行ADC采样。
[0004] 在微处理器中,系统时钟提供芯片中各功能模块的工作节拍,保证了各功能模块工作的一致性。一般地,微处理器可包括两个内部晶振,还可包括外部晶振,两个内部晶振中的一个作为系统时钟源,另一个可为独立看门狗的时钟源。作为系统时钟源的内部晶振产生的时钟信号经锁相环进行倍频处理后得到系统时钟,该系统时钟由分频器进行分频后,提供芯片中相应功能模块的时钟源。在电机控制系统的实际工作过程中,系统时钟会因为内部晶振源无法起振等原因而出现跑频,即系统时钟的频率并非锁相环锁定的频率而出现倍频或半频等情况。而现有技术并未提供对电机控制系统中微处理器的系统时钟的故障检测方法,无法及时发现系统时钟的故障情况并进行保护,使得现有电机控制系统的运行存在隐患,可靠性差,甚至造成电机的损毁。

发明内容

[0005] 本发明实施例的目的在于提供一种电机控制系统中微处理器的系统时钟故障检测方法,旨在解决现有技术提供的电机控制系统无法及时发现系统时钟出现故障的情况,使得电机控制系统运行可靠性差的问题。
[0006] 本发明实施例是这样实现的,一种电机控制系统中微处理器的系统时钟故障检测方法,所述方法包括以下步骤:
[0007] 在本次PWM中断的时间内,选择电机控制系统中一非系统时钟源作为所述微处理器中一处理器内核定时器的时钟源,并控制所述处理器内核定时器进行计数;
[0008] 在所述本次PWM中断的时间内,延时预设时间以读取所述处理器内核定时器的第一计数值;
[0009] 在所述本次PWM中断的时间内,若读取的所述第一计数值超过预设的第一计数范围值,则判断系统时钟失效。
[0010] 本发明实施例的另一目的在于,还提供了一种电机控制系统中微处理器的系统时钟故障检测系统,所述系统包括:
[0011] 计数控制模块,用于在本次PWM中断的时间内,选择电机控制系统中一非系统时钟源作为所述微处理器中一处理器内核定时器的时钟源,并控制所述处理器内核定时器进行计数;
[0012] 读取模块,用于在所述本次PWM中断的时间内,在所述计数控制模块执行完毕后,延时预设时间以读取所述处理器内核定时器的第一计数值;
[0013] 检测模块,用于在所述本次PWM中断的时间内,若所述读取模块读取的所述第一计数值超过预设的第一计数范围值,则判断系统时钟失效。
[0014] 本发明实施例的另一目的在于,还提供了一种电机控制系统的微处理器,包括处理器内核定时器,以及连接所述处理器内核定时器的非系统时钟源,所述微处理器还包括连接所述处理器内核定时器和所述非系统时钟源的系统时钟故障检测系统,所述系统时钟故障检测系统是如上所述的电机控制系统中微处理器的系统时钟故障检测系统。
[0015] 本发明实施例提供的电机控制系统中微处理器的系统时钟故障检测方法及系统是在本次PWM信号周期内,利用一与系统时钟同频的时钟源作为一处理器内核定时器时钟源,通过对该处理器内核定时器的计数值的检测,实现系统时钟的半频或倍频故障检测,从而能及时发现系统时钟的故障情况并对电机采取保护,保证了微处理器中各功能模块工作的一致性,进而提高了电机控制系统运行的可靠性。

附图说明

[0016] 图1是现有技术提供的电机控制系统的结构原理图;
[0017] 图2是本发明实施例一提供的电机控制系统中微处理器的系统时钟故障检测方法的流程图;
[0018] 图3是本发明实施例一的选择非系统时钟源作为处理器内核定时器时钟源,并控制处理器内核定时器进行计数的详细流程图;
[0019] 图4是本发明实施例二提供的电机控制系统中微处理器的系统时钟故障检测方法的流程图;
[0020] 图5是本发明实施例三提供的电机控制系统中微处理器的系统时钟故障检测方法的流程图;
[0021] 图6是本发明实施例三的在下次PWM中断的时间内对该处理器内核定时器进行故障检测的详细流程图;
[0022] 图7是本发明实施例四提供的电机控制系统中微处理器的系统时钟故障检测系统的结构图;
[0023] 图8是图7中计数控制模块的结构图;
[0024] 图9是本发明实施例五提供的电机控制系统中微处理器的系统时钟故障检测系统的结构图;
[0025] 图10是本发明实施例六提供的电机控制系统中微处理器的系统时钟故障检测系统的结构图;
[0026] 图11是图10中定时器故障检测模块的结构图。

具体实施方式

[0027] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0028] 针对现有技术存在的问题,本发明提出了一种电机控制系统中微处理器的系统时钟故障检测方法及系统。该方法及系统是在本次PWM信号周期内,利用一与系统时钟同频的时钟源作为一处理器内核定时器时钟源,通过对该处理器内核定时器的计数值的检测,实现系统时钟的半频或倍频故障检测。以下将结合实施例详细说明本发明的实现方式:
[0029] 实施例一
[0030] 本发明实施例一提出了一种电机控制系统中微处理器的系统时钟故障检测方法,如图2所示,包括:
[0031] 步骤S1:在本次PWM中断的时间内,选择电机控制系统中一非系统时钟源作为微处理器中一处理器内核定时器的时钟源,并控制该处理器内核定时器进行计数。
[0032] 本发明实施例一中,可选择微处理器的内部晶振或外部晶振作为处理器内核定时器的时钟源,优选地,选择内部晶振作为处理器内核定时器的时钟源。例如,若微处理器中包括第一内部晶振和第二内部晶振,且第一内部晶振作为系统时钟源,则选择第二内部晶振作为处理器内核定时器的时钟源。其中的处理器内核定时器即微处理器中主CPU内的一定时器,即通常所说的CPU定时器。优选地,所选择的非系统时钟源是与系统时钟同频的时钟源。
[0033] 本发明实施例一中,微处理器每产生一个周期的PWM信号波形触发一次PWM中断,PWM中断的时间是指PWM信号的一个周期时长(即PWM信号的频率的倒数)。
[0034] 进一步地,如图3所示,步骤S1可包括以下步骤:
[0035] S11:在本次PWM中断的时间内,设置预设时间和第一计数范围值。
[0036] S12:控制电机控制系统中一非系统时钟源开启。
[0037] S13:关闭微处理器的全局中断,以启动对系统时钟的故障检测。
[0038] 本发明实施例一中,关闭全局中断即是说,在系统时钟的故障检测过程中,不响应其它任何中断,以保证系统时钟的故障检测过程不被可能的中断打断。
[0039] S14:控制微处理器中一处理器内核定时器停止。
[0040] S15:初始化该处理器内核定时器的定时器周期为最大值,并初始化相应的预分频计数器为1。其中的最大值例如可以是0xFFFFFFFFU。
[0041] 本发明实施例一中,处理器内核定时器的工作时钟是由相应的分频器得到,通过设置分频器的系数,可得到相应的分频倍数。此外,在分频器与处理器内核定时器之间,还可包括对分频器分频后的时钟频率进行倍频后,输出给处理器内核定时器的倍频模块,当设置相应的预分频计数器为1时,相应的分频器直接输出分频后的时钟信号给处理器内核定时器,否则,倍频模块对相应的分频器得到的时钟信号进行倍频后,输出给处理器内核定时器。
[0042] S16:选择该非系统时钟源作为该处理器内核定时器的时钟源。
[0043] S17:控制该处理器内核定时器开启,则该处理器内核在相应的时钟频率下开始计数。
[0044] 步骤S2:在本次PWM中断的时间内,延时预设时间以读取该处理器内核定时器的第一计数值。
[0045] 步骤S3:在本次PWM中断的时间内,若读取的第一计数值超过预设的第一计数范围值,则判断系统时钟失效,即系统时钟出现倍频或半频等跑频现象;若读取的第一计数值溢出,则判断系统时钟失效;若读取的第一计数值没有溢出且未超过预设的第一计数范围值,则判断系统时钟检测通过。
[0046] 本发明实施例一提供的电机控制系统中微处理器的系统时钟故障检测方法是在本次PWM信号周期内,利用一与系统时钟同频的时钟源作为一处理器内核定时器时钟源,通过对该处理器内核定时器的计数值的检测,实现系统时钟的半频或倍频故障检测,从而能及时发现系统时钟的故障情况并对电机采取保护,保证了微处理器中各功能模块工作的一致性,进而提高了电机控制系统运行的可靠性。
[0047] 实施例二
[0048] 本发明实施例二提出了一种电机控制系统中微处理器的系统时钟故障检测方法,如图4所示。与实施例一不同,实施例二中,在步骤S1之前还包括:
[0049] 步骤S0:触发本次PWM中断,并根据本次PWM中断,利用ADC采样模块在上次PWM中断的时间内采集的电机定子线圈电流,计算ADC采样模块在下次PWM中断的时间内的采样时刻,即根据本次PWM中断首先执行算法程序,例如执行FOC算法。
[0050] 同时与实施例一不同,实施例二中,在步骤S3之后还包括:
[0051] 步骤S4:在本次PWM中断的时间内,打开微处理器的全局中断,在上次PWM中断的时间内计算得到的采样时刻到达时,触发ADC中断,以使得ADC采样模块对电机定子线圈电流进行正常采集和转换。
[0052] 本发明实施例二中,ADC采样模块对电机定子线圈电流的采样时刻发生在本次PWM中断的最后四分之一周期内。
[0053] 与实施例一不同,本发明实施例二提供的电机控制系统中微处理器的系统时钟故障检测方法在一次PWM中断开始后,首先执行算法程序,之后执行如上实施例一所述的系统时钟的故障检测,之后在打开全局中断后ADC采样模块执行对电机定子线圈电流的采样和转换,从而不影响电机的正常运行。此时,要保证算法程序的执行时间与ADC采样模块的第一次电流采样之间的时间间隔大于系统时钟故障检测的时间,例如,当PWM中断的频率为8KHz时,故障检测的时间可为13μs。
[0054] 实施例三
[0055] 本发明实施例三提出了一种电机控制系统中微处理器的系统时钟故障检测方法,如图5所示。与实施例二不同,实施例三中,在步骤S4之后还包括:
[0056] 步骤S5:在下次PWM中断的时间内,对该处理器内核定时器进行故障检测。进一步地,如图6所示,步骤S5可包括以下步骤:
[0057] S51:在下次PWM中断的时间内,设置处理器内核定时器的定时器周期、第二计数范围值以及延时时间。
[0058] S52:关闭微处理器的全局中断,以启动对处理器内核定时器的故障检测。
[0059] S53:控制处理器内核定时器停止,并加载定时器周期。
[0060] S54:控制处理器内核定时器开启。
[0061] S55:在延时时间达到时,控制处理器内核定时器停止。
[0062] S56:读取处理器内核定时器的第二计数值。
[0063] S57:若读取的第二计数值超过第二计数范围值,则判断该处理器内核定时器失效;若读取的第二计数值未超过第二计数范围值,则判断该处理器内核定时器检测通过。
[0064] 与实施例二不同,本发明实施例三提供的电机控制系统中微处理器的系统时钟故障检测方法在本次PWM信号周期内对系统时钟进行故障检测之后,还进一步在相邻的下次PWM信号周期内对参与系统时钟故障检测的处理器内核定时器进行故障检测,从而保证了处理器内核定时器的可靠性,且避免了在同一PWM信号周期同时检测处理器内核定时器故障和系统时钟故障时,由交叉检测造成的逻辑混乱或检测失效的问题。例如,可以在第1次、第3次、第5次等单次PWM信号周期内,对系统时钟进行故障检测,而在第2次、第4次、第6次等双次PWM信号周期内,对参与系统时钟故障检测的处理器内核定时器进行故障检测。
[0065] 实施例四
[0066] 本发明实施例四提出了一种电机控制系统中微处理器的系统时钟故障检测系统,如图7所示,为了便于说明,仅示出了与本发明实施例四相关的部分。
[0067] 详细而言,本发明实施例四提供的微处理器的系统时钟故障检测系统包括:计数控制模块1,用于在本次PWM中断的时间内,选择电机控制系统中一非系统时钟源作为微处理器中一处理器内核定时器的时钟源,并控制该处理器内核定时器进行计数;读取模块2,用于在本次PWM中断的时间内,在计数控制模块1执行完毕后,延时预设时间以读取该处理器内核定时器的第一计数值;检测模块3,用于在本次PWM中断的时间内,若读取模块2读取的第一计数值超过预设的第一计数范围值,则判断系统时钟失效,若读取的第一计数值溢出,则判断系统时钟失效,若读取的第一计数值没有溢出且未超过预设的第一计数范围值,则判断系统时钟检测通过。
[0068] 进一步地,如图8所示,计数控制模块1可包括:第一设置子模块11,在本次PWM中断的时间内,设置预设时间和第一计数范围值;非系统时钟源控制子模块12,用于在第一设置子模块11执行完毕后,控制电机控制系统中一非系统时钟源开启;第一检测启动子模块13,用于在非系统时钟源控制子模块12执行完毕后,关闭微处理器的全局中断,以启动对系统时钟的故障检测;第一处理器内核定时器控制子模块14,用于在第一检测启动子模块13执行完毕后,控制微处理器中一处理器内核定时器停止;初始化子模块15,用于在第一处理器内核定时器控制子模块14执行完毕后,初始化该处理器内核定时器的定时器周期为最大值,并初始化相应的预分频计数器为1;选择子模块16,用于在初始化子模块15执行完毕后,选择该非系统时钟源作为该处理器内核定时器的时钟源;第二处理器内核定时器控制子模块17,用于在选择子模块16执行完毕后,控制该处理器内核定时器开启,则该处理器内核在相应的时钟频率下开始计数。
[0069] 本发明实施例一提供的电机控制系统中微处理器的系统时钟故障检测系统是在本次PWM信号周期内,利用一与系统时钟同频的时钟源作为一处理器内核定时器时钟源,通过对该处理器内核定时器的计数值的检测,实现系统时钟的半频或倍频故障检测,从而能及时发现系统时钟的故障情况并对电机采取保护,保证了微处理器中各功能模块工作的一致性,进而提高了电机控制系统运行的可靠性。
[0070] 实施例五
[0071] 本发明实施例五提出了一种电机控制系统中微处理器的系统时钟故障检测系统,如图9所示,为了便于说明,仅示出了与本发明实施例五相关的部分。
[0072] 与实施例四不同,实施例五还包括:计算模块4,用于触发本次PWM中断,并在计数控制模块1执行前,根据本次PWM中断,利用ADC采样模块在上次PWM中断的时间内采集的电机定子线圈电流,计算ADC采样模块在下次PWM中断的时间内的采样时刻,即根据本次PWM中断首先执行算法程序,例如执行FOC算法;采样触发模块5,用于在在本次PWM中断的时间内,在检测模块3执行完毕后,打开微处理器的全局中断,在上次PWM中断的时间内计算得到的采样时刻到达时,触发ADC中断,以使得ADC采样模块对电机定子线圈电流进行正常采集和转换。
[0073] 与实施例四不同,本发明实施例五提供的电机控制系统中微处理器的系统时钟故障检测系统在一次PWM中断开始后,首先执行算法程序,之后执行如上实施例一所述的系统时钟的故障检测,之后在打开全局中断后ADC采样模块执行对电机定子线圈电流的采样和转换,从而不影响电机的正常运行。
[0074] 实施例六
[0075] 本发明实施例六提出了一种电机控制系统中微处理器的系统时钟故障检测系统,如图10所示,为了便于说明,仅示出了与本发明实施例五相关的部分。
[0076] 与实施例五不同,实施例六还包括:定时器故障检测模块6,用于在下次PWM中断的时间内,对该处理器内核定时器进行故障检测。
[0077] 进一步地,如图11所示,定时器故障检测模块6可包括:第二设置子模块61,用于在下次PWM中断的时间内,设置处理器内核定时器的定时器周期、第二计数范围值以及延时时间;第二检测启动子模块62,用于在第二设置子模块61执行完毕后,关闭微处理器的全局中断,以启动对处理器内核定时器的故障检测;第三处理器内核定时器控制子模块63,用于在第二检测启动子模块62执行完毕后,控制处理器内核定时器停止,并加载定时器周期;第四处理器内核定时器控制子模块64,用于在第三处理器内核定时器控制子模块
63执行完毕后,控制处理器内核定时器开启;第五处理器内核定时器控制子模块65,用于在第四处理器内核定时器控制子模块64执行完毕后,在延时时间达到时,控制处理器内核定时器停止;读取子模块66,用于在第五处理器内核定时器控制子模块65执行完毕后,读取处理器内核定时器的第二计数值;检测子模块67,用于当读取子模块66读取的第二计数值超过第二计数范围值时,判断该处理器内核定时器失效,并当读取子模块66读取的第二计数值未超过第二计数范围值时,判断该处理器内核定时器检测通过。
[0078] 与实施例五不同,本发明实施例六提供的电机控制系统中微处理器的系统时钟故障检测系统在本次PWM信号周期内对系统时钟进行故障检测之后,还进一步在下次PWM信号周期内对参与系统时钟故障检测的处理器内核定时器进行故障检测,从而保证了处理器内核定时器的可靠性,且避免了在同一PWM信号周期同时检测处理器内核定时器故障和系统时钟故障时,由交叉检测造成的逻辑混乱或检测失效的问题。例如,检测模块3可在第1次、第3次、第5次等单次PWM信号周期内,对系统时钟进行故障检测,而定时器故障检测模块6在第2次、第4次、第6次等双次PWM信号周期内,对参与系统时钟故障检测的处理器内核定时器进行故障检测。
[0079] 实施例七
[0080] 本发明实施例七提出了一种电机控制系统的微处理器,包括处理器内核定时器、连接处理器内核定时器的非系统时钟源,以及连接处理器内核定时器和非系统时钟源的系统时钟故障检测系统。该系统时钟故障检测系统是如上实施例四至实施例六中任一实施例所述的电机控制系统中微处理器的系统时钟故障检测系统,在此不赘述。
[0081] 综上所述,本发明提供的电机控制系统中微处理器的系统时钟故障检测方法及系统是在本次PWM信号周期内,利用一与系统时钟同频的时钟源作为一处理器内核定时器时钟源,通过对该处理器内核定时器的计数值的检测,实现系统时钟的半频或倍频故障检测,从而能及时发现系统时钟的故障情况并对电机采取保护,保证了微处理器中各功能模块工作的一致性,进而提高了电机控制系统运行的可靠性。再有,在一次PWM中断开始后,首先执行算法程序,之后执行系统时钟的故障检测,之后在打开全局中断后ADC采样模块执行对电机定子线圈电流的采样和转换,从而不影响电机的正常运行。另外,还可在本次PWM信号周期内对系统时钟进行故障检测之后,在下次PWM信号周期内对参与系统时钟故障检测的处理器内核定时器进行故障检测,从而保证了处理器内核定时器的可靠性,且避免了在同一PWM信号周期同时检测处理器内核定时器故障和系统时钟故障时,由交叉检测造成的逻辑混乱或检测失效的问题。
[0082] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来控制相关的硬件完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
[0083] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。