一種墨盒芯片、墨盒、打印機和墨盒認證方法
【技術領域】
[0001]本發明為唆墨打印領域,具體涉及一種墨盒芯片、墨盒、打印機和墨盒認證方法。
【背景技術】
[0002]隨著辦公自動化的普及,打印設備已經是辦公活動中不可缺少的設備,常見的打印設備包括激光打印和噴墨打印,在噴墨打印中,往往包含噴墨打印機和安裝在打印機中的墨盒。由于打印設備的特殊性,需要對打印耗材,即墨盒進行授權認證,以此來判斷是正規墨盒還是非法墨盒,常見的認證方式是在墨盒中設置一系列的授權序列號,通過序列號的匹配與否來判斷墨盒的授權情況,但這樣的認證方式設置復雜,成本也高。
【發明內容】
[0003]本發明的目的是免除授權序列號,采用一種新的認證方式來判斷打印設備是否授權,認證過程效率高,成本可控。
[0004]本發明的上述技術目的是通過以下技術方案得以實現的:一種墨盒芯片,包括芯片控制電路,用于存儲數據的存儲單元,用于與打印機通信的芯片通信單元;所述存儲單元和所述芯片通信單元分別與所述芯片控制電路電連接;
所述控制電路包含運算單元,所述運算單元包括CRC認證運算單元和長度檢查認證運算單元;
所述CRC認證運算單元用于接收打印機發送來的CRC認證數據,計算得出CRC校驗碼,并進彳丁核對校驗;
所述長度檢查認證運算單元用于計算待讀取碼表數據地址和待讀取碼表數據長度是否超出碼表信息儲存地址范圍;
所述存儲單元包含碼表信息。
[0005]該種墨盒芯片的設計目的就是為了提供一種與打印機主機進行交互認證的方式,該種墨盒芯片本身在所述存儲單元中并不存儲授權序列號,授權認證是依靠所述運算單元來實現,當所述墨盒芯片的所述芯片通信單元接收到來自所述打印機主機的讀認證數據命令后,所述運算單元中的所述CRC認證運算單元會對所述打印機主機發來命令參數進行CRC校驗,如果成功,所述CRC認證運算單元則會將計算得出的包括CRC校驗碼的認證數據發給所述打印機主機,由所述打印機主機完成第二次CRC校驗;
當所述打印機主機也完成第二次CRC校驗后,會向該種墨盒芯片發送讀碼表命令,此時所述長度檢查認證運算單元參與計算,計算待讀取碼表數據地址和待讀取碼表數據長度兩者相加,是否超出碼表信息儲存地址范圍,若在所述碼表信息儲存地址范圍內,則認證通過;
認證通過后,所述存儲單元中的所述碼表信息通過所述通信單元發送給所述打印機主機,整個過程無需提供任何序列號。
[0006]作為本發明的優選,所述碼表信息包含生產日期、生產廠家、墨量信息。
[0007]所述存儲單元中也可以存儲報錯信息,當所述CRC認證運算單元在進行CRC校驗過程發現校驗錯誤,或所述長度檢查認證運算單元檢測出待讀取碼表數據地址和待讀取碼表數據長度兩者相加已經超出碼表信息儲存地址范圍時,都可向所述打印機主機發送報錯信息,所述碼表信息包含生產日期、生產廠家、墨量信息,這些信息也是功能性信息,在最終發送給所述打印機主機后也會進行正確性校驗,如生產日期不合理,月份超過12、日期超過31,則會校驗錯誤,所述打印機主機也會顯示報錯信息。
[0008]作為本發明的優選,所述存儲單元還包含原始密匙和序列號。
[0009]所述序列號并不用于授權認證,而是用于區分每一個墨盒,用于識別,所述原始密匙對應所述序列號,也用于墨盒識別。
[0010]作為本發明的優選,所述CRC認證運算單元采用CRC算法校驗,打印機發送來的所述CRC認證數據包含數據字符與CRC校驗字,所述CRC認證運算單元通過CRC算法校驗將所述數據字符算出來的數據與所述CRC校驗字進行比對。
[0011]所述CRC算法校驗由多種實施方式,包括CRC8算法、CRC16算法和CRC32算法,這里以CRC16算法為例,CRC16輸入格式如下:“00” + “0A”+ 8字節所述數據字符,生成的數據 2 字節,如命令如下:60 00 00 0A BB 35 9A C9 0F 44 D2 FD C3 A7,則 “BB 35 9A C90F 44 D2 FD”為8字節的所述數據字符,而“C3 A7”為2字節的所述CRC校驗字,通過所述CRC認證運算單元采用CRC16算法校驗得出:CRC16(00 0A BB 35 9A C9 OF 44 D2 FD)=0XC3A7,與2字節的所述CRC校驗字匹配,則驗證成功。
[0012]作為本發明的優選,所述碼表信息為128字節、256字節或1024字節,所述長度檢查認證運算單元驗證計算所述待讀取碼表數據地址和待讀取碼表數據長度是否小于等于0X80、0X100 或 0X400。
[0013]所述碼表信息為128字節、256字節或1024字節是常用的幾種實施方式,0X80、0X100或0X400則分別為128,256或1024的十六進制。
[0014]一種新型墨盒認證方法,包含打印機和墨盒,所述墨盒中設有所述的墨盒芯片,該種新型墨盒認證方法包含以下步驟:
步驟一、首次CRC校驗步驟:
所述打印機向所述墨盒發送讀認證數據命令,所述讀認證數據命令包含CRC認證數據,所述墨盒中設有所述墨盒芯片,所述墨盒芯片對所述CRC認證數據進行CRC認證;步驟二、二次CRC校驗步驟:
所述墨盒芯片發送二次CRC認證數據給所述打印機,所述打印機對所述二次CRC認證數據進行二次CRC認證;
步驟三、讀碼表信息發送步驟:
所述新型墨盒芯片中保存有碼表信息,所述打印機向所述墨盒發送讀碼表信息命令,所述讀碼表信息命令包含待讀取碼表數據地址和待讀取碼表數據長度;
步驟四、碼表信息確認步驟:
所述新型墨盒芯片收到所述打印機發送來的所述讀碼表信息命令之后,會檢查所述待讀取碼表數據地址和待讀取碼表數據長度相加是否在碼表信息存儲地址范圍內;
步驟五、碼表發送步驟:
所述墨盒中的所述新型墨盒芯片向所述打印機主機發送碼表信息; 步驟六、打印機判斷步驟:
所述打印機主機對所述碼表信息中的數據進行正確性校驗。
[0015]通過步驟一和步驟二,進行兩次CRC校驗,校驗都通過之后所述打印機主機才會對所述墨盒芯片發送所述讀碼表信息命令,此時所述墨盒芯片再進行步驟四的確認,通過之后才將所述碼表信息發送給所述打印機主機。
[0016]作為本發明的優選,所述打印機和所述新型墨盒芯片中都儲存有出錯信息,當所述步驟一中所述CRC認證失敗、所述步驟二中所述二次CRC認證、所述步驟四中所述待讀取碼表數據地址和待讀取碼表數據長度相加是否在碼表信息存儲地址范圍之外或所述步驟六中所述碼表信息中的數據經過校驗后不正確,所述打印機都會顯示出錯信息。
[0017]作為本發明的優選,所述步驟一中的所述首次CRC校驗和所述步驟二中的所述二次CRC校驗皆為CRC算法校驗,所述步驟一中的所述CRC認證數據包含八字節數據與兩字節CRC校驗字,所述新型墨盒芯片中通過CRC算法校驗將所述八字節數據算出來的數據與所述CRC校驗字進行比對;所述步驟二中的所述CRC認證數據包含十五字節數據與兩字節CRC校驗字,所述打印機中通過CRC算法校驗將所述十五字節數據算出來的數據與所述CRC校驗字進行比對。
[0018]作為本發明的優選,所述碼表信息包含生產日期、生產廠家、墨量信息,所述步驟六中所述打印機主機如果檢測到所述生產日期格式錯誤、生產廠家信息不匹配,即會觸發所述出錯信息。
[0019]作為本發明的優選,所述碼表信息為128字節、256字節或1024字節,所述步驟四中所述新型墨盒芯片計算所述待讀取碼表數據地址和待讀取碼表數據長度是否小于或等于 0X80、0X100 或 0X400。
[0020]一種打印機,該種打印機上能安裝墨盒,所述墨盒中設有所述墨盒芯片,所述打印機上設有通訊單元,所述通訊單元能與所述墨盒芯片進行數據通訊。
[0021 ] 一種墨盒,該種墨盒上中設有所述墨盒芯片。
[0022]綜上所述,本發明具有如下有益效果:
1、能成功對打印設備進行認證,并免去大量的授權序列號設置,降低成本。
[0023]2、認證過程有兩次CRC校驗,可靠性高,操作便捷。
[0024]3、認證過程還設置有碼表信息確認步驟,會檢查所述待讀取碼表數據地址和待讀取碼表數據長度相加是否在碼表信息存儲地址范圍內,進一步增加認證可靠性。
【附圖說明】
[0025]圖1是實施例1中墨盒芯片的示意圖;
圖2是實施例1中步驟一的數據框圖;
圖3是實施例1中步驟二到步驟六的數據框圖。
【具體實施方式】
[0026]以下結合附圖對本發明作進一步詳細說明。
[0027]本具體實施例僅僅是對本發明的解釋,其并不是對本發明的限制,本領域技術人員在閱讀完本說明書后可以根據需要對本實施例做出沒有創造性貢獻的修改,但只要在本發明的權利要求范圍內都受到專利法的保護。
[0028]實施例1,如圖1所示:一種墨盒芯片,包括芯片控制電路,用于存儲數據的存儲單元,用于與打印機通信的芯片通信單元;存儲單元和芯片通信單元分別與芯片控制電路電連接;
控制電路包含運算單元,運算單元包括CRC認證運算單元和長度檢查認證運算單元;CRC認證運算單元用于接受打印機發送來的CRC認證數據,計算得出CRC校驗碼,并進行核對校驗;
長度檢查認證運算單元用于計算待讀取碼表數據地址和待讀取碼表數據長度是否超出碼表信息儲存地址范圍;
存儲單元包含碼表信息、原始密匙和序列號。碼表信息包含生產日期、生產廠家、墨量信息。序列號并不用于授權認證,而是用于區分每一個墨盒,用于識別,原始密匙對應序列號,也用于墨盒識別。
[0029]墨盒芯片安裝在墨盒上,與打印機主機進行交互認證,具體步驟如圖2和圖3所示:
參見圖2:圖2反映的是步驟一、即首次CRC校驗步驟:
所述打印機向所述墨盒發送讀認證數據命令,所述讀認證數據命令包含CRC認證數據,所述墨盒中設有所述墨盒芯片,所述墨盒芯片對所述CRC認證數據進行CRC認證。
[0030]所述CRC認證運算單元采用CRC算法校驗,打印機發送來的所述CRC認證數據包含數據字符與