MICROCHIP HCS365

HCS365
KEELOQ® Code Hopping Encoder
FEATURES
PACKAGE TYPES
PDIP, SOIC
Security
Two programmable 32-bit serial numbers
Two programmable 64-bit crypt 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
S2
3
S3/SHIFT/
RFEN
4
7
LED
6
DATA
5
Vss
Power
latching
and
switching
Controller
RESET circuit
LED
LED driver
EEPROM
DATA
Encoder
32-bit SHIFT register
VSS
Button input port
S3/SHIFT S2 S1 S0
RFEN
GENERAL DESCRIPTION
Typical Applications
The HCS365 is ideal for Remote Keyless Entry (RKE)
applications. These applications include:
 2002 Microchip Technology Inc.
2
VDD
VDD
• 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
Automotive RKE systems
Automotive alarm systems
Automotive immobilizers
Gate and garage door openers
Identity tokens
Burglar alarm systems
S1
8
Oscillator
2.05-5.5V operation
Four 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
Other
•
•
•
•
•
•
1
HCS365 BLOCK DIAGRAM
Operating
•
•
•
•
•
•
•
•
•
•
S0
HCS365
•
•
•
•
•
•
•
The HCS365 is a code hopping encoder designed for
secure Remote Keyless Entry (RKE) and secure
remote control systems. The HCS365 utilizes the
KEELOQ ® code hopping technology, which incorporates high security, a small package outline, and low
cost to make this device a perfect solution for unidirectional authentication systems and access control systems.
The HCS365 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.
Preliminary
DS41109D-page 1
HCS365
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 programmable but read protected. The data can be verified only after an automatic erase and programming
operation. This protects against attempts to gain
access to keys or manipulate synchronization values.
In addition, the HCS365 supports a dual encoder. This
allows two manufacturers to use the same device without having to use the same manufacturer’s code in
each of the encoders. The HCS365 provides an easy
to use serial interface for programming the necessary
keys, system parameters, and configuration data.
1.0
SYSTEM OVERVIEW
Key Terms
The following is a list of key terms used throughout this
data sheet. For additional information on KEELOQ and
code hopping, refer to Technical Brief (TB003).
• RKE - Remote Keyless Entry
• Button Status - Indicates what button input(s)
activated the transmission. Encompasses the 4
button status bits 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 symmetrical block cipher such as the KEELOQ 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 KEELOQ product family facilitates several learning strategies to be implemented on the decoder. The following are
examples of what can be done.
DS41109D-page 2
- 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 64bit 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 HCS365 code hopping encoder is designed specifically for keyless entry systems. In particular, typical
applications include vehicles and home garage door
openers. The encoder portion of a keyless entry system is integrated into a transmitter carried by the user.
The transmitter is operated to gain access to a vehicle
or restricted area. The HCS365 is meant to be a costeffective 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 HCS365, on the other hand, employs the KEELOQ
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 HCS365 is based on the patented KEELOQ technology. 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), statistically more than 50% of the encrypted data bits will
change.
Preliminary
 2002 Microchip Technology Inc.
HCS365
As indicated in the block diagram on page one, the
HCS365 has a small EEPROM array which must be
loaded with several parameters before use; most often
programmed by the manufacturer at the time of production. The most important of these are:
• A serial number, typically unique for every
encoder
• A crypt key
• An initial synchronization value
FIGURE 1-1:
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 manufacturer’s code is chosen by the system manufacturer and
must be carefully controlled as it is a pivotal part of the
overall system security.
CREATION AND STORAGE OF CRYPT KEY DURING PRODUCTION
Production
Programmer
HCS365
Transmitter
Serial Number
EEPROM Array
Serial Number
Crypt Key
Sync Counter
Manufacturer’s
Code
Key
Generation
Algorithm
Crypt
Key
The valid synchronization counter is the basis behind
the transmitted code word changing for each transmission; it increments each time a button is pressed. Each
increment 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 synchronization 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.
.
.
.
In normal operation, each received message of valid
format is evaluated. The serial number is used to determine if it is from a learned transmitter. If the serial number is from a learned transmitter, the message is
decrypted and the synchronization counter is verified.
Finally, the button status is checked to see what operation 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.
A receiver may use any type of controller as a decoder.
Typically, it is a microcontroller with compatible firmware that allows the decoder to operate in conjunction
with an HCS365 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.
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 3
HCS365
FIGURE 1-2:
BUILDING THE TRANSMITTED CODE WORD (ENCODER)
EEPROM Array
KEELOQ
Encryption
Algorithm
Crypt Key
Sync Counter
Serial Number
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
2
32 Bits of
Encrypted Data
Check for
Match
Manufacturer Code
Serial Number
Sync Counter
Crypt Key
3
KEELOQ
Decryption
Algorithm
Decrypted
Synchronization
Counter
Verify
4 Counter
Perform Function
5 Indicated by
button press
NOTE: Circled numbers indicate the order of execution.
DS41109D-page 4
Preliminary
 2002 Microchip Technology Inc.
HCS365
2.0
DEVICE DESCRIPTION
As shown in the typical application circuits (Figure 2-1),
the HCS365 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-2
for information on the I/O pins.
Note:
S0-S3 inputs have pull-down resistors. VIN
should be tied high if the step-up regulator
is not used.
TABLE 2-1:
PIN DESCRIPTIONS
Name
Pin
Number
S0
1
Switch input 0
S1
2
Switch input 1
S2
3
Switch input 2
S3/
SHIFT/
RFEN
4
Switch input 3,
SHIFT button or
RF Enable output
VSS
5
Ground reference
DATA
6
Data output pin/
LED
7
Open drain output for LED
VDD
8
Positive supply voltage
Description
 2002 Microchip Technology Inc.
The HCS365 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 TDB before the button code is
latched. In addition, the device will then read the configuration options. Depending on the configuration
options and the button code, the device will determine
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 TPU 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.
If the device is in the transmit process and detects that
a new button is pressed, the current code word will be
aborted, a new code word will be transmitted and the
time-out counter will RESET. If all the buttons are
released, a minimum number of code words will still be
completed. The minimum code words can be set to 1,
2, 4, or 8 using the Minimum Code Words (MTX) configuration option. If the time for transmitting the minimum code words is longer than the time-out time, the
device will not complete the minimum code words.
Preliminary
DS41109D-page 5
HCS365
The HCS365 has an onboard nonvolatile EEPROM.
This EEPROM is used to store user programmable
data and the synchronization counter. The data is programmed at the time of production and includes the
security related information such as encoder keys,
serial numbers, discrimination values, and seed values. All the security related options are read protected.
The initial counter value is also programmed at the time
of production. From then on the device maintains the
counter itself. The HCS365 has built in redundancy for
protection and can recover from counter corruption.
FIGURE 2-1:
TYPICAL CIRCUITS
VDD
B0
S0
VDD
B1
S1
LED
B2
S2
DATA
The counter will not increment if the previous write was
corrupted by low voltage RESET or power failure during TPLL. Instead, the counter will revert back to the
previous count and the HCS370 will attempt to correct
the bad bits. This will continue on every button press
until the voltage increases and the counter is successfully corrected.
RF PLL
DATA IN
VSS
RFEN
ENABLE
Three buttons remote with PLL control
VDD
B4 B3 B2 B1 B0
S0
VDD
S1
LED
S2
DATA
S3
VSS
Tx out
Five buttons remote control (Note)
VDD
B1 B0
Tx2
Tx1
S0
VDD
S1
LED
S2
DATA
SHIFT
VSS
Tx out
DUAL Transmitter remote control
Note:
DS41109D-page 6
Preliminary
Up to 15 functions can be implemented by
pressing more than one button simultaneously or by using a suitable diode array.
 2002 Microchip Technology Inc.
