HCS301中文文档.docx
- 文档编号:25886334
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:24
- 大小:233.68KB
HCS301中文文档.docx
《HCS301中文文档.docx》由会员分享,可在线阅读,更多相关《HCS301中文文档.docx(24页珍藏版)》请在冰豆网上搜索。
HCS301中文文档
HCS301DATASHEET中文版
翻译:
NforeverofWEE
1.产品特点:
1.1安全性
●28位可编程序列号
●64位可编程加密密钥
●每次发射都是唯一的
●发射码长度为66位
●32位滚动码
●34位固定码(28位序列号+4位按键代码+2状态码)
●加密密钥读取保护
1.2工作范围
●3.5V~13.0V电压范围
●4按键输入
●可选择传输速度
●自动完成编码
●电压低检测可led指示
●电压低检测可发送检测信号
●非易失性同步数据
1.3其他
●与HCS300功能相同
●方便的编程接口
●内置EEPROM
●内置时钟源和定时组件
●按键输入内置下拉电阻
●
口过流保护
●外接元件很少
1.4典型应用
●汽车RKE系统
●汽车报警系统
●汽车防盗控制
●遥控车库
●身份认证
●防盗报警系统
2.产品说明:
HCS301是微芯公司针对RKE系统出品的高安全性滚动码编码器。
HCS301利用高安全性KeeLoQ滚动码技术及小封装,低功耗等特点完美的解决了RKE系统的需求。
28位非线性加密算法的序列号和6位状态码组成32位滚动码从而构成66位发射码,编码的长度排除了码扫描的威胁;滚动码的唯一性让编码捕获和再发送(被捕获后再发送)变得毫无用处。
加非常安全。
使用便捷的串口就可以对其数据进行配置,加密密钥和序列号是可写不可读的,也就是说试图获取密钥完全是徒劳。
宽电压范围和4输入口使得设计者可以自由的开发多达15种功能的应用,仅需的组件就是按键和RF电路。
HCS301管脚和模块框图
3.系统概述:
关键术语:
制造商代码——一个64位密令,对每个制造商来说是独一无二的,用来为每个发射机(编码器)提供加密密钥
加密密钥——在生产过程中烧录到编码器EEPROM的独一无二的64位密钥,控制着加密算法
3.1学习
HCS系列产品有好几种便于解码器学习的策略。
接下来做个举例,必需提醒大家这些学习策略有些存在第三方专利权。
HCS301是专门为无钥匙进入系统、车辆安全、自动车库等设计的滚动码编码器,这意味这对这些系统来说它是既便宜又安全的。
使用者持有编码器以获得进入车辆或限制区域的权利,其工作电路仅需很少的外围器件。
接收器使用和发射机普通发射一样的密码,解密判别值和同步计数器。
发射机发送密钥中随机的48位数值,学习结束后随机的数值即失效。
最低端的无钥匙进入系统每次按钮按下发送的编码都是相同的,代码组合数量相对较少,小偷会抓取代码后重新发送,或者扫描所有可能的组合来找到正确码。
HCS301采用的KeeLoQ滚动码加密算法使得安全水平得到极大提高。
滚动码使每一次同一按键按下发送的编码都不同。
这种方法和其66位编码长度几乎排除使用抓捕和扫描破解的可能性。
如文中框图所示HCS301内置EEPROM再使用之前必须对其进行装载参数。
这些是最重要的参数:
●28位唯一的序列号
●生产时产生的加密密钥
●16位同步值
序列号是在制造过程按制造商规则编制的。
加密密钥通过加密算法产生如图3-1
图3-1
典型的输入到密码算法的数据是64位制造商代码和编码器序列号。
制造商代码由系统制造商选取,是系统安全的关键部分需要小心妥善的保管。
16位同步计数值是基于每次发送代码的改变而产生的,每次按键按下都会更新其数值。
由于复杂的滚动码算法一位同步计数值的改变将导致实际发送编码的巨大改变。
编码器EEPROM关键值的使用方法如图3-2所示
图3-2
一旦编码器检测到按键按下,就会记录按键信息同时更新同步计数值。
同步计数值与加密密钥通过加密算法形成32位加密数据,每次按键按下该数据都会改变,因此称之为滚动码编码。
32位加密数据与序列号和按键信息组合成发射信号发送给接收机。
接收机可能使用任何一种微控制器,但是其典型应用硬件应能保证基于HCS301的发射机与接收器协同工作。
在接收器使用发射机之前必须进行学习。
通过学习,信息将存储到接收器,发射机就与接收器匹配了。
当接收器接收到有效格式的信号,将检查序列号,如果是来自学习了的发射机,就会翻译信息同时也翻译同步计数值进行核对,如果同步计数值核实无误,按键信号有效并产生对应的操作。
图3-3显示存储值与接收值之间的关系。
图3-3
4.装置操作:
图4-1所示为HCS301典型应用电路。
HCS301使用起来非常方便,作为发射机仅需外加按键和RF电路。
当VDD>9V驱动小电容负载时,应该串连50Ω小电阻R到电源以防止PWM超调。
,
图4-1
适当的使用二极管能组合出多达15种控制功能的电路,推荐使用电阻R进行限流。
表4-1所示为其管脚描述
名称
管脚号
描述
S0
1
开关输入0
S1
2
开关输入1
S2
3
开关输入2、编程模式时为时钟管脚
S3
4
开关输入3、编程模式时为时钟管脚
VSS
5
地
PWM
6
PWM输出、编程模式时为数据管脚
7
接LED负极,发射时直接驱动led
VDD
8
电源
表4-1
HCS301高安全性是基于KeeLoQ专利技术。
使用64位长密码和32位块加密,这种加密方式使信息更加复杂。
假如发送的信息(译码之前)与之前发送的信息相差一位,后续编码传输将完全不同。
在统计学上,32位信息中的1位改变了,大约有50%的发射编码将改变。
检测到开关信号HCS301将唤醒,然后延迟10ms来防按键抖动。
图4-2所示。
同步信息,固定信息及开关信息加密后组成滚动码,即使是同一按键按下每次发出的滚动码都不一样。
发送在64000次之内不会出现重复编码,按照一天10次的使用频率来计算同一编码18年内不会出现重复。
编码器溢出信息可以被解码器用来扩展独一无二的发送次数达192000次。
假如在传输过程中检测到新的按键按下,芯片就立即强迫复位,不会完成编码。
请注意除非有按键释放否则按键切换对编码没任何影响。
按键释放完成编码然后进入睡眠模式
图4-2
5.EEPROM结构:
HCS301的EEPROM容量为192位(12个16位字节)。
表5-1为其结构。
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
EN_KEY
16位密封码
11
CONFIG
配置字
表5-1
①:
序列号最高位包含一位用来选择自动关断计数器
以下为其详细说明
5.1KEY_0~KEY_3(64位加密密钥)
64位加密密钥用于把信息加密发送给接收器,该密钥在制作过程中通过密码算法产生并烧录到EEPROM,该算法与KeeLoQ不同,输入到该算法的数据是序列号和64位制造商代码。
微芯提供给使用者一开始的密钥算法为典型的算法,使用者可以根据自己的想法来改变算法,采用同样的想法来解密就可以做译码器。
5.2SYNC(同步计数值)
16位同步计数值用来产生发射时的滚动码,每次发射之后都会改变。
5.3SER_0,SER_1(编码器序列号)
SER_0和SER_1分别是序列号的低和高字节,虽然有32位,但是只有低28才被发送。
每个发射机的的序列号都是唯一的。
最高位31位是序列号最重要的位它控制着自动关断定时器的开和关。
该定时器可以防止某一按键陷入持续闭合而导致的电源枯竭。
定时时常大约为25秒,超过该时间设备进入暂停模式,暂停模式下即使某些电路任然激活,设备会停止发射数据,暂停模式下电流消耗要大于待机模式。
假如序列号最高有效位为1,那么自动关断定时器使能,如果为0则关闭定时器。
定时时长是不可选择的。
5.4SEED_0,SEED_1(种子字)
如果所有的按钮被同时按下,那么将发送2字(32位)的种子编码。
这使得系统设计人员能够实现安全学习特性或使用这一固定的编码字作为另一个密钥生成的一部分或用于跟踪过程。
5.5EN_KEY(密封加密密钥)
发射编码过程可选择性的把密封加密包含进去,通过设置配置字适当的位来完成对其选择性。
通常序列号和功能代码以明码的(不加密)方式发送出去,系统设计者可能选择此项增加安全等级。
假如该项被选择,那么密封加密密钥将对序列号和功能代码进行加密,并且加密算法与之前的密钥产生算法及发射加密算法均不同。
对所有的发射机来说在一个系统里,EN_KEY一个随机数.
5.6配置字
配置字是存储在EEPROM阵列中的16位字,器件使用它来存储加密过程中使用的信息以及选项配置状态。
后面的章节详细描述了这些位
位编号
位说明
0
识别位0
1
识别位1
2
识别位2
3
识别位3
4
识别位4
5
识别位5
6
识别位6
7
识别位7
8
识别位8
9
识别位9
10
溢出位0(OVR0)
11
溢出位1(OVR1)
12
低电压跳变点选择位(VLOWSEL)
13
波特率选择位0(BSL0)
14
波特率选择位1(BSL1)
15
密封加密选择(EENC
表5-2
5.6.1识别值(DISC0至DISC9)
识别值可帮助解码器执行解密后的检查。
识别值可以是任何值,但在典型系统中会被编程为序列号的10个低位或固定值。
在学习后该值会被接收器储存。
它是发送信息加密部分的的一部分。
在接收器解密后,对照接收器中存储的值检查识别位,校验解密过程是否有效。
溢出位用于延长可能的同步计数值的位数。
同步计数器为16位长,在周期重复之前,可计数65,536个值。
在典型的一天进行10次操作的情况下,该计数器可以确保在将近18年的时间内不会使用重复值。
如果系统设计人员仍然认为这一数值不够用的话,那么就可使用溢出位扩大惟一值的数值。
通过在生产过程中将OVR0和OVR1编程为1可做到这一点。
编码器在同步计数值第一次从0xFFFF返回至0x0000时,自动清零OVR0位,而在同步计数器第2次计满返回时,清零OVR1位。
一旦被清零,OVR0和OVR1就不能被再次置1,因此创建了一个计数器溢出的永久记录。
这样避免了64K计数器的快速重复。
如果将解码器系统编程为跟踪溢出位,那么惟一同步计数值的有效数值将被扩展为196,608。
如果该位置1那么16位密封密钥用密封算法将对序列号和功能码进行加密
5.6.4波特率选择位(BSL0和BSL1)
BSL0和BSL1选择发送的速率和在编码字间插入空白的方式。
。
表5-3显示的是用该位选择不同波特率的方式
BSL1
BSL0
脉冲基本要素
发送的编码字
0
0
400μs
所有
0
1
200μs
2个编码字中的一个
1
0
100μs
2个编码字中的一个
1
1
100μs
4个编码字中的一个
表5-3
5.6.5低电压跳变点选择位(VLOWSEL)
低电压跳变点选择位用于告知HCS301正在使用什么VDD电平。
器件使用这一信息决定何时向接收器发送电压低信号。
当该位置1时,器件工作在9V或12VVDD电
平下。
当该位清零时,VDD电平为6V。
VLOW=1上限VLOW=0下限,下图所示为其特性曲线
6.发送的字:
6.1编码字格式
HCS301编码字由几部分组成(见图6-1)。
每个编码字都以一个前导符、一个数据头开始然后是加密数据和固定数据,实际编码字为66位其中32位加密数据和34位固定数据,并在开始另一个编码字之前还跟有一个防护周期。
时间要求见表10-4
图6-1
加密部分提供多达40亿种不同组合。
固定部分与加密部分更是能组合出多达7.38×1019种编码。
6.2同步传输模式
同步传输模式通常用外部时钟发送编码字。
要进入同步传输模式必须按照图6-2时序来启动编程模式
图6-2
只要S1或S0中有一个在S2(或S3)的下降沿置1,器件就会进入同步发送模式。
在该模式下,除了PWM数据串时序由外部时钟控制以及在编码字的末尾还要发送16个额外的位以外,它的功能与普通发送器一样。
按钮编码将为S2或S3下降沿时的S0和S1值。
在S2或S3上提供时钟(不超过20kHz)实现对PWM数据串的定时控制。
该编码字与PWM模式下相同,在字的末尾有16个保留位。
保留位可以被忽略。
当处于同步发送模式时,S2或S3的状态不能翻转直到所有的内部处理完成,如图6-3所示。
图6-3
6.3编码字组成
当有按钮按下时,HCS301会发送一个66位的编码字。
这一66位的字由固定编码部分和加密编码部分组成(见图6-4)。
图6-4
32位的加密数据是由4个按钮位、2计数溢出位、10识别位和16个同步计数值位生成的。
34位固定码数据是由2个状态位、4个按钮位和28位的序列号组成的。
4按钮位和28位序列号有可能使用密封密钥进行加密。
7.特殊功能:
7.1编码字完成
编码字完成功能确保成功发送整个编码字,即便按钮在编码字完成之前松开也是如此。
如果按下按钮的时间超过了一个编码字的时间,将会发送多个编码字。
如果在发送过程中激活另一个按钮,当前发送将会被中止,而将使用新按钮信息开始新的发送。
7.2空白交替编码字
美国联邦通讯委员会(FCC)条例第15部分规定了对最差条件下100ms时间内的基本平均功率和能被发送的谐波的限制。
为了获得FCC的认可,因此最好使用最小的发送占空比。
可以通过最小化每个位的占空比和在相邻编码字中插入空白完成。
空白交替编码字(BACW)发送间隔编码字,从而降低了发送的平均功率(见图7-1)。
图7-1
这是一个可选的功能,它也是由波特率选择位BSL1和BSL0决定的(在选择波特率的同时选择该功能)。
使能BACW选项降低了一定时间内的平均功率,因此允许用户发送更高幅值的信号。
对于一次给定的发送,BACW能有效地将RF传输的时间减半,因此当保持一定时间内的平均输出功率不变时,理论上RF的输出功率将加倍。
7.3密封加密选项
可以选择密封加密选项来使发送码更加安全,没使用该选项时序列号和功能码是以明码形式发送,如果使用该选项发送前将会对其加密处理。
加密序列号的算法不同与发送加密算法,该算法组合远没有KeeLoQ算法复杂。
使用密封加密时密封密钥会对序列号进行加密,接收器接收到之后会对其进行相应解密。
7.4安全学习
可以利用HCS301按键全部按下时发送EEPROM中储存的种子值来让主机使用安全学习功能从而增加系统安全性。
此时种子值代替原先的32位加密码。
表7-1为按键与种子值关系。
标记①:
发送32位滚动码
标记②:
发送32位种子值
S3
S2
S1
S0
标记
1
0
0
0
0
①
2
0
0
1
0
3
0
0
1
1
4
0
1
0
0
5
0
1
0
1
6
0
1
1
0
7
0
1
1
1
8
1
0
0
0
9
1
0
0
1
10
1
0
1
0
11
1
0
1
1
12
1
1
0
0
13
1
1
0
1
14
1
1
1
0
15
1
1
1
1
②
表7-1
7.5自动关闭
如果无意中长按按钮不放,那么自动关闭功能就会自动停止器件发送。
当发送器被装在口袋或皮包中时某个按钮被持续按住,那么自动关闭功能将防止器件耗尽电池。
通过置1或清零自动关闭位可以选择使能或禁止该功能(见第5.3节)。
将该位置1将使能该功能(打开自动关闭功能),而将该位清零将禁止该功能。
超时周期约为25秒。
7.6VLOW:
电压低指示位
发射机每次发送都包含VLOW位并且当工作电压低于低电压跳变点时,该位被作为1发送。
根据使用的电池电压可以选择跳变点。
欲知有关如何配置低电压跳变点的说明,请参见第5.6.5节。
发送VLOW信号,从而使接收器能通知用户发送器的电池电量低。
7.7RPT:
重复指示位
发送第一个字时,该位为低电平。
如果按下按钮的时间超过了一个编码字的时间,那么该位将置1以指示一个重复的编码字,并将保持置1状态直到按钮被松开。
7.8
输出操作
在正常发送过程中,LED输出为低电平。
如果供电电压低于低电压跳变点,那么在发送过程中LED输出将以将约5Hz的频率交替翻转,LED限流电阻有两种标定值可选择。
8.对HCS301编程
采用HCS301的系统在使用前,用户要先将包括序列号和密钥在内的一些参数写入器件。
编程周期允许用户以一个串行数据流输入全部192位,然后将其存储到EEPROM中。
在S3线保持适当时间的高电平后,通过强制PWM线为高电平来启动编程(见表8-1和图8-1)。
图8-1
VDD=5.0±10%25℃±5%
参数
符号
最小
最大
单位
编程模式建立时间
TPS
3.5
4.5
ms
保持时间1
TPH1
3.5
-
ms
保持时间2
TPH2
50
-
μs
批量写时间
TPBW
-
2.2
ms
编程延时时间
TPROG
-
2.2
ms
编程周期
TWC
-
36
ms
时钟低电平时间
TCLKL
25
-
μs
时钟高电平时间
TCLKH
25
-
μs
数据建立时间
TDS
0
-
μs
数据保持时间
TDH
18
-
μs
数据输出有效时间
TDV
10
24
μs
表8-1
在进入编程模式后,必须为器件提供一段延时,以使自动批量写周期得以完成。
这会将EEPROM中的所有单元清零。
然后可以将S3用作时钟线并将PWM引脚用作数据输入线,可每次写入16位为器件编程。
在装载了每个16位字后,需要一个编程延时,以等待内部编程周期完成。
此延时最多需要TWC的时间。
在编程周期结束时,可通过回读EEPROM校验器件(见图8-2)。
通过以S3为时钟,读取PWM上的数据位完成读操作。
出于安全的原因,在没有首先编程EEPROM的情况下,无法执行校验功能。
校验操作只能紧接着编程周期执行一次。
图8-2
注:
为确保器件不会意外进入编程模式,绝不能使与PWM引脚相连的电路将其拉高。
在
驱动PNPRF晶体管时要特别小心。
9.将HCS301集成到系统
在系统中使用HCS301需要一个兼容的解码器。
该解码器通常是一个带有兼容固件的单片机。
Microchip将通过许可协议提供一款固件程序,以接受来自HCS301的发送并将数据流的滚动码部分破译。
这些程序为系统设计人员提供了开发解码系统的方法。
9.1使接收器学习发射器
在允许系统使用发送器之前,发送器必须首先被接收器学习。
有几种学习策略,图9-1详细说明了典型的学习方式。
每种策略的核心都在于解码器必须至少将每个学习过的发送器的序列号和当前的同步计数值保存在EEPROM中。
此外,通常解码器还会存储每个发送器的惟一密钥。
可学习的发送器的最大数量与可用的EEPROM空间有关。
要学习发射机接收器必须储存制造商代码,虽然在典型的系统中该代码不会改变。
因此在通常情况下微控制器ROM代码包含制造商代码,这也增强系统安全性。
某些学习策略已获得了专利,请注意不要侵权。
图9-1
9.2解码器操作
在典型的解码器操作中(图9-2),解码器这边的密钥算法采用接收的序列号和制造商代码进行比较来产生的与发射机发射时使用的相同密钥。
一旦获得密钥接下来的传输将被解码。
解码器获得发射信号并立即通过核对序列号来判断是否是学习过的发射机。
如果是,解码器将获取编码然后通过存储的密钥进行解码并通过识别码决定解码是否有效,如果解密有效,将对同步计数值进行评估。
图9-2
9.3解码器同步
KEELOQ技术的专利范围包括一种复杂的同步技术(图9-3),这一技术无需计算和存储将来的编码。
图9-3
它安全地阻止了无效的发送,同时当远离接收器的发送器被无意激活时,还提供了让其透明重新同步的功能。
从当前存储的计数值开始向前有一个长度为16个编码的“单操作”窗口。
如果接收到的同步计数值和上一次存储的计数值之差小于16,那么当按下一个按钮时,将执行所需的功能并存储新的同步计数值。
存储新的同步计数值实际上就是将整个同步窗口旋转了一下。
“双操作”(重新同步)窗口从单操作窗口开始,直到从存储的计数值为起点向前的第32K个编码。
这一部分被称为“双操作”是因为,同步计数值处于该窗口范围内的发送需要先有一个额外的、计数值与前次连续的发送后,才能执行所需的功能。
一旦接收到连续的发送,解码器就将执行所需的操作并存储同步计数值。
重新同步的过程对于用户来说是透明的,因为当第一次发送失败后,人们自然会再一次按下按钮。
第3个窗口是“阻止窗口”,其范围从双操作窗口到当前存储的同步计数值。
任何同步计数值处于该窗口的发送都将被忽略。
该窗口阻止了前面已使用过的,有可能编码被截获的发送访问系统。
注:
本节描述的同步方式只是一种典型的实现过程,由于通常同步是在固件中实现的,因
此可以通过修改以适合特定系统的需要
10.电气特性
符号
含义
额定值
单位
VDD
供电电压-
-0.3至13.3
V
VIN
输入电压
-0.3至13.3
V
VOUT
输出电压
-0.3至VDD+0.3
V
IOUT
最大输出电流
25
mA
TSTG
储存温度
-55至+125
°C(注)
TLSOL
铅焊接温度
300
°C(注)
VESD
ESD额定值
4000
V
注:
如果运行条件超出上述“绝对最大值”可能会对器件造成永久性损坏。
表10-1最大值
商业级(C):
Tamb=0°C至+70°C
工业级(I):
Tamb=-40°C至+85°C
3.5V 参数 符号 最小值 典型值 最大值 单位 条件 平均电流 ICC 0.6 1.5 8.0 1.0 3.0 12.0 mA VDD=3.5V VDD=6.6V VDD=13.0V 待机电流 ICCS 1 10 μA 高电平输入电压 VIH 0.4VDD VDD+0.3 V 低电平输入电压 VIL -0.3 0.15VDD V 高电平输出电压 VOH 0.5VDD V IOH=-2mA 低电平输出电压 VOL 0.08VDD V IOL=2mA 灌电流 ILED 3.5 2.7 4.7 3.7 5.9 4.6 mA VDD=6.6V,Vlow=0 VDD=13.0V,Vlow=1 S0-S3下拉电阻 RS 40 60 80 KΩ VIN=4.0V PWM下拉电阻 RPWM 80 120 160 KΩ VIN=4.0V 25℃时典型值 表10-2直流特性 外接电阻下ICC典型电流值如图10-1其中 ——————为典型值 ———为最大值 — ————为最小值 图10-1 上电和发送时序图10-2 图10-2 发送时间要求,表10-3 VDD=+3.5~13.0V商业级(C): Tamb=0°C至+70°C工业级(I): Tamb=-40°C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HCS301 中文 文档