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

文档序号:11275989阅读:323来源:国知局
耗材芯片的通信方法、耗材芯片与流程

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



背景技术:

目前耗材行业普遍通过安装在耗材上的芯片作为耗材与打印机进行信息交换的载体。耗材与打印机之间的命令交互需要按照严格的顺序进行,如不遵序打印机与耗材之间约定的命令交互顺序,将会导致耗材无法通过打印机的认证或者打印机故障,从而导致耗材整个或者部分功能无法使用。一旦打印机固件更新使得打印机端的命令交互顺序发生了变化时,原与旧版本打印机匹配的耗材无法识别出打印机的命令顺序,仍然按照原来的命令交互顺序进行响应,导致打印机或者耗材出错。



技术实现要素:

本发明为解决上述技术问题,提供一种耗材芯片的通信方法,适用于打印机与安装在所述打印机中的耗材之间的通信;其特征在于:接收打印机消息,所述打印机消息包含打印机心跳信息;根据包含在所述打印机消息中的打印机心跳信息,判断所述打印机发送的打印机消息序列是否符合预定顺序,如果符合则响应所述打印机消息,如果不符合则不响应所述打印机消息。

作为优选,判断所述打印机发送的打印机消息序列是否符合预定顺序的方法包括:如果所述打印机心跳信息与耗材心跳验证信息匹配则所述打印机消息序列符合预定顺序,如果所述打印机心跳信息与所述耗材心跳验证信息不匹配则所述打印机消息序列不符合预定顺序。

作为优选,将所述打印机心跳信息与所述耗材心跳验证信息按照解析算法进行运算,如果运算结果符合预期则所述打印机消息序列符合预定顺序,如果运算结果不符合预期则所述打印机消息序列不符合预定顺序。

作为优选,对于来自所述打印机的第一条打印机消息,将耗材心跳验证初始信息作为耗材心跳验证信息;所述第一条打印机消息包括心跳序列号基数信息,对于打印机发送的非第一条打印机消息,将所述心跳序列号基数信息按照第一递增算法进行运算的结果作为耗材心跳验证信息。

作为优选,所述心跳序列号基数信息包括随机信息。

作为优选,所述打印机命令字头包括打印机命令类型信息和所述打印机心跳信息。

作为优选,发送包含有耗材心跳信息的耗材消息至所述打印机以响应所述打印机发送的打印机消息。

作为优选,所述耗材心跳信息由所述心跳序列号基数信息按照第二递增算法计算得到。

作为优选,所述耗材命令字头包括耗材命令类型信息和耗材心跳信息,所述耗材命令字头由所述耗材命令类型信息和所述耗材心跳信息按照组合算法计算得到;。

本发明还提供一种耗材芯片,包括通信模块、存储模块以及数字处理模块,其特征在于:所述通信模块接收来自打印机的打印机消息,所述数字处理模块包括:解析单元,提取包含在所述打印机消息中的打印机心跳消息;判断单元,根据接所述打印机心跳信息,判断所述打印机发送的打印机消息序列是否符合预定顺序;如果符合则耗材芯片响应所述打印机消息,如果不符合则所述耗材芯片不响应所述打印机消息。

作为优选,所述存储模块存储耗材心跳验证信息;所述判断单元分析所述打印机心跳信息与所述耗材心跳验证信息是否匹配,如果匹配则判断所述打印机消息序列符合预定顺序,如果不匹配则判断所述打印机消息序列不符合预定顺序。

作为优选,所述数字处理模块包括运算单元,所述运算单元将所述打印机心跳信息与所述耗材心跳验证信息按照解析算法进行运算。

作为优选,所述存储模块存储耗材验证初始信息;对于来自所述打印机的第一条打印机消息,耗材心跳验证初始信息作为耗材心跳验证信息;所述第一条打印机消息包括心跳序列号基数信息,对于打印机发送的非第一条打印机消息,将所述心跳序列号基数信息通过所述运算模块按照第一递增算法进行运算的结果作为耗材心跳验证信息;所述心跳序列号基数信息包括随机信息。

作为优选,所述打印机命令字头包括打印机命令类型信息和所述打印机心跳信息。

作为优选,所述通信模块发送包含有耗材心跳信息的耗材消息至所述打印机以响应所述打印机发送的打印机消息。