HCS365
FIGURE 2-2:
I/O CIRCUITS
FIGURE 2-3:
BASIC FLOW DIAGRAM OF
THE DEVICE OPERATION
START
Figure 2-2(A)
S0, S1, S2
Inputs
Sample Buttons
ZIN
Get Config
Seed
TX?
Yes
Read
Seed
No
Increment
Counter
Figure 2-2(B)
VDD
Encrypt
PFET
DATA OUT
Transmit
DATA I/O
NFET
TimeOut
Yes
No
No
MTX
STOP
Figure 2-2(C)
Yes
VDD
No
Buttons
Yes
P
DATA, RFEN
STEP
Outputs
No
N
Seed
Time
No
No
Yes
Seed
Button
Yes
No
New
Buttons
Yes
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 7
HCS365
3.0
EEPROM ORGANIZATION
Enough consecutive 8-bit blocks are reserved for the
entire option size. Options such as SEED1, which
have a length that is not an exact multiple of 8 bits, is
stored right justified in the reserved space. Additional
smaller options such as SDBT1 may be stored in the
same address as the Most Significant bits.
A summary of the HCS370 EEPROM organization is
shown in the three tables below. The address column
shows the starting address of the option and its length
or bit position. Options larger than 8 bits are stored
with the Most Significant bits at the given address.
TABLE 3-1:
Symbol
ENCODER1 OPTIONS (SHIFT=0)
Reference
Section
Description(1)
Address16:Bits
KEY1
1E: 64 bits
Encoder Key
SEED1
14: 60 bits
Encoder Seed Value
3.2.2
3.3
SYNC1
00: 20 bits
00: 18 bits
Encoder Synchronization Counter (CNTSEL=1)
Encoder Synchronization Counter (CNTSEL=0) plus overflow
3.2, 3.2.1
SER1
10: 32 bits
Encoder Serial Number
3.2.2
DISC1
1C: 10 bits
Encoder Discrimination value
MSEL1
1C: ---- 32--
Transmission Modulation
Format
HSEL1
1C: ---4 ----
Header Select
XSER1
1C: --5- ----
Extended Serial Number
QUEN1
1C: -6-- ----
Queue counter Enable
STEN1
1C: 7--- ----
START/STOP Pulse
Enable
LEDBL1
3F: -6-- ----
Low Voltage LED Blink
(1)
LEDOS1
3F: 7--- ----
LED On Time Select
SDLM1
3C: ---- ---0
Limited Seed
SDMD1
3C: ---- --1-
Seed Mode
SDBT1
14: 7654 ----
Seed Button Code
SDTM1
3C: ---- 32--
Time Before Seed Code
Word(1)
BSEL1
GSEL1
3C: --54 ----
3C: 76-- ----
3.2, 3.2.1
Value2
00
PWM
01
Manchester
10
VPWM
4.1
11
PPM
4 TE = 0
10 TE = 1
4.1
28 bits = 0
32 bits = 1
3.2
Disable = 0
Enable = 1
5.5
Disable = 0
Enable = 1
4.1
Never = 0
Once = 1
5.3
5.3
50 ms = 0
100 ms = 1
Disable = 0
Enable = 1
3.3
User = 0
Production = 1
3.3
Value2
Time (s)
00
0.0
01
0.8
10
1.6
3.3
Transmission Baud Rate
Select(1)
Guard Time Select
Format
(1)
11
3.2
Value2
TE (µs)
00
100
01
200
10
400
11
800
Value2
Time (ms)
00
00
01
6.4
10
51.2
11
102.4
3.3
4.1
4.1, 5.2
Note 1: All Timing values vary ±10%.
DS41109D-page 8
Preliminary
 2002 Microchip Technology Inc.
HCS365
TABLE 3-2:
Symbol
ENCODER2 OPTIONS (SHIFT=1)
Reference
Section
Description(1)
Address16:Bits
KEY2
34: 64 bits
Encoder Key
3.2.1
SEED2
2A: 60 bits
Encoder Seed Value
3.3
SYNC2
08: 20 bits
08: 18 bits
Encoder Synchronization Counter (CNTSEL=1)
Encoder Synchronization Counter (CNTSEL=0) plus overflow
3.2,
3.2.1
SER2
26: 32 bits
Encoder Serial Number
3.2, 3.2.2
DISC2
32: 10 bits
Encoder Discrimination value
3.2, 3.2.1
MSEL2
32: ---- 32--
Transmission Modulation
Format
Value2
Format
00
PWM
01
Manchester
10
VPWM
4.1
11
PPM
4 TE = 0
10 TE = 1
4.1
28 bits = 0
32 bits = 1
3.2
Disable = 0
Enable = 1
5.5
Enable = 1
4.1
HSEL2
32: ---4 ----
Header Select
XSER2
32: --5- ----
Extended Serial Number
QUEN2
32: -6-- ----
Queue counter Enable
STEN2
32: 7--- ----
START/STOP Pulse
Enable
Disable = 0
LEDBL2
3D: -6-- ----
Low Voltage LED Blink
Never = 0
Once = 1
5.3
LEDOS2
3D: 7--- ----
LED On Time Select(1)
50 ms = 0
100 ms = 1
5.3
SDLM2
3E: ---- ---0
Limited Seed
Disable = 0
Enable = 1
3.3
SDMD2
3E: ---- --1-
Seed Mode
User = 0
Production = 1
3.3
SDBT2
2A: 7654 ----
Seed Button Code
SDTM2
3E: ---- 32--
Time Before Seed Code
word(1)
Value2
Time (s)
3.3
00
0.0
01
0.8
10
1.6
11
3.2
Value2
TE (µs)
00
100
01
200
10
400
BSEL2
GSEL2
3E: --54 ----
3E: 76-- ----
Transmission Baud Rate
Select(1)
Guard Time Select(1)
3.3
11
800
Value2
Time (ms)
00
2 TE
01
6.4
10
51.2
11
102.4
4.1
4.1, 5.2
Note 1: All Timing values vary ±10%.
2: Voltage thresholds are ±150 mV.
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 9
HCS365
TABLE 3-3:
Symbol
WAKE
DEVICE OPTIONS
3F: ---- --10
Reference
Section
Description(1)
Address16:Bits
Wake-up(1)
Value2
Value
00
No Wake-up
01
75 ms 50%
10
50 ms 33.3%
11
100 ms 16.7%
4.1
CNTSEL
3F: ---- -2--
Counter Select
16 bits = 0
20 bits = 1
3.2.1
VLOWL
3F: ---- 3---
Low Voltage Latch Enable
Disable = 0
Enable = 1
3.2.3.1
VLOWSEL
3F: ---4 ----
Low Voltage Trip Point Select(2)
2.2 V = 0
3.2V = 1
3.2.3.1
PLLSEL
3F: --5- ----
PLL Interface Select
ASK = 0
FSK = 1
5.2
MTX
3D: ---- --10
Minimum Code Words
Value2
Value
2.0
00
1
01
2
10
4
TSEL
3D: --54 ----
Time-out Select(1)
11
8
Value2
Time(s)
00
0.8
01
3.2
10
12.8
11
25.6
DUAL
3D:-----2--
Dual Encoder Enable
Disable = 0
Enable = 1
RFENO
3D: ----3---
RF Enable Output Select
Disable = 0
Enable = 1
2.0
Note 1: All Timing values vary ±10%.
2: Voltage thresholds are ±150 mV.
3.1
Dual Encoder Operation
The HCS365 contains two transmitter configurations
with separate serial numbers, encoder keys, discrimination values, counters, and seed values. This means
that the HCS365 can be used as two independent
encoders. The code word is calculated using one of two
possible encoder configurations. Most options for code
word and modulation formats can be different from
Encoder 1 and Encoder 2. However, LED and RF
transmitter options have to be the same. The SHIFT
input pin is used to select between the encoder configurations. A low on the SHIFT pin will select Encoder 1
and a high will select Encoder 2.
DS41109D-page 10
Preliminary
 2002 Microchip Technology Inc.
