一种耗材芯片、耗材芯片通信方法与流程

文档序号:17441197发布日期:2019-04-17 04:47阅读:207来源:国知局
一种耗材芯片、耗材芯片通信方法与流程

本发明涉及芯片通信技术领域,尤其涉及一种耗材芯片、耗材芯片通信方法。



背景技术:

目前耗材普遍使用了芯片作为耗材的信息和使用量的介质,耗材芯片与打印机之间校验密码算法的密文数据存于耗材芯片非易失性存储单元中。当打印机开机时,打印机会向耗材芯片发送校验密码算法的索引字节和密钥。耗材芯片收到索引字节和密钥后,会根据索引字节和密钥将校验密码算法的密文数据解密为明文代码并由mcu内核运行校验密码算法的明文代码,以此计算并修改耗材芯片与打印机之间校验密码。

但是,兼容耗材的mcu内核无法运行解密后的校验密码算法的明文代码。因此,通用耗材只能支持已解密的校验密码算法,对于打印机固件升级后新解密的校验密码算法,通用耗材无法支持,造成产品抗升级能力差。

发明专利申请cn106626792a公开了芯片认证方法、系统、打印机、耗材芯片和耗材盒,并具体公开了一种芯片认证方法,执行于打印机上,所述方法包括:发送认证指令给耗材芯片,所述认证指令包括指定代码,所述指定代码是按照认证耗材芯片的程序编译格式进行编译的;接收所述耗材芯片返回的根据所述认证指令运行后的运行结果;根据所述运行结果,确定所述耗材芯片是否为认证耗材芯片。该发明所采用的耗材芯片为单核,并用来解决现有技术中打印机对耗材芯片的认证方法存在安全性漏洞的问题,并为解决耗材芯片抗升级能力差的问题。



技术实现要素:

本发明针对现有技术存在的问题,提出了一种解决耗材芯片抗升级能力问题的耗材芯片、耗材芯片通信方法。

本发明是通过以下技术方案得以实现的:

本发明提供一种耗材芯片,包括第一耗材mcu单元、第二耗材mcu单元、校验密码运算单元;当所述第一耗材mcu单元与打印机无法兼容时,所述第一耗材mcu单元启动第二耗材mcu单元执行第二耗材芯片内核处理流程;所述第二耗材mcu单元执行所述校验密码运算单元的校验密码算法函数程序,并将计算得到的新校验密码存储于校验密码运算单元;当所述第一耗材mcu单元查询到所述第二耗材mcu单元完成第二耗材芯片内核处理流程后,所述第一耗材mcu单元读取所述新校验密码运算单元的新校验密码并发送给打印机;所述新校验密码能被打印机接收以实现第一耗材mcu单元与打印机两者兼容。

作为优选,所述校验密码运算单元包括:

算法代码存储子单元,用于存储解密后校验算法明文数据;

数据存储子单元,用于存储新校验密码、旧校验密码;

所述第二耗材mcu单元根据校验算法明文数据,执行所述算法代码存储子单元的校验密码算法函数程序,计算得到的新校验密码存储于所述数据存储子单元。

作为优选,耗材芯片还包括:存储单元,用于存储校验算法密文数据;所述第一耗材mcu单元接收到打印机发送的索引字节和密钥后,通过索引字节找到校验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元;所述第二耗材mcu单元根据校验算法明文数据,执行所述校验密码算法函数程序。

作为优选,耗材芯片还包括:

启动代码存储单元;

存储单元,用于存储第二耗材启动代码;

当所述第一耗材mcu单元启动第二耗材mcu单元前,所述存储单元的第二耗材启动代码在耗材芯片上电后被复制到所述启动代码存储单元中。

作为优选,所述第一耗材mcu单元包括:

执行子单元,用于与打印机交互,在与打印机无法兼容时,启动第二耗材mcu单元;并在查询到第二耗材mcu单元完成第二耗材芯片内核处理流程后,读取所述校验密码运算单元的新校验密码,关闭所述第二耗材mcu单元,之后发送新校验密码给打印机;

检测子单元,用于在查询到第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志时,确认第二耗材mcu单元完成第二耗材芯片内核处理流程。

作为优选,所述第一耗材mcu单元还包括标志清零子单元,用于在执行子单元启动第二耗材mcu单元前,将前次第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志清零。

作为优选,所述第一耗材mcu单元还包括判断子单元,用于判断索引字节是否对应于初代芯片标记值,若是,则不启动第二耗材mcu单元,所述第一耗材mcu单元与打印机兼容;否则,所述执行子单元启动第二耗材mcu单元。

作为优选,耗材芯片还包括:

存储单元,用于存储校验算法密文数据,第二耗材启动代码,旧校验密码;

启动代码存储单元;

当所述第一耗材mcu单元启动第二耗材mcu单元前,所述第一耗材mcu单元在耗材芯片上电后将存储单元的第二耗材启动代码复制到所述启动代码存储单元中,所述第一耗材mcu单元将旧检验密码发送给所述校验密码运算单元;

所述第一耗材mcu单元接收到打印机发送的索引字节和密钥后,通过索引字节找到检验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元;所述第二耗材mcu单元根据校验算法明文数据,执行所述校验密码算法函数程序。

