深入解析Microchip HCS500 KEELOQ? 代碼跳變解碼器
在電子工程師的日常工作中,安全可靠的遠程無鑰匙進入(RKE)系統設計是一項重要任務。Microchip 的 HCS500 KEELOQ? 代碼跳變解碼器為這一領域提供了強大的解決方案。今天,我們就來深入了解一下這款解碼器的特點、工作原理和應用。
文件下載:HCS500-I/P.pdf
一、HCS500 概述
1.1 產品特性
HCS500 具有諸多出色的特性,使其在安全領域表現卓越。
- 安全性:它采用加密存儲制造商代碼和加密密鑰的方式,增強了系統的安全性。同時,支持最多學習七個發射器,并運用 KEELOQ 代碼跳變技術,以及具備正常和安全學習機制,有效防止代碼被破解。
- 操作特性:工作電壓范圍為 3.0V - 5.5V,內部集成振蕩器,還能自動檢測比特率,適應不同的工作環境。
- 其他特性:作為獨立解碼器芯片組,配備外部 EEPROM 用于存儲發射器信息,具有同步串行接口和 1Kbit 用戶 EEPROM,采用 8 - Pin PDIP/SOIJ 封裝,方便進行電路設計。
1.2 典型應用
HCS500 的應用范圍廣泛,涵蓋了汽車遠程進入系統、汽車報警系統、汽車防盜器、門禁和車庫開門器、電子門鎖、身份令牌以及防盜報警系統等領域,為各種安全應用提供了可靠的保障。
二、系統概述與關鍵術語
2.1 關鍵術語解釋
在理解 HCS500 的工作原理之前,我們需要了解一些關鍵術語。
- RKE:即遠程無鑰匙進入,是一種常見的車輛或門禁系統的進入方式。
- 代碼跳變:每次傳輸時,代碼在系統外部看起來會不可預測地變化,增加了安全性。
- 代碼字:按鈕激活時重復傳輸的數據塊。
- 傳輸:由重復的代碼字組成的數據流。
- 加密密鑰:用于加密和解密數據的 64 位唯一秘密數字。
- 編碼器:生成和編碼數據的設備。
- 加密算法:使用加密密鑰對數據進行加擾的方法。
- 解碼器:對從編碼器接收的數據進行解碼的設備。
- 解密算法:使用相同的加密密鑰對加密數據進行解密的方法。
- 學習:接收器計算發射器的加密密鑰,解密接收到的跳變代碼,并將序列號、同步計數器值和加密密鑰存儲在 EEPROM 中。
2.2 HCS 編碼器概述
HCS 編碼器在使用前需要加載一些重要參數,包括生產時生成的加密密鑰、16 位同步計數器值和 28 位序列號。制造商在生產時為每個編碼器編程序列號,通過“密鑰生成算法”生成加密密鑰。同步計數器是代碼字變化的基礎,每次按下按鈕時,同步計數器會遞增,導致傳輸的代碼字中超過 50% 的比特發生變化。
三、解碼器操作
3.1 學習發射器
在發射器和接收器協同工作之前,接收器需要“學習”并存儲發射器的相關信息,包括序列號的校驗值、加密密鑰和當前同步計數器值。同時,解碼器還需將制造商代碼存儲在受保護的內存中。HCS500 有七個內存插槽,最多可存儲七個發射器。學習過程通過向解碼器發送 ACTIVATE_LEARN 命令啟動,按照特定的步驟進行,如激活發射器兩次等。學習過程中,解碼器會進行一系列檢查,確保傳輸的有效性。
3.2 代碼驗證
解碼器等待傳輸并檢查序列號,判斷是否為已學習的發射器。如果是,則對傳輸的代碼跳變部分進行解密,并使用判別值驗證解密是否有效。最后,評估同步計數器值,確保其在有效范圍內。驗證步驟包括搜索 EEPROM 匹配序列號校驗值、解密跳變代碼、比較判別值和序列號的低 10 位、檢查同步計數器值是否在同步窗口內等。
3.3 同步技術
KEELOQ 技術采用了復雜的同步技術,通過 3 - 分區旋轉同步窗口來確保系統的安全性。當傳輸被認證時,執行相應功能并更新同步計數器值,旋轉同步窗口。同步窗口包括單操作窗口(16 個代碼)、雙操作(重新同步)窗口(最多 32K 個代碼)和阻塞窗口,有效阻止無效傳輸。
四、與微控制器接口
4.1 有效傳輸消息
解碼器通過將數據線拉高最多 500ms 來通知微控制器接收到有效傳輸。微控制器通過將時鐘線拉高進行確認,然后解碼器將數據線拉低,微控制器開始從 HCS500 時鐘輸出數據流,包括起始位、狀態位、功能代碼、停止位、塊指示和傳輸數據等。
4.2 命令模式
微控制器通過特定的命令模式與解碼器進行通信,包括命令激活、實際命令、訪問地址和數據。解碼器使用碰撞檢測來防止與微控制器發生沖突,確保通信的穩定性。命令激活時間根據解碼器的狀態而定,不同的命令有不同的操作和時序要求,如讀取和寫入用戶 EEPROM、激活學習、擦除所有發射器等。
4.3 獨立模式
HCS500 還可以在獨立模式下使用。當接收到有效傳輸時,它會將數據線激活最多 500ms,可用于驅動繼電器電路。通過連接按鈕到 CLK 輸入,可以激活學習或擦除所有命令,通過連接 LED 到 DATA 輸出線提供用戶反饋。
五、解碼器編程
5.1 系統內存編程
解碼器使用 2K 的 24LC02B 串行 EEPROM,分為系統內存和用戶內存。在使用解碼器之前,需要對系統內存中的 64 位制造商代碼和解碼器配置字節進行編程。這些內存位置受讀保護,需要使用編程命令在設備上電時進行寫入。
5.2 配置字節
配置字節用于在初始化時配置解碼器,包括學習模式選擇(正常學習或安全學習)、算法選擇(KEELOQ 解密算法或 XOR 算法)和重復傳輸啟用等選項。
5.3 編程波形和數據字符串
編程命令包括命令請求序列、命令字節、配置字節、制造商代碼和激活確認序列。總共 80 位數據以最低有效位(LSB)優先的方式時鐘輸入解碼器,解碼器使用其唯一的 64 位 EEPROM 加密密鑰對制造商代碼進行加密。
六、密鑰生成
HCS500 支持三種學習方案,根據不同的算法和輸入種子來生成加密密鑰。
6.1 正常學習(序列號派生)
使用 KEELOQ 解密算法和發射器的 28 位序列號來派生加密密鑰。
6.2 安全學習(種子派生)
使用編碼器傳輸的安全種子來派生輸入種子,再通過 KEELOQ 解密算法或 XOR 算法生成加密密鑰。
七、KEELOQ 編碼器
7.1 傳輸格式
KEELOQ 編碼器的傳輸由前導碼、頭部、加密數據和固定數據組成,每次傳輸后有一個保護期。代碼跳變部分提供多達 40 億種變化的代碼組合,非代碼跳變部分包括狀態位、功能位和 28 位序列號,兩者結合增加了組合數量。
7.2 代碼字組織
HCS 編碼器在按下按鈕時傳輸 66/69 位代碼字,由代碼跳變部分和非代碼跳變部分組成。加密數據由按鈕位、溢出計數器位、判別位和同步計數器值生成,非加密數據由狀態位、功能位和序列號組成。
八、開發支持
Microchip 為 HCS500 提供了豐富的開發支持,包括集成開發環境(MPLAB X IDE)、編譯器、匯編器、鏈接器、模擬器、仿真器、調試器、編程器等工具,以及各種演示、開發和評估板、套件,還有第三方開發工具,方便工程師進行開發和調試。
九、電氣特性
9.1 絕對最大額定值
HCS500 的絕對最大額定值包括環境溫度、存儲溫度、引腳電壓、功率耗散、電流等參數,使用時需要確保不超過這些額定值,以保證設備的安全和可靠性。
9.2 標準操作條件
標準操作條件包括工作電壓和工作溫度范圍,不同的工作頻率對應不同的最小工作電壓。
9.3 電氣特性參數
包括直流特性和交流特性,如電源電壓、輸入輸出電壓、電流、傳輸時間、時鐘頻率等參數,這些參數為電路設計提供了重要的參考。
十、封裝信息
HCS500 提供 8 - Lead PDIP 和 8 - Lead SOIJ 兩種封裝形式,文檔中詳細介紹了封裝的標記信息和尺寸規格,方便工程師進行 PCB 設計。
綜上所述,Microchip 的 HCS500 KEELOQ? 代碼跳變解碼器是一款功能強大、安全可靠的解碼器,適用于各種安全應用場景。電子工程師在設計 RKE 系統時,可以充分利用 HCS500 的特性和功能,提高系統的安全性和穩定性。你在使用 HCS500 過程中遇到過哪些問題呢?歡迎在評論區分享你的經驗和見解。
發布評論請先 登錄
深入解析Microchip HCS500 KEELOQ? 代碼跳變解碼器
評論