HCS365
3.2
Code Word Format
serial number. This will be stored by the receiver system after a transmitter has been learned. The discrimination bits are part of the information that is to form the
encrypted portion of the transmission.
A KEELOQ code word consists of 32 bits of hopping
code data, 32 bits of fixed code data, and between 3 to
5 bits of status information. Various code word formats
are shown in Figure 3-1 and Figure 3-2.
3.2.1
3.2.2
The 32 bits of fixed code consist of 28 bits of the serial
number (SER) and a copy of the 4-bit function code.
This can be changed to contain the whole 32-bit serial
number by setting the Extended Serial Number (XSER)
configuration option to a 1. If more than one button is
pressed, the function codes are logically OR’ed
together. The function code is repeated in the
encrypted and unencrypted data of a transmission.
HOPPING CODE PORTION
The hopping code portion is calculated by encrypting
the counter, discrimination value, and function code
with the Encoder Key (KEY). The hopping code is calculated when a button press is debounced and remains
unchanged until the next button press.
The counter can be either a 16- or 20-bit counter. The
Configuration Option Counter Select (CNTSEL) value
will determine this. The counter select option must be
the same for both Encoder 1 and Encoder 2. If the 16-bit
counter is selected, the discrimination value is 10 bits
long and there are 2 counter overflow bits (OVR0,
OVR1). Set both bits in production and OVR0 will be
cleared on the first counter overflow and OVR1 on the
second.
TABLE 3-4:
If the counter is 20 bits, the discrimination value is 8 bits
long and there are no overflow bits. The rest of the 32
bits are made up of the function code also known as the
button inputs.
FUNCTION CODES
Button
Function Code
S0
xx1x2
S1
x1xx2
S2
1xxx2
S3
xxx12
3.2.3
STATUS INFORMATION
The status bits will always contain the output of the Low
Voltage (VLOW) detector and Cyclic Redundancy
Check (CRC). If Queue (QUEN) is enabled, button
queue information will be included in the code words.
The discrimination value can be programmed with any
value to serve as a post decryption check on the
decoder end. In a typical system, this will be programmed with the 8 or 10 Least Significant bits of the
FIGURE 3-1:
FIXED CODE PORTION
CODE WORD DATA FORMAT (16-BIT COUNTER)
With XSER=0, 16-bit Counter, QUEN=0
CRC
2 Bits
C1
VLOW
1-Bit
C0
Hopping Code Portion (32 Bits)
Fixed Code Portion (32 Bits)
Status Information
(3 Bits)
Counter
BUT Overflow
4 Bits 2 Bits
SERIAL NUMBER
(28 Bits)
BUT
4 Bits
S2 S1 S0 S3
S2 S1 S0 S3
OVR1
DISC
10 Bits
Synchronization
Counter
16 Bits
0
15
OVR0
With XSER=1, 16-bit Counter, QUEN=1
Status Information
(5 Bits)
QUE
2 Bits
CRC
2 Bits
VLOW
1-Bit
Q1 Q0 C1 C0
Hopping Code Portion (32 Bits)
Fixed Code Portion (32 Bits)
Counter
BUT Overflow
4 Bits 2 Bits
SERIAL NUMBER
(32 Bits)
S2
S1
S0 S3
OVR1
DISC
10 Bits
Synchronization
Counter
16 Bits
0
15
OVR0
Transmission Direction LSB First
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 11
HCS365
FIGURE 3-2:
CODE WORD DATA FORMAT (20-BIT COUNTER)
With XSER=0, 20-bit Counter, QUEN=1
QUE
2 Bits
CRC
2 Bits
Q1 Q0 C1 C0
VLOW
1-Bit
Hopping Code Portion (32 Bits)
Fixed Code Portion (32 Bits)
Status Information
(5 Bits)
SERIAL NUMBER
(28 Bits)
BUT
4 Bits
S2 S1 S0
S3
BUT
4 Bits
S2
S1
DISC
8 Bits
Synchronization
Counter
20 Bits
0
19
S0 S3
With XSER=1, 20-bit Counter, QUEN=0
Status Information
(3 Bits)
CRC
2 Bits
VLOW
1-Bit
Hopping Code Portion (32 Bits)
Fixed Code Portion (32 Bits)
SERIAL NUMBER
(32 Bits)
C1 C0
BUT
4 Bits
S2
S1
DISC
8 Bits
Synchronization
Counter
20 Bits
19
0
S0 S3
Transmission Direction LSB First
3.2.3.1
Low Voltage Detector Status (VLOW)
A low battery voltage detector onboard the HCS365
can indicate when the operating voltage drops below a
predetermined value. There are two options available
depending on the Low Voltage Trip Point Select
(VLOWSEL) configuration option. The two options provided are:
• A 2.2V nominal level for 3V operation
• A 3.2V nominal level for 5V operation
The output of the low voltage detector is transmitted in
each code word, so the decoder can give an indication
to the user that the transmitter battery is low. Operation
of the LED changes as well to further indicate that the
battery is low and needs replacing.
The output of the Low Voltage Detector can also be
latched once it has dropped below the selected value.
The Low Voltage Latch (VLOWL) configuration option
enables this option. If this option is enabled, the detector level is raised to 3V or 5V once a low battery voltage
has been detected. The original value is reinstated if
the VDD voltage is raised above this level, indicating
that a new battery has been installed.
The Low Voltage Latch (VLOWL) if enabled works similar to a Schmitt Trigger. This will effectively hold the
VLOW bit high until the battery is replaced. If the Low
Voltage Latch is enabled, then the break after the first
preamble pulse can stretch by 4 ms one time as the
latch changes state.
DS41109D-page 12
Preliminary
 2002 Microchip Technology Inc.
HCS365
3.3
Seed Code Word Data Format
A seed transmission transmits a code word that consists of 60 bits of fixed data that is stored in the
EEPROM. This can be used for secure learning of
encoders or whenever a fixed code transmission is
required. The seed code word contains the function
code. The seed code also contains the status information (VLOW, CRC, and QUEUE). The Seed code word
format is shown in Figure 3-3. The function code for
seed code words is always 11112.
Seed code words for Encoder 1 and Encoder 2 can be
configured as follows:
• Enabled with the Seed Button Code (SDBT) configuration option or disabled if SDBT = 00002.
• If the Limited Seed (SDLM) configuration option is
set, seed transmissions will be disabled when the
synchronization counter is bigger than 127. Seed
transmissions remain disabled even if the 16/20bit counter rolls over to 0.
• The delay before the seed transmission is transmitted can be set to 0.0s, 0.8s, 1.6s and 3.2s with
the Seed Time (SDTM) configuration option.
When SDTM is set to a value other than 0.0s, the
HCS365 will transmit a code hopping transmission until the selected time expires. After the
selected time expires, the seed code words are
transmitted. This is useful for the decoder to learn
FIGURE 3-3:
the serial number and the seed from a single button press.
• The button code for transmitting a seed code
word can be selected with the Seed Button
(SDBT) configuration option. SDBT bits 0 to 3 correspond to button inputs S0 to S3. Set the bits
high for the button combination that should trigger
a seed transmission (i.e., If SDBT = 10102 then,
S3+S1 will trigger a seed transmission).
• The seed transmissions before the counter increments past 128 can be modified with the Seed
Mode (SDMD) configuration option. Setting this
bit for Production mode will cause the selected
seed button combination to first transmit a normal
hopping code word for the selected Minimum
Code words (MTX) and then at least MTX seed
code words until all buttons are released. This
mode is disabled after the counter reaches 128
even if the 16/20-bit counter rolls over to 0.
• The limit of 127 for SDLM or SDMD can be
reduced by using an initial counter value >0.
Note:
The synchronization counter only increments on code hopping transmissions.
The counter will not advance on a seed
transmission unless Seed Delay or Production mode options are on.
SEED CODE WORD FORMAT
With QUEN = 1
Open Portion (Not Encrypted)
(9 bits)
QUE
CRC VLOW
(2 Bits) (2 Bits) (1-Bit)
Q1 Q0 C1 C0
1
SEED Code
(60 bits)
SEED
Function
(4 Bits)
1
1
1
Transmission Direction LSB First
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 13
HCS365
4.0
TRANSMITTED WORD
4.1
Transmission Modulation Format
option. The Header time can be set to 4TE or 10TE with
the Header Select (HSEL) configuration option. These
options can all be set individually for Encoder 1 and
Encoder 2.
The HCS365 transmission is made up of several code
words. Each code word contains a preamble, header,
and data. A code word is separated from another code
word by guard time. The Guard Time Select (GSEL)
configuration option can be set to 0 ms, 6.4 ms, 51.2
ms, or 102.4 ms.
There are four different modulation formats available
on the HCS365 that can be set individually for Encoder
1 or Encoder 2. The Modulation Select (MSEL) Configuration Option is used to select between:
•
•
•
•
All other timing specifications for the modulation formats are based on a basic timing element (TE). This
Timing Element can be set to 100 µs, 200 µs, 400 µs or
800 µs with the Baud Rate Select (BSEL) configuration
FIGURE 4-1:
Pulse Width Modulation (PWM)
Manchester (MAN)
Variable Pulse Width Modulation (VPWM)
Pulse Position Modulation (PPM)
PULSE WIDTH MODULATION (PWM)
TE
TE
TE
LOGIC "0"
LOGIC "1"
TBP
1
16
4-10
xTE
Header
31xTE 50% Preamble
FIGURE 4-2:
Encrypted Portion
Fixed Code Portion
Guard
Time
MANCHESTER (MAN)
TE
TE
LOGIC "0"
LOGIC "1"
TBP
START bit
bit 0 bit 1 bit 2
1
2
STOP bit
16
31xTE 50% Preamble
4 xTE
Encrypted Portion
Header
DS41109D-page 14
Preliminary
Fixed Code Portion
Guard
Time
 2002 Microchip Technology Inc.