一种耗材芯片通信方法,用于包括第一耗材mcu单元、校验密码运算单元、第二耗材mcu单元的耗材芯片;方法包括:

当第一耗材mcu单元与打印机无法兼容时,第一耗材mcu单元启动第二耗材mcu单元执行第二耗材芯片内核处理流程,校验密码运算单元的校验密码算法函数程序被调用而计算新校验密码;

当第一耗材mcu单元查询到所述第二耗材mcu单元完成第二耗材芯片内核处理流程后,第一耗材mcu单元读取新校验密码并发送给打印机,所述新校验密码能被打印机接收以实现第一耗材mcu单元与打印机两者兼容。

作为优选,所述耗材芯片还包括存储单元;方法还包括:在所述第一耗材mcu单元启动所述第二耗材mcu单元前,所述第一耗材mcu单元接收到打印机发送的索引字节和密钥后,通过索引字节在存储单元查找检验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元;所述第二耗材mcu单元根据校验算法明文数据执行所述校验密码运算单元的校验密码算法函数程序并计算新校验密码。

作为优选,所述耗材芯片还包括启动代码存储单元、存储单元;方法还包括:在所述第一耗材mcu单元启动所述第二耗材mcu单元前,所述第一耗材mcu单元在耗材芯片上电后将存储单元的第二耗材启动代码复制到所述启动代码存储单元中;所述启动代码存储单元在所述第二耗材mcu单元被启动后调用。

作为优选,方法还包括:当所述第一耗材mcu单元查询到所述第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志时,确认所述第二耗材mcu单元完成第二耗材芯片内核处理流程,读取新校验密码后,第一耗材mcu单元关闭所述第二耗材mcu单元。

作为优选,方法还包括:在所述第一耗材mcu单元启动所述第二耗材mcu单元前,将前次第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志清零。

作为优选,方法还包括:在通过索引字节找到检验算法密文数据前,所述第一耗材mcu单元判断索引字节是否对应于初代芯片标记值,若是,则不启动第二耗材mcu单元,所述第一耗材mcu单元与打印机兼容;否则,启动第二耗材mcu单元。

作为优选,所述耗材芯片还包括存储单元、启动代码存储单元;方法还包括:

当所述第一耗材mcu单元启动所述第二耗材mcu单元前,所述第一耗材mcu单元在耗材芯片上电后将所述存储单元的第二耗材启动代码复制到所述启动代码存储单元中,并将所述存储单元的旧检验密码发送到所述校验密码运算单元;

所述第一耗材mcu单元接收到打印机发送的索引字节和密钥后,通过索引字节找到检验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元;所述第二耗材mcu单元根据校验算法明文数据执行所述校验密码运算单元的校验密码算法函数程序并计算新校验密码。

作为优选,所述第二耗材mcu单元执行第二耗材芯片内核处理流程的步骤具体为:

第二耗材mcu单元根据复位地址跳到启动代码存储单元中运行第二耗材启动代码;

第二耗材mcu单元关闭所有中断;

第二耗材mcu单元调用算法代码存储子单元中的校验密码算法函数并跳转到算法代码存储子单元中运行;

第二耗材mcu单元运行算法代码存储子单元中的校验密码算法函数并跳回到启动代码存储单元中运行;

第二耗材mcu单元设置第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志,之后进入等待。

本发明具有以下有益效果:

本发明一种耗材芯片、耗材芯片通信方法,解决了耗材芯片抗升级能力的问题,提高耗材芯片与打印机的兼容性。

附图说明

图1为本发明一种耗材芯片的结构框图;

图2为本发明一种耗材芯片中第一耗材mcu单元的结构框图;

图3为本发明一种耗材芯片一实施方式下的结构框图;

图4为本发明一种耗材芯片通信方法于第一耗材mcu单元侧处理的流程框图;

图5为图3中第二耗材mcu单元处理的流程框图;

图6为本发明一种耗材芯片通信方法于第一耗材mcu单元侧处理的一实施方式下的流程框图;

图7为本发明一种耗材芯片通信方法于第二耗材mcu单元侧处理的流程框图;

图8为本发明一种耗材芯片通信方法于第二耗材mcu单元侧处理的一实施方式下的流程框图。

具体实施方式

以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。

由于现有单核耗材芯片无法在打印机固件升级后适用,无法与打印机进行认证,进而无法实现正常通信交互。为此,本发明在现有耗材芯片的基础下增加一个耗材芯片内核,及配合上述两个耗材芯片内核进行交互的相应单元、数据信息等。也就是说,本发明耗材芯片为双核芯片,利用双核耗材芯片解决不同情况下的耗材芯片与打印机之间认证、通信,包括打印机固件未升级情况和打印机固件升级情况。

如图1,本发明提供一种耗材芯片,包括第一耗材mcu单元、第二耗材mcu单元和校验密码运算单元。当所述第一耗材mcu单元与打印机无法兼容时,所述第一耗材mcu单元启动第二耗材mcu单元执行第二耗材芯片内核处理流程,否则,不启动。所述第二耗材mcu单元执行所述校验密码运算单元的校验密码算法函数程序,并将计算得到的新校验密码存储于校验密码运算单元。当所述第一耗材mcu单元查询到所述第二耗材mcu单元完成第二耗材芯片内核处理流程后,所述第一耗材mcu单元读取所述校验密码运算单元的新校验密码并发送给打印机。所述新校验密码能被打印机接收以实现第一耗材mcu单元与打印机两者兼容。

