发明内容
针对现有技术中的缺陷,本发明的目的是提供一种实现电子***快速在线检测的方法和***。
根据本发明提供的一种实现电子***快速在线检测的方法,包括:
步骤S1:电子***芯片正常上电之后进入初始化状态;
步骤S2:电子***芯片初始化完成后进入待机状态,等待接收***命令;
步骤S3:电子***芯片接收到***下发的扫描命令,开始对扫描命令进行计数;当当前芯片能完成一次完整的UID扫描反馈,则将扫描计数器的值作为编号值保存在存储器中;
步骤S4:电子***芯片判断是否是快速在线检测命令,当不是快速在线检测命令,则电子***芯片处于待机状态;当是快速在线检测命令,则判断是否已经生成编号值,如果标志位为1,则触发步骤S5;否则电子***芯片处于待机状态;
步骤S5:电子***芯片接收***的快速在线检测方波,并将计数器清零;
步骤S6:电子***芯片内部方波计数器启动进行计数直至计数器计数值与编号值一致;
步骤S7:电子***芯片输出反馈控制信号,闭合反馈开关,实现对本***在线检测的电流反馈。
优选地,***连续下发N次扫描命令,每发***芯片上电复位后,会将扫描命令计数器初始化为0。
优选地,所述步骤S3采用:***芯片接收到***下发的扫描命令会将扫描命令计数器递增1,同时开始逐位反馈本***的UID数据;当当前***芯片能将所有UID的数据正常反馈完,并且中途并未退出,则当前扫描命令中反馈的***UID就是当前***芯片,则当前***的扫描计数器的值是当前芯片的编号值,保存在存储器中。
优选地,每位UID数据反馈前,***芯片根据二总线上的信号判断是否已经有其他***反馈,当已有其他***反馈时,则当前***退出反馈,等待下一次扫描命令;当没有其他***反馈时,则当前***继续反馈当前数据位。
优选地,将编号值和UID数据反馈至***,在***中形成UID和编号值的对应列表。
根据本发明提供的一种实现电子***快速在线检测的***,包括:
模块M1:电子***芯片正常上电之后进入初始化状态;
模块M2:电子***芯片初始化完成后进入待机状态,等待接收***命令;
模块M3:电子***芯片接收到***下发的扫描命令,开始对扫描命令进行计数;当当前芯片能完成一次完整的UID扫描反馈,则将扫描计数器的值作为编号值保存在存储器中;
模块M4:电子***芯片判断是否是快速在线检测命令,当不是快速在线检测命令,则电子***芯片处于待机状态;当是快速在线检测命令,则判断是否已经生成编号值,如果标志位为1,则触发模块M5;否则电子***芯片处于待机状态;
模块M5:电子***芯片接收***的快速在线检测方波,并将计数器清零;
模块M6:电子***芯片内部方波计数器启动进行计数直至计数器计数值与编号值一致;
模块M7:电子***芯片输出反馈控制信号,闭合反馈开关,实现对本***在线检测的电流反馈。
优选地,***连续下发N次扫描命令,每发***芯片上电复位后,会将扫描命令计数器初始化为0。
优选地,所述模块M3采用:***芯片接收到***下发的扫描命令会将扫描命令计数器递增1,同时开始逐位反馈本***的UID数据;当当前***芯片能将所有UID的数据正常反馈完,并且中途并未退出,则当前扫描命令中反馈的***UID就是当前***芯片,则当前***的扫描计数器的值是当前芯片的编号值,保存在存储器中。
优选地,每位UID数据反馈前,***芯片根据二总线上的信号判断是否已经有其他***反馈,当已有其他***反馈时,则当前***退出反馈,等待下一次扫描命令;当没有其他***反馈时,则当前***继续反馈当前数据位。
优选地,将编号值和UID数据反馈至***,在***中形成UID和编号值的对应列表。
与现有技术相比,本发明具有如下的有益效果:
1、对电子***芯片而言,编号值是芯片在扫描过程中自动产生的,不需要***增加额外的专用指令来下发,避免因为写编号值额外引入的大量操作时间;
2、与常规的对所有***进行逐发扫描进行判断的方法相比,快速在线检测的时间极短,每发***平均耗时约1ms,以几百发***组网为例,整体时间可控制在1秒以内,几乎不增加额外的检测时间;
3、由于每发***只需要反馈1位信息,通信的数据量大幅减少,因此不仅大幅缩减了现场的操作时间,通信的可靠性也极大幅提高,尽可能地避免了由于线路问题导致的拒爆。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种实现电子***快速在线检测的方法,包括:
步骤S1:电子***芯片正常上电之后进入初始化状态;
步骤S2:电子***芯片初始化完成后进入待机状态,等待接收***命令;
步骤S3:电子***芯片接收到***下发的扫描命令,开始对扫描命令进行计数;当当前芯片能完成一次完整的UID扫描反馈,则将扫描计数器的值作为编号值保存在存储器中;
步骤S4:电子***芯片判断是否是快速在线检测命令,当不是快速在线检测命令,则电子***芯片处于待机状态;当是快速在线检测命令,则判断是否已经生成编号值,如果标志位为1,则触发步骤S5;否则电子***芯片处于待机状态;
步骤S5:电子***芯片接收***的快速在线检测方波,并将计数器清零;
步骤S6:电子***芯片内部方波计数器启动进行计数直至计数器计数值与编号值一致;
步骤S7:电子***芯片输出反馈控制信号,闭合反馈开关,实现对本***在线检测的电流反馈。
具体地,***连续下发N次扫描命令,每发***芯片上电复位后,会将扫描命令计数器初始化为0。
具体地,所述步骤S3采用:***芯片接收到***下发的扫描命令会将扫描命令计数器递增1,同时开始逐位反馈本***的UID数据;当当前***芯片能将所有UID的数据正常反馈完,并且中途并未退出,则当前扫描命令中反馈的***UID就是当前***芯片,则当前***的扫描计数器的值是当前芯片的编号值,保存在存储器中。
具体地,每位UID数据反馈前,***芯片根据二总线上的信号判断是否已经有其他***反馈,当已有其他***反馈时,则当前***退出反馈,等待下一次扫描命令;当没有其他***反馈时,则当前***继续反馈当前数据位。
具体地,将编号值和UID数据反馈至***,在***中形成UID和编号值的对应列表。
根据本发明提供的一种实现电子***快速在线检测的***,包括:
模块M1:电子***芯片正常上电之后进入初始化状态;
模块M2:电子***芯片初始化完成后进入待机状态,等待接收***命令;
模块M3:电子***芯片接收到***下发的扫描命令,开始对扫描命令进行计数;当当前芯片能完成一次完整的UID扫描反馈,则将扫描计数器的值作为编号值保存在存储器中;
模块M4:电子***芯片判断是否是快速在线检测命令,当不是快速在线检测命令,则电子***芯片处于待机状态;当是快速在线检测命令,则判断是否已经生成编号值,如果标志位为1,则触发模块M5;否则电子***芯片处于待机状态;
模块M5:电子***芯片接收***的快速在线检测方波,并将计数器清零;
模块M6:电子***芯片内部方波计数器启动进行计数直至计数器计数值与编号值一致;
模块M7:电子***芯片输出反馈控制信号,闭合反馈开关,实现对本***在线检测的电流反馈。
具体地,***连续下发N次扫描命令,每发***芯片上电复位后,会将扫描命令计数器初始化为0。
具体地,所述模块M3采用:***芯片接收到***下发的扫描命令会将扫描命令计数器递增1,同时开始逐位反馈本***的UID数据;当当前***芯片能将所有UID的数据正常反馈完,并且中途并未退出,则当前扫描命令中反馈的***UID就是当前***芯片,则当前***的扫描计数器的值是当前芯片的编号值,保存在存储器中。
具体地,每位UID数据反馈前,***芯片根据二总线上的信号判断是否已经有其他***反馈,当已有其他***反馈时,则当前***退出反馈,等待下一次扫描命令;当没有其他***反馈时,则当前***继续反馈当前数据位。
具体地,将编号值和UID数据反馈至***,在***中形成UID和编号值的对应列表。
实施例2
实施例2是实施例1的优选例
本发明提出了一种电子***组网之后进行快速在线检测的方法,如图1至6所示,包括:利用电子***组网之后进行快速在线检测装置进行如下操作:
电子***组网第一步就是对在线***进行扫描,该扫描命令是广播命令,有多少发***就要发送多少次的扫描命令。
电子***芯片在接收到扫描命令之后进行反馈的同时,会对接收到的扫描命令进行计数,并在完成反馈之后将该计数值作为***的编号值,同时返回给***。
完成组网扫描之后,电子***在起爆前通过快速在线检测可以实现对***联网情况的快速检查,快速检测的过程包括***先广播发送一个快速在线检测的命令,然后在命令后面紧跟着发送一串连续的方波,方波个数大于组网的***发数即可。该方波通常采用1ms的方波,高低电平的占空比可以根据需要进行调整。电子***芯片会对收到的方波进行计数,之后只在计数到与自身的编号值相同的那个方波里进行反馈,通知***本发***已经被成功检测到。
所述电子***组网之后进行快速在线检测装置包括:***以及电子***;
所述电子***包括整流桥、控制逻辑以及存储器;
所述***通过二总线电路与电子***连接;
所述整流桥与所述控制逻辑单元连接;所述控制逻辑单元与所述存储器连接;
所述***完成对电子***的起爆控制,包括主控单元、二总线电路(产生A、B总线电源和信号)以及反馈电流采样功能;
所述整流桥实现交流信号到直流信号的转换;
所述控制逻辑接收扫描命令,启动扫描计数器,并形成编号值存储在编号值寄存器内;接收快速在线检测命令,并对A、B信号线输入的方波进行计数,在与***存储的编号值相对应的方波里面进行反馈,即控制反馈开关,来实现电流反馈功能;
所述存储器用于保存芯片掉电后不会丢失的数据。
更为具体地,包括:
步骤一:电子***芯片正常上电之后,进入初始化。
步骤二:电子***芯片初始化完成之后进入待机状态,等待接收***命令
步骤三:电子***芯片接收到***下发的扫描命令,开始对扫描命令进行计数。如果当前芯片能完成一次完整的UID扫描反馈,则将扫描计数器的值作为编号值保存在存储器中。
步骤四:电子***芯片判断是否是快速在线检测命令,如果不是快速在线检测命令,则进入步骤二处于待机状态;如果是快速在线检测命令,则判断是否已经生成了编号值,如果标志位FLAG为1,则进入步骤五,否则进入步骤二处于待机状态。
步骤五:电子***芯片接收***的快速在线检测的方波,并将计数器清零。
步骤六:电子***芯片内部方波计数器启动,进行计数。一直等计数器计数值达到与编号值一致。
步骤七:电子***芯片输出反馈控制信号,闭合反馈开关,实现对本***在线检测的电流反馈。
编号值生成机理采用:***连续下发N次扫描命令,每发***芯片上电复位后,会将扫描命令计数器初始化为0;
***芯片接收到***下发的扫描命令,会将扫描命令计数器(CNT)递增1,同时开始逐位反馈本***的UID数据;
每位数据反馈前,***芯片会根据A、B二总线上的信号来判断是否已经有其他***反馈,如果已有,则当前***退出反馈,等待下一次扫描命令;如果没有,则当前***继续反馈当前数据位;
如果当前***芯片能将所有UID的数据正常反馈完,而没有中途退出,说明本次扫描命令中反馈的***UID就是当前***芯片,则当前***的扫描计数器(CNT)的值就记录为该芯片编号值,保存在存储器中。
同时编号值也紧跟着UID一起反馈给***,在***里面形成UID和编号值的对应列表。
采用自动编号方式:单个***扫描时间需要总计12~15Bytes传输时间。假设数据传输速率1KHz,采用单比特数据传输需要1ms。假设UID采用最短的8Bytes,以500发组网为例,采用自动编号方式因为传输编号值额外增加的时间:500发*2Bytes*8bits/Byte*1ms=8s,这个时间几乎可以忽略。
采用***写入编号值方式:单个***扫描时间需要总计10~15Bytes传输时间;写编号值需要的时间:12~17Bytes。
总计单个***需要耗时:22~32Bytes。
假设数据传输速率1KHz,采用单比特数据传输需要1ms。UID采用最短的8Bytes,以500发组网为例,因为增加写编号值额外增加的时间:500发*12Bytes*8bits/Byte*1ms=48s;如果UID采用最长的15Bytes,则可节省500发*17Bytes*8bits/Byte*1ms=68s。
比较而言采用自动编号的方式,可以节省40~60s,并且随着组网的***数目越多,采用自动编号方式节省的时间越明显。
与常规的对所有***进行逐发扫描进行判断的方法相比,快速在线检测的时间极短,每发***平均耗时1ms。每发***只需要反馈1位信息,不仅大幅缩减了现场的操作时间,也大幅提高了通信的可靠性。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的***、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。