作为优选,所述耗材心跳信息由所述运算模块根据所述心跳序列号基数信息按照第二递增算法计算得到。

作为优选,所述耗材命令字头包括耗材命令类型信息和耗材心跳信息,所述运算单元根据所述耗材命令类型信息和所述耗材心跳信息,按照组合算法,计算所述耗材命令字头。

本发明在打印机命令和耗材芯片的通信数据中增加用于验证命令交互顺序的心跳信息,并且对在打印机端和耗材芯片端都根据该心跳信息验证命令交互的顺序,防止了芯片错误的对打印机命令进行响应。

附图说明

图1本发明实施例的耗材芯片结构示意图。

图2本发明实施例的打印机消息帧结构。

图3本发明实施例的耗材消息帧结构。

图4本发明实施例的打印机与耗材芯片之间命令交互过程示意图。

具体实施方式

下面将结合附图对本发明的实施方式进行详细描述。

本具体实施例仅仅是对本发明的解释,其并不是对发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都收到专利法的保护。

实施例一

一种打印机,包括用于安装耗材的耗材安装部。耗材包括耗材容器以及安装在耗材容器上的耗材芯片。耗材容器内可容纳用于打印成像的耗材,耗材芯片包括通信模块、数字处理模块、存储模块。通信模块对外接口是采用i2c协议,通信模块与设置在耗材安装部中的打印机通讯接口相连,负责打印机消息的接收和发送;数据处理模块负责对耗材和打印机之间的消息进行处理和存储器模块中数据的读写。存储模块包括norflash存储器单元和sdram存储器单元。norflash存储器单元是eeprom或flash,负责存储代码程序和数据;sdram存储器单元负责存储代码程序运行所需要的数据。

安装在打印机上的耗材芯片,在打印机的使用过程中需要经过打印机的多次认证。每一次认证都需要打印机发送打印机消息至耗材,而耗材对该打印机消息进行响应以通过打印机的认证。并且打印机与耗材之间的多次认证需要按照严格的顺序进行。

如图2,打印机消息由打印机命令头、打印机命令长度、打印机命令数据、打印机命令校验码组成。其中,打印机命令头总共两个字节,包括打印机命令类型信息和打印机心跳信息。本实施例中,打印机命令类型为两个字节的打印机命令类型代码(例如0x00a9),打印机心跳信息为二进制数(例如0x00),将打印机命令类型代码和打印机心跳信息按照打印机预定算法运算得到打印机命令头。该预定算法可以为递增运算、递减运算等等。本实施例中采用的是异或运算。例如,本实施例中的打印机命令头等于0x00a9(即0x00a9异或0x00的值)。打印机命令长度指示了打印机命令数据字段的字节数。打印机命令数据包括心跳序列号基数信息,心跳序列号基数字段指示了打印机和耗材之间的心跳信息序列的基数。本实施例中的心跳序列号基数信息为由打印机产生的二进制数,心跳序列号基数信息可以是打印机按照一定的算法得出的具有规律的二进制数,也可以是由打印产生的随机二进制数。本实施例中的打印机第二心跳信号由打印机随机产生,如随机数0x9763。

耗材芯片的数字处理模块进一步包括:

解析单元,提取包含在所述打印机消息中的打印机命令字头0x00a9,以及包含在打印机命令字头中的打印机心跳信息0x00,打印机命令数据,以及打印机命令数据中的心跳序列号基数信息0x9763。

判断单元,根据接收到的打印机消息中的打印机心跳信息,判断所述打印机发送的打印机消息序列是否符合预定顺序。如果符合则耗材芯片响应该打印机消息,如果不符合则耗材芯片不响应该打印机消息。判断单元通过分析耗材芯片接收到的打印机消息中的打印机心跳信息与所述耗材心跳验证信息按照解析算法进行运算的结果是否符合预期来判断耗材芯片所接收到的该打印机消息序列是否符合预定顺序。本发明中,耗材芯片存储模块中存储有多个固定数据,这多个固定数据按照分别打印机与耗材之间的各次认证的打印机消息的打印机命令类型信息一一对应。是否符合预期即是指该运算的结果是否与存储模块中的与本次认证对应的固定数据一致。如果一致为则认为符合预期,如果不一致则认为不符合预期。