也就是说,所述第一耗材mcu单元为本发明耗材芯片的主处理器,可以是arm内核,也可以是msp430内核。所述第一耗材mcu单元负责打印机命令数据处理,包括接收打印机发送的命令和数据,如上机认证命令。而所述第二耗材mcu单元为本发明耗材新品的协处理器,可以是st23内核,负责执行所述校验密码运算单元的校验密码算法函数程序。例如,第一耗材mcu单元可以为通用耗材mcu单元,第二耗材mcu单元可以为原装耗材mcu单元。当第一耗材mcu单元能通过打印机认证与之兼容通信时,则只需要耗材芯片的单核,即第一耗材mcu单元工作即可,而第二耗材mcu单元无需启动;当第一耗材mcu单元无法通过打印机认证与之兼容通信时,则需要开启耗材芯片的双核,以第一耗材mcu单元为主,第二耗材mcu单元为辅,在认证时,通过启动第二耗材mcu单元来执行校验密码运算单元的新校验密码计算,以获得打印机的认证通过。

具体地,所述校验密码运算单元包括算法代码存储子单元、数据存储子单元。所述算法代码存储子单元,用于存储解密后校验算法明文数据。所述数据存储子单元,用于存储新校验密码、旧校验密码。所述第二耗材mcu单元根据校验算法明文数据,执行所述算法代码存储子单元的校验密码算法函数程序,计算得到的新校验密码存储于所述数据存储子单元。

其中,所述第二耗材mcu单元执行所述校验密码运算单元的校验密码算法函数程序是依据于校验算法明文数据。一实施方式下,该校验算法明文数据可通过第二耗材mcu单元启动后计算获得。所述第一耗材mcu单元通过打印机获得索引字节、密钥后将其发送给第二耗材mcu单元,第二耗材mcu单元根据索引字节查询到校验密码算法的密文数据,并利用密钥进行解密为明文,并存储在校验密码运算单元内。另一实施方式下,该校验算法明文数据可通过第一耗材mcu单元计算后发送至第二耗材mcu单元获得,并存储在校验密码运算单元内。在上述两个实施方式下,所述耗材芯片还包括存储单元,用于存储校验算法密文数据。以后者实施方式为例,具体地,所述第一耗材mcu单元接收到打印机发送的索引字节和密钥后,通过索引字节找到校验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元;所述第二耗材mcu单元根据校验算法明文数据,执行所述校验密码算法函数程序。所述存储单元可以为易失性存储单元或非易失性存储单元,所述存储单元不限于一个,可以有多个。

其中,所述第二耗材mcu单元执行启动程序,一实施方式下,通过在第二耗材mcu单元内默认设置启动代码,一旦第二耗材mcu单元接收到第一耗材mcu发送的启动指令时,则自动按照启动代码运行;另一实施方式下,该启动代码由第一耗材mcu单元提供,当发送至第二耗材mcu单元后,一旦第二耗材mcu单元接收到第一耗材mcu发送的启动指令时,则按照发送来的启动代码运行。在后者实施方式下,所述耗材芯片还包括启动代码存储单元、存储单元。所述存储单元用于存储第二耗材启动代码。当所述第一耗材mcu单元启动第二耗材mcu单元前,所述存储单元的第二耗材启动代码在耗材芯片上电后被复制到所述启动代码存储单元中。所述存储单元可以为易失性存储单元或非易失性存储单元,所述存储单元不限于一个,可以有多个。

其中,在所述校验密码运算单元的新校验密码生成前,可在校验密码运算单元内存储有旧校验密码。该旧校验密码可以是前一次运算留下的;当旧校验密码是在第一次新校验密码运算前的,可以预先存储在校验密码运算单元内作为校验密码初始值,也可以通过第一耗材mcu单元在准备启动第二耗材mcu单元前发送到校验密码运算单元。在由第一耗材mcu单元发送来的旧校验密码的实施方式下,耗材芯片的存储单元还存储旧校验密码;在将新校验密码存储于所述校验密码运算单元前,所述第一耗材mcu单元将旧检验密码发送给所述校验密码运算单元。所述存储单元可以为易失性存储单元或非易失性存储单元,所述存储单元不限于一个,可以有多个。

具体地,所述第一耗材mcu单元包括执行子单元、检测子单元。所述执行子单元用于与打印机交互,在与打印机无法兼容时,启动第二耗材mcu单元;并在查询到第二耗材mcu单元完成第二耗材芯片内核处理流程后,读取所述校验密码运算单元的新校验密码并发送给打印机。所述检测子单元,用于在查询到第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志时,确认第二耗材mcu单元完成第二耗材芯片内核处理流程。通过完成标志能明确第二耗材芯片内核处理流程结束与否。

