HCS370
K
EE
L
OQ®
Code Hopping Encoder
FEATURES
Security
•
•
•
•
•
•
•
Two programmable 32-bit serial numbers
Two programmable 64-bit encoder keys
Two programmable 60-bit seed values
Each transmission is unique
67/69-bit transmission code length
32-bit hopping code
Crypt keys are read protected
PACKAGE TYPES
PDIP, SOIC,
TSSOP
S0
S1
S2
S3
S4
SLEEP/S5
SHIFT
1
2
3
4
5
6
7
14
13
12
11
10
9
8
V
DD
LED
DATA
Vss
RFEN
STEP
V
IN
HCS370
Operating
•
•
•
•
•
•
•
•
•
•
2.05-5.5V operation
Six button inputs
15 functions available
Four selectable baud rates
Selectable minimum code word completion
Battery low signal transmitted to receiver
Nonvolatile synchronization data
PWM, VPWM, PPM, and Manchester modulation
Button queue information transmitted
Dual Encoder functionality
HCS370 BLOCK DIAGRAM
Step-up
STEP regulator
V
IN
Oscillator
RESET circuit
LED driver
RF Enable
Controller
Power SLEEP
latching
and
switching
LED
RFEN
EEPROM
Encoder
DATA
32-bit SHIFT register
Other
• On-chip EEPROM
• On-chip tuned oscillator (±10% over voltage and
temperature)
• Button inputs have internal pull-down resistors
• LED output
• PLL control for ASK and FSK
• Low external component count
• Step-up voltage regulator
V
SS
V
DD
SHIFT
S5
S4
S3
S2
S
1
S
0
Button input port
GENERAL DESCRIPTION
The HCS370 is a code hopping encoder designed for
secure Remote Keyless Entry (RKE) and secure
remote control systems. The HCS370 utilizes the
K
EE
L
OQ ®
code hopping technology, which incorpo-
rates high security, a small package outline, and low
cost to make this device a perfect solution for unidirec-
tional authentication systems and access control sys-
tems.
The HCS370 combines a hopping code generated by a
nonlinear encryption algorithm, a serial number, and
status bits to create a secure transmission code. The
length of the transmission eliminates the threat of code
scanning and code grabbing access techniques.
Typical Applications
The HCS370 is ideal for Remote Keyless Entry (RKE)
applications. These applications include:
•
•
•
•
•
•
Automotive RKE systems
Automotive alarm systems
Automotive immobilizers
Gate and garage door openers
Identity tokens
Burglar alarm systems
2002 Microchip Technology Inc.
Preliminary
DS41111D-page 1
HCS370
The crypt key, serial number, and configuration data
are stored in an EEPROM array which is not accessible
via any external connection. The EEPROM data is pro-
grammable but read protected. The data can be veri-
fied only after an automatic erase and programming
operation. This protects against attempts to gain
access to keys or manipulate synchronization values.
In addition, the HCS370 supports a dual encoder. This
allows two manufacturers to use the same device with-
out having to use the same manufacturer’s code in
each of the encoders. The HCS370 provides an easy
to use serial interface for programming the necessary
keys, system parameters, and configuration data.
-
Simple Learning
The receiver uses a fixed crypt key. The crypt
key is common to every component used by
the same manufacturer.
-
Normal Learning
The receiver derives a crypt key from the
encoder serial number. Every transmitter has
a unique crypt key.
-
Secure Learning
The receiver derives a crypt key from the
encoder seed value. Every encoder has a
unique seed value that is only transmitted by
a special button combination.
•
Manufacturer’s Code
– A unique and secret 64-
bit number used to derive crypt keys. Each
encoder is programmed with a crypt key that is a
function of the manufacturer’s code. Each
decoder is programmed with the manufacturer
code itself.
The HCS370 code hopping encoder is designed specif-
ically for keyless entry systems. In particular, typical
applications include vehicles and home garage door
openers. The encoder portion of a keyless entry sys-
tem is integrated into a transmitter carried by the user.
The transmitter is operated to gain access to a vehicle
or restricted area. The HCS370 is meant to be a cost-
effective yet secure solution to such systems requiring
very few external components (Figure 2-1).
Most low end keyless entry transmitters are given a
fixed identification code that is transmitted every time a
button is pushed. The number of unique identification
codes in a low end system is usually a relatively small
number. These shortcomings provide an opportunity
for a sophisticated thief to create a device that ‘grabs’
a transmission and retransmits it later or a device that
quickly ‘scans’ all possible identification codes until the
correct one is found.
The HCS370, on the other hand, employs the K
EE
L
OQ
code hopping technology coupled with a transmission
length of 67 bits to virtually eliminate the use of code
‘grabbing’ or code ‘scanning’. The high security level of
the HCS370 is based on the patented K
EE
L
OQ
technol-
ogy. A block cipher based on a block length of 32 bits
and a key length of 64 bits is used. The algorithm
obscures the information in such a way that if a single
hopping code data bit changes (before encryption), sta-
tistically more than 50% of the encrypted data bits will
change.
1.0
SYSTEM OVERVIEW
Key Terms
The following is a list of key terms used throughout this
data sheet. For additional information on K
EE
L
OQ
and
code hopping, refer to Technical Brief (TB003).
•
RKE
- Remote Keyless Entry
•
Button Status
- Indicates what button input(s)
activated the transmission. Encompasses the 6
button status bits S5, S4, S3, S2, S1 and S0
(Figure 3-2).
•
Code Hopping
- A method by which a code,
viewed externally to the system, appears to
change unpredictably each time it is transmitted.
•
Code Word
- A block of data that is repeatedly
transmitted upon button activation (Figure 3-2).
•
Transmission
- A data stream consisting of
repeating code words (Figure 4-1).
•
Crypt Key
- A unique and secret 64-bit number
used to encrypt and decrypt data. In a symmetri-
cal block cipher such as the K
EE
L
OQ
algorithm,
the encryption and decryption keys are equal and
will therefore be referred to generally as the crypt
key.
•
Encoder
- A device that generates and encodes
data.
•
Encryption Algorithm
- A recipe whereby data is
scrambled using a crypt key. The data can only be
interpreted by the respective decryption algorithm
using the same crypt key.
•
Decoder
- A device that decodes data received
from an encoder (i.e., HCS5XX).
•
Decryption Algorithm
- A recipe whereby data
scrambled by an encryption algorithm can be
unscrambled using the same crypt key.
•
Learn
– Learning involves the receiver calculating
the transmitter’s appropriate crypt key, decrypting
the received hopping code and storing the serial
number, synchronization counter value, and crypt
key in EEPROM. The K
EE
L
OQ
product family facil-
itates several learning strategies to be imple-
mented on the decoder. The following are
examples of what can be done.
DS41111D-page 2
Preliminary
2002 Microchip Technology Inc.
HCS370
As indicated in the block diagram on page one, the
HCS370 has a small EEPROM array which must be
loaded with several parameters before use; most often
programmed by the manufacturer at the time of produc-
tion. The most important of these are:
• A serial number, typically unique for every
encoder
• A crypt key
• An initial synchronization value
The crypt key generation typically inputs the transmitter
serial number and 64-bit manufacturer’s code into the
key generation algorithm (Figure 1-1). The manufac-
turer’s code is chosen by the system manufacturer and
must be carefully controlled as it is a pivotal part of the
overall system security.
FIGURE 1-1:
Production
Programmer
CREATION AND STORAGE OF CRYPT KEY DURING PRODUCTION
HCS370
EEPROM Array
Serial Number
Crypt Key
Sync Counter
Transmitter
Serial Number
Manufacturer’s
Code
Key
Generation
Algorithm
Crypt
Key
.
.
.
The synchronization counter is the basis behind the
transmitted code word changing for each transmission;
it increments each time a button is pressed. Each incre-
ment of the synchronization value results in more than
50% of the hopping code bits changing.
Figure 1-2 shows how the key values in EEPROM are
used in the encoder. Once the encoder detects a button
press, it reads the button inputs and updates the syn-
chronization counter. The synchronization counter and
crypt key are input to the encryption algorithm and the
output is 32 bits of encrypted information. This data will
change with every button press while its value will
appear to ‘randomly hop around’. Hence, this data is
referred to as the hopping portion of the code word.
The 32-bit hopping code is combined with the button
information and serial number to form the code word
transmitted to the receiver. The code word format is
explained in greater detail in Section 4.1.
A receiver may use any type of controller as a decoder.
Typically, it is a microcontroller with compatible firm-
ware that allows the decoder to operate in conjunction
with an HCS370 based transmitter.
A transmitter must first be ‘learned’ by the receiver
before its use is allowed in the system. Learning
includes calculating the transmitter’s appropriate crypt
key, decrypting the received hopping code, storing the
serial number, storing the synchronization counter
value, and storing crypt key in EEPROM.
In normal operation, each received message of valid
format is evaluated. The serial number is used to deter-
mine if it is from a learned transmitter. If the serial num-
ber is from a learned transmitter, the message is
decrypted and the synchronization counter is verified.
Finally, the button status is checked to see what opera-
tion is requested. Figure 1-3 shows the relationship
between some of the values stored by the receiver and
the values received from the transmitter.
For detailed decoder operation, see Section 7.0.
2002 Microchip Technology Inc.
Preliminary
DS41111D-page 3
HCS370
FIGURE 1-2:
EEPROM Array
Crypt Key
Sync Counter
Serial Number
BUILDING THE TRANSMITTED CODE WORD (ENCODER)
K
EE
L
OQ
Encryption
Algorithm
Button Press
Information
Serial Number
32 Bits
Encrypted Data
Transmitted Information
FIGURE 1-3:
BASIC OPERATION OF RECEIVER (DECODER)
1 Received Information
EEPROM Array
Button Press
Information
Serial Number
32 Bits of
Encrypted Data
Manufacturer Code
2
Check for
Match
B0
B1
Serial Number
Sync Counter
Crypt Key
3
K
EE
L
OQ
Decryption
Algorithm
Decrypted
Synchronization
Counter
Perform Function
5 Indicated by
button press
Verify
4 Counter
NOTE:
Circled numbers indicate the order of execution.
DS41111D-page 4
Preliminary
2002 Microchip Technology Inc.
HCS370
2.0
DEVICE DESCRIPTION
FIGURE 2-1:
Figure 2-1(A)
V
DD
TYPICAL CIRCUITS
As shown in the typical application circuits (Figure 2-1),
the HCS370 is an easy device to use. It requires only
the addition of buttons and RF circuitry for use as the
encoder in your security application. A description of
each pin is described in Table 2-1. Refer to Figure 2-3
for information on the I/O pins.
Note:
S0-S5 and SHIFT inputs have pull-down
resistors. V
IN
should be tied high if the
step-up regulator is not used.
R
LED
B0
B1
B2
B3
S0
S1
S2
S3
S4
S5
SHIFT
V
DD
LED
Tx out
DATA
V
SS
RFEN
STEP
V
IN
V
DD
E
NABLE
RF PLL
D
ATA
I
N
TABLE 2-1:
Name
S0
S1
S2
S3
S4
S5/SLEEP
SHIFT
V
IN
STEP
RFEN
V
SS
DATA
LED
V
DD
PIN DESCRIPTIONS
Pin
Number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Description
Switch input S0
Switch input S1
Switch input S2
Switch input S3
Switch input S4
Switch input S5, or SLEEP
output
SHIFT input
B4
B5
Six Button remote with PLL control
Figure 2-1(B)
2.05-5.5V
330
µH
S0
V
DD
LED
DATA
V
SS
RFEN
STEP
V
IN
2.2 k
Ω
1000 pF
2N3904
Tx out
C
OUT
22
µF
33k
Ω
10k
Ω
1N4148
6V@1 mA
Step-up regulator input
Step-up pulses output
RF enable output
Ground reference
Transmission output pin
Open drain output for LED
with pull-up resistor
Positive supply voltage
S1
S2
S3
S4
SLEEP
SHIFT
Two Button remote with Step-up circuit
The HCS370 will normally be in a low power SLEEP
mode. When a button input is taken high, the device will
wake-up, start the step-up regulator, and go through
the button debounce delay of T
DB
before the button
code is latched. In addition, the device will then read
the configuration options. Depending on the configura-
tion options and the button code, the device will deter-
mine what the data and modulation format will be for
the transmission. The transmission will consist of a
stream of code words and will be transmitted T
PU
after
the button is pressed for as long as the buttons are held
down or until a time-out occurs. The code word format
can be either a code hopping format or a seed format.
The time-out time can be selected with the Time-out
Select (TSEL) configuration option. This option allows
the time-out to be set to 0.8s, 3.2s, 12.8s, or 25.6s.
When a time-out occurs, the device will go into SLEEP
mode to protect the battery from draining when a button
gets stuck. This option must be chosen to meet maxi-
mum transmission length regulatory limits which vary
by country.
Note:
Using SLEEP output low instead of grounding the resistor
divider reduces battery drain between transmissions
Figure 2-1(C)
V
DD
Tx2
Tx1
R
LED
S0
S1
S2
S3
S4
S5
SHIFT
V
DD
LED
DATA
V
SS
RFEN
STEP
V
IN
V
DD
Tx out
DUAL Transmitter remote control
2002 Microchip Technology Inc.
Preliminary
DS41111D-page 5