HCS365
FIGURE 4-3:
VARIABLE PULSE WIDTH MODULATION (VPWM)
LOGIC “0”
LOGIC “1”
TE
VPWM BIT ENCODING:
TE
on Transition Low to High
TBP
TBP
2XTE
on Transition High to Low
LOGIC “0”
TE
LOGIC “1”
TE TE
TBP
1
2
31xTE 50% Preamble
FIGURE 4-4:
TBP
2XTE
16
10xTE Header
Encrypted Portion
Guard
Time
Fixed Code Portion
PULSE POSITION MODULATION (PPM)
TE TE TE
LOGIC "0"
LOGIC "1"
TBP
3 X TE
START bit
1
2
16
31xTE 50% Preamble
STOP bit
TBP
10xTE Header
In addition to the Modulation Format, Guard Time, and
Baud Rate, the following options are also available to
change the transmission format:
• If the START/STOP Pulse Enable (STEN) configuration option is enabled, the HCS365 will place a
leading and trailing ‘1’ on each code word. This is
necessary for modulation formats such as
Manchester and PPM to interpret the first and last
data bit.
• A wake-up sequence can be transmitted before
the transmission starts. The wake-up sequence is
configured with the Wake-up (WAKE) configuration option and can be disabled or set to 50 ms,
75 ms, or 100 ms of pulses as indicated in
Figure 4-5.
• The WAKE option is the same for both Encoder 1
and Encoder 2.
Encrypted Portion
FIGURE 4-5:
Fixed Code Portion
Guard
Time
WAKE-UP ENABLE
TE TE
WAKE-UP = 75 ms
TE
2TE
WAKE-UP = 50 ms
TE
5TE
WAKE-UP = 100 ms
TG
WAKE-UP CODE
TG
CODE
Guard Time = 6.4 ms, 51.2 ms, or 102.4 ms
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 15
HCS365
5.0
SPECIAL FEATURES
5.1
Internal RC Oscillator
tion option. When enabled, this pin will be driven high
whenever data is transmitted through the DATA pin. If
the RFEN output is enabled it will not be possible to utilize the dual encoder functionality.
The HCS365 has an onboard RC oscillator that controls all the logic output timing characteristics. The
oscillator frequency varies over temperature and voltage variances, but stays within ±10% of the tuned
value. All the timing values specified in this document
are subject to this oscillator variation.
5.2
RF Enable and PLL Interface
The S3/SHIFT/RFEN pin of the HCS365 can be configured to function as a RF enable output signal. This is
done with the RF Enable Output (RFENO) configura-
FIGURE 5-1:
In addition, the RF Enable and DATA output interfaces
with RF PLL’s. The PLL interface select (PLLSEL) configuration option selects between the ASK and FSK
interfaces. Figure 5-1 shows the startup sequence for
both ASK and FSK interface options. The RFEN signal
will go low at the end of the last code word, including
the guard time.
If RFENO = 1, the RFEN pin will be driven high whenever data is transmitted through the DATA pin.
ASK/FSK INTERFACE
S0
ASK RFEN
CODE WORD
CODE WORD
CODE WORD
CODE WORD
ASK DATA
FSK RFEN
FSK DATA
TPU
5.3
TPLL
TG
LED Output
The LED pin will be driven low while the HCS365 is
transmitting data. The LED On Time (TLEDON) can be
selected between 50 ms and 100 ms with the LED On
Time Select (LEDOS) configuration option. The LED
Off Time (TLEDOFF) is fixed at 500 ms. When the VDD
voltage drops below the selected VLOW trip point, the
LED will not blink unless the LED Blink (LEDBL) option
is set. If LEDBL is set and VDD is low, then the LED will
only flash once. Waveforms of the LED behavior are
shown in Figure 5-2.
TG
resistor will conserve battery power. This is an open
drain output but it does have a weak pull-up capable of
driving a CMOS input.
For circuits with VDD greater than 3 volts, be sure to
limit the LED circuit with a series resistor. The LED output can safely sink up to 25 mA but adding an external
DS41109D-page 16
Preliminary
 2002 Microchip Technology Inc.
HCS365
FIGURE 5-2:
LED OPERATION
FIGURE 5-3:
SN
TLEDON
MTX = 012, WAKE > 002
TLEDOFF
LED
VDD > VLOW
SN
QUEN = Disabled
LED
VDD < VLOW
LEDBL=1
DATA
WAKE-UP CODE1
CODE1
WAKE-UP CODE2
CODE2
QUEN = Enabled
LED
VDD < VLOW
LEDBL=0
5.4
CODE WORD COMPLETION
WITH QUEN SETTINGS
DATA
Cyclic Redundancy Check (CRC)
The CRC bits are calculated on the 65 previously transmitted bits. These bits contain the 32-bit hopping code,
32-bit fixed code, and VLOW bit. The decoder can use
the CRC bits to check the data integrity before processing starts. The CRC can detect all single bit errors and
66% of double bit errors. The CRC is computed as follows:
EQUATION 5-1:
6.0
WAKE-UP
CODE1 00
WAKE-UP CODE2 01
CODE2 01
PROGRAMMING
SPECIFICATIONS
Refer to the “HCS365 Programming Specifications”
document (DS41157) in Microchip Literature.
CRC Calculation
CRC [ 1 ] n + 1 = CRC [ 0 ] n ⊕ Di n
and
CRC [ 0 ] n + 1 = ( CRC [ 0 ] n ⊕ Din ) ⊕ CRC [ 1 ] n
with
CRC [ 1, 0 ]0 = 0
and Din the nth transmission bit 0 <= n <= 64
5.5
Button Queue Information
(QUEUE)
The queuing or repeated pressing of the same buttons
can be handled in two ways on the HCS365. This is
controlled with the Queue Counter Enable (QUEN)
configuration option. This option can be different for
Encoder 1 and Encoder 2.
When the QUEN option is disabled, the device will register up to two sequential button presses. In this case,
the device will complete the minimum code words
selected with the MTX option before the second code
word is calculated and transmitted. The code word will
be 67 bits in this case, with no additional queue bits
transmitted.
If the QUEN option is enabled, the queue bits are
added to the standard code word. The queue bits are a
2-bit counter that does not wrap. The counter value
starts at 002 and is incremented if a button is pushed
within 2 seconds from the start of the previous button
press. The current code word is terminated when a button is queued. This allows additional functionality for
double or triple button presses.
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 17
HCS365
7.0
INTEGRATING THE HCS365
INTO A SYSTEM
FIGURE 7-1:
Use of the HCS365 in a system requires a compatible
decoder. This decoder is typically a microcontroller with
compatible firmware. Microchip will provide (via a
license agreement) firmware routines that accept
transmissions from the HCS365 and decrypt the
hopping code portion of the data stream. These
routines provide system designers the means to
develop their own decoding system.
7.1
TYPICAL LEARN
SEQUENCE
Enter Learn
Mode
Wait for Reception
of a Valid Code
Generate Key
from Serial Number
Use Generated Key
to Decrypt
Learning a Transmitter to a
Receiver
A transmitter must first be ’learned’ by a decoder before
its use is allowed in the system. Several learning strategies are possible. Figure 7-1 details a typical learn
sequence. The decoder must minimally store each
learned transmitter’s serial number and current synchronization counter value in EEPROM. Additionally,
the decoder typically stores each transmitter’s unique
crypt key. The maximum number of learned transmitters will therefore be relative to the available EEPROM.
A transmitter’s serial number is transmitted in the 32-bit
fixed code, but the synchronization counter only exists
in the code word’s encrypted portion. The decoder
obtains the counter value by decrypting using the same
key used to encrypt the information. The KEELOQ algorithm is a symmetrical block cipher so the encryption
and decryption keys are identical and referred to generally as the crypt key. The encoder receives its crypt
key during manufacturing. The decoder typically calculates the crypt key by running the encoder serial number or seed through the key generation routine.
Figure 7-1 summarizes a typical learn sequence. The
decoder receives and authenticates a first transmission; first button press. Authentication involves generating the appropriate crypt key, decrypting, validating
the correct key usage via the discrimination bits, and
buffering the counter value. A second transmission is
received and authenticated. A final check verifies the
counter values were sequential; consecutive button
presses. If the learn sequence is successfully completed, the decoder stores the learned transmitter’s
serial number, current synchronization counter value,
and appropriate crypt key. From now on, the crypt key
will be retrieved from EEPROM during normal operation instead of recalculating it for each transmission
received.
Compare Discrimination
Value with Fixed Value
Equal
?
No
Yes
Wait for Reception
of Second Valid Code
Use Generated Key
to Decrypt
Compare Discrimination
Value with Fixed Value
Equal
?
No
Yes
Counters
Sequential
?
Yes
No
Learn successful Store:
Learn
Unsuccessful
Serial number
Encryption key
Synchronization counter
Exit
Certain learning strategies have been patented by 3rd
parties and care must be taken not to infringe.
DS41109D-page 18
Preliminary
 2002 Microchip Technology Inc.