所述第二耗材mcu单元可在被启动后,一直保持启动状态,然则,这对后续第一耗材mcu单元与打印机的通信交互造成很大的功耗损失,并且降低第一耗材mcu单元与打印机两者通信交互效率。为此,所述执行子单元还在检测子单元检测到完成标志且在读取新校验码密码后,关闭所述第二耗材mcu单元,之后所述执行子单元发送新校验密码给打印机。一旦第二耗材mcu单元完成新校验码的运算后,即完成第一耗材mcu单元与打印机不兼容时的辅助运算后,则第二耗材mcu单元也无开启意义,则将其关闭,只留第一耗材mcu单元(单核)与打印机认证、通信,加快了通信效率。并且,一旦第二耗材mcu单元被关闭,校验密码运算单元也停止工作。

为了确保本发明耗材芯片多次使用后仍能不出错,所述第一耗材mcu单元还包括标志清零子单元。在执行子单元启动第二耗材mcu单元前,将前次第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志清零。第二耗材mcu单元上一次启动使用后,标志为非零,在新一次启动前,清零处理。在第二耗材mcu单元开启后,执行第二芯片内核处理流程后,标志变化为非零。第一耗材mcu单元检测到标志为非零时,从数据存储单元中读取新校验密码,然后关闭第二耗材mcu单元。

所述第一耗材mcu单元还包括判断子单元,用于判断索引字节是否对应于初代芯片标记值,若是,则不启动第二耗材mcu单元,所述第一耗材mcu单元与打印机兼容。否则,所述执行子单元启动第二耗材mcu单元。由于判断子单元的存在,可在是否启动第二耗材mcu单元前进行判断,当能够适配打印机认证和通信,无需启动第二耗材mcu单元执行第二耗材芯片内核处理流程,只要用到第一耗材mcu单元即可,直接发送第一耗材mcu单元上已存储的校验密码或直接由第一耗材mcu单元计算的新校验密码给打印机,就能快速进入认证和交互通信。此过程相当于,启用双核或单核的判断过程,有助于系统优化运行。举例说明,假定初代芯片标记值为0,如果索引字节值等于0,则第一耗材mcu单元将校验密码发送给打印机;如果索引字节值不等于0,则启动双核,由第二耗材mcu单元计算新校验密码,并由第一耗材mcu单元将新校验密码发送给打印机。所述初代芯片标记值不限于0,并且初代芯片标记值不仅可以理解成第一代芯片,也可以理解成打印机固件未升级前的通用代芯片。后者理解,一般是在较早代芯片以被淘汰使用很多年且不生产,这样耗材芯片无需记录较早代芯片的数据,如较早代芯片的旧校验密码,这样可便于提高耗材芯片与打印机通信系统的交互效率。

所述第一耗材mcu单元与打印机是否兼容,除了通过判断索引字节是否对应于初代芯片标记值的方式外,还可以通过其他方式,如一实施方式下,通过在第一耗材mcu单元内查找校验密码算法密文数据,若未查到打印机固件升级后的校验密码算法密文数据,则认为不兼容,则需要通过第二耗材mcu单元存储的校验密码算法密文数据进行后续兼容认证;另一实施方式下,第一耗材mcu单元与打印机直接进行现有通信认证,一旦认证不同过则为不兼容,此时由第二耗材mcu单元代替第一耗材mcu单元进行认证通信。

图2示出了本发明一种耗材芯片的一具体实施方式,包括第一耗材mcu单元、存储单元、校验密码运算单元(包括算法代码存储子单元和数据存储子单元)、启动代码存储单元、第二耗材mcu单元、通信单元。

当所述第一耗材mcu单元启动第二耗材mcu单元前,所述存储单元在耗材芯片上电后将第二耗材启动代码复制到所述启动代码存储单元中,所述第一耗材mcu单元将旧检验密码发送给所述校验密码运算单元。也就是说,当确定第一耗材mcu单元与打印机不兼容时并准备开启第二耗材mcu单元后,且在启动第二耗材mcu单元前,将校验密码运算单元和第二耗材mcu单元所需的参数发送到相应位置,一旦第二耗材mcu单元启动,就能马上执行启动程序并计算新校验密码。

所述第一耗材mcu单元接收到打印机发送的索引字节和密钥后,通过索引字节找到检验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元;所述第二耗材mcu单元根据校验算法明文数据,执行所述校验密码算法函数程序。

所述存储单元可以非易失性存储单元,也可以是易失性存储单元。所述存储单元不限于一个,可以有多个。所述非易失性存储单元可以是flash,也可以是eeprom,用于存储耗材软件程序、校验算法密文数据、第二耗材启动代码,如boot代码。所述易失性存储单元是sram,用于存储第一耗材mcu单元和通信单元运行时产生的临时数据。所述存储单元还用于存储旧校验密码,所述旧校验密码在打印机固件未升级下用于计算耗材芯片与打印机之间的校验密码,以通过打印机认证。

所述通信单元可以是i2c通信模块,也可以是单线通信模块,负责发送和接收打印机命令数据。

