CN109624529B - 一种耗材芯片、耗材芯片通信方法 - Google Patents
一种耗材芯片、耗材芯片通信方法 Download PDFInfo
- Publication number
- CN109624529B CN109624529B CN201910057851.2A CN201910057851A CN109624529B CN 109624529 B CN109624529 B CN 109624529B CN 201910057851 A CN201910057851 A CN 201910057851A CN 109624529 B CN109624529 B CN 109624529B
- Authority
- CN
- China
- Prior art keywords
- consumable
- mcu unit
- unit
- mcu
- verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/17—Ink jet characterised by ink handling
- B41J2/175—Ink supply systems ; Circuit parts therefor
- B41J2/17503—Ink cartridges
- B41J2/17543—Cartridge presence detection or type identification
- B41J2/17546—Cartridge presence detection or type identification electronically
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J29/00—Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
- B41J29/38—Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
- B41J29/393—Devices for controlling or analysing the entire machine ; Controlling or analysing mechanical parameters involving printing of test patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
- G06F21/608—Secure printing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1222—Increasing security of the print job
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1238—Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J29/00—Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
- B41J29/38—Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
- B41J29/393—Devices for controlling or analysing the entire machine ; Controlling or analysing mechanical parameters involving printing of test patterns
- B41J2029/3937—Wireless communication between the printer and the cartridge, carriage or printhead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1279—Controller construction, e.g. aspects of the interface hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Control Or Security For Electrophotography (AREA)
Abstract
一种耗材芯片、耗材芯片通信方法,属于芯片通信技术领域。方法用于包括第一耗材MCU单元、校验密码运算单元、第二耗材MCU单元的耗材芯片;方法包括:当第一耗材MCU单元与打印机无法兼容时,第一耗材MCU单元启动第二耗材MCU单元执行第二耗材芯片内核处理流程,校验密码运算单元的校验密码算法函数程序被调用而计算新校验密码;当第一耗材MCU单元查询到所述第二耗材MCU单元完成第二耗材芯片内核处理流程后,第一耗材MCU单元读取新校验密码并发送给打印机,新校验密码能被打印机接收以实现第一耗材MCU单元与打印机两者兼容。本发明解决了耗材芯片抗升级能力的问题,提高耗材芯片与打印机的兼容性。
Description
技术领域
本发明涉及芯片通信技术领域,尤其涉及一种耗材芯片、耗材芯片通信方法。
背景技术
目前耗材普遍使用了芯片作为耗材的信息和使用量的介质,耗材芯片与打印机之间校验密码算法的密文数据存于耗材芯片非易失性存储单元中。当打印机开机时,打印机会向耗材芯片发送校验密码算法的索引字节和密钥。耗材芯片收到索引字节和密钥后,会根据索引字节和密钥将校验密码算法的密文数据解密为明文代码并由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单元进行认证通信。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整有效地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
Claims (16)
1.一种耗材芯片,其特征在于,包括第一耗材MCU单元、第二耗材MCU单元、校验密码运算单元;当所述第一耗材MCU单元与打印机无法兼容时,所述第一耗材MCU单元启动第二耗材MCU单元执行第二耗材芯片内核处理流程;所述第二耗材MCU单元执行所述校验密码运算单元的校验密码算法函数程序,并将计算得到的新校验密码存储于校验密码运算单元;当所述第一耗材MCU单元查询到所述第二耗材MCU单元完成第二耗材芯片内核处理流程后,所述第一耗材MCU单元读取所述校验密码运算单元的新校验密码并发送给打印机;所述新校验密码能被打印机接收以实现第一耗材MCU单元与打印机两者兼容。
2.根据权利要求1所述的一种耗材芯片,其特征在于,所述校验密码运算单元包括:
算法代码存储子单元,用于存储解密后校验算法明文数据;
数据存储子单元,用于存储新校验密码、旧校验密码;
所述第二耗材MCU单元根据校验算法明文数据,执行所述算法代码存储子单元的校验密码算法函数程序,计算得到的新校验密码存储于所述数据存储子单元。
3.根据权利要求1所述的一种耗材芯片,其特征在于,还包括:存储单元,用于存储校验算法密文数据;所述第一耗材MCU单元接收到打印机发送的索引字节和密钥后,通过索引字节找到校验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元;所述第二耗材MCU单元根据校验算法明文数据,执行所述校验密码算法函数程序。
4.根据权利要求1所述的一种耗材芯片,其特征在于,还包括:
启动代码存储单元;
存储单元,用于存储启动代码;
当所述第一耗材MCU单元启动第二耗材MCU单元前,所述存储单元的启动代码在耗材芯片上电后被复制到所述启动代码存储单元中。
5.根据权利要求1所述的一种耗材芯片,其特征在于,所述第一耗材MCU单元包括:
执行子单元,用于与打印机交互,在与打印机无法兼容时,启动第二耗材MCU单元;并在检测子单元查询到第二耗材MCU单元完成第二耗材芯片内核处理流程后,读取所述校验密码运算单元的新校验密码,关闭所述第二耗材MCU单元,之后发送新校验密码给打印机;
检测子单元,用于在查询到第二耗材MCU单元完成第二耗材芯片内核处理流程的完成标志时,确认第二耗材MCU单元完成第二耗材芯片内核处理流程。
6.根据权利要求5所述的一种耗材芯片,其特征在于,所述第一耗材MCU单元还包括标志清零子单元,用于在执行子单元启动第二耗材MCU单元前,将前次第二耗材MCU单元完成第二耗材芯片内核处理流程的完成标志清零。
7.根据权利要求5所述的一种耗材芯片,其特征在于,所述第一耗材MCU单元还包括判断子单元,用于判断索引字节是否对应于初代芯片标记值,若是,则不启动第二耗材MCU单元,所述第一耗材MCU单元与打印机兼容;否则,所述执行子单元启动第二耗材MCU单元。
8.根据权利要求1、5、6、7中的任一项所述的一种耗材芯片,其特征在于,还包括:
存储单元,用于存储校验算法密文数据,启动代码,旧校验密码;
启动代码存储单元;
当所述第一耗材MCU单元启动第二耗材MCU单元前,所述第一耗材MCU单元在耗材芯片上电后将存储单元的启动代码复制到所述启动代码存储单元中,所述第一耗材MCU单元将旧校验密码发送给所述校验密码运算单元;
所述第一耗材MCU单元接收到打印机发送的索引字节和密钥后,通过索引字节找到校验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元;所述第二耗材MCU单元根据校验算法明文数据,执行所述校验密码算法函数程序。
9.一种耗材芯片通信方法,其特征在于,用于包括第一耗材MCU单元、校验密码运算单元、第二耗材MCU单元的耗材芯片;方法包括:
当第一耗材MCU单元与打印机无法兼容时,第一耗材MCU单元启动第二耗材MCU单元执行第二耗材芯片内核处理流程,校验密码运算单元的校验密码算法函数程序被调用而计算新校验密码;
当第一耗材MCU单元查询到所述第二耗材MCU单元完成第二耗材芯片内核处理流程后,第一耗材MCU单元读取新校验密码并发送给打印机,所述新校验密码能被打印机接收以实现第一耗材MCU单元与打印机两者兼容。
10.根据权利要求9所述的一种耗材芯片通信方法,其特征在于,所述耗材芯片还包括存储单元;方法还包括:在所述第一耗材MCU单元启动所述第二耗材MCU单元前,所述第一耗材MCU单元接收到打印机发送的索引字节和密钥后,通过索引字节在存储单元查找校验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元;所述第二耗材MCU单元根据校验算法明文数据执行所述校验密码运算单元的校验密码算法函数程序并计算新校验密码。
11.根据权利要求9所述的一种耗材芯片通信方法,其特征在于,所述耗材芯片还包括启动代码存储单元、存储单元;方法还包括:在所述第一耗材MCU单元启动所述第二耗材MCU单元前,所述第一耗材MCU单元在耗材芯片上电后将存储单元的启动代码复制到所述启动代码存储单元中;所述启动代码存储单元在所述第二耗材MCU单元被启动后调用。
12.根据权利要求9所述的一种耗材芯片通信方法,其特征在于,方法还包括:当所述第一耗材MCU单元查询到所述第二耗材MCU单元完成第二耗材芯片内核处理流程的完成标志时,确认所述第二耗材MCU单元完成第二耗材芯片内核处理流程,读取新校验密码后,第一耗材MCU单元关闭所述第二耗材MCU单元。
13.根据权利要求12所述的一种耗材芯片通信方法,其特征在于,方法还包括:在所述第一耗材MCU单元启动所述第二耗材MCU单元前,将前次第二耗材MCU单元完成第二耗材芯片内核处理流程的完成标志清零。
14.根据权利要求10所述的一种耗材芯片通信方法,其特征在于,方法还包括:在通过索引字节找到校验算法密文数据前,所述第一耗材MCU单元判断索引字节是否对应于初代芯片标记值,若是,则不启动第二耗材MCU单元,所述第一耗材MCU单元与打印机兼容;否则,启动第二耗材MCU单元。
15.根据权利要求9或12或13或14所述的一种耗材芯片通信方法,其特征在于,所述耗材芯片还包括存储单元、启动代码存储单元;方法还包括:
当所述第一耗材MCU单元启动所述第二耗材MCU单元前,所述第一耗材MCU单元在耗材芯片上电后将所述存储单元的启动代码复制到所述启动代码存储单元中,并将所述存储单元的旧校验密码发送到所述校验密码运算单元;
所述第一耗材MCU单元接收到打印机发送的索引字节和密钥后,通过索引字节找到校验算法密文数据,并根据密钥将其解密并发送给所述校验密码运算单元;所述第二耗材MCU单元根据校验算法明文数据执行所述校验密码运算单元的校验密码算法函数程序并计算新校验密码。
16.根据权利要求12的一种耗材芯片通信方法,其特征在于,所述第二耗材MCU单元执行第二耗材芯片内核处理流程的步骤具体为:
第二耗材MCU单元根据复位地址跳到启动代码存储单元中运行启动代码;
第二耗材MCU单元关闭所有中断;
第二耗材MCU单元调用算法代码存储子单元中的校验密码算法函数程序并跳转到算法代码存储子单元中运行;
第二耗材MCU单元运行算法代码存储子单元中的校验密码算法函数程序并跳回到启动代码存储单元中运行;
第二耗材MCU单元设置第二耗材MCU单元完成第二耗材芯片内核处理流程的完成标志,之后进入等待。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910057851.2A CN109624529B (zh) | 2019-01-22 | 2019-01-22 | 一种耗材芯片、耗材芯片通信方法 |
EP20745015.6A EP3915792B1 (en) | 2019-01-22 | 2020-01-13 | Consumable chip, and consumable chip communication method |
US17/287,505 US11709927B2 (en) | 2019-01-22 | 2020-01-13 | Consumable chip and communication method for consumable chip |
PCT/CN2020/071637 WO2020151509A1 (zh) | 2019-01-22 | 2020-01-13 | 一种耗材芯片、耗材芯片通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910057851.2A CN109624529B (zh) | 2019-01-22 | 2019-01-22 | 一种耗材芯片、耗材芯片通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109624529A CN109624529A (zh) | 2019-04-16 |
CN109624529B true CN109624529B (zh) | 2020-04-24 |
Family
ID=66063003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910057851.2A Active CN109624529B (zh) | 2019-01-22 | 2019-01-22 | 一种耗材芯片、耗材芯片通信方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11709927B2 (zh) |
EP (1) | EP3915792B1 (zh) |
CN (1) | CN109624529B (zh) |
WO (1) | WO2020151509A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111959139A (zh) * | 2020-08-31 | 2020-11-20 | 湖南鼎一致远科技发展有限公司 | 一种热转印打印机的加密系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109624529B (zh) * | 2019-01-22 | 2020-04-24 | 杭州旗捷科技有限公司 | 一种耗材芯片、耗材芯片通信方法 |
CN110378096A (zh) | 2019-07-15 | 2019-10-25 | 杭州旗捷科技有限公司 | 一种耗材芯片通信方法、耗材芯片及耗材 |
CN111338584A (zh) * | 2020-01-20 | 2020-06-26 | 杭州旗捷科技有限公司 | 耗材芯片写读方法、耗材芯片、耗材芯片系统和写读设备 |
US11893444B2 (en) | 2020-01-20 | 2024-02-06 | Hangzhou Chipjet Technology Co., Ltd. | Consumable chip system and consumable container |
CN111629118B (zh) * | 2020-04-08 | 2024-05-10 | 广州众诺微电子有限公司 | 芯片验证方法、耗材芯片及成像盒 |
CN113873681B (zh) * | 2021-10-19 | 2023-06-16 | 珠海奔图电子有限公司 | 通信方法、耗材芯片、耗材及图像形成装置 |
CN114987057B (zh) * | 2022-06-15 | 2023-02-24 | 珠海市创飞自动化设备有限公司 | 一种适用于升级侧向设置的墨盒芯片的直压式装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6312106B1 (en) * | 1999-04-20 | 2001-11-06 | Hewlett-Packard Company | Method and apparatus for transferring information between a replaceable consumable and a printing device |
CN101894285A (zh) * | 2010-01-26 | 2010-11-24 | 珠海天威技术开发有限公司 | 射频芯片、耗材容器、数据写入方法及验证方法 |
CN103465631A (zh) * | 2013-07-26 | 2013-12-25 | 中山铭祺电子科技有限公司 | 一种打印机用耗材计数芯片 |
KR20150033895A (ko) * | 2013-09-25 | 2015-04-02 | 삼성전자주식회사 | 소모품 유닛에 탑재 가능한 crum 칩과 이를 인증하는 화상형성장치 및 그 인증 방법 |
GB201404737D0 (en) * | 2014-03-17 | 2014-04-30 | Omarco Network Solutions Ltd | Multi-function tickets |
CN104097401A (zh) * | 2014-06-24 | 2014-10-15 | 中山铭祺电子科技有限公司 | 一种打印耗材的通用芯片 |
CN104441982A (zh) * | 2014-11-10 | 2015-03-25 | 中山铭祺电子科技有限公司 | 一种用于再生打印耗材的通用芯片及通信验证方法 |
CN105346256B (zh) * | 2015-11-09 | 2017-03-22 | 杭州旗捷科技有限公司 | 一种打印机芯片、墨盒、和打印机芯片存储分配方法 |
CN105398225B (zh) * | 2015-12-10 | 2017-07-07 | 杭州旗捷科技有限公司 | 墨盒芯片、墨盒、墨盒识别系统和墨盒识别方法 |
CN106295376A (zh) * | 2016-08-24 | 2017-01-04 | 杭州旗捷科技有限公司 | 一种应用于打印领域的高效安全通信系统及其操作方法 |
CN106626792B (zh) | 2016-12-30 | 2018-06-26 | 珠海艾派克微电子有限公司 | 芯片认证方法、系统、打印机、耗材芯片和耗材盒 |
CN107577444A (zh) * | 2017-10-20 | 2018-01-12 | 珠海美佳音科技有限公司 | 打印机兼容芯片的同步传输电路及同步方法 |
CN108116053B (zh) * | 2017-12-19 | 2019-07-26 | 杭州旗捷科技有限公司 | 一种耗材芯片认证方法、耗材芯片及成像盒 |
CN108121425A (zh) * | 2017-12-22 | 2018-06-05 | 广州小微电子技术有限公司 | 芯片复位方法、芯片及耗材容器 |
CN109624529B (zh) * | 2019-01-22 | 2020-04-24 | 杭州旗捷科技有限公司 | 一种耗材芯片、耗材芯片通信方法 |
CN112644180B (zh) * | 2020-12-17 | 2021-08-03 | 广州众诺电子技术有限公司 | 一种芯片启动方法、装置、存储介质和耗材芯片 |
-
2019
- 2019-01-22 CN CN201910057851.2A patent/CN109624529B/zh active Active
-
2020
- 2020-01-13 EP EP20745015.6A patent/EP3915792B1/en active Active
- 2020-01-13 US US17/287,505 patent/US11709927B2/en active Active
- 2020-01-13 WO PCT/CN2020/071637 patent/WO2020151509A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111959139A (zh) * | 2020-08-31 | 2020-11-20 | 湖南鼎一致远科技发展有限公司 | 一种热转印打印机的加密系统 |
CN111959139B (zh) * | 2020-08-31 | 2022-05-13 | 湖南鼎一致远科技发展有限公司 | 一种热转印打印机的加密系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3915792B1 (en) | 2023-11-22 |
CN109624529A (zh) | 2019-04-16 |
WO2020151509A1 (zh) | 2020-07-30 |
EP3915792A1 (en) | 2021-12-01 |
EP3915792A4 (en) | 2022-10-26 |
US20210390169A1 (en) | 2021-12-16 |
US11709927B2 (en) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109624529B (zh) | 一种耗材芯片、耗材芯片通信方法 | |
US8078788B2 (en) | Media card command pass through methods | |
TW480443B (en) | Virus resistant and hardware independent method of flashing system BIOS | |
US20070136501A1 (en) | Media card command pass through methods | |
JPH0440587A (ja) | 携帯可能電子装置 | |
WO2010021269A1 (ja) | 記憶装置、情報処理装置およびプログラム | |
CN101131650A (zh) | 基于USB Host的引导、升级和维护的仪器及其方法 | |
CN107168750B (zh) | 一种固件升级保护方法及系统 | |
CN104102507A (zh) | 一种JavaCard应用功能扩展的实现方法 | |
CN106657551A (zh) | 一种防止移动终端解锁的方法及系统 | |
TW201833421A (zh) | 可更新韌體的電子鎖系統 | |
JP4080079B2 (ja) | Icカード | |
US20070022222A1 (en) | Memory device and associated method | |
CN106919865A (zh) | 非易失性存储器数据加密系统 | |
US7882353B2 (en) | Method for protecting data in a hard disk | |
CN111931190A (zh) | 一种基于xip处理器系统的启动方法 | |
JP4838381B2 (ja) | マイクロサーキットカード、特に非接触型カードにおける、複数の不揮発性メモリ位置を不可分的に修正する方法 | |
JP3028055B2 (ja) | Pcカードシステム及びプログラム書き換え方法 | |
CN111984291B (zh) | 数据烧录方法、装置、终端及存储介质 | |
CN114564702A (zh) | 一种基于固件的离线软件许可控制方法及装置 | |
JP7084160B2 (ja) | 起動制御装置、起動制御システム、起動制御方法、及び、起動制御プログラム | |
JP4324100B2 (ja) | データ書込制御装置及びデータ書込制御方法 | |
US20220343034A1 (en) | System on a chip and method guaranteeing the freshness of the data stored in an external memory | |
US20050229259A1 (en) | Device for protecting against unauthorized use of software | |
CN116502236A (zh) | 一种加密硬盘的启动方法及相关组件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |