一种高精度电子***延时装置和方法
技术领域
本发明属于电子***的技术领域,具体涉及一种高精度电子***延时装置和方法。
背景技术
电子***是从主机接收命令,然后执行***的延期、点火等操作,其具有很高的安全性、灵活性和极高的延期精度,逐渐取代了传统的利用延期药等实现延期的方法。
但是,电子***的应用环境极其恶劣,往往具有温度范围广(-70℃~120℃)、湿度大、冲击波强的特点,在命令从主机传到电子电管的过程中,信号往往会受到很大的噪声干扰,这对命令的识别方法提出了很高的要求;除此之外,为了进一步降低成本,时钟源通过芯片内部RC电路产生成为一种趋势,由于受芯片制造工艺和温度等因素影响,集成RC电路产生的时钟往往具有很大的偏差,这又为命令的识别和高精度延期增加了困难。
综上,电子***的难点在于:在恶劣环境下对接收到的命令进行准确的识别、进而实现精确的延时。这就要求本领域的技术人员设计一种能够在环境恶劣且时钟不准的情况下进行准确的识别命令和实现高精度的延时。
发明内容
本发明克服现有技术存在的不足,所要解决的技术问题为:提供一种恶劣环境下识别命令准确度较高的、延时精度较高的高精度电子***延时装置和方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种高精度电子***延时装置,所述电子***芯片内设置有:启动模块参考值计算模块,命令识别模块和延期定时器;所述启动模块,用于电子***芯片上电初始化,并加载延期值Y;所述参考值计算模块,用于识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为0时,通过计算,得出参考值;所述命令识别模块,用于识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为1时,通过计算,得到命令值;延期定时器,用于接收命令值后,启动延期计算,得到延期计数值。
优选地,所述参考值计算模块包括:参考值测量计数器、参考值计数器、乘法器和参考值测量周期计数器;所述参考值测量计算器,用于当参考值标志寄存器的赋值为0时,识别本地时钟信号,当接收到一个时钟下降沿或上升沿脉冲后,参考值测量计算器的计数器加1;参考值测量周期计数器,用于当参考值标志寄存器的赋值为0时,识别本地时钟信号,当接收到一个时钟下降沿或上升沿脉冲后,参考值测量周期计数器的计数器减1;参考值计数器,用于当参考值测量周期计数器的计数减为0时,将参考值测量计数器的值右移3位后得到参考值Ref,并将参考值标志寄存器的赋值置1。
优选地,所述命令识别模块包括:参考值标志寄存器、测量计数器除法器、译码器、命令判决模块和选择器;参考值标志寄存器,用于存储参考值标志寄存器的赋值,初始化状态时,赋值为0,当参考值计数器计算完毕后,参考值标志寄存器的赋值置1;测量计数器,用于当参考值标志寄存器的赋值为1时,测量起爆命令的命令位,记为测量值;除法器,用于将测量值左移2位然后除以参考值Ref,得到中间值M’;译码器,用于对中间值M’译码,将处在区间[4*M-1-4*V,4*M+1-4*V]的M’译码为命令值M;选择器,用于当测量计数器测量命令位宽M后,在下一个下降沿,将测量值直接传给命令判决模块,并清零,然后开始新的一个命令位测量;命令判决模块,用于将测量值输出至延期定时器。
优选地,所述延期定时器(104)的计算公式为:
其中:Y为延期值,1/4096延期步长,单位为秒,τ为计算参考值时的固定周期时间,65535为24位宽延期定时器的最大计数值。
优选地,所述起爆命令的位宽为:τ*(Μ+V)。
相应地,一种高精度电子***延时方法,包括下列步骤:S10,电子***芯片上电并初始化,并加载延期值Y;S20,识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为0时,通过计算,得出参考值;S30,识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为1时,通过计算,得到命令值;S40,接收命令值后,启动延期计算,得到延期计数值。
优选地,所述识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为0时,通过计算,得出参考值,具体包括:用于当参考值标志寄存器的赋值为0时,识别本地时钟信号,当接收到一个时钟下降沿或上升沿脉冲后,参考值测量计算器的计数器加1,参考值测量周期计数器的计数器减1;当参考值测量周期计数器的计数减为0时,将参考值测量计数器的值右移3位后得到参考值Ref,并将参考值标志寄存器的赋值置1。
优选地,所述识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为1时,通过计算,得到命令值,具体包括:当参考值标志寄存器的赋值为1时,测量起爆命令的命令位,记为测量值;将测量值左移2位然后除以参考值Ref,得到中间值M’;对中间值M’译码,将处在区间[4*M-1-4*V,4*M+1-4*V]的M’译码为命令值M;当测量计数器测量命令位宽M后,在下一个下降沿,将测量值直接传给命令判决模块;将测量值输出至延期定时器。
优选地,所述延期定时器的计算公式为:
其中:Y为延期值,1/4096延期步长,单位为秒,τ为计算参考值时的固定周期时间,65535为24位宽延期定时器的最大计数值。
优选地,所述起爆命令的位宽为:τ*(Μ+V)。
本发明与现有技术相比具有以下有益效果:
1、本发明一种高精度电子***延时装置和方法,通过计算得出参考值、命令值、延期计数值,没有直接利用本地时钟定时,能大大的提高延时精度,对时钟精度要求不高,易于集成。
2、本发明一种高精度电子***延时装置和方法,计算参考值时,连续测量了8个参考值测量周期(每个周期取值16/1024秒),16/1024s为主机发出,可以做到非常精确,同时对参考测量计数器的值连续右移3位,其作用等效于将连续将8个16/1024秒的计数值累加然后求平均,可以进一步提高参考值的准确度。
附图说明
下面结合附图对本发明做进一步详细的说明;
图1为本发明实施例一提供的一种高精度电子***延时装置的结构示意图;
图2为本发明实施例二提供的一种高精度电子***延时装置的结构示意图;
图3为本发明实施例三提供的一种高精度电子***延时装置的流程示意图;
图4为本发明实施例一提供的一种高精度电子***延时方法的流程示意图;
图5为本发明的参考值计算、命令识别和延期次数值计算流程图;
图中:10为参考值计算模块,20为命令识别模块,30为延期定时器,40为启动模块;
101为参考值测量计数器,102为、参考值计数器,103为乘法器,104为,105为参考值测量周期计数器;
201为参考值标志寄存器,202为测量计数器,203为除法器,204为译码器,205为命令判决模块,206为选择器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的一种高精度电子***延时装置的结构示意图,如图1所示,一种高精度电子***延时装置,所述电子***芯片内设置有:启动模块40,参考值计算模块10,命令识别模块20和延期定时器30;所述启动模块40,用于电子***芯片上电初始化,并加载延期值Y;所述参考值计算模块10,其输出端与延期定时器30的输入端相连,用于识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为0时,通过计算,得出参考值;所述命令识别模块20,用于识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为1时,通过计算,得到命令值;延期定时器30,用于接收命令值后,启动延期计算,得到延期计数值;其中:所述初始化中,包括:清零参考值测量计数器(DT_1)、参考值标志寄存器(Flag),延期定时器(DT_2)、参考值计数器(Ref)、测量计数器(MT),并将参考值测量周期(DTC)计数器置8。
本发明通过计算得出参考值、命令值、延期计数值,没有直接利用本地时钟定时,能大大的提高延时精度,对时钟精度要求不高,易于集成。
图2为本发明实施例二提供的一种用于电子***芯片的延时装置的结构示意图,如图2所示,所述参考值计算模块10包括:参考值测量计数器101、参考值计数器102、乘法器103和参考值测量周期计数器105;所述参考值测量计算器101,用于当参考值标志寄存器的赋值为0时,识别本地时钟信号,当接收到一个时钟下降沿或上升沿脉冲后,参考值测量计算器101的计数器加1;参考值测量周期计数器105,用于当参考值标志寄存器的赋值为0时,识别本地时钟信号,当接收到一个时钟下降沿或上升沿脉冲后,参考值测量周期计数器105的计数器减1;参考值计数器102,用于当参考值测量周期计数器105的计数减为0时,将参考值测量计数器101的值右移3位后得到参考值Ref,并将参考值标志寄存器的赋值置1。
本发明中,计算参考值时,连续测量了8个参考值测量周期(每个周期取值16/1024秒),16/1024s为主机发出,可以做到非常精确,同时对参考测量计数器的值连续右移3位,其作用等效于将连续将8个16/1024秒的计数值累加然后求平均,可以进一步提高参考值的准确度。
图3为本发明实施例三提供的一种高精度电子***延时装置的流程示意图,如图3所示,所述命令识别模块20包括:参考值标志寄存器201、测量计数器202、除法器203、译码器204、命令判决模块205和选择器206;参考值标志寄存器201,用于存储参考值标志寄存器201的赋值,初始化状态时,赋值为0,当参考值计数器102计算完毕后,参考值标志寄存器201的赋值置1;测量计数器202,用于当参考值标志寄存器201的赋值为1时,测量起爆命令的命令位,记为测量值;除法器203用于将测量值左移2位然后除以参考值Ref,得到中间值M’;译码器204,用于对中间值M’译码,将处在区间[4*M-1-4*V,4*M+1-4*V]的M’译码为命令值M;选择器206,用于当测量计数器202测量命令位宽M后,在下一个下降沿,将测量值直接传给命令判决模块205,并清零,然后开始新的一个命令位测量;命令判决模块205,用于将测量值输出至延期定时器30。
本发明中,不直接计算M而是通过译码得到,可以允许命令位的值的偏差达到±0.25。
具体地,:所述延期定时器(104)的计算公式为:
其中:Y为延期值,1/4096延期步长,单位为秒,τ为计算参考值时的固定周期时间,65535为24位宽延期定时器的最大计数值。
当τ取16/1024秒时,公式(1)可以化简为公式(2):
其中,Y*Ref由乘法器实现,将乘法器结果,右移6位即可除以64,然后使用简单的组合逻辑电路即可计算出延期计数值N。
进一步地,所述起爆命令的位宽为:τ*(Μ+V),为了便于描述和理解,τ取16/1024秒,V为4,延期步长取1/4096秒,参考值命令后的8个固定周期为16/1024秒。
本发明中,提高延期精度在于,即使时钟频率为256kHz,时钟偏差为-20%,16/1024对应的计数次数为次也能达到3600次,对应的延时精度为1/3600≈0.28‰,远远高于行业内1%的标准。在电子***的实际应用中,大多数时钟频率不会低于256kHz。
图4为本发明实施例一提供的一种高精度电子***延时方法的流程示意图;如图4所示,一种高精度电子***延时方法,包括下列步骤:S10,电子***芯片上电并初始化,并加载延期值Y;S20,识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为0时,通过计算,得出参考值;S30,识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为1时,通过计算,得到命令值;S40,接收命令值后,启动延期计算,得到延期计数值;其中:所述初始化中清零参考值测量计数器(DT_1)、参考值标志寄存器(Flag),延期定时器(DT_2)、参考值计数器(Ref)、测量计数器(MT),并将参考值测量周期(DTC)计数器置8。
图5为本发明的参考值计算、命令识别和延期次数值计算流程图;如图5所示,所述识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为0时,通过计算,得出参考值,具体包括:用于当参考值标志寄存器的赋值为0时,识别本地时钟信号,当接收到一个时钟下降沿或上升沿脉冲后,参考值测量计算器的计数器加1,参考值测量周期计数器的计数器减1;当参考值测量周期计数器的计数减为0时,将参考值测量计数器的值右移3位后得到参考值Ref,并将参考值标志寄存器的赋值置1。
具体地,所述识别参考值标志寄存器赋值,当参考值标志寄存器的赋值为1时,通过计算,得到命令值,具体包括:当参考值标志寄存器的赋值为1时,测量起爆命令的命令位,记为测量值;将测量值左移2位然后除以参考值Ref,得到中间值M’;对中间值M’译码,将处在区间[4*M-1-4*V,4*M+1-4*V]的M’译码为命令值M;当测量计数器测量命令位宽M后,在下一个下降沿,将测量值直接传给命令判决模块;将测量值输出至延期定时器;在本实施例中,V为4。只要命令位的值偏差error在±0.25以内,即error*0.25小于1,命令识别模块都能正确的识别出命令。
本实施例中,参考值为特殊的命令,其M值比其他命令大得多,且命令中的M值不连续,只需对测量值进行判决即可识别出该命令;而为了提高编码效率且和参考值计算命令区分开来,其他命令的M值较小,且为连续的。
在本实施例中,参考值命令由3位构成,M分别是64,96,128;而其他命令的M值则为0~17构成,且可以是连续的,计算参考值命令后的8个固定周期的脉冲周期为16/1024秒。需要说明的是,识别参考值计算命令不需要执行特别的运算,直接将测量值交由命令判决模块205判决即可。
进一步地,所述延期定时器的计算公式为:
其中:Y为延期值,1/4096延期步长,单位为秒,τ为计算参考值时的固定周期时间,65535为24位宽延期定时器的最大计数值。
所述起爆命令的位宽为:τ*(Μ+V),具体地,在电子***命令的编码方法中,采用τ*(Μ+V)来表示命令的位宽是一种常见的形式,其中τ为一特定的时间值,通常为1/1024秒、8/1024秒和16/1024秒等,V为一个或几个特定的值,例如3、4、5等,M则表示命令值。
本实施例中的本地时钟信号频率为256kHz,精度为±20%。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。