所述第一耗材mcu单元为本发明耗材芯片的主处理器。所述第一耗材mcu单元负责打印机命令数据处理,包括接收打印机发送的命令和数据,如上机认证命令。所述第一耗材mcu单元可将存储单元中的校验密码算法密文数据进行解密,并将解密后的明文数据写入算法代码存储子单元。所述第一耗材mcu单元还可以将存储单元存储的第二耗材启动代码写入启动代码存储单元中。所述第一耗材mcu单元还可以对数据存储子单元进行读写处理。所述第一耗材mcu单元还可以启动/停止第二耗材mcu单元。

所述启动代码存储单元,可以是启动代码ram单元,如boot代码ram单元,如sram,用于存储第二耗材mcu单元的启动代码。

所述第二耗材mcu单元为本发明耗材新品的协处理器,负责执行所述启动代码存储单元和校验密码运算单元的程序,并将计算获得的新校验密码存储于校验密码运算单元中。所述校验密码运算单元包括算法代码存储子单元和数据存储子单元。所述算法代码存储子单元可以是算法代码ram单元,如sram,用于存储解密后校验算法明文数据。所述数据存储子单元可以是数据ram单元,如sram,用于存储新校验密码、旧校验密码。当新校验密码存入后,将覆盖存储于内的旧校验密码。或者,新校验密码存入后,新旧校验密码并存,并且新校验密码作为调用的首选。

耗材芯片上电后,第一耗材mcu单元调用并运行耗材软件程序,首先将存储单元中的第二耗材启动代码复制到所述启动代码存储单元中,然后等待打印机发送命令和数据。

耗材芯片接收到打印机发送的索引字节和密钥后,所述第一耗材mcu单元首先根据索引字节在存储单元中找到对应的校验密码算法密文数据。其中,所述校验算法密文数据以校验算法密文数据表形式存储,存储有若干以索引字节标识的校验算法密文数据。具体地,根据索引字节查询数据表,获得对应的校验密码算法密文数据。然后,所述第一耗材mcu单元根据密钥将校验密码算法密文数据解密为明文数据并将明文数据写入到算法代码存储子单元,之后将旧校验密码写入到数据存储子单元,最后启动第二耗材mcu单元。所述第一耗材mcu单元查询所述第二耗材mcu单元在启动后完成第二耗材芯片内核处理流程,读取数据存储子单元内的新校验密码,并在关闭第二耗材mcu单元后将新校验密码发送给打印机。所述耗材软件程序包括第一耗材mcu单元的软件程序,上述第一耗材mcu单元完成的过程即为第一耗材mcu单元的软件程序中的一部分(参见图6)。

如图3,所述第一耗材mcu单元包括执行子单元、检测子单元。所述执行子单元,用于复制启动代码,解密检验算法密文数据,在发送检验算法明文数据给算法代码单元和发送旧校验密码给数据存储子单元后启动第二耗材mcu单元,在查询第二耗材mcu单元完成第二耗材芯片内核处理流程后关闭第二耗材mcu单元,发送新校验密码给打印机。所述检测子单元,用于在查询到第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志时,确认第二耗材mcu单元完成第二耗材芯片内核处理流程。之后,所述执行子单元读取新校验密码,关闭第二耗材mcu单元。

为避免查询出错,所述第一耗材mcu单元还包括标志清零子单元,用于在执行子单元启动第二耗材mcu单元前,将前次第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志清零。第二耗材mcu单元上一次启动使用后,标志为非零,在新一次启动前,清零处理。在第二耗材mcu单元开启后,执行第二芯片内核处理流程后,标志变化为非零。第一耗材mcu单元检测到标志为非零时,从数据存储子单元中读取新校验密码,然后关闭第二耗材mcu单元。

另外,所述第一耗材mcu单元还包括判断子单元,用于判断索引字节是否对应于初代芯片标记值,若是,则不启动第二耗材mcu单元,将存储单元中的旧校验密码发送给打印机;否则,所述执行子单元解密检验算法密文数据,在发送检验算法明文数据给算法代码子单元和发送旧校验密码给数据存储子单元后启动第二耗材mcu单元;在查询第二耗材mcu单元完成第二耗材芯片内核处理流程后关闭第二耗材mcu单元,发送新校验密码给打印机。由于判断子单元的存在,可在是否启动第二耗材mcu单元前进行判断,当能够适配打印机认证和通信,无需启动第二耗材mcu单元执行第二耗材芯片内核处理流程,只要用到第一耗材mcu单元即可,直接发送旧校验密码给打印机,就能快速进入认证和交互通信。此过程相当于,启用双核或单核的判断过程,有助于系统优化运行。举例说明,假定初代芯片标记值为0,如果索引字节值等于0,则第一耗材mcu单元将旧校验密码发送给打印机;如果索引字节值不等于0,则启动双核,由第二耗材mcu单元计算新校验密码,并由第一耗材mcu单元将新校验密码发送给打印机。所述初代芯片标记值不限于0,并且初代芯片标记值不仅可以理解成第一代芯片,也可以理解成打印机固件未升级前的通用代芯片。后者理解,一般是在较早代芯片以被淘汰使用很多年且不生产,这样耗材芯片无需记录较早代芯片的数据,如较早代芯片的旧校验密码,这样可便于提高耗材芯片与打印机通信系统的交互效率。

