深入解析Microchip HCS201 KEELOQ® 代码跳变编码器
在电子安全领域,远程无钥匙进入(RKE)系统的安全性至关重要。Microchip的HCS201 KEELOQ® 代码跳变编码器为RKE系统提供了一种安全、低成本且高效的解决方案。今天,我们就来深入了解一下这款编码器。
文件下载:HCS201-I/P.pdf
1. 产品概述
HCS201是Microchip Technology Inc. 推出的一款专为安全RKE系统设计的代码跳变编码器。它采用了KEELOQ® 代码跳变技术,具有高安全性、小封装和低成本的特点,非常适合单向远程无钥匙进入系统和访问控制系统。
1.1 主要特性
- 安全性高:
- 可编程28位序列号,确保每个编码器的唯一性。
- 可编程64位加密密钥,且加密密钥具有读保护功能,防止密钥被非法获取。
- 每次传输的代码都是唯一的,66位传输代码长度有效防止代码扫描和重发攻击。
- 操作灵活:
- 其他优势:
1.2 典型应用
HCS201适用于多种RKE应用,包括汽车RKE系统、汽车报警系统、汽车防盗器、大门和车库门开启器、身份令牌以及防盗报警系统等。
2. 系统工作原理
2.1 关键术语
在了解HCS201的工作原理之前,我们先明确一些关键术语:
- RKE:远程无钥匙进入。
- 按钮状态:指示激活传输的按钮输入。
- 代码跳变:每次传输时,代码在系统外部看起来会不可预测地变化。
- 代码字:按钮激活时重复传输的数据块。
- 传输:由重复代码字组成的数据流。
- 加密密钥:用于加密和解密数据的64位唯一秘密数字。
- 编码器:生成和编码数据的设备。
- 加密算法:使用加密密钥对数据进行加扰的方法。
- 解码器:解码从编码器接收的数据的设备。
- 解密算法:使用相同加密密钥对加密数据进行解扰的方法。
- 学习:接收器计算发射器的加密密钥,解密接收到的跳变代码,并将序列号、同步计数器值和加密密钥存储在EEPROM中。
- 制造商代码:用于生成唯一编码器加密密钥的64位唯一秘密数字。
2.2 编码器工作流程
HCS201的编码器部分集成在发射器中,用户通过按下按钮来激活传输。编码器检测到按钮按下后,会进行以下操作:
- 读取按钮输入并更新同步计数器。
- 将同步计数器和加密密钥输入到加密算法中,生成32位加密信息。
- 将32位跳变代码与按钮信息和序列号组合成66位代码字,发送给接收器。
2.3 接收器工作流程
接收器通常是一个带有兼容固件的微控制器。在使用发射器之前,接收器需要“学习”发射器。学习过程包括计算发射器的加密密钥、解密接收到的跳变代码,并将序列号、同步计数器值和加密密钥存储在EEPROM中。
在正常操作中,接收器接收到消息后,会进行以下检查:
- 检查序列号是否来自已学习的发射器。
- 使用存储的加密密钥解密消息,并验证同步计数器。
- 检查按钮状态,确定请求的操作。
3. 编码器操作细节
3.1 引脚功能
| HCS201的引脚功能如下: | 引脚名称 | 引脚编号 | 引脚描述 |
|---|---|---|---|
| S0 | 1 | 开关输入0 | |
| S1 | 2 | 开关输入1 | |
| S2 | 3 | 开关输入2 / 编程模式时钟引脚 | |
| VDDB | 4 | 电池输入引脚,为升压控制电路供电 | |
| VSS | 5 | 接地参考连接 | |
| DATA | 6 | 脉冲宽度调制(PWM)输出引脚 / 编程模式数据引脚 | |
| STEP | 7 | 升压调节器开关控制 | |
| VDD | 8 | 正电源电压 |
3.2 唤醒与加密过程
HCS201在检测到按钮按下后会唤醒,并延迟约10ms进行按钮去抖。然后,同步计数器、判别值和按钮信息会被加密形成跳变代码。每次传输时,跳变代码部分都会改变,即使按下相同的按钮。一个代码字在超过64K次传输后才会重复,这提供了超过18年的使用时间(假设每天操作10次)。
3.3 特殊情况处理
如果在传输过程中检测到新的按钮被按下,会立即发生复位,当前代码字将不会完成。如果所有按钮都被释放,代码字将完成并进入掉电状态。
4. EEPROM内存组织
| HCS201包含192位(12 x 16位字)的EEPROM内存,用于存储加密密钥信息、同步值等。以下是EEPROM内存映射: | 字地址 | 助记符 | 描述 |
|---|---|---|---|
| 0 | KEY_0 | 64位加密密钥(字0) | |
| 1 | KEY_1 | 64位加密密钥(字1) | |
| 2 | KEY_2 | 64位加密密钥(字2) | |
| 3 | KEY_3 | 64位加密密钥(字3) | |
| 4 | SYNC | 16位同步值 | |
| 5 | RESERVED | 设置为0000H | |
| 6 | SER_0 | 设备序列号(字0) | |
| 7 | SER_1 | 设备序列号(字1) | |
| 8 | SEED_0 | 种子值(字0) | |
| 9 | SEED_1 | 种子值(字1) | |
| 10 | DISC | 判别字 | |
| 11 | CONFIG | 配置字 |
4.1 加密密钥
64位加密密钥用于创建发送给接收器的加密消息。该密钥在生产过程中使用密钥生成算法计算并编程,输入通常为发射器的序列号和64位制造商代码。
4.2 同步计数器
16位同步计数器用于创建传输的跳变代码,每次传输后该值会递增。
4.3 序列号
SER_0和SER_1分别是设备序列号的低字和高字,虽然分配了32位,但只有低28位会被传输。
4.4 种子字
2字(32位)种子代码在三个按钮同时按下时传输,可用于实现安全学习功能或作为不同密钥生成/跟踪过程的一部分。
4.5 判别字
判别值有助于解码器端的解密后检查,通常编程为序列号的12个最低有效位。
4.6 配置字
配置字是一个16位字,用于存储加密过程中使用的信息以及选项配置的状态。具体位功能包括振荡器调谐、低电压跳闸点选择、波特率选择等。
5. 传输字格式
5.1 代码字格式
HCS201的代码字由50%占空比的前导码、头部、32位加密数据和34位固定数据组成,后面跟着一个保护期。
5.2 代码字组织
66位代码字由固定代码部分和加密代码部分组成。32位加密数据由4个按钮位、12个判别位和16位同步值生成,提供高达40亿种变化的代码组合。34位固定代码数据由2个状态位、4个按钮位和28位序列号组成,固定和加密部分组合后代码组合数增加到(7.38 ×10^{19})。
5.3 同步传输模式
同步传输模式可以使用外部时钟将代码字输出。进入同步传输模式需要执行编程模式启动序列,在该模式下,PWM数据串的时序由外部控制,并且代码字末尾会传输16个额外的位。
6. 特殊功能
6.1 代码字完成
代码字完成功能确保即使按钮在代码字完成之前释放,整个代码字也会被传输。如果按钮按下时间超过一个代码字的时间,会产生多个代码字。如果在传输过程中激活另一个按钮,当前传输将被中止,新的传输将使用新的按钮信息开始。
6.2 VLOW:电压低指示
VLOW位在每次传输时都会发送,如果工作电压低于低电压跳闸点,该位将为1。接收器可以根据该信号向用户发出发射器电池电量低的警报。
6.3 自动关机
自动关机功能可以防止按钮意外长时间按下导致设备耗尽电池电量。超时时间为TTO。
6.4 种子传输
为了提高系统的安全性,接收器可以实现安全学习功能。通过同时按下三个按钮输入,可以传输EEPROM中存储的种子值,用于生成加密密钥。
6.5 空白交替代码字
空白交替代码字(BACW)功能可以通过仅传输每隔一个代码字来降低传输的平均功率,从而满足FCC规定的传输限制。
6.6 升压调节器
集成的升压调节器可以确保编码器和RF电路的电源电压(VDD)恒定,不受电池电压(VDDB)的影响。当VDD低于内部参考电压VSTEP时,STEP输出会以fSTEP脉冲,可连接到外部电路提供升压。
7. 编程与系统集成
7.1 编程HCS201
在使用HCS201之前,用户需要将一些参数(如序列号和秘密密钥)编程到设备中。编程周期允许用户以串行数据流的形式输入所有192位数据,然后将其存储在EEPROM中。编程完成后,可以通过读取EEPROM来验证数据。
7.2 集成到系统中
使用HCS201需要一个兼容的解码器,通常是一个带有兼容固件的微控制器。Microchip提供固件例程,帮助系统设计师开发自己的解码系统。
7.2.1 学习发射器到接收器
发射器在被允许在系统中使用之前,必须先被解码器“学习”。解码器需要存储每个已学习发射器的序列号、当前同步计数器值和唯一加密密钥。
7.2.2 解码器操作
解码器等待接收传输,检查序列号是否来自已学习的发射器,使用存储的加密密钥解密消息,并验证同步值。
7.2.3 与解码器同步
KEELOQ技术采用了一种复杂的同步技术,通过一个3分区的旋转同步窗口来确保系统的安全性。该窗口包括单操作窗口、双操作窗口和阻塞窗口,有效地阻止了无效传输并提供透明的重新同步功能。
8. 开发支持
Microchip为PIC® 微控制器和dsPIC® 数字信号控制器提供了一系列的软件和硬件开发工具,包括集成开发环境、编译器、模拟器、仿真器、调试器、编程器以及演示/开发板和评估套件等。这些工具可以帮助工程师更高效地开发和调试基于HCS201的系统。
9. 电气特性
HCS201的电气特性包括绝对最大额定值、直流特性、电源启动和传输时序以及代码字传输时序等。这些特性为工程师在设计电路时提供了重要的参考。
10. 封装信息
HCS201提供PDIP和SOIC两种封装类型,文档中详细介绍了封装标记信息和封装细节,包括尺寸、引脚定义等。
总之,Microchip的HCS201 KEELOQ® 代码跳变编码器为RKE系统提供了一种安全、可靠且易于使用的解决方案。通过深入了解其工作原理、特性和应用,工程师可以更好地设计和实现高性能的远程无钥匙进入系统。你在使用HCS201的过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。
-
Keeloq
+关注
关注
0文章
15浏览量
11775
发布评论请先 登录
深入解析Microchip HCS201 KEELOQ® 代码跳变编码器
评论