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