第二耗材mcu单元被启动后,第二耗材mcu单元执行第二耗材芯片内核处理流程具体为:第二耗材mcu单元首先运行启动代码存储子单元中的第二耗材启动代码,然后跳转到算法代码存储子单元去运行校验密码算法函数。校验密码算法函数运行完毕后,新校验密码被写入到数据存储子单元,第二耗材mcu单元跳回到启动代码存储子单元并设置第二耗材mcu单元处理完成标志。所述耗材软件程序还包括第二耗材mcu单元的软件程序,上述第二耗材mcu单元完成的过程为第二耗材mcu单元的软件程序(参见图5)。

第一耗材mcu单元检测到第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志后,首先从数据存储子单元中读取新校验密码,然后将新校验密码发送给打印机。上述第一耗材mcu单元完成的过程也为第一耗材mcu单元的软件程序中的一部分(参见图6)。

图4示出了本发明一种耗材芯片的通信方法。用于包括第一耗材mcu单元、校验密码运算单元、第二耗材mcu单元的耗材芯片;方法包括:

s1,当第一耗材mcu单元与打印机无法兼容时,第一耗材mcu单元启动第二耗材mcu单元执行第二耗材芯片内核处理流程,校验密码运算单元的校验密码算法函数程序被调用而计算新校验密码。其中,当第一耗材mcu单元与打印机兼容时,无需执行步骤s2,直接由第一耗材mcu单元与打印机进行现有认证并交互通信。

s2,当第一耗材mcu单元查询到所述第二耗材mcu单元完成第二耗材芯片内核处理流程后,第一耗材mcu单元读取新校验密码并发送给打印机,所述新校验密码能被打印机接收以实现第一耗材mcu单元与打印机两者兼容。

所述第二耗材mcu单元执行所述校验密码运算单元的校验密码算法函数程序是依据于校验算法明文数据,而校验算法明文数据的获得通过以下方式:一实施方式下,该校验算法明文数据可通过第二耗材mcu单元启动后计算获得。所述第一耗材mcu单元通过打印机获得索引字节、密钥后将其发送给第二耗材mcu单元,第二耗材mcu单元根据索引字节查询到校验密码算法的密文数据,并利用密钥进行解密为明文,并存储于校验密码运算单元。在此方式下,本发明方法还包括针对校验算法明文数据获得步骤,可根据现有耗材mcu单元与打印机认证方式获得校验算法明文数据,即利用密钥解密校验密码算法的密文数据。另一实施方式下,该校验算法明文数据可通过第一耗材mcu单元计算后发送至第二耗材mcu单元获得,并存储在校验密码运算单元。在上述两者实施方式下,所述耗材芯片还包括存储单元,用于存储校验算法明文数据。以后者实施方式为例,具体地,方法还包括:在所述第一耗材mcu单元启动所述第二耗材mcu单元前,所述第一耗材mcu单元接收到打印机发送的索引字节和密钥后,通过索引字节找到检验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元。在获得校验算法明文数据后,后续步骤按照s1-s2所述执行,即此后,所述第二耗材mcu单元根据校验算法明文数据执行所述校验密码运算单元的校验密码算法函数程序并计算新校验密码。

其中,所述第二耗材mcu单元执行启动程序,一实施方式下,通过在第二耗材mcu单元内默认设置启动代码,一旦第二耗材mcu单元接收到第一耗材mcu发送的启动指令时,则自动按照启动代码运行;另一实施方式下,该启动代码由第一耗材mcu单元提供。所述耗材芯片还包括启动代码存储单元、存储单元;方法还包括:在所述第一耗材mcu单元启动所述第二耗材mcu单元前,所述存储单元的第二耗材启动代码在耗材芯片上电后被复制到所述启动代码存储单元中;所述启动代码存储单元在所述第二耗材mcu单元被启动后调用。

其中,在所述新校验密码运算单元的新校验密码生成前,可在新校验密码运算单元内存储有旧校验密码。该旧校验密码可以是前一次运算留下的;当旧校验密码是在第一次新校验密码运算前的,可以预先存储在新校验密码运算单元内作为校验密码初始值,也可以通过第一耗材mcu单元在准备启动第二耗材mcu单元前发送到新校验密码运算单元。由第一耗材mcu单元发送来的旧校验密码的实施方式下,耗材芯片的存储单元还存储旧校验密码。在所述第一耗材mcu单元启动所述第二耗材mcu单元前,所述第一耗材mcu单元将旧检验密码发送给所述校验密码运算单元。

其中,所述第一耗材mcu单元查询到所述第二耗材mcu单元完成第二耗材芯片内核处理流程的步骤具体为:所述第一耗材mcu单元在查询到第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志时,确认第二耗材mcu单元完成第二耗材芯片内核处理流程。若不设置完成标志,则无法明确、及时确认第二耗材mcu单元是否已经完成第二耗材芯片内核处理流程。完成标志可以是标志符,在未完成时标志符等于0,完成了则等于1;完成标志还可以是程序执行结束后的结束参数或反馈指令。第一耗材mcu单元确定反馈指令或参数为预先规定的完成标志时,则确认第二耗材芯片内核处理流程完成。

