MICROCHIP HCS370SL

HCS370
KEELOQ® Code Hopping Encoder
FEATURES
PACKAGE TYPES
PDIP, SOIC,
TSSOP
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
S0
1
14
VDD
S1
2
13
LED
S2
3
12
DATA
S3
4
11
Vss
S4
5
10
RFEN
SLEEP/S5
6
9
STEP
SHIFT
7
8
VIN
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
Oscillator
VIN
Step-up
STEP regulator
LED
RFEN
Power SLEEP
latching
and
switching
Controller
RESET circuit
LED driver
RF Enable
EEPROM
DATA
Encoder
32-bit SHIFT register
Other
VSS
• 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
SHIFT
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.
S5
S4
S3
S2
S1
S0
GENERAL DESCRIPTION
Typical Applications
•
•
•
•
•
•
Button input port
VDD
The HCS370 is a code hopping encoder designed for
secure Remote Keyless Entry (RKE) and secure
remote control systems. The HCS370 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 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.
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 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 HCS370 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 HCS370 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 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 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.
DS41111D-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 HCS370 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 HCS370 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 HCS370, 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 HCS370 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.
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 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
HCS370
Transmitter
Serial Number
EEPROM Array
Serial Number
Crypt Key
Sync Counter
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 increment of the synchronization value results in more than
50% of the hopping code bits changing.
.
.
.
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.
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.
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 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 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.
2002 Microchip Technology Inc.
Preliminary
DS41111D-page 3
HCS370
FIGURE 1-2:
BUILDING THE TRANSMITTED CODE WORD (ENCODER)
EEPROM Array
KEELOQ
Encryption
Algorithm
Crypt Key
Sync Counter
Serial Number
Button Press
Information
32 Bits
Encrypted Data
Serial Number
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
B0
Serial Number
B1
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.
DS41111D-page 4
Preliminary
2002 Microchip Technology Inc.
HCS370
2.0
DEVICE DESCRIPTION
FIGURE 2-1:
TYPICAL CIRCUITS
Figure 2-1(A)
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:
VDD
RLED
S0-S5 and SHIFT 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 S0
S1
2
Switch input S1
S2
3
Switch input S2
S3
4
Switch input S3
S4
5
Switch input S4
S5/SLEEP
6
Switch input S5, or SLEEP
output
SHIFT
7
SHIFT input
VIN
8
Step-up regulator input
STEP
9
RFEN
B0
S0
B1
S1
LED
B2
S2
DATA
B3
S3
VSS
B4
S4
RFEN
B5
S5
STEP
RF PLL
Tx out
Description
SHIFT
DATA IN
ENABLE
VDD
VIN
Six Button remote with PLL control
Figure 2-1(B)
2.05-5.5V
330 µH
S0
VDD
S1
LED
Step-up pulses output
S2
DATA
10
RF enable output
S3
VSS
VSS
11
Ground reference
S4
RFEN
DATA
12
Transmission output pin
SLEEP
STEP
LED
13
Open drain output for LED
with pull-up resistor
VDD
14
Positive supply voltage
SHIFT
VIN
1N4148
6V@1 mA
Tx out
33kΩ
COUT
22 µF
10kΩ
2N3904
2.2 kΩ
1000 pF
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 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.
Note: Using SLEEP output low instead of grounding the resistor
divider reduces battery drain between transmissions
Figure 2-1(C)
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 maximum transmission length regulatory limits which vary
by country.
2002 Microchip Technology Inc.
VDD
Preliminary
Tx2
VDD
Tx1
S0
RLED
VDD
S1
LED
S2
DATA
S3
VSS
S4
RFEN
S5
STEP
SHIFT
Tx out
VDD
VIN
DUAL Transmitter remote control
DS41111D-page 5
HCS370
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.
The HCS370 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 HCS370 has built in redundancy for
counter protection and can recover from counter corruption.
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.
FIGURE 2-2:
I/O CIRCUITS
Figure 2-2(D)
VDD
P
DATA, RFEN
STEP
Outputs
N
Figure 2-2(E)
-
VIN
+
1.2V
FIGURE 2-3:
I/O CIRCUITS (CONTINUED)
Figure 2-3(A)
S0, S1, S2
S3, S4, SHIFT
Inputs
ZIN
Figure 2-3(B)
S5
VDD
P
SLEEP
S5/SLEEP
N
ZIN
SOEN
N
Figure 2-3(C)
VDD
Weak P
LED
LED Output
N
DS41111D-page 6
Preliminary
LED
2002 Microchip Technology Inc.
HCS370
FIGURE 2-4:
BASIC FLOW DIAGRAM OF
THE DEVICE OPERATION
START
Sample Buttons
Get Config
Yes
Seed
TX?
Read
Seed
No
Increment
Counter
Encrypt
Transmit
Yes
Time
Out
No
No
MTX
STOP
Yes
No
Buttons
Yes
No
Seed
Time
Yes
No
No
Seed
Button
Yes
No
New
Buttons
Yes
2002 Microchip Technology Inc.
Preliminary
DS41111D-page 7
HCS370
3.0
EEPROM ORGANIZATION
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.
Enough consecutive 8-bit blocks are reserved for the
TABLE 3-1:
Symbol
ENCODER1 OPTIONS (SHIFT = 0)
Reference
Section
Description(1)
Address16:Bits
KEY1
1E: 64 bits
Encoder Key
3.2.2
SEED1
14: 60 bits
Encoder Seed Value
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
3.2, 3.2.1
Value2
Format
00
PWM
01
Manchester
10
VPWM
11
PPM
4.1
4 TE = 0
10 TE = 1
4.1
28 bits = 0
32 bits = 1
3.2
QUEN1
1C: -6-- ----
Queue counter Enable
Disable = 0
Enable = 1
5.6
STEN1
1C: 7--- ----
START/STOP Pulse Enable
Disable = 0
Enable = 1
4.1
LEDBL1
3F: -6-- ----
Low Voltage LED Blink
Never = 0
Once = 1
5.3
LEDOS1
3F: 7--- ----
LED On Time Select
(1)
5.3
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-- ----
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(1)
11
3.2
Value2
TE (µs)
00
100
01
200
10
400
11
800
Value2
Time (ms)
00
2 TE
01
6.4
10
51.2
11
102.4
3.3
4.1
4.1, 5.2
Note 1: All Timing values vary ±10%.
DS41111D-page 8
Preliminary
2002 Microchip Technology Inc.
HCS370
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
MSEL2
32: ---- 32--
Transmission Modulation
Format
3.2, 3.2.1
Value2
Format
00
PWM
01
Manchester
10
VPWM
11
PPM
4.1
HSEL2
32: ---4 ----
Header Select
4 TE = 0
10 TE = 1
4.1
XSER2
32: --5- ----
Extended Serial Number
28 bits = 0
32 bits = 1
3.2
QUEN2
32: -6-- ----
Queue counter Enable
Disable = 0
Enable = 1
5.6
STEN2
32: 7--- ----
START/STOP Pulse Enable
Disable = 0
Enable = 1
4.1
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
Disable = 0
Enable = 1
3.3
User = 0
Production = 1
3.3
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
SDLM2
3E: ---- ---0
Limited Seed
SDMD2
3E: ---- --1-
Seed Mode
SDBT2
2A: 7654 ----
Seed Button Code
SDTM2
3E: ---- 32--
Time Before Seed Code word(1)
BSEL2
GSEL2
3E: --54 ----
3E: 76-- ----
3.3
Transmission Baud Rate
Select(1)
Guard Time Select(1)
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%.
TABLE 3-3:
DEVICE OPTIONS
2002 Microchip Technology Inc.
Preliminary
DS41111D-page 9
HCS370
Symbol
WAKE
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
SOEN
3D: ---- 3---
11
8
SLEEP Output Enable
Disable = 0
Enable = 1
5.4
Disable = 0
Enable = 1
5.2, 5.4
Value2
Time(s)
00
0.8
01
3.2
10
12.8
11
25.6
WAIT
3D: ---- -2--
Wait for Step-Up Regulator
TSEL
3D: --54 ----
Time-out Select(1)
2.0
Note 1: All Timing values vary ±10%.
2: Voltage thresholds are ±150 mV.
3.1
Dual Encoder Operation
The HCS370 contains two transmitter configurations
with separate serial numbers, encoder keys, discrimination values, syncronization counters, and seed values. 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.
DS41111D-page 10
Preliminary
2002 Microchip Technology Inc.
HCS370
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
FIXED CODE PORTION
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 synchronization counter can be either a 16- or 20bit value. The Configuration Option Counter Select
(CNTSEL) will determine this. The counter select option
must be the same for both Encoder 1 and Encoder 2.
TABLE 3-4:
FUNCTION CODES
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. Clearing OVR0 with OVR1 set will only
detect the first overflow. Clearing both OVR bits will
effectively give 12 constant bits for discrimination.
Button
Function Code2
S0
xx1x2
S1
x1xx2
S2
1xxx2
S3
xxx12
S4
111x2
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.
S5
11x12
3.2.3
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:
STATUS INFORMATION
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)
BUT
4 Bits
Counter
BUT Overflow
4 Bits 2 Bits
SERIAL NUMBER
(28 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
DS41111D-page 11
HCS370
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)
BUT
4 Bits
S2 S1 S0
SERIAL NUMBER
(28 Bits)
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 HCS370
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 checked on
the first preamble pulse of each code word with the
LED momentarily turned off. The VLOW bit 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, like 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 low TE after the first preamble pulse can
stretch by 4 ms one time as the latch changes state.
DS41111D-page 12
Preliminary
2002 Microchip Technology Inc.
HCS370
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 is identified by the function bits = 11112. The seed code word 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 sent
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
HCS370 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
DS41111D-page 13
HCS370
4.0
TRANSMITTED WORD
4.1
Transmission Modulation Format
800 µs with the Baud Rate Select (BSEL) configuration
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 HCS370 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,
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
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
4xTE
Encrypted Portion
Header
DS41111D-page 14
Preliminary
Fixed Code Portion
Guard
Time
2002 Microchip Technology Inc.
HCS370
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 HCS370 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
DS41111D-page 15
HCS370
5.0
SPECIAL FEATURES
5.2
5.1
Internal RC Oscillator
The RFEN pin will be driven high whenever data is
transmitted through the DATA pin.
The HCS370 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.
FIGURE 5-1:
RF Enable and PLL Interface
The RFEN and DATA outputs also interface with RF
PLL’s. The PLL Interface Select (PLLSEL) configuration option selects between 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 (TG). The power-up time (TPU) is the debounce
time plus the step-up regulator ramp up delay if the
Wait For Step-Up Regulator (WAIT) configuration
option is a ‘1’. The PLL step-up time (TPLL) is also used
to update the EEPROM counter.
ASK/FSK INTERFACE
S0
SLEEP
VREG
VBAT
STEP
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 HCS370 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
DS41111D-page 16
TE
Wait 2 seconds for next
button if QUEN=1
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.
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
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.
Preliminary
2002 Microchip Technology Inc.
HCS370
FIGURE 5-2:
LED OPERATION
EQUATION 5-1:
CRC [ 1 ] n + 1 = CRC [ 0 ] n ⊕ Di n
SN
TLEDON
TLEDOFF
and
LED
VDD > VLOW
CRC [ 0 ]n + 1 = ( CRC [ 0 ] n ⊕ Din ) ⊕ CRC [ 1 ] n
LED
VDD < VLOW
LEDBL=1
with
CRC [ 1, 0 ]0 = 0
LED
VDD < VLOW
LEDBL=0
5.4
and Din the nth transmission bit 0 <= n <= 64
5.6
Step-Up Voltage Regulator
To create your own step-up regulator circuit, first decide
on an output voltage. Second, set the VIN resistor
divider to drop it down to 1.2 volts. Keep the sum of the
two resistors around 100 kΩ. Third, put your maximum
load on the output and increase the inductance until
COUT charges from 0 volts to your output voltage in
about 30 ms from the minimum input voltage. Finally,
test over your temperature and input voltage ranges.
The WAIT option will delay RF transmissions until
COUT is charged. This permits a trade off in slower button response times to save money on cheaper inductors. This can also optimize performance for good
batteries and let response times drift for weak batteries.
Also, this option will indicate failure to reach regulation
voltage after 250 ms by not transmitting and not flashing the LED. If WAIT is disabled, the step-up regulator
still operates and transmissions will always start 30 ms
after a button press.
The SLEEP Output Enable (SOEN) option can be
enabled if S5 is not used. This reconfigures S5 to be an
output high when the HCS370 is sleeping. S5 will be an
output low when a button press wakes it up. One way
to use this option is to save power on the step-up regulator. The problem is that the VIN resistor divider
makes a DC path through the inductor and diode to discharge the battery. By tying the bottom of the divider to
SLEEP as shown in Figure 2-1, the path is broken
between transmissions.
5.5
CRC Calculation
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:
Button Queue Information
(QUEUE)
The queuing or repeated pressing of the same buttons
can be handled in two ways on the HCS370. 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.
FIGURE 5-3:
CODE WORD COMPLETION
WITH QUEN SETTINGS
MTX = 012, WAKE > 002
SN
QUEN = Disabled
DATA
WAKE-UP CODE1
CODE1
WAKE-UP CODE2
CODE2
QUEN = Enabled
DATA
6.0
WAKE-UP CODE1 00
WAKE-UP CODE2 01
CODE2 01
PROGRAMMING
SPECIFICATIONS
Refer to the “HCS370 Programming Specifications”
document (DS41157) in Microchip Literature.
2002 Microchip Technology Inc.
Preliminary
DS41111D-page 17
HCS370
7.0
INTEGRATING THE HCS370
INTO A SYSTEM
FIGURE 7-1:
Use of the HCS370 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 HCS370 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.
DS41111D-page 18
Preliminary
2002 Microchip Technology Inc.
HCS370
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
?
No
No
Is
Counter
Within 32K
?
Yes
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.
DS41111D-page 19
HCS370
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
DS41111D-page 20
Preliminary
2002 Microchip Technology Inc.
HCS370
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
DS41111D-page 21
DS41111D-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
HCS370
DEVELOPMENT TOOLS FROM MICROCHIP
2002 Microchip Technology Inc.
HCS370
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
DS41111D-page 23
HCS370
TABLE 9-1:
DC CHARACTERISTICS: HCS370
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
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
D031
With Schmitt Trigger Buffer
VSS
—
0.2 VDD
V
D032
SHIFT
VSS
—
0.2 VDD
V
D021A IPD
Shutdown Current
Input Low Voltage
VIL
D030
Input pins
D030A
Input High Voltage
VIH
Input pins
—
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
D042
SHIFT
0.8 VDD
—
VDD
V
4.5V ≤ VDD ≤ 5.5V
Otherwise
Input Threshold Voltage
D050
VTH
SHIFT
0.4
—
1.2
V
2.05 ≤ VDD ≤ 3.5V
D051
VTH
SLEEP/S5
0.3
0.6
0.9
V
2.05 ≤ VDD ≤ 3.5V
D052
VIN
VIN
1.05
1.19
1.33
V
Data Internally Inverted
D053
Vtol
Vlow detect tolerance
—
—
—
—
+200
+350
mV
mV
setting 5 = 2.25V
setting 25 = 4.25V
Input pins
—
—
±1
µA
VSS ≤ VPIN ≤ VDD, Pin at Hiimpedance, no pull-downs
enabled
SHIFT
—
—
±5
µA
VSS ≤ VPIN ≤ VDD
Input Leakage Current
D060
IIL
D061
DS41111D-page 24
Preliminary
2002 Microchip Technology Inc.
HCS370
TABLE 9-1:
DC CHARACTERISTICS: HCS370 (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 - S5, SHIFT
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
DS41111D-page 25
HCS370
TABLE 9-2:
AC CHARACTERISTICS
Commercial (C): TAMB = 0°C to +70°C
Industrial (I):
TAMB = -40°C to +85°C
2.05V < VDD < 5.5
Sym.
Min.
Typ.(1)
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
Parameter
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. These parameters are characterized but not tested.
DS41111D-page 26
Preliminary
2002 Microchip Technology Inc.
HCS370
10.0
PACKAGING INFORMATION
10.1
Package Marking Information
14-Lead PDIP (300 mil)
Example
HCS370
XXXXXXXXXXXXXX
9904NNN
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
YYWWNNN
Example
14-Lead SOIC (150 mil)
HCS370
XXXXXXXXXX
9904NNN
XXXXXXXXXX
XXXXXXXXXX
YYWWNNN
Example
14-Lead TSSOP (4.4 mm)
XXXXXX
HCS370
9904
NNN
YYWW
NNN
Legend:
Note:
*
XX...X
YY
WW
NNN
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, facility code, mask rev#,
and assembly 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
DS41111D-page 27
HCS370
10.2
Package Details
14-Lead Plastic Dual In-line (P) – 300 mil (PDIP)
E1
D
2
n
1
a
E
A2
A
L
c
A1
B1
b
eB
p
B
Units
Dimension Limits
n
p
MIN
INCHES*
NOM
14
.100
.155
.130
MAX
MILLIMETERS
NOM
14
2.54
3.56
3.94
2.92
3.30
0.38
7.62
7.94
6.10
6.35
18.80
19.05
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
Number of Pins
Pitch
Top to Seating Plane
A
.140
.170
Molded Package Thickness
A2
.115
.145
Base to Seating Plane
A1
.015
Shoulder to Shoulder Width
E
.300
.313
.325
Molded Package Width
.240
.250
.260
E1
Overall Length
D
.740
.750
.760
Tip to Seating Plane
L
.125
.130
.135
c
Lead Thickness
.008
.012
.015
Upper Lead Width
B1
.045
.058
.070
Lower Lead Width
B
.014
.018
.022
Overall Row Spacing
§
eB
.310
.370
.430
a
5
10
15
Mold Draft Angle Top
b
Mold Draft Angle Bottom
5
10
15
* Controlling Parameter
§ Significant Characteristic
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-005
DS41111D-page 28
Preliminary
MAX
4.32
3.68
8.26
6.60
19.30
3.43
0.38
1.78
0.56
10.92
15
15
2002 Microchip Technology Inc.
HCS370
14-Lead Plastic Small Outline (SL) – Narrow, 150 mil (SOIC)
E
E1
p
D
2
B
n
1
a
h
45 ×
c
A2
A
f
A1
L
b
Units
Dimension Limits
n
p
Number of Pins
Pitch
Overall Height
Molded Package Thickness
Standoff §
Overall Width
Molded Package Width
Overall Length
Chamfer Distance
Foot Length
Foot Angle
Lead Thickness
Lead Width
Mold Draft Angle Top
Mold Draft Angle Bottom
* Controlling Parameter
§ Significant Characteristic
A
A2
A1
E
E1
D
h
L
f
c
B
a
b
MIN
.053
.052
.004
.228
.150
.337
.010
.016
0
.008
.014
0
0
INCHES*
NOM
14
.050
.061
.056
.007
.236
.154
.342
.015
.033
4
.009
.017
12
12
MAX
.069
.061
.010
.244
.157
.347
.020
.050
8
.010
.020
15
15
MILLIMETERS
NOM
14
1.27
1.35
1.55
1.32
1.42
0.10
0.18
5.79
5.99
3.81
3.90
8.56
8.69
0.25
0.38
0.41
0.84
0
4
0.20
0.23
0.36
0.42
0
12
0
12
MIN
MAX
1.75
1.55
0.25
6.20
3.99
8.81
0.51
1.27
8
0.25
0.51
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-012
Drawing No. C04-065
2002 Microchip Technology Inc.
Preliminary
DS41111D-page 29
HCS370
14-Lead Plastic Thin Shrink Small Outline (ST) – 4.4 mm (TSSOP)
E
E1
p
D
2
1
n
B
a
A
c
f
b
A1
L
Units
Dimension Limits
n
p
Number of Pins
Pitch
Overall Height
Molded Package Thickness
Standoff §
Overall Width
Molded Package Width
Molded Package Length
Foot Length
Foot Angle
Lead Thickness
Lead Width
Mold Draft Angle Top
Mold Draft Angle Bottom
* Controlling Parameter
§ Significant Characteristic
A
A2
A1
E
E1
D
L
f
c
B1
a
b
MIN
.033
.002
.246
.169
.193
.020
0
.004
.007
0
0
INCHES
NOM
14
.026
.035
.004
.251
.173
.197
.024
4
.006
.010
5
5
A2
MAX
.043
.037
.006
.256
.177
.201
.028
8
.008
.012
10
10
MILLIMETERS*
NOM
MAX
14
0.65
1.10
0.85
0.90
0.95
0.05
0.10
0.15
6.25
6.38
6.50
4.30
4.40
4.50
4.90
5.00
5.10
0.50
0.60
0.70
0
4
8
0.09
0.15
0.20
0.19
0.25
0.30
0
5
10
0
5
10
MIN
Notes:
Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed
.005” (0.127mm) per side.
JEDEC Equivalent: MO-153
Drawing No. C04-087
DS41111D-page 30
Preliminary
2002 Microchip Technology Inc.
HCS370
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
2002 Microchip Technology Inc.
Preliminary
DS41111D-page 31
HCS370
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?
Device: HCS370
Y
N
Literature Number: DS41111D
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?
DS41111D-page 32
Preliminary
2002 Microchip Technology Inc.
HCS370
11.0
HCS370 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
HCS370: Code Hopping Encoder
HCS370T: Code Hopping Encoder (Tape and Reel - SL
only)
Temperature Range
I
Package
P
SL
ST
=
=
0×C to +70×C
-40×C to +85×C
=
=
=
Plastice DIP (300 mil body), 14-lead
Plastic SOIC (150 mil body), 14-lead
Plastic TSSOP (4.4mm body), 14-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.
2002 Microchip Technology Inc.
Preliminary
DS41111D-page 33
HCS370
NOTES:
DS41111D-page 34
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
DS41111D - page 35
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
DS41111D-page 36
Preliminary
 2002 Microchip Technology Inc.