深入解析Microchip HCS200 KEELOQ® 代码跳变编码器
在电子工程领域,安全可靠的编码技术对于各种应用至关重要。今天,我们将深入探讨Microchip的HCS200 KEELOQ® 代码跳变编码器,它在远程无钥匙进入(RKE)系统等应用中发挥着关键作用。
文件下载:HCS200T-I/SN.pdf
一、HCS200概述
HCS200是Microchip Technology Inc.推出的一款专门为RKE系统设计的代码跳变编码器。它采用了KEELOQ® 代码跳变技术,具有高安全性、小封装尺寸和低成本的特点,是单向远程无钥匙进入系统和访问控制系统中固定代码设备的理想替代品。
1.1 主要特性
- 安全性:
- 可编程28位序列号,确保每个编码器的唯一性。
- 可编程64位加密密钥,提供强大的加密保护。
- 每次传输的代码都是唯一的,66位传输代码长度有效防止代码扫描和重发攻击。
- 32位跳变代码,结合序列号和按钮状态等信息,增加了代码的复杂性。
- 加密密钥具有读取保护功能,防止密钥泄露。
- 操作特性:
- 其他特性:
1.2 典型应用
HCS200适用于多种RKE应用,包括:
- 固定代码设备的替代
- 汽车RKE系统
- 汽车报警系统
- 汽车防盗器
- 大门和车库门开启器
- 身份令牌
- 防盗报警系统
二、系统概述
2.1 关键术语
在理解HCS200的工作原理之前,我们需要了解一些关键术语:
- RKE:远程无钥匙进入
- 按钮状态:指示激活传输的按钮输入,包含4个按钮状态位。
- 代码跳变:每次传输时,代码在系统外部看起来是随机变化的。
- 代码字:按钮激活时重复传输的数据块。
- 传输:由重复的代码字组成的数据流。
- 加密密钥:用于加密和解密数据的64位唯一秘密数字。
- 编码器:生成和编码数据的设备。
- 加密算法:使用加密密钥对数据进行加密的方法。
- 解码器:对从编码器接收到的数据进行解码的设备。
- 解密算法:使用相同的加密密钥对加密数据进行解密的方法。
- 学习:接收器计算发射器的加密密钥,解密接收到的跳变代码,并将序列号、同步计数器值和加密密钥存储在EEPROM中。
2.2 工作原理
HCS200的工作基于KEELOQ® 代码跳变技术,通过非线性加密算法生成32位跳变代码,并与28位序列号和6位信息位组合成66位代码字。每次按钮按下时,同步计数器递增,导致传输的代码字发生变化,从而实现代码跳变。
在生产过程中,HCS200的EEPROM需要加载几个重要参数,包括28位序列号、加密密钥、初始16位同步值和16位配置值。这些参数是系统安全和正常运行的基础。
三、编码器操作
3.1 引脚描述
| HCS200采用8引脚配置,各引脚功能如下: | 名称 | 引脚编号 | 描述 |
|---|---|---|---|
| S0 | 1 | 开关输入0 | |
| S1 | 2 | 开关输入1 | |
| S2 | 3 | 开关输入2/编程模式下的时钟引脚 | |
| Vss | 5 | 接地参考 | |
| PWM | 6 | 脉冲宽度调制(PWM)输出引脚/编程模式下的数据引脚 | |
| VDD | 8 | 正电源电压 |
3.2 操作流程
当检测到按钮按下时,HCS200会唤醒并延迟约10ms进行按钮消抖。然后,同步计数器、判别值和按钮信息将被加密形成跳变代码。每次传输的跳变代码都会改变,即使按下相同的按钮。一个代码字在超过64K次传输后才会重复,基于每天10次操作,可提供超过18年的使用时间。如果在传输过程中检测到新按钮按下,将立即复位并开始新的传输。
四、EEPROM内存组织
| HCS200包含192位(12 x 16位字)的EEPROM内存,用于存储加密密钥、同步值等重要信息。具体内存映射如下: | 地址 | 字 | 助记符 | 描述 |
|---|---|---|---|---|
| 0 | KEY_0 | 64位加密密钥(字0)LSb’s | ||
| 1 | KEY_1 | 64位加密密钥(字1) | ||
| 2 | KEY_2 | 64位加密密钥(字2) | ||
| 3 | KEY_3 | 64位加密密钥(字3)MSb’s | ||
| 4 | SYNC | 16位同步值 | ||
| 5 | Reserved | 设置为0000H | ||
| 6 | SER_0 | 设备序列号(字0)LSb’s | ||
| 7 | SER_1 | 设备序列号(字1)MSb’s | ||
| 8 | SEED_0 | 种子值(字0) | ||
| 9 | SEED_1 | 种子值(字1) | ||
| 10 | Reserved | 设置为0000H | ||
| 11 | CONFIG | 配置字 |
4.1 加密密钥
64位加密密钥用于创建传输到接收器的加密消息,通过密钥生成算法在生产过程中计算和编程。输入通常包括发射器的序列号和64位制造商代码。
4.2 同步计数器
16位同步计数器用于创建传输的跳变代码,每次传输后递增。
4.3 序列号
SER_0和SER_1分别是设备序列号的低字和高字,虽然分配了32位,但只有低28位被传输。
4.4 种子字
2字(32位)种子代码在三个按钮同时按下时传输,可用于实现安全学习功能或作为不同密钥生成/跟踪过程的一部分。
4.5 配置字
16位配置字包含形成传输加密部分所需的信息以及设备选项配置,包括判别值、波特率选择位和低电压跳变点选择位。
五、传输字
5.1 代码字格式
HCS200的代码字由50%占空比的前导码、头部、32位加密数据和34位固定数据组成,后面跟着一个保护期。
5.2 代码字组织
66位代码字由固定代码部分和加密代码部分组成。32位加密数据由4个按钮位、12个判别位和16位同步值生成,提供多达40亿种变化的代码组合。34位固定代码数据由1个状态位、1个固定位、4个按钮位和28位序列号组成,固定和加密部分结合使代码组合数增加到7.38 x (10^{19})。
5.3 同步传输模式
同步传输模式可使用外部时钟输出代码字。进入该模式需要执行编程模式启动序列,在S2的下降沿设置S1或S0时,设备进入同步传输模式。在该模式下,PWM数据串的时序由外部控制,并且在代码字末尾传输16个额外的保留位。
六、特殊功能
6.1 代码字完成
代码字完成功能确保即使在代码字未完成时释放按钮,整个代码字也会被传输。如果按钮按下时间超过一个代码字的时间,将产生多个代码字。如果在传输过程中激活另一个按钮,当前传输将被中止,开始新的传输。
6.2 空白交替代码字
为满足FCC规定的传输功率限制,可使用空白交替代码字(BACW)功能,通过仅传输每隔一个代码字来降低传输的平均功率。
6.3 种子传输
为提高系统安全性,接收器可实现安全学习功能,通过按下三个按钮同时传输存储在EEPROM中的种子值来生成加密密钥。
6.4 VLOW:电压低指示
VLOW信号用于向接收器指示发射器电池电量低,该位包含在每次传输中,当工作电压高于低电压跳变点时,传输为零。
七、编程HCS200
在使用HCS200之前,需要将一些参数(如序列号和加密密钥)编程到设备中。编程周期允许用户以串行数据流的形式输入所有192位数据,并将其存储在EEPROM中。编程通过将PWM线拉高启动,在S2线保持高电平适当时间后开始。编程完成后,可通过读取EEPROM进行验证。
八、集成HCS200到系统
8.1 学习发射器到接收器
发射器必须先被接收器“学习”才能在系统中使用。学习过程包括计算发射器的加密密钥、解密接收到的跳变代码,并将序列号、同步计数器值和加密密钥存储在EEPROM中。
8.2 解码器操作
解码器等待接收传输,将接收到的序列号与EEPROM中存储的已学习发射器列表进行比较,确定该发射器是否被允许使用。如果是已学习的发射器,使用存储的加密密钥对传输进行解密,并通过判别位验证加密密钥的使用是否正确。如果解密有效,则评估同步值。
8.3 与解码器同步
KEELOQ技术采用复杂的同步技术,通过一个3分区的旋转同步窗口来确保系统的安全性和可靠性。当传输被验证时,执行相应的功能并更新同步计数器值。
九、开发支持
Microchip为PIC® 微控制器和dsPIC® 数字信号控制器提供了全面的软件和硬件开发工具,包括集成开发环境、编译器、模拟器、调试器等,方便工程师进行开发和调试。
十、电气特性
10.1 绝对最大额定值
- VDD电源电压:-0.3 to 13.3V
- VIN输入电压:-0.3 to 13.3V
- VOUT输出电压:-0.3 to VDD + 0.3V
- IOUT最大输出电流:25 mA
- TSTG存储温度:-55 to +125°C
- TLSOL引脚焊接温度:300°C
- VESD ESD额定值:4000V
10.2 DC特性
包括工作电流、待机电流、输入输出电压、下拉电阻等参数,具体数值可参考文档中的表格。
十一、封装信息
HCS200提供PDIP和SOIC两种封装类型,每种封装都有相应的标记信息和尺寸规格。
总结
Microchip的HCS200 KEELOQ® 代码跳变编码器以其高安全性、灵活性和低成本的特点,成为RKE系统等应用的理想选择。通过深入了解其工作原理、操作特性和编程方法,工程师可以更好地将其集成到各种系统中,为用户提供安全可靠的解决方案。你在使用HCS200或类似编码器的过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。
-
Keeloq
+关注
关注
0文章
15浏览量
11775
发布评论请先 登录
深入解析Microchip HCS200 KEELOQ® 代码跳变编码器
评论