1 引言 傳統編譯碼芯片如VD5026,VD5027,MCI45026,MCI45027等已經在防盜、安全等系統得到廣泛的應用,這些芯片簡單易用,但具有很大的缺陷:編碼量少而極易重碼;密碼長度短(一般為8-12位,最多不超過16位),因而數據極易被掃描和破譯,不能滿足高安全場合的需要。 基于KEELOQ技術的跳碼芯片則克服了以上兩個缺陷,較好地解決了密碼的防盜問題,所謂跳碼,就是密碼不是固定的,而且不斷跳動變化的,是為滿足高性能要求而設計的,跳碼芯片的使用十分簡便,只要在第一次使用前,編譯碼器進行一次"學習",使編譯碼器的密碼同步,通常一個譯碼器可以支持多個編碼器,再加上其電壓使用范圍寬,功率消耗極小,因此成為傳統編譯碼器的理想升級換代產品。 2 跳碼核心技術--KEELOQ技術使用KEELOQ技術的編碼器每次發出的密碼都不同,只有配對的譯碼器能準確譯出收到的密碼,使用不配對的編、譯碼器或重復發送譯碼器曾收到的密碼等均告知無效。即使編碼器發送出的碼在譯碼器方沒有收到,也不會影響以后的正常使用。這一切歸功于芯片內強大的微處理器及KEELOQ獨特的同步算法。 跳碼芯片的密碼雖是一大串幾乎隨機的亂麻,但實際毫不紊亂,密碼包括2部分: (1)跳碼,編譯器每次產生的都不一樣,產生后就被加密; (2)在傳輸過程并不加密,主要包括編碼器的系列號,在與譯碼器的配套使用中作識別信號。 跳碼包括功能信息、辨別碼以及同步計數器、通過一個加密算法加密后再傳送出去。跳碼芯片在使用前必須預置序列號、加密鑰匙、同步計數器、發送方和接收方一起工作前,接收方必須先通過"學習"來獲得并存儲發送方的序列號、加密鑰匙和當前同步計數器的值。 硬件實現KEELOQ技術加密過程如圖1所示。 在KEELOQ技術中"學習"功能是一個重要部分,"學習"包括清除原來的存儲的信息和學習新的信息,每對跳碼型編譯碼器在使用前都要至少單向"學習"一次,密碼在第一次配對使用時是隨機產生的亂碼。然后把要配對的編碼器的密碼傳進譯碼器,譯碼器就會學習和存儲這一次的安全代碼,從此這一對譯碼器的密碼就按照同一套跳變碼算法同步變化,譯碼器以后每次就能準確譯出編碼器的密碼,同時,這一存入的安全代碼被作為無效碼參考,再收到同樣的密碼就會視而不見,因而能有效地防止偷碼冒用。 最后,譯碼器設計了一套容錯算法,他不但能預知配對的編碼器的下一個密碼變化,而且能預知他以后256次的變化碼,并都能準確譯出,這樣,即使發射器被亂按了好多次不為譯碼器所知,但都能依舊保護默契配合,保持了極好的跳變譯碼能力和抗截碼的功能。 3 應用電路 3.1 HCS301跳碼編碼器的管腳及其功能 HCS301跳碼編碼器的引腳排列如圖3所示。 引腳1-4:S0-S3,數據輸入通道,其中S2,S3在編程狀況時可作為時鐘輸入,引腳5:VSS,電源地;引腳7:LED,指示工作狀態及低電壓指示,可直接驅動LED,低壓時,指示燈將以5次/秒的頻率閃爍;引腳8:VDD,電源,工作電壓為+3.5-+13.0V。 編碼器 HCS301發出的密碼長66位,由34位的固定碼和32位由KEELOQ算法產生的加密碼組成,固定碼主要包括28位的系列號(每個編碼器獨一無二),還含6個狀態位,其中2位顯示號碼是否重復、電源是否低壓;另外4位狀態位為4位的功能信息(即按鍵輸入組合情況)。32位的加密碼中含4位功能信息,以及12位的辨別碼(判斷譯碼過程是否有效)和16位同步計數器值。每次按下命令控制鍵時,譯碼器的同步計數器的值加1,從沖擊的角度看,有一半的位將發生改變,因此相鄰的密碼將大相徑庭。一個相當長的時期內,密碼將不會重復,不重復次數可達64K(216),有人統計過,如果每天按10次,那么要經過18年密碼才有可能重復。 HCS301還具有獨特的電源自動關閉功能,即只有在有編碼信號時才進入工作狀態,靜態功耗極低,降低了電源功耗。通過二極管陣列,HCS301最大可實現15個功能。 3.2 TDH6301跳碼譯碼器的管腳及其功能 TDH6301跳碼譯碼器的引腳排列如圖4所示。 引腳1:VDD,電源,一般接+5V;引腳2:LEARNIN,"學習"鍵;引腳3,LEARNLED,"學習"指示輸出;因該4:MCLR:譯碼器復位端口;引腳5:LMS,上拉時鎖存輸出,下拉時暫存輸出;引腳6:NC(D5),空引腳;引腳7:NC(D4),空引腳;引腳8- 11,D0-D3,數據輸出端;引腳12:VT,接收信號有效輸出;引腳13:RFIN,接收信號輸入;引腳14:VSS,接地。 TDH6301與編碼芯片(HCS300或HCS301)配對使用,可省去了煩瑣的編碼和配對。他有兩種輸出方式,當TDH6301的5端懸空時為脈沖型電平輸出方式,即無接收信號時,數據輸出將保持約500ms;當TDH6301的5端接法如圖4所示時為鎖存型電平輸出方式,即輸出電平將保持到有其他輸出口接收信號時為止。 TDH6301的輸出狀態由"學習"過的編碼器決定,即對應的按鍵輸入組合產生對應的輸出組合,因而通過門電路組合TDH6301的輸出能夠實現15個功能。 3.3 應用電路圖 HCS301的應用電路非常簡單,只需要幾個按鍵和幾個電路和電容就可實現,如果用于無線,還需要RF(射頻)電路,圖5為具有4個功能的編碼電路,通過二極管陣列任意組合S0-S3,HCS301最多可擴展到15個功能。在傳輸的過程中,指示燈將被點亮。如果HCS301檢測到有新的按鍵下,復位將立即產生,密碼將無法完整的發出。 相應的譯碼電路圖如圖6所示,譯碼器的RFIN端接收譯碼器PWM端輸出的信號: 初次配對使用時,要先進行"學習"。按下"學習"鍵,使譯碼器進入"學習"接收狀態,學習指示燈閃亮一下后熄滅。之后的30s內,按下編碼器的任意鍵,輸出信號代碼,若編碼器未被學習過,學習指示燈長亮約1s后自動熄滅,說明編碼器輸出的代碼被成功學習,學習過程完成;若學習指示燈快速閃亮(>5次/s)表示學習失敗,可能是芯片不配套或者被燒壞,學習成功以后,這一對編譯碼器就可以同步跳變工作了。 TDH6301譯碼器最多可支持15個譯碼器,只需經過上述學習步驟,就可實現,當編碼器學習溢出時(即超過15個編碼器時),譯碼器會從頭開始自動覆蓋并作廢最早一個已學習的譯碼器,長按學習鍵超過8s,待學習燈LED熄滅后,譯碼器自動清除存儲器里的記憶內容,這樣就可讓遺失的編碼器失效而作廢,但此時所有的編碼器都失效,因此,所有的編碼器需重新進行學習一遍才可正常使用。 4 結語 譯碼芯片TDH6301有2種工作方式,可方便地選擇,跳碼芯片經過擴展,可以具有15個功能,跳碼技術的關鍵在于:對于同一動作(如開門),編碼器每次發出的編碼卻有極大不同,發過的碼字被記錄,重發也視為無效。且碼字具有足夠的長度,保密性很高,足以抵抗使用儀器對碼字進行掃描,因此,跳碼芯片至少在目前是傳統密碼鎖更型換代的理想產品,可廣泛應用汽車遙控報警器、家庭安全系統、電子鑰匙、門禁系統、自動門系統等高度安全保障領域。 |