HCS365
7.2
Decoder Operation
7.3
Figure 7-2 summarizes normal decoder operation. The
decoder waits until a transmission is received. The
received serial number is compared to the EEPROM
table of learned transmitters to first determine if this
transmitter’s use is allowed in the system. If from a
learned transmitter, the transmission is decrypted
using the stored crypt key and authenticated via the
discrimination bits for appropriate crypt key usage. If
the decryption was valid the synchronization value is
evaluated.
FIGURE 7-2:
TYPICAL DECODER
OPERATION
Start
No
Transmission
Received
?
Yes
No
Is
Decryption
Valid
?
Yes
No
Is
Counter
Within 16
?
Yes
No
No
Is
Counter
Within 32K
?
The KEELOQ technology patent scope includes a
sophisticated synchronization technique that does not
require the calculation and storage of future codes. The
technique securely blocks invalid transmissions while
providing transparent resynchronization to transmitters
inadvertently activated away from the receiver.
Figure 7-3 shows a 3-partition, rotating synchronization
window. The size of each window is optional but the
technique is fundamental. Each time a transmission is
authenticated, the intended function is executed and
the transmission’s synchronization counter value is
stored in EEPROM. From the currently stored counter
value there is an initial "Single Operation" forward window of 16 codes. If the difference between a received
synchronization counter and the last stored counter is
within 16, the intended function will be executed on the
single button press and the new synchronization
counter will be stored. Storing the new synchronization
counter value effectively rotates the entire synchronization window.
A "Double Operation" (resynchronization) window further exists from the “Single Operation” window up to
32K codes forward of the currently stored counter
value. It is referred to as "Double Operation" because a
transmission with synchronization counter value in this
window will require an additional, sequential counter
transmission prior to executing the intended function.
Upon receiving the sequential transmission the
decoder executes the intended function and stores the
synchronization counter value. This resynchronization
occurs transparently to the user as it is human nature
to press the button a second time if the first was unsuccessful.
Does
Serial Number
Match
?
Yes
Decrypt Transmission
No
Execute
Command
and
Update
Counter
The third window is a "Blocked Window" ranging from
the double operation window to the currently stored
synchronization counter value. Any transmission with
synchronization counter value within this window will
be ignored. This window excludes previously used,
perhaps code-grabbed transmissions from accessing
the system.
Note:
Yes
Save Counter
in Temp Location
 2002 Microchip Technology Inc.
Synchronization with Decoder
(Evaluating the Counter)
Preliminary
The synchronization method described in
this section is only a typical implementation
and because it is usually implemented in
firmware, it can be altered to fit the needs
of a particular system.
DS41109D-page 19
HCS365
FIGURE 7-3:
SYNCHRONIZATION WINDOW
Entire Window
rotates to eliminate
use of previously
used codes
Blocked
Window
(32K Codes)
Stored
Synchronization
Counter Value
Double Operation
(resynchronization)
Window
(32K Codes)
7.4
Security Considerations
The strength of this security is based on keeping a
secret inside the transmitter that can be verified by
encrypted transmissions to a trained receiver. The
transmitter’s secret is the manufacturer’s key, not the
encryption algorithm. If that key is compromised then a
smart transceiver can capture any serial number, create a valid code word, and trick all receivers trained
with that serial number. The key cannot be read from
the EEPROM without costly die probing but it can be
calculated by brute force decryption attacks on transmitted code words. The cost for these attacks should
exceed what you would want to protect.
Single Operation
Window
(16 Codes)
receiver more secure it could increment the counter on
questionable code word receptions. To make the transmitter more secure, it could use separate buttons for
lock and unlock functions. Another way would be to
require two different buttons in sequence to gain
access.
There are more ways to make KEELOQ systems more
secure, but they all have trade-offs. You need to find a
balance between security, design effort, and usability,
particularly in failure modes. For example, if a button
sticks or kids play with it, the counter should not end up
in the blocked code window rendering the transmitter
useless or requiring retraining.
To protect the security of other receivers with the same
manufacturer’s code, you need to use the random seed
for secure learn. It is a second secret that is unique for
each transmitter. Its transmission on a special button
press combination can be disabled if the receiver has
another way to find it, or limited to the first 127 transmissions for the receiver to learn it. This way, it is very
unlikely to ever be captured. Now if a manufacturer’s
key is compromised, clone transmitters can be created,
but without the unique seed they have to be relearned
by the receiver. In the same way, if the transmissions
are decrypted by brute force on a computer, the random seed hides the manufacturer’s key and prevents
more than one transmitter from being compromised.
The length of the code word at these baud rates makes
brute force attacks that guess the hopping code take
years. To make the receiver less susceptible to this
attack, make sure that you test all the bits in the
decrypted code for the correct value. Do not just test
low counter bits for sync and the bit for the button input
of interest.
The main benefit of hopping codes is to prevent the
retransmission of captured code words. This works
very well for code words that the receiver decodes. Its
weakness is if a code is captured when the receiver
misses it, the code may trick the receiver once if it is
used before the next valid transmission. To make the
DS41109D-page 20
Preliminary
 2002 Microchip Technology Inc.
HCS365
8.0
DEVELOPMENT SUPPORT
8.3
The KEELOQ® family of devices are supported with a
full range of hardware and software development tools:
• Integrated Development Environment
- MPLAB® IDE Software
- KEELOQ Toolkit Software
• Device Programmers
- PRO MATE® II Universal Device Programmer
• Low Cost Demonstration Boards
- KEELOQ Evaluation Kit II
- KEELOQ Transponder Evaluation Kit
8.1
The PRO MATE II universal device programmer is a
full-featured programmer, capable of operating in
stand-alone mode, as well as PC-hosted mode. The
PRO MATE II device programmer is CE compliant.
The PRO MATE II device programmer has programmable VDD and VPP supplies, which allow it to verify programmed memory at VDD min and VDD max for
maximum reliability. It has an LCD display for instructions and error messages, keys to enter commands
and a modular detachable socket assembly to support
various package types.
MPLAB Integrated Development
Environment Software
The same MPLAB IDE software available at
www.microchip.com that is used for microcontroller
software development also supports the KEELOQ family
of devices. With this Windows®-based application you
can configure the device options in a graphical environment. The manufacturer’s code is protected by two
custodian keys so that the secret is split and neither
employee can reveal the code alone. Once both custodian keys have been entered and the options selected,
MPLAB IDE software is ready to produce parts in one
of two ways.
• The PRO MATE II Programmer, which is sold separately, can program individual parts. MPLAB IDE
software can automatically increment the serial
number and recalculate the unique encryption
key, discrimination value and seed for each part.
• Creating an SQTPsm file that contains all the individual device configurations to submit to Microchip for a production run without revealing your
manufacturer’s code. Please contact Microchip
sales office etc., minimum order quantities apply.
8.2
PRO MATE II Universal Device
Programmer
Microchip has various socket adapter modules available for PDIP, SOIC and SSOP devices. An In-Circuit
Serial Programming™ (ICSP™) module is also available for programming devices after circuit assembly.
8.4
KEELOQ Evaluation Kit II
The KEELOQ Evaluation Kit II contains all the necessary
hardware to evaluate a code hopping system, including
two transmitters and a multi-function receiver board
that supports all HCS5XX stand-alone decoders. Additionally, it allows the users to develop their own software to receive, decode and interpret the KEELOQ
transmission. The included PC software can configure
and program the KEELOQ parts for evaluation
(DM303006).
8.5
KEELOQ Transponder Evaluation
Kit
The KEELOQ Transponder Evaluation Kit consists of a
base station, a transmitter/transponder, a battery-less
transponder and various HCS4XX samples. It also
includes the PC software to configure and program the
KEELOQ parts for evaluation (DM303005).
KEELOQ® Toolkit Software
The KEELOQ® Secure Solution CD-ROM is available
free and can be ordered with part number DS40038.
After accepting the KEELOQ license agreement, it will
let you install application notes with complete decoder
algorithms as well as the KEELOQ toolkit. The toolkit is
a handy application that generates encryption keys
from the manufacturer’s code and serial number or
seed. It can also decrypt KEELOQ transmitter’s hopping
code to help debug and test your decoder software.
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 21
DS41109D-page 22
9
9
9
9
9
PIC17C7XX
9 9
9
9
9
9
PIC17C4X
9 9
9
9
9
9
PIC16C9XX
9
9
9
9
9
PIC16F8XX
9
9
9
9
9
PIC16C8X
9
9
9
9
9
PIC16C7XX
9
9
9
9
9
PIC16C7X
9
9
9
9
9
PIC16F62X
9
9
PIC16CXXX
9
9
9
PIC16C6X
9
9
9
PIC16C5X
9
9
PIC14000
9
PIC12CXXX
rfPIC12XXXX
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
Preliminary
MCP2510
9
9
9 9
9
9
9
9
9
9 9
9
9
9
9
9
Software Tools
* Contact the Microchip Technology Inc. web site at www.microchip.com for information on how to use the MPLAB® ICD In-Circuit Debugger (DV164001) with PIC16C62, 63, 64, 65,
72, 73, 74, 76, 77.
** Contact Microchip Technology Inc. for availability date.
† Development tool is available on select devices.
MCP2510 CAN Developer’s Kit
MCRFXXX
9 9 9
13.56 MHz Anticollision
microIDTM Developer’s Kit
125 kHz Anticollision microIDTM
Developer’s Kit
125 kHz microIDTM Developer’s Kit
9
microIDTM Programmer’s Kit
9
KEELOQ® Transponder Kit
9
KEELOQ® Evaluation Kit II
9
PICDEMTM 17 Demonstration Board
9
PICDEMTM 14A Demonstration Board
9 9
PICDEMTM 3 Demonstration Board
PIC18CXX2
9
9
†
9
†
9
†
9
PICDEMTM 2 Plus Demonstration
Board
24CXX/
25CXX/
93CXX
9
PICDEMTM 1 Demonstration Board
9
**
9 9
**
PIC18FXXX
9
MPLAB® ICD In-Circuit Debugger
MPLAB® ICE In-Circuit Emulator
9
PRO MATE® II
Universal Device Programmer
9
**
9
PICSTART® Plus Entry Level
Development Programmer
MPASMTM Assembler/
MPLINKTM Object Linker
MPLAB® C18 C Compiler
MPLAB® C17 C Compiler
HCSXXX
rfHCSXXX
9
Programmers Debugger Emulators
TABLE 8-1:
Demo Boards and Eval Kits
MPLAB® Integrated
Development Environment
HCS365
DEVELOPMENT TOOLS FROM MICROCHIP
 2002 Microchip Technology Inc.
