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.