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