HCS365
9.0
ELECTRICAL CHARACTERISTICS
9.1
Maximum Ratings*
Ambient temperature under bias.............................................................................................................-40°C to +125°C
Storage temperature .............................................................................................................................. -65°C to +150°C
Voltage on VDD w/respect to VSS ................................................................................................................ -0.3 to +7.5V
Voltage on LED w/respect to VSS ..................................................................................................................-0.3 to +11V
Voltage on all other pins w/respect to VSS ........................................................................................-0.3V to VDD + 0.3V
Total power dissipation (Note 1) ..........................................................................................................................500 mW
Maximum current out of VSS pin ...........................................................................................................................100 mA
Maximum current into VDD pin ..............................................................................................................................100 mA
Input clamp current, IIK (VI < 0 or VI > VDD) ......................................................................................................... ± 20 mA
Output clamp current, IOK (Vo < 0 or Vo >VDD).................................................................................................... ± 20 mA
Maximum output current sunk by any Output pin....................................................................................................25 mA
Maximum output current sourced by any Output pin ..............................................................................................25 mA
*Notice: Stresses above those listed under “Maximum ratings” may cause permanent damage to the device. This is a
stress rating only and functional operation of the device at those or any other conditions above those indicated in the
operational listings of this specification is not implied. Exposure to maximum rating conditions for extended periods may
affect device reliability.
Note 1: Power dissipation is calculated as follows: Pdis=VDD x {IDD - Â IOH} + Â {(VDD-VOH) x IOH} + Â(VOl x IOL).
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 23
HCS365
TABLE 9-1:
DC CHARACTERISTICS: HCS365
DC Characteristics
All Pins Except
Power Supply Pins
Param
No.
Sym.
Standard Operating Conditions (unless otherwise stated)
Operating Temperature 0°C ≤ TA ≤ +70°C (Commercial)
-40°C ≤ TA ≤ +85°C (Industrial)
Characteristic
Min.
Typ.†
Max.
Units
2.05(4)
—
5.5
V
—
VSS
—
V
0.05*
—
—
V/ms
Conditions
D001
VDD
Supply Voltage
D003
VPOR
VDD start voltage to ensure
internal Power-on Reset
signal
D004
SVDD
VDD rise rate to ensure
internal Power-on Reset
signal
D005
VBOR
Brown-out Reset Voltage
—
1.9
2
V
D010
IDD
Supply Current(2)
—
1.0
5
mA
FOSC = 4 MHz,
VDD = 5.5V(3)
2.0
mA
FOSC = 4 MHz,
VDD = 3.5V(3)
D010B
D021A IPD
Cold RESET
—
0.1
1.0
µA
VDD = 5.5V
With TTL Buffer
VSS
—
0.8
V
4.5V ≤ VDD ≤ 5.5V
VSS
—
0.15 VDD
V
Otherwise
With Schmitt Trigger Buffer
VSS
—
0.2 VDD
V
Shutdown Current
Input Low Voltage
VIL
D030
Input pins
D030A
D031
Input High Voltage
VIH
Input pins
—
4.5V ≤ VDD ≤ 5.5V
Otherwise
D040
D040A
With TTL Buffer
2.0
(0.25 VDD
+0.8)
—
—
VDD
VDD
V
V
D041
With Schmitt Trigger Buffer
0.8 VDD
—
VDD
V
—
—
—
—
+200
+350
mV
mV
setting 5 = 2.25V
setting 25 = 4.25V
—
—
±1
µA
VSS ≤ VPIN ≤ VDD, Pin at Hiimpedance, no pull-downs
enabled
Input Threshold Voltage
D053
Vtol
Vlow detect tolerance
Input Leakage Current
D060
IIL
DS41109D-page 24
Input pins
Preliminary
 2002 Microchip Technology Inc.
HCS365
TABLE 9-1:
DC CHARACTERISTICS: HCS365 (CONTINUED)
DC Characteristics
All Pins Except
Power Supply Pins
Param
No.
Sym.
Standard Operating Conditions (unless otherwise stated)
Operating Temperature 0°C ≤ TA ≤ +70°C (Commercial)
-40°C ≤ TA ≤ +85°C (Industrial)
Characteristic
Min.
Typ.†
Max.
Units
—
—
0.6
V
Conditions
Output Low Voltage
D080
VOL
Output pins
IOL = 8.5 mA, VDD = 4.5V
Output High Voltage
D090
VOH
Output pins
D091
VOH
LED
VDD-0.7
—
—
V
IOH = -3.0 mA, VDD = 4.5V
1.5
—
—
V
IOH = -0.5 mA, VDD = 4.5V
40
75
100
Endurance
200K
1000K
—
2.05
—
5.5
V
—
4
10
ms
Internal Pull-down Resistance
D100
Rpd
S0 - S3
KOhms If enabled
Data EEPROM Memory
D120
ED
D121
Vdrw
VDD for Read/Write
D122
Tdew
Erase/Write Cycle Time(1)
E/W
25°C at 5V
Note 1: * These parameters are characterized but not tested.
2: † "Typ" column data is at 5.0V, 25°C unless otherwise stated. These parameters are for design guidance only and are
not tested.
3:
The supply current is mainly a function of the operating voltage and frequency. Other factors such as I/O pin loading
and switching rate, oscillator type, internal code execution pattern, and temperature also have an impact on the current
consumption.
4:
Should operate down to VBOR but not tested below 2.0V.
The test conditions for all IDD measurements in active Operation mode are: all I/O pins tristated, pulled to VDD. MCLR = VDD; WDT
enabled/disabled as specified. The power-down/shutdown current in SLEEP mode does not depend on the oscillator frequency. Powerdown current is measured with the part in SLEEP mode, with all I/O pins in hi-impedance state and tied to VDD or VSS. The ∆ current is
the additional current consumed when the WDT is enabled. This current should be added to the base IDD or IPD measurement.
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 25
HCS365
TABLE 9-2:
AC CHARACTERISTICS(1)
Commercial (C): TAMB = 0°C to +70°C
Industrial (I):
TAMB = -40°C to +85°C
2.05V < VDD < 5.5
Parameter
Sym.
Min.
Typ.
Max.
Timing Element
TE
90
—
880
µs
Power-up Time
TPU
—
25
—
ms
PLL Set-up Time
TPLL
10
—
15
—
30
285
ms
ms
WAIT = 0
WAIT = 1
LED On Time
TLEDON
45
—
110
ms
LEDOS = 0 (min) or
LEDOS = 1 (max)
LED Off Time
TLEDOFF
450
500
550
ms
TG
1.8
5.6
46.1
96.1
2TE
6.4
51.2
102.4
112.6
7.0
56.3
42.6
ms
ms
ms
ms
Guard Time
Unit Conditions
BSEL = 002 (min) or
BSEL = 012
BSEL = 102
BSEL = 112 (max)
GSEL = 002(min)
GSEL = 012
GSEL = 102
GSEL = 112(max)
Note 1: All timing values are subject to the oscillator variance and are not tested.
These parameters are characterized, but not tested.
DS41109D-page 26
Preliminary
 2002 Microchip Technology Inc.
