发明内容
针对现有技术中的缺陷,本发明的目的是提供一种数码电子雷管起爆控制器及其级联同步方法、系统。
根据本发明提供的一种数码电子雷管起爆控制器,包括:电源模块、第一电源输出模块、第二电源输出模块、主控模块、GNSS模块、升压模块、总线驱动模块以及总线信号采集模块;
所述电源模块为起爆控制器供电;
所述第一电源输出模块将电源模块电压降压输出,为主控模块供电;
所述第二电源输出模块将电源模块电压降压输出,为GNSS模块供电;
所述主控模块包括核心处理器,控制第二电源输出模块为GNSS模块供电、控制升压模块为总线驱动模块提供总线电压、控制总线驱动模块对雷管总线供电、控制总线信号采集模块采集总线信号以及与GNSS模块交互获取卫星定位和当前时间;
所述GNSS模块接收卫星信号,并将输出的TIMEPULSE秒脉冲信号连接到主控模块处理器的FIQ中断线;
所述升压模块将电源模块升压至雷管组网所需的总线通讯电压和总线充电电压,供总线驱动模块使用;
所述总线驱动模块将升压模块输出电压输出至雷管组网总线,并实现雷管组网的下行通信;
所述总线信号采集模块采集雷管组网总线上的电流信号,实现雷管组网的上行通信。
优选地,在所述总线驱动模块中,通过切换二总线电压极性实现雷管组网的下行通信。
优选地,在所述GNSS模块中,采用Ublox的MAX-M10S模块同时接收包括GPS、GLONASS、Galileo和北斗的卫星信号。
优选地,将MAX-M10S模块的TIMEPULSE秒脉冲信号连接到起爆控制器主控模块处理器的FIQ中断引脚,当TIMEPULSE的上升沿触发时,处理器通过FIQ中断处理函数响应当前中断事件。
根据本发明提供的一种数码电子雷管起爆控制器的级联同步方法,运用上述所述的数码电子雷管起爆控制器执行:主起爆控制器控制从起爆控制器在同一种GNSS制式下进行搜星和同步,并在所有主起爆控制器和从起爆控制器同步后,通过主起爆控制器下发带有UTC时标的起爆命令让所有从起爆控制器起爆,从而确保整个雷管组网网络的每一个起爆命令操作都是同步进行的。
优选地,所述主起爆控制器下发带有UTC时标的起爆命令采用:利用起爆控制器主控模块处理器的快速中断FIQ监控GNSS秒脉冲信号的上升沿事件;当秒脉冲信号上升沿出现时,主控模块处理器以最快的速度响应,并且处理器每次处理秒脉冲FIQ中断的UTC时间是固定的,在起爆控制器操作的预设节点利用秒脉冲进行同步。
优选地,包括:
步骤S1:主起爆控制器上电后,主起爆控制器的GNSS模块自动开始搜星,搜星成功后实现了GNSS同步,并确定所用的GNSS制式;
步骤S2:主起爆控制器将确定的GNSS制式以及GNSS同步命令发送至从起爆控制器;
步骤S3:启动各从起爆控制器的GNSS模块在相同GNSS制式下进行搜星和同步,每个从起爆控制器同步完成后,返回同步状态至主起爆控制器;
步骤S4:当所有从起爆控制器都完成了GNSS同步,主起爆控制器给各从起爆控制器下发起爆命令,起爆命令包括各从起爆控制器给雷管网络各电子雷管实际下发起爆命令的UTC时间;
步骤S5:各从起爆控制器连续接收GNSS的秒脉冲信号,并在中断服务程序判断本机的UTC时间和主起爆控制器下发的UTC时间是否一致,当一致时,则下发起爆命令给电子雷管,同时返回雷管已起爆的状态至主起爆控制器;
步骤S6:主起爆控制器接收到所有从起爆控制器的雷管已经起爆的信息,则当前起爆顺利完成,否则起爆失败。
根据本发明提供的一种数码电子雷管起爆控制器的级联同步系统,运用上述所述的数码电子雷管起爆控制器,主起爆控制器控制从起爆控制器在同一种GNSS制式下进行搜星和同步,并在所有主起爆控制器和从起爆控制器同步后,通过主起爆控制器下发带有UTC时标的起爆命令让所有从起爆控制器起爆,从而确保整个雷管组网网络的每一个起爆命令操作都是同步进行的。
优选地,所述主起爆控制器下发带有UTC时标的起爆命令采用:利用起爆控制器主控模块处理器的快速中断FIQ监控GNSS秒脉冲信号的上升沿事件;当秒脉冲信号上升沿出现时,主控模块处理器以最快的速度响应,并且处理器每次处理秒脉冲FIQ中断的UTC时间是固定的,在起爆控制器操作的预设节点利用秒脉冲进行同步。
优选地,包括:
模块M1:主起爆控制器上电后,主起爆控制器的GNSS模块自动开始搜星,搜星成功后实现了GNSS同步,并确定所用的GNSS制式;
模块M2:主起爆控制器将确定的GNSS制式以及GNSS同步命令发送至从起爆控制器;
模块M3:启动各从起爆控制器的GNSS模块在相同GNSS制式下进行搜星和同步,每个从起爆控制器同步完成后,返回同步状态至主起爆控制器;
模块M4:当所有从起爆控制器都完成了GNSS同步,主起爆控制器给各从起爆控制器下发起爆命令,起爆命令包括各从起爆控制器给雷管网络各电子雷管实际下发起爆命令的UTC时间;
模块M5:各从起爆控制器连续接收GNSS的秒脉冲信号,并在中断服务程序判断本机的UTC时间和主起爆控制器下发的UTC时间是否一致,当一致时,则下发起爆命令给电子雷管,同时返回雷管已起爆的状态至主起爆控制器;
模块M6:主起爆控制器接收到所有从起爆控制器的雷管已经起爆的信息,则当前起爆顺利完成,否则起爆失败。
与现有技术相比,本发明具有如下的有益效果:
1、本发明采用无线的方式来代替有线级联的方式,避免了现场布线拉线以及有线通信线路过长导致压降过大,起爆器功率受限的问题;
2、本发明通过主从机之间GNSS PPS秒脉冲和软件通信协议保证了起爆命令的同步误差小于500ns,远远高于只有主机同步、主从机之间通过参数补偿的方式。
3、本发明通过确保每个从起爆器起爆命令的精确同步,确保了每个电子雷管起爆的精确延期,避免了由于雷管起爆时序出错导致的爆破事故,提高了电子雷管的可靠性和安全性。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明涉及一种基于GNSS(全球导航卫星系统)秒脉冲的数码电子雷管起爆控制器级联同步的方法。在不增加额外通讯时间的前提下解决了起爆控制器级联后无法准确同步的问题,确保了整个雷管网络同步起爆。工业电子雷管起爆器团体标准里面规定了起爆控制器必须支持GPS/北斗定位功能,这是GNSS中的两种导航定位系统,也给本发明的实施提供了有利的基础。
实施例1
如图1至5所示,根据本发明提供的一种数码电子雷管起爆控制器,包括:电源模块、第一电源输出模块、第二电源输出模块、主控模块、GNSS模块、升压模块、总线驱动模块以及总线信号采集模块;
所述电源模块为起爆控制器的电源模块,通常使用8.5V锂电池,用于为其他模块供电;
所述第一电源输出模块将电源模块电压降压输出,为主控模块供电,起爆控制器开机后就开始工作;
所述第二电源输出模块将电源模块电压降压至3.3V输出,为GNSS模块供电,由主控模块控制其是否工作;
所述主控模块包括核心处理器,控制第二电源输出模块为GNSS模块供电、控制升压模块为总线驱动模块提供总线电压、控制总线驱动模块对雷管总线供电、控制总线信号采集模块采集总线信号以及与GNSS模块交互获取卫星定位和当前时间;
所述GNSS模块为全球导航卫星系统模块,此处采用Ublox的MAX-M10S模块,该模块支持同时接收多达四个GNSS(GPS、GLONASS、Galileo和北斗),能够在城市、山体、深井等复杂环境下准确稳定的接收卫星信号。模块输出的TIMEPULSE秒脉冲信号连接到主控模块处理器的FIQ中断线,以达到最大的响应速度;
所述升压模块将电源模块升压至雷管组网所需的总线通讯电压和总线充电电压,供总线驱动模块使用;
所述总线驱动模块将升压模块输出电压输出至雷管组网总线,通过切换二总线电压极性实现雷管组网的下行通信;
所述总线信号采集模块由主控模块控制,采集雷管组网总线上的电流信号,实现雷管组网的上行通信。
具体地,将MAX-M10S模块的TIMEPULSE(时钟脉冲)信号连接到起爆控制器主控模块处理器的FIQ中断引脚,当TIMEPULSE的上升沿触发时,处理器以最快的速度响应该中断事件,FIQ中断处理函数非常简单且每次中断的处理时间相同,就可以通过TIMEPULSE上升沿中断为起爆控制器“对时”。在发送关键命令时指定该命令在那个UTC时间的秒中断上升沿开始执行,即可使所有的起爆控制器同步执行该命令。其中,GNSS秒脉冲信号,PPS,GNSS每秒钟产生一个脉冲信号,用来指示整秒的时刻,该时刻通常是用PPS秒脉冲的上升沿来标示。该上升沿时间小于5ns。GNSS产生秒脉冲后定位计算需要一定时间,该秒脉冲的时间数据会在脉冲触发后通过串行传输设备发送给处理器。处理器接收该数据就可以得到当前脉冲的UTC时间,同时也得到下一个秒脉冲的UTC时间。
基于GNNS模块输出的秒脉冲进行级联同步的误差分析
FIQ(快速中断)和IRQ(普通中断)是ARM处理器里特有的两个中断处理模式。
本质上来说两者都是中断,但是FIQ处理的优先级比IRQ更高,FIQ的相应时间也比IRQ更快。
在ARM中,一般可以将需要实时响应的中断设置为FIQ,被设置为FIQ的中断在发生时可以插队,可以直接打断当前处理的IRQ。
FIQ模式有自己独有的寄存器,而IRQ需要和其他模式共用寄存器,在中断处理的保护/恢复现场会更快;
在异常向量表中,FIQ处在最末尾。在异常向量表中IRQ只能保存中断处理程序的首地址,在发生IRQ时需要一次跳转;而FIQ处在最末尾,所以可以直接将FIQ模式下的中断处理程序紧接着存放,这样在处理FIQ时就少一次跳转。
以上的机制保证了采用FIQ中断来检测GNNS模块的秒脉冲输出,不仅可以保证响应时间最快,同时每次响应时间都是固定的,这样在FIQ中断服务程序中实现对雷管发送起爆命令的功能,每一个从设备(起爆控制器)对每个雷管子网络发送起爆指令是精准同步的,即每一发雷管起爆的起始点都是精确同步的,也就保证了整个雷管网络严格按照操作员设置的时序起爆。
如图4所示,GNNS模块的秒脉冲输出TIMEPULSE,进入各从设备(1,2,3,…,n)之后,都会经过两级时钟的同步锁存之后作为ARM处理器的快速中断FIQ信号。不同设备的FIQ信号相对于主设备发出的SYNC信号会引入不同的延时:分别是T1+d1,T2+d2,…,Tn+Dn,其中T1,T2,…Tn分别为每个从设备的ARM处理器时钟周期;而d1,d2,…,dn则分别是每个从设备的时钟上升沿和SYNC信号之间的延时,这是个随机值,但是取值范围是0~Tn(表示延时为0,或最多1个时钟周期)。
每个从设备的时钟的中心频率理论上都是相同的,只是由于各自的晶体振荡器的误差导致T1,T2,…Tn不严格相同,但是最大的差异也不会超过一个时钟周期。
综合以上分析,不同从设备的FIQ延时(Tx+dx)的差异最大也不超过2个时钟周期。
在起爆器应用中的ARM处理器时钟频率不会低于10MHz,所以2个时钟周期最多也就是200ns。中断服务程序中完成下发起爆命令通常不会超过100个时钟周期,不同设备之间时钟偏差小于1%,累计差异小于100*100*1%ns=100ns,而不同GNNS模块输出的秒脉冲时间精度也小于100ns,则所有从设备检测到FIQ中断并在中断服务程序中执行起爆命令的时间差异不会超500ns,这个精度远超同类型专利的1us同步精度,因此可以认为每一发雷管接收到的起爆命令都是精确同步的,整个雷管网络也是严格按照操作员设置的时序起爆的。
根据本发明提供的一种数码电子雷管起爆控制器的级联同步方法,如图5所示,运用上述所述的数码电子雷管起爆控制器执行:主起爆器控制从起爆器在同一种GNSS制式下进行搜星和同步,并在所有主/从起爆器都同步之后,再通过主起爆器下发带有UTC时标的起爆命令,从而让所有从起爆爆器在特定UTC时间的秒脉冲PPS时刻,即同一时刻向每个雷管子网络发送雷管起爆指令,从而确保整个雷管组网网络的每一个起爆命令操作都是同步进行的,避免不同雷管子网络操作存在时差,导致最终的爆破效果不理想的问题。
具体地,所述主起爆控制器下发带有UTC时标的起爆命令采用:利用起爆控制器主控模块处理器的快速中断FIQ监控GNSS秒脉冲信号的上升沿事件;当秒脉冲信号上升沿出现时,主控模块处理器以最快的速度响应,并且处理器每次处理秒脉冲FIQ中断的UTC时间是固定的,在起爆控制器操作的预设节点利用秒脉冲进行同步。
具体地,包括:
步骤S1:主起爆控制器上电后,主起爆控制器的GNSS模块自动开始搜星,搜星成功后实现了GNSS同步,并确定所用的GNSS制式;
步骤S2:主起爆控制器将确定的GNSS制式以及GNSS同步命令发送至从起爆控制器;
步骤S3:启动各从起爆控制器的GNSS模块在相同GNSS制式下进行搜星和同步,每个从起爆控制器同步完成后,返回同步状态至主起爆控制器;
步骤S4:当所有从起爆控制器都完成了GNSS同步,主起爆控制器给各从起爆控制器下发起爆命令,起爆命令包括各从起爆控制器给雷管网络各电子雷管实际下发起爆命令的UTC时间;
步骤S5:各从起爆控制器连续接收GNSS的秒脉冲信号,并在中断服务程序判断本机的UTC时间和主起爆控制器下发的UTC时间是否一致,当一致时,则下发起爆命令给电子雷管,同时返回雷管已起爆的状态至主起爆控制器;
步骤S6:主起爆控制器接收到所有从起爆控制器的雷管已经起爆的信息,则当前起爆顺利完成,否则起爆失败,针对未正确返回状态的从起爆控制器进一步分析未起爆的原因。
起爆控制器的通讯命令/响应结构
主机命令结构
数据包头 |
数据包长度 |
命令代码 |
命令参数 |
校验位 |
数据包尾 |
2字节 |
2字节 |
1字节 |
N字节 |
1字节 |
2字节 |
数据包头/包尾:2字节固定十六进制数值,当接收到包头、包尾时说明完整接收一个数据包。
数据包长度:整个数据包的长度,可以通过该长度确定数据包头和数据包尾。
命令代码:主起爆控制器向从起爆控制器发送的命令代码,说明从起爆控制器需要执行的操作。(包括GPS同步命令、起爆命令等)
命令参数:当前命令所需的参数,长度不定,可以根据数据包长度计算。对于GNNS同步命令,里面会带上使用的GNSS制式,如选择GPS还是北斗;对于起爆命令,参数会包含具体执行命令的UTC时间。
校验位:整个数据包除去包头和包尾的校验值,可通过该校验位确认数据包在传输过程中是否出错。
从机响应结构
数据包头 |
数据包长度 |
响应数据 |
校验位 |
数据包尾 |
2字节 |
1字节 |
1字节 |
1字节 |
2字节 |
数据包头/包尾:2字节固定十六进制数值,当接收到包头、包尾时说明完整接收一个数据包。
数据包长度:整个数据包的长度,可以通过该长度确定数据包头和数据包尾。
响应数据:从起爆控制器向主起爆控制器返回的状态信息。
校验位:整个数据包除去包头和包尾的校验值,可通过该校验位确认数据包在传输过程中是否出错。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。