所述第二耗材mcu单元可在被启动后,一直保持启动状态,然则,这对后续第一耗材mcu单元与打印机的通信交互造成很大的功耗损失,并且降低第一耗材mcu单元与打印机两者通信交互效率。为此,方法还包括:当所述第一耗材mcu单元查询到所述第二耗材mcu单元完成第二耗材芯片内核处理流程并读取新校验密码后,第一耗材mcu单元关闭所述第二耗材mcu单元。

为了确保本发明耗材芯片多次使用后仍能不出错,在所述第一耗材mcu单元启动所述第二耗材mcu单元前,将前次第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志清零。可通过上述标志清零子单元实现。

为了避免第一耗材mcu单元是否与打印机兼容而每次均启动第一耗材mcu单元进行一次新校验密码的计算,本发明方法还包括:在通过索引字节找到检验算法密文数据前,所述第一耗材mcu单元判断索引字节是否对应于初代芯片标记值,若是,则不启动第二耗材mcu单元,所述第一耗材mcu单元与打印机兼容;否则,启动第二耗材mcu单元举例说明,假定初代芯片标记值为0,如果索引字节值等于0,则第一耗材mcu单元将校验密码发送给打印机;如果索引字节值不等于0,则启动双核,由第二耗材mcu单元计算新校验密码,并由第一耗材mcu单元将新校验密码发送给打印机。所述初代芯片标记值不限于0,并且初代芯片标记值不仅可以理解成第一代芯片,也可以理解成打印机固件未升级前的通用代芯片。后者理解,一般是在较早代芯片以被淘汰使用很多年且不生产,这样耗材芯片无需记录较早代芯片的数据,如较早代芯片的旧校验密码,这样可便于提高耗材芯片与打印机通信系统的交互效率。

所述第一耗材mcu单元与打印机是否兼容,除了通过判断索引字节是否对应于初代芯片标记值的方式外,还可以通过其他方式,如一实施方式下,通过在第一耗材mcu单元内查找校验密码算法密文数据,若未查到打印机固件升级后的校验密码算法密文数据,则认为不兼容,则需要通过第二耗材mcu单元存储的校验密码算法密文数据进行后续兼容认证;另一实施方式下,第一耗材mcu单元与打印机直接进行现有通信认证,一旦认证不同过则为不兼容,此时由第二耗材mcu单元代替第一耗材mcu单元进行认证通信。

图6示出了本发明一种耗材芯片通信方法的具体实施方式,方法用于包括第一耗材mcu单元、存储单元、启动代码存储单元、校验密码运算单元、第二耗材mcu单元的耗材芯片。所述校验密码运算单元包括算法代码存储子单元、数据存储子单元。该方法具体依赖于图3所示耗材芯片示例实现。

方法包括:

s01,第一耗材mcu单元将存储于存储单元的第二耗材启动代码复制到启动代码存储单元;

s02,当接收到打印机发来的索引字节和密钥后,第一耗材mcu单元解密存储单元中的校验算法密文数据并写入算法代码存储子单元;

若打印机一直未发送索引字节和密钥,第一耗材mcu单元一直等待命令,直到接收到后执行后续步骤。

s03,第一耗材mcu单元将存储于存储单元的旧校验密码写入数据存储子单元;

s04,第一耗材mcu单元启动第二耗材mcu单元执行第二耗材芯片内核处理流程;

s05,第一耗材mcu单元查询第二耗材mcu单元完成第二耗材芯片内核处理流程后,读取数据存储子单元的新校验密码并关闭第二耗材mcu单元;

s06,第一耗材mcu单元发送新校验密码给打印机;

其中,数据存储子单元的新校验密码是在第二耗材mcu单元执行第二耗材芯片内核处理过程中,所述第二耗材mcu单元执行所述算法代码存储子单元内的校验密码算法函数程序,将计算获得新校验码写入数据存储子单元内。

方法还包括:在s02处增加双核或单核系统选择判断过程。

当接收到打印机发来的索引字节和密钥后,判断索引字节是否对应于初代芯片标记值,若是,则不启动第二耗材mcu单元,第一耗材mcu单元发送存储于存储单元的旧校验密码给打印机,方法结束;否则,第一耗材mcu单元解密存储单元中的校验算法密文数据并写入算法代码存储子单元,继续执行s03-s06,直至结束。

举例说明,假定初代芯片标记值为0,如果索引字节值等于0,则第一耗材mcu单元将旧校验密码发送给打印机;如果索引字节值不等于0,则启动双核,由第二耗材mcu单元计算新校验密码,并由第一耗材mcu单元将新校验密码发送给打印机。所述初代芯片标记值不限于0,并且初代芯片标记值不仅可以理解成第一代芯片,也可以理解成打印机固件未升级前的通用代芯片。后者理解,一般是在较早代芯片以被淘汰使用很多年且不生产,这样耗材芯片无需记录较早代芯片的数据,如较早代芯片的旧校验密码,这样可便于提高耗材芯片与打印机通信系统的交互效率。

其中,第一耗材mcu单元查询第二mcu单元完成第二耗材芯片内核处理流程具体为:第一耗材mcu单元在查询到第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志时,确认第二mcu单元完成第二耗材芯片内核处理流程。