在本实施例中,对于所述打印机发送的第一条打印机消息,由运算单元将该打印机消息的打印机心跳信息和经预先设置并存储在存储模块中的耗材心跳验证初始信息,按照解析算法进行运算。判断单元判断按照解析算法进行运算的结果与耗材心跳验证信息是否符合预期,如果符合则匹配,否则不匹配。而预先存储在存储模块中的固定数据为对应顺序的认证中的打印机消息的打印机命令类型代码;同时,该解析算法能够使得对于正确顺序的打印机消息,其打印机命令字头与耗材心跳验证信息按照解析算法进行运算的运算结果恰好等于对应顺序的认证中的打印机消息的打印机命令类型代码。对于打印机发送的非第一条打印机消息,将由运算单元第一次打印机消息中的心跳序列号基数信息进行递增运算的结果作为耗材心跳验证信息,进一步由运算单元按照解析算法进行运算。同样,由判断单元判断经该解析算法的运算结果与耗材心跳验证信息是否符合预期,如果符合则匹配,否则不匹配。本实施例中,递增运算采用的第一递增算法与本次打印机消息在打印机消息序列中的顺序有关。

例如,对于来自打印机的第一条打印机消息,耗材芯片的存储模块中存储有耗材心跳验证初始信息(0x00),在打印机端采用该初始信息作为耗材心跳验证信息。耗材芯片的运算单元将第一次打印机消息的打印机命令字头0x00a9与耗材心跳验证(初始)信息0x00按照解析算法(例如异或运算)进行计算得到计算结果0x00a9,并由判断单元将存储在存储模块中的与该次认证对应的打印机命令类型代码比较两者是否相等,如果相等则表示打印机发送的打印机消息序列符合预定顺序,否则不符合。

又例如,对于来自打印机的非第一条打印机消息,耗材芯片根据来自打印机的第一条打印机消息中的心跳序列号基数信息,按照第一递增算法进行计算得到的结果作为耗材心跳验证信息。耗材芯片的运算单元将该打印机消息的打印机命令字头与耗材心跳验证信息按照解析算法(例如异或运算)进行计算得到计算结果,并由判断单元将存储在存储模块中的与该次认证对应的打印机命令类型代码比较两者是否相等,如果相等则表示打印机发送的打印机消息序列符合预定顺序,否则不符合。其中第一递增算法与本次打印机消息在打印机消息序列中的顺序有关。例如,将心跳序列号基数信息+固定值*本次打印机消息对应的认证顺序号信息相关值。

如图3,耗材消息由耗材命令头、耗材命令长度、耗材命令数据、耗材命令校验码组成。其中,耗材命令头总共两个字节,包括耗材命令类型和耗材心跳信息。耗材命令长度指示了耗材命令数据字段的字节数。耗材命令类型为两个字节的耗材命令类型代码。耗材芯片通过运算单元将解析单元提取得出的打印机心跳信息或者心跳序列号基数信息通过运算单元按照进行递增运算的结果作为耗材心跳信息。运算单元将耗材命令类型代码与耗材心跳信息进行组合算法运算以后作为耗材命令字头。本实施例中,对于解析单元提取得出的打印机心跳信息递增运算采用递增1的固定加法运算,解析单元提取得出的心跳序列号基数信息,采用第二递增算法进行递增运算。其中,第二递增算法与本次耗材消息在耗材消息序列中的顺序有关。例如,将心跳序列号基数信息+固定值*本次耗材消息对应的认证顺序号信息相关值。而本实施例中组合算法为异或运算。

本发明中的第一递增算法和第二递增算法仅表示芯片在不同处理过程中采用的递增算法,具体如何进行递增,根据不同的使用环境两者可以相同也可以不同。

如图4所示,本实施例的安装有耗材芯片的打印机的通信方法流程示例。图4中以打印机和耗材之间的第一次、第二次认证过程为例进行描述,并且打印机的初始信息为0x00,耗材心跳验证初始信息为0x00:

第一次认证过程:

首先,由打印机端发送打印机消息至耗材。其中,由于该条打印机消息为第一条打印机消息,因此将初始信息0x00作为该打印机消息的打印机心跳信息。因此,该打印机消息的命令字头为0x00a9(等于打印机命令类型0x00a9异或打印机第一心跳信息0x00),包含在打印机命令数据中的心跳序列号基数信息为打印机端产生的随机数0x9763。