HCS365
10.0
PACKAGING INFORMATION
Package Type:
8-Lead Plastic Dual In-line (P) – 300 mil (PDIP)
E1
D
2
n
1
α
E
A2
A
L
c
A1
β
B1
p
eB
B
Units
Dimension Limits
n
p
Number of Pins
Pitch
Top to Seating Plane
Molded Package Thickness
Base to Seating Plane
Shoulder to Shoulder Width
Molded Package Width
Overall Length
Tip to Seating Plane
Lead Thickness
Upper Lead Width
Lower Lead Width
Overall Row Spacing
Mold Draft Angle Top
Mold Draft Angle Bottom
* Controlling Parameter
§ Significant Characteristic
A
A2
A1
E
E1
D
L
c
§
B1
B
eB
α
β
MIN
.140
.115
.015
.300
.240
.360
.125
.008
.045
.014
.310
5
5
INCHES*
NOM
MAX
8
.100
.155
.130
.170
.145
.313
.250
.373
.130
.012
.058
.018
.370
10
10
.325
.260
.385
.135
.015
.070
.022
.430
15
15
MILLIMETERS
NOM
8
2.54
3.56
3.94
2.92
3.30
0.38
7.62
7.94
6.10
6.35
9.14
9.46
3.18
3.30
0.20
0.29
1.14
1.46
0.36
0.46
7.87
9.40
5
10
5
10
MIN
MAX
4.32
3.68
8.26
6.60
9.78
3.43
0.38
1.78
0.56
10.92
15
15
Notes:
Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed
.010” (0.254mm) per side.
JEDEC Equivalent: MS-001
Drawing No. C04-018
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 27
HCS365
Package Type:
8-Lead Plastic Small Outline (SM) – Medium, 208 mil (SOIC)
E
E1
p
D
2
n
1
B
α
c
A2
A
φ
β
L
Units
Dimension Limits
n
p
Number of Pins
Pitch
Overall Height
Molded Package Thickness
Standoff
Overall Width
Molded Package Width
Overall Length
Foot Length
Foot Angle
Lead Thickness
Lead Width
Mold Draft Angle Top
Mold Draft Angle Bottom
A
A2
A1
E
E1
D
L
φ
c
B
α
β
MIN
.070
.069
.002
.300
.201
.202
.020
0
.008
.014
0
0
INCHES*
NOM
8
.050
.075
.074
.005
.313
.208
.205
.025
4
.009
.017
12
12
A1
MAX
.080
.078
.010
.325
.212
.210
.030
8
.010
.020
15
15
MILLIMETERS
NOM
8
1.27
1.78
1.97
1.75
1.88
0.05
0.13
7.62
7.95
5.11
5.28
5.13
5.21
0.51
0.64
0
4
0.20
0.23
0.36
0.43
0
12
0
12
MIN
MAX
2.03
1.98
0.25
8.26
5.38
5.33
0.76
8
0.25
0.51
15
15
*Controlling Parameter
Notes:
Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed
.010” (0.254mm) per side.
Drawing No. C04-056
DS41109D-page 28
Preliminary
 2002 Microchip Technology Inc.
HCS365
10.1
Package Marking Information
8-Lead PDIP (300 mil)
Example
XXXXXXXX
XXXXXNNN
YYWW
HCS365
XXX/NNN
9925
Example
8-Lead SOIC (208 mil)
XXXXXXXX
XXXXXXXX
YYWWNNN
Legend: MM...M
XX...X
YY
WW
NNN
Note:
*
HCS365
XXXXXXXX
9925NNN
Microchip part number information
Customer specific information*
Year code (last 2 digits of calendar year)
Week code (week of January 1 is week ‘01’)
Alphanumeric traceability code
In the event the full Microchip part number cannot be marked on one line, it will
be carried over to the next line thus limiting the number of available characters
for customer specific information.
Standard marking consists of Microchip part number, year code, week code and traceability code. For
marking beyond this, certain price adders apply. Please check with your Microchip Sales Office. For
SQTP devices, any special marking adders are included in SQTP price.
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 29
HCS365
ON-LINE SUPPORT
Systems Information and Upgrade Hot Line
Microchip provides on-line support on the Microchip
World Wide Web (WWW) site.
The web site is used by Microchip as a means to make
files and information easily available to customers. To
view the site, the user must have access to the Internet
and a web browser, such as Netscape® or Microsoft®
Explorer. Files are also available for FTP download
from our FTP site.
The Systems Information and Upgrade Line provides
system users a listing of the latest versions of all of
Microchip's development systems software products.
Plus, this line provides information on how customers
can receive any currently available upgrade kits. The
Hot Line Numbers are:
1-800-755-2345 for U.S. and most of Canada, and
1-480-792-7302 for the rest of the world.
Connecting to the Microchip Internet Web Site
The Microchip web site is available by using your
favorite Internet browser to attach to:
www.microchip.com
The file transfer site is available by using an FTP service to connect to:
ftp://ftp.microchip.com
The web site and file transfer site provide a variety of
services. Users may download files for the latest
Development Tools, Data Sheets, Application Notes,
User’s Guides, Articles and Sample Programs. A variety of Microchip specific business information is also
available, including listings of Microchip sales offices,
distributors and factory representatives. Other data
available for consideration is:
• Latest Microchip Press Releases
• Technical Support Section with Frequently Asked
Questions
• Design Tips
• Device Errata
• Job Postings
• Microchip Consultant Program Member Listing
• Links to other useful web sites related to
Microchip Products
• Conferences for products, Development Systems,
technical information and more
• Listing of seminars and events
DS41109D-page 30
Preliminary
 2002 Microchip Technology Inc.
HCS365
READER RESPONSE
It is our intention to provide you with the best documentation possible to ensure successful use of your Microchip product. If you wish to provide your comments on organization, clarity, subject matter, and ways in which our documentation
can better serve you, please FAX your comments to the Technical Publications Manager at (480) 792-7578.
Please list the following information, and use this outline to provide us with your comments about this Data Sheet.
To:
Technical Publications Manager
RE:
Reader Response
Total Pages Sent
From: Name
Company
Address
City / State / ZIP / Country
Telephone: (_______) _________ - _________
FAX: (______) _________ - _________
Application (optional):
Would you like a reply?
Y
N
Literature Number: DS41109D
Device: HCS365
Questions:
1. What are the best features of this document?
2. How does this document meet your hardware and software development needs?
3. Do you find the organization of this data sheet easy to follow? If not, why?
4. What additions to the data sheet do you think would enhance the structure and subject?
5. What deletions from the data sheet could be made without affecting the overall usefulness?
6. Is there any incorrect or misleading information (what and where)?
7. How would you improve this document?
8. How would you improve our software, systems, and silicon products?
 2002 Microchip Technology Inc.
