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