其次,耗材芯片接收到来自打印机的打印机消息以后。首先,提取打印机消息的打印机命令字头0x00a9,由于该条打印机消息为第一条打印机消息,于是将耗材心跳验证初始值0x00与打印机命令字头0x00a9进行异或运算得到运算结果0x00a9,与存储在存储模块中的与本次验证(的打印机消息)对应的打印机命令类型代码0x00a9进行比较,比较结果为相同,表示该条打印机发送的打印机消息序列符合预定顺序,耗材芯片需对该打印机消息进行响应。并且解析该条打印机消息的打印机命令数据部分提取心跳序列号基数信息0x9763,并将打印机心跳信息0x00以及心跳序列号基数信息0x9763存储至存储模块。

再次,耗材芯片执行对该打印机消息的响应,并将响应的结果打包在耗材消息的耗材命令数据中。耗材芯片将打印机消息中的打印机心跳信息0x00进行加1运算得到耗材心跳信息0x01。并且将该条耗材消息的耗材类型命令类型代码0x00aa与耗材心跳信息0x01进行异或运算得到运算结果0x00ab,作为耗材消息的耗材命令字头。将打包好的耗材消息发送至打印机进行反馈。否则,耗材不对该打印机消息进行响应,打印机端在一定时间内没有收到耗材响应的耗材消息,则会重新启动,以重新开始验证,避免发生引起打印机故障。

最后,打印机收到耗材芯片响应的耗材消息以后,根据耗材消息对耗材进行第一次认证,认证通过则进入第二次认证。

第二次认证过程:

首先,由打印机端发送打印机消息至耗材。根据在第一认证过程中打印机的心跳序列号基数信息(随机数0x9763)计算打印机心跳信息0x9764=0x9763+1*(2-1),即打印机心跳信息=心跳序列号基数信息+1*(本次打印机消息对应的认证顺序号-1))。因此,该打印机消息的命令字头为0x96fa(等于打印机命令类型0x019e异或打印机心跳信息0x9764)。

其次,耗材芯片接收到来自打印机的打印机消息以后。首先,提取打印机消息的打印机命令字头0x96fa,将存储模块中保存的在第一次认证中的打印机消息的心跳序列号基数信0x9763按照第一递增算法(心跳序列号基数信息+固定值*本次打印机消息对应的认证顺序号信息)得到耗材心跳验证信息0x9764=0x9763+1*(2-1),即耗材心跳验证信息=心跳序列号基数信息+1*(本次打印机消息对应的认证顺序号-1)。将耗材心跳验证信息0x9764与打印机命令字头0x96fa进行异或运算得到运算结果0x019e,与存储在存储模块中的与本次验证(的打印机消息)对应的打印机消息的打印机命令代码0x019e进行比较,比较结果为相同,表示该条打印机发送的打印机消息序列符合预定顺序,耗材芯片需对该打印机消息进行响应。否则,耗材不对该打印机消息进行响应,打印机端在一定时间内没有收到耗材响应的耗材消息,则会重新启动,以重新开始验证,避免发生引起打印机故障。

再次,耗材芯片执行对该打印机消息的响应,并将响应的结果打包在耗材消息的耗材命令数据中。耗材芯片将心跳序列号基数信息0x9763按照第二递增算法(心跳序列号基数信息+固定值*本次耗材消息对应的认证顺序号信息)得到耗材心跳信息0x9765=0x9763+2*(2-1),即耗材心跳信息=心跳序列号基数信息+2*(本次打印机消息对应的认证顺序号-1)。并且将该条耗材消息的耗材类型命令类型代码0x0120与耗材心跳信息0x9765进行异或运算得到运算结果0x9645,作为耗材消息的耗材命令字头。将打包好的耗材消息发送至打印机进行反馈。

最后,打印机收到耗材芯片响应的耗材消息以后,根据耗材消息对耗材进行第一次认证,认证通过则进入第二次认证。

依次类推,直到打印机完成所有认证。该过程中通过包含在打印机消息和耗材消息中的打印机心跳信息和耗材心跳信息对打印机和耗材之间的认证顺序(即命令交互顺序)严格审核,避免耗材芯片对打印机的错误响应,导致打印机故障或者耗材的全部或者部分功能无法使用。

虽然结合附图描述了本发明的实施方式,但是本领域普通技术人员可以在所附权利要求的范围内做出各种变形或修改。

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