Preliminary
DS41109D-page 31
HCS365
11.0
HCS365 PRODUCT IDENTIFICATION SYSTEM
.To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office.
PART NO.
Device
X
Temperature
Range
/XX
XXX
Package
Pattern
Device
HCS365: Code Hopping Encoder
HCS365T: Code Hopping Encoder (Tape and Reel - SM
only)
Temperature Range
I
Package
P
SM
=
=
0×C to +70×C
-40×C to +85×C
=
=
Plastice DIP (300 mil body), 8-lead
Plastic SOIC (208 mil body), 8-lead
Pattern
* JW Devices are UV erasable and can be programmed to any device configuration. JW Devices meet the electrical requirement of
each oscillator type.
Sales and Support
Data Sheets
Products supported by a preliminary Data Sheet may have an errata sheet describing minor operational differences and recommended workarounds. To determine if an errata sheet exists for a particular device, please contact one of the following:
1.
2.
3.
Your local Microchip sales office
The Microchip Corporate Literature Center U.S. FAX: (480) 792-7277
The Microchip Worldwide Site (www.microchip.com)
Please specify which device, revision of silicon and Data Sheet (include Literature #) you are using.
New Customer Notification System
Register on our web site (www.microchip.com/cn) to receive the most current information on our products.
DS41109D-page 32
Preliminary
 2002 Microchip Technology Inc.
Microchip’s Secure Data Products are covered by some or all of the following patents:
Code hopping encoder patents issued in Europe, U.S.A., and R.S.A. — U.S.A.: 5,517,187; Europe: 0459781; R.S.A.: ZA93/4726
Secure learning patents issued in the U.S.A. and R.S.A. — U.S.A.: 5,686,904; R.S.A.: 95/5429
Information contained in this publication regarding device
applications and the like is intended through suggestion only
and may be superseded by updates. It is your responsibility to
ensure that your application meets with your specifications.
No representation or warranty is given and no liability is
assumed by Microchip Technology Incorporated with respect
to the accuracy or use of such information, or infringement of
patents or other intellectual property rights arising from such
use or otherwise. Use of Microchip’s products as critical components in life support systems is not authorized except with
express written approval by Microchip. No licenses are conveyed, implicitly or otherwise, under any intellectual property
rights.
Trademarks
The Microchip name and logo, the Microchip logo, FilterLab,
KEELOQ, microID, MPLAB, PIC, PICmicro, PICMASTER,
PICSTART, PRO MATE, SEEVAL and The Embedded Control
Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
dsPIC, ECONOMONITOR, FanSense, FlexROM, fuzzyLAB,
In-Circuit Serial Programming, ICSP, ICEPIC, microPort,
Migratable Memory, MPASM, MPLIB, MPLINK, MPSIM,
MXDEV, PICC, PICDEM, PICDEM.net, rfPIC, Select Mode
and Total Endurance are trademarks of Microchip Technology
Incorporated in the U.S.A.
Serialized Quick Turn Programming (SQTP) is a service mark
of Microchip Technology Incorporated in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
© 2002, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
Microchip received QS-9000 quality system
certification for its worldwide headquarters,
design and wafer fabrication facilities in
Chandler and Tempe, Arizona in July 1999. The
Company’s quality system processes and
procedures are QS-9000 compliant for its
PICmicro® 8-bit MCUs, KEELOQ® code hopping
devices, Serial EEPROMs and microperipheral
products. In addition, Microchip’s quality
system for the design and manufacture of
development systems is ISO 9001 certified.
 2002 Microchip Technology Inc.
Preliminary
DS41109D - page 33
WORLDWIDE SALES AND SERVICE
AMERICAS
ASIA/PACIFIC
Japan
Corporate Office
Australia
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200 Fax: 480-792-7277
Technical Support: 480-792-7627
Web Address: http://www.microchip.com
Microchip Technology Australia Pty Ltd
Suite 22, 41 Rawson Street
Epping 2121, NSW
Australia
Tel: 61-2-9868-6733 Fax: 61-2-9868-6755
Microchip Technology Japan K.K.
Benex S-1 6F
3-18-20, Shinyokohama
Kohoku-Ku, Yokohama-shi
Kanagawa, 222-0033, Japan
Tel: 81-45-471- 6166 Fax: 81-45-471-6122
Rocky Mountain
China - Beijing
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7966 Fax: 480-792-7456
Microchip Technology Consulting (Shanghai)
Co., Ltd., Beijing Liaison Office
Unit 915
Bei Hai Wan Tai Bldg.
No. 6 Chaoyangmen Beidajie
Beijing, 100027, No. China
Tel: 86-10-85282100 Fax: 86-10-85282104
Atlanta
500 Sugar Mill Road, Suite 200B
Atlanta, GA 30350
Tel: 770-640-0034 Fax: 770-640-0307
Boston
2 Lan Drive, Suite 120
Westford, MA 01886
Tel: 978-692-3848 Fax: 978-692-3821
Chicago
333 Pierce Road, Suite 180
Itasca, IL 60143
Tel: 630-285-0071 Fax: 630-285-0075
Dallas
4570 Westgrove Drive, Suite 160
Addison, TX 75001
Tel: 972-818-7423 Fax: 972-818-2924
Detroit
Tri-Atria Office Building
32255 Northwestern Highway, Suite 190
Farmington Hills, MI 48334
Tel: 248-538-2250 Fax: 248-538-2260
Kokomo
2767 S. Albright Road
Kokomo, Indiana 46902
Tel: 765-864-8360 Fax: 765-864-8387
Los Angeles
18201 Von Karman, Suite 1090
Irvine, CA 92612
Tel: 949-263-1888 Fax: 949-263-1338
China - Chengdu
Microchip Technology Consulting (Shanghai)
Co., Ltd., Chengdu Liaison Office
Rm. 2401, 24th Floor,
Ming Xing Financial Tower
No. 88 TIDU Street
Chengdu 610016, China
Tel: 86-28-6766200 Fax: 86-28-6766599
China - Fuzhou
Microchip Technology Consulting (Shanghai)
Co., Ltd., Fuzhou Liaison Office
Unit 28F, World Trade Plaza
No. 71 Wusi Road
Fuzhou 350001, China
Tel: 86-591-7503506 Fax: 86-591-7503521
China - Shanghai
Microchip Technology Consulting (Shanghai)
Co., Ltd.
Room 701, Bldg. B
Far East International Plaza
No. 317 Xian Xia Road
Shanghai, 200051
Tel: 86-21-6275-5700 Fax: 86-21-6275-5060
China - Shenzhen
150 Motor Parkway, Suite 202
Hauppauge, NY 11788
Tel: 631-273-5305 Fax: 631-273-5335
Microchip Technology Consulting (Shanghai)
Co., Ltd., Shenzhen Liaison Office
Rm. 1315, 13/F, Shenzhen Kerry Centre,
Renminnan Lu
Shenzhen 518001, China
Tel: 86-755-2350361 Fax: 86-755-2366086
San Jose
Hong Kong
Microchip Technology Inc.
2107 North First Street, Suite 590
San Jose, CA 95131
Tel: 408-436-7950 Fax: 408-436-7955
Microchip Technology Hongkong Ltd.
Unit 901-6, Tower 2, Metroplaza
223 Hing Fong Road
Kwai Fong, N.T., Hong Kong
Tel: 852-2401-1200 Fax: 852-2401-3431
New York
Toronto
6285 Northam Drive, Suite 108
Mississauga, Ontario L4V 1X5, Canada
Tel: 905-673-0699 Fax: 905-673-6509
India
Microchip Technology Inc.
India Liaison Office
Divyasree Chambers
1 Floor, Wing A (A3/A4)
No. 11, O’Shaugnessey Road
Bangalore, 560 025, India
Tel: 91-80-2290061 Fax: 91-80-2290062
Korea
Microchip Technology Korea
168-1, Youngbo Bldg. 3 Floor
Samsung-Dong, Kangnam-Ku
Seoul, Korea 135-882
Tel: 82-2-554-7200 Fax: 82-2-558-5934
Singapore
Microchip Technology Singapore Pte Ltd.
200 Middle Road
#07-02 Prime Centre
Singapore, 188980
Tel: 65-6334-8870 Fax: 65-6334-8850
Taiwan
Microchip Technology Taiwan
11F-3, No. 207
Tung Hua North Road
Taipei, 105, Taiwan
Tel: 886-2-2717-7175 Fax: 886-2-2545-0139
EUROPE
Denmark
Microchip Technology Nordic ApS
Regus Business Centre
Lautrup hoj 1-3
Ballerup DK-2750 Denmark
Tel: 45 4420 9895 Fax: 45 4420 9910
France
Microchip Technology SARL
Parc d’Activite du Moulin de Massy
43 Rue du Saule Trapu
Batiment A - ler Etage
91300 Massy, France
Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79
Germany
Microchip Technology GmbH
Gustav-Heinemann Ring 125
D-81739 Munich, Germany
Tel: 49-89-627-144 0 Fax: 49-89-627-144-44
Italy
Microchip Technology SRL
Centro Direzionale Colleoni
Palazzo Taurus 1 V. Le Colleoni 1
20041 Agrate Brianza
Milan, Italy
Tel: 39-039-65791-1 Fax: 39-039-6899883
United Kingdom
Arizona Microchip Technology Ltd.
505 Eskdale Road
Winnersh Triangle
Wokingham
Berkshire, England RG41 5TU
Tel: 44 118 921 5869 Fax: 44-118 921-5820
03/01/02
DS41109D-page 34
Preliminary
 2002 Microchip Technology Inc.