为避免查询出错,耗材芯片通信方法还包括:在步骤s04前增加完成标志清零步骤。

在第一耗材mcu单元启动第二耗材mcu单元执行第二耗材芯片内核处理流程前,将前次第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志清零。第二耗材mcu单元上一次启动使用后,标志为非零,在新一次启动前,清零处理。在第二耗材mcu单元开启后,执行第二芯片内核处理流程后,标志变化为非零。第一耗材mcu单元检测到标志为非零时,从数据存储子单元中读取新校验密码,然后关闭第二耗材mcu单元。所述关闭第二耗材mcu单元的操作实际将双核切换为单核,在后续与打印机通信交互时第一耗材mcu单元为主,提高了通信效率。

如图5,第二耗材mcu单元执行第二耗材芯片内核处理流程具体为:

s41,第二耗材mcu单元根据复位地址跳到启动代码存储单元中运行第二耗材启动代码;

s42,第二耗材mcu单元关闭所有中断;

s43,第二耗材mcu单元调用算法代码存储子单元中的校验密码算法函数并跳转到算法代码存储子单元中运行;

s44,第二耗材mcu单元运行算法代码存储子单元中的校验密码算法函数并跳回到启动代码存储单元中运行;

s45,第二耗材mcu单元设置第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志,之后进入等待。

本发明还提出一种耗材芯片通信方法,如图7。方法用于包括第一耗材mcu单元、校验密码运算单元、第二耗材mcu单元的耗材芯片;方法包括:

s1’,第二耗材mcu单元在接收到第一耗材mcu单元与打印机无法兼容的信号时,启动并执行第二耗材芯片内核处理流程;

s2’,第二耗材mcu单元执行所述校验密码运算单元的校验密码算法函数程序,并将计算得到的新校验密码存储于校验密码运算单元;

s3’,当所述第一耗材mcu单元查询到所述第二耗材mcu单元完成第二耗材芯片内核处理流程后,所述新校验密码被所述第一耗材mcu单元读取并发送给打印机,所述新校验密码能被打印机接收以实现第一耗材mcu单元与打印机两者兼容。

其中,所述校验密码运算单元包括算法代码存储子单元和数据存储子单元;第二耗材mcu单元执行所述校验密码运算单元的校验密码算法函数程序,并将计算得到的新校验密码存储于校验密码运算单元的步骤具体为:所述第二耗材mcu单元根据校验算法明文数据,执行所述算法代码存储子单元的校验密码算法函数程序,计算得到的新校验密码存储于所述数据存储子单元。

其中,所述第二耗材mcu单元执行启动程序,一实施方式下,通过在第二耗材mcu单元内默认设置启动代码,一旦第二耗材mcu单元接收到第一耗材mcu发送的启动指令时,则自动按照启动代码运行;另一实施方式下,该启动代码由第一耗材mcu单元提供,所述耗材芯片还包括启动代码存储单元、存储单元;方法还包括:当所述第二耗材mcu单元被启动前,所述存储单元的第二耗材启动代码在耗材芯片上电后被复制到所述启动代码存储单元中;所述启动代码存储单元在所述第二耗材mcu单元被启动后调用。

所述第二耗材mcu单元执行第二耗材芯片内核处理流程的步骤具体参照图5所示步骤。

所述第二耗材mcu单元可在被启动后,一直保持启动状态,会造成很大的功耗损失。为此,方法还包括:当所述第一耗材mcu单元查询到所述第二耗材mcu单元完成第二耗材芯片内核处理流程并读取新校验密码后,所述第二耗材mcu单元接收到第一耗材mcu单元的关闭指令并关闭。

为了避免查询出错,方法还包括:在第二耗材mcu单元被启动前,将前次第二耗材mcu单元完成第二耗材芯片内核处理流程的完成标志清零。

图8为依据图3所示耗材芯片示例实现的具体实施方式。本发明方法包括:

s10,第二耗材mcu单元在接收到第一耗材mcu单元与打印机无法兼容的信号时,启动并执行第二耗材芯片内核处理流程;

s20,第二耗材mcu单元执行所述启动代码存储子单元的启动代码程序和所述算法代码存储子单元的校验密码算法函数程序,并将计算得到的新校验密码存储于数据存储子单元;

s30,第二耗材mcu单元完成第二耗材芯片内核处理流程后设置完成标志并反馈给第一耗材mcu单元,以使得第一耗材mcu单元读取所述数据存储子单元存储的新校验密码,所述新校验密码能被打印机接收以实现第一耗材mcu单元与打印机两者兼容。

所述第一耗材mcu单元与打印机无法兼容的信号,一实施方式下,通过判断索引字节是否对应于初代芯片标记值的方式判断,若对应,则兼容,若不对应则不兼容;另一实施方式下,通过在第一耗材mcu单元内查找校验密码算法密文数据,若未查到打印机固件升级后的校验密码算法密文数据,则认为不兼容,则需要通过第二耗材mcu单元存储的校验密码算法密文数据进行后续兼容认证;另一实施方式下,第一耗材mcu单元与打印机直接进行现有通信认证,一旦认证不同过则为不兼容,此时由第二耗材mcu单元代替第一耗材mcu单元进行认证通信。

本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整有效地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1