- 相關(guān)推薦
基于PIC16C54單片機(jī)的智能軟件狗設(shè)計(jì)
摘要:介紹一種基于PIC16C54單片機(jī)93C46串行EEPROM智能型軟件狗的硬件和軟件設(shè)計(jì)。本軟件狗利用微控制器的特點(diǎn),利用簡(jiǎn)化的DES算法進(jìn)行加密,增加了軟件狗的破解難度。關(guān)鍵詞:單片機(jī) 軟件狗 數(shù)據(jù)加密
隨著各種計(jì)算機(jī)應(yīng)用軟件、工具軟件的涌現(xiàn),由此引起的計(jì)算機(jī)知識(shí)產(chǎn)權(quán)案件層出不窮,引出了計(jì)算機(jī)安全保密技術(shù)在計(jì)算機(jī)軟件版權(quán)保護(hù)中應(yīng)用的新課題。實(shí)現(xiàn)計(jì)算機(jī)版權(quán)保護(hù)的技術(shù)方法很多,概括起來(lái)可以分為三大類:軟件法、硬件法、軟硬件結(jié)合法。軟硬件結(jié)合法結(jié)合了軟件法和硬件法的特點(diǎn)。從軟件設(shè)計(jì)上增加反跟蹤的難度,從硬件上增加仿制和狀態(tài)分析難度。硬件部分主要完成狀態(tài)加密和檢查。軟件狗是一種插在PC打印口上的用于應(yīng)用軟件版權(quán)保護(hù)的設(shè)備。商品化的軟件狗產(chǎn)品向用戶提供軟件狗硬件、應(yīng)用程序定制工具、應(yīng)用軟件和軟件狗的接口程序庫(kù)。從硬件結(jié)構(gòu)方面講,軟件狗的發(fā)展已經(jīng)歷了五代。第一代簡(jiǎn)單地將打印機(jī)的控制或數(shù)據(jù)線與狀態(tài)線通過(guò)電阻或二極管連接;第二代增加了一些門電路,將某些控制線或數(shù)據(jù)線經(jīng)過(guò)簡(jiǎn)單的邏輯運(yùn)算后輸出到狀態(tài)口線上;第三代使用GAL或EPROM器件;第四代使用串行EEPROM器件;第五代在第四代的基礎(chǔ)上增加了微處理器,因此稱為智能型軟件狗。本文介紹的軟件狗使用軟硬件結(jié)合法,屬于第五代軟件狗。
圖1 電路原理圖
1 硬件原理
由于軟件狗插在PC打印口上,因此軟件狗的硬件設(shè)計(jì)除了滿足其軟件保護(hù)功能外,還必須著力解決如下三個(gè)問(wèn)題:由于PC的打印口沒(méi)有提供電源線,要使單片機(jī)和串行EEPROM芯片工作,就必須想辦法為它們提供電源,并且必須采用低功耗設(shè)計(jì);不能影響PC對(duì)打印機(jī)的正常操作;硬件成本必須足夠低。
PIC系列單片機(jī)是使用Harvard總線和RISC結(jié)構(gòu)的單片機(jī),具有功耗低、高速、開(kāi)發(fā)容易、價(jià)位低、體積小等特點(diǎn)。93C46B是采用CMOS工藝制造的64×16bit結(jié)構(gòu)8引腳的串行可用電擦除可編程只讀存儲(chǔ)器,同樣具有功耗低、價(jià)位低、體積小等特點(diǎn)。這兩種器件能夠滿足對(duì)硬件設(shè)計(jì)的低功耗和低成本的要求。
圖1為本軟件狗的電源原理圖。包括PIC16C54及93C46構(gòu)成的單片機(jī)系統(tǒng)、復(fù)位電路電源電路三部分。
圖1中,R5、C3組成系統(tǒng)上電復(fù)位電路;D2、D3、C2組成系統(tǒng)電源電路;D1、R1、R2、C1組成PIC16C54的外部RC振蕩電路;PIC16C54通過(guò)其A口控制93C46串行EEPROM;T0CLKI引腳用于監(jiān)測(cè)當(dāng)前PC是否控制打印機(jī);RB7引腳用于監(jiān)測(cè)PC當(dāng)前是否與本軟件狗聯(lián)系,并選擇單片機(jī)當(dāng)前工作的時(shí)鐘頻率;RB4、RB5、RB6是軟件狗向PC方向發(fā)送數(shù)據(jù)的接口信號(hào)線;RB0~RB3、RB5是PC向軟件狗方向發(fā)送數(shù)據(jù)的接口信號(hào)線;R6是PIC單片機(jī)工作于外部RC振蕩電路方式時(shí)推薦的間接接地電阻,有利于系統(tǒng)抗干擾和振蕩電路的穩(wěn)定性;R3、R4用于防止打印機(jī)和單片機(jī)之間信號(hào)發(fā)生沖突。
PC打印口中數(shù)據(jù)線和控制線為輸出線,控制線的驅(qū)動(dòng)能力較強(qiáng)。為了不影響打印機(jī)的工作,只能選擇一根不常用并且不會(huì)讓打印機(jī)誤動(dòng)作的控制線(初始化線IP)為軟件狗提供電源。但單片機(jī)對(duì)串行EEPROM編程時(shí)系統(tǒng)需要的功率比較大,因此在軟件狗工作時(shí)又用了一根數(shù)據(jù)線(D7)提供更大的電源電流。本軟件狗工作于三種狀態(tài):當(dāng)IP和D7都為低電平時(shí),軟件狗不工作;當(dāng)IP為高電平時(shí),軟件狗工作于低功耗狀態(tài):當(dāng)IP和D7都為高電平時(shí),軟件狗工作于正常狀態(tài),此時(shí)可以對(duì)軟件狗進(jìn)行任
[1] [2] [3]
【基于PIC16C54單片機(jī)的智能軟件狗設(shè)計(jì)】相關(guān)文章:
PIC16C54智能障礙燈的設(shè)計(jì)04-29
基于單片機(jī)的智能電子遙控車位鎖設(shè)計(jì)05-01
基于智能規(guī)劃與矩陣運(yùn)算的智能排課系統(tǒng)設(shè)計(jì)04-30
基于智能客戶端的ERP系統(tǒng)設(shè)計(jì)05-01
基于ADUC836單片機(jī)的膠帶性能檢測(cè)系統(tǒng)的設(shè)計(jì)04-26
基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)05-02
基于Agent的網(wǎng)絡(luò)化智能教學(xué)系統(tǒng)的研究與設(shè)計(jì)04-29
基于AS5045的自動(dòng)舵智能軸角傳感器的設(shè)計(jì)04-28
基于單片機(jī)飛行距離的測(cè)試05-03