HCS410 Code Hopping Encoder and Transponder* PACKAGE TYPES S1 2 S2/LED 3 LC1 4 S2/LED LC1 GND PWM 1 2 3 4 8 VDD 7 LC0 6 PWM 5 GND 8 7 6 5 S1 S0 VDD LC0 BLOCK DIAGRAM VDD Oscillator Power Control Configuration Register S2 LCI0 LCI1 PWM Wakeup Logic Debounce Control and Queuer LED Control PPM Detector PWM PPM Manch. Encoder Address Decoding EEPROM Register S0 S1 Other • 37-bit nonencrypted part contains 28/32-bit serial number, 4/0-bit function code, 1-bit battery low, 2-bit CRC, 2-bit queue • Simple programming interface • On-chip tunable RC oscillator (±10%) • On-chip EEPROM • 64-bit user EEPROM in transponder mode • Battery-low LED indication • SQTP serialization quick-time programming • 8-pin PDIP/SOIC/TSSOP and die 1 HCS410 • 2.0V to 6.6V operation, 13V encoder only operation • Three switch inputs [S2, S1, S0]—seven functions • Batteryless bi-directional transponder • Selectable baud rate and code word blanking • Automatic code word completion • Battery low signal transmitted • Nonvolatile synchronization • PWM or Manchester RF encoding • Combined transmitter, transponder operation • Anti-collision of multiple transponders • Passive proximity activation • Device protected against reverse battery • Intelligent damping for high Q LC-circuits TSSOP S0 HCS410 Operating PDIP, SOIC Encryption/Increment Logic Security • Two programmable 64-bit encoder keys • 16/32-bit bi-directional challenge and response using one of two keys • 69-bit transmission length • 32-bit unidirectional code hopping, 37-bit nonencrypted portion • Encoder keys are read protected • Programmable 28/32-bit serial number • 60/64-bit, read-protected seed for secure learning • Three IFF encryption algorithms • Delayed increment mechanism • Asynchronous transponder communication • Queuing information transmitted Control Logic and Counters FEATURES Transponder Circuitry M PWM Driver Typical Applications • • • • • • • Automotive remote entry systems Automotive alarm systems Automotive immobilizers Gate and garage openers Electronic door locks (Home/Office/Hotel) Burglar alarm systems Proximity access control KEELOQ is a registered trademark of Microchip Technology Inc. *Code hopping encoder patents issued in Europe, U.S.A., R.S.A.—U.S.A.: 5,517,187; Europe: 0459781 1997 Microchip Technology Inc. Preliminary DS40158C-page 1 HCS410 Table of Contents 1.0 System Overview ....................................................................................................................................................3 1.1 Key Terms ........................................................................................................................................................3 1.2 KEELOQ Code Hopping Encoders .....................................................................................................................4 1.3 KEELOQ IFF ......................................................................................................................................................5 2.0 Device Operation ....................................................................................................................................................6 2.1 Pinout Description ............................................................................................................................................7 2.2 Code Hopping Mode (CH Mode) .....................................................................................................................8 2.3 Code Hopping Mode Special Features ..........................................................................................................11 2.4 IFF Mode ........................................................................................................................................................14 2.5 IFF Opcodes ..................................................................................................................................................17 2.6 IFF Special Features ......................................................................................................................................18 2.7 LED Indicator .................................................................................................................................................18 3.0 EEPROM Organization and Configuration ............................................................................................................19 3.1 Encoder Key 1 and 2 .....................................................................................................................................19 3.2 Discrimination Value and Overflow ................................................................................................................19 3.3 16-bit Synchronization Counter ......................................................................................................................19 3.4 60/64-bit Seed Word/Transport Code ............................................................................................................20 3.5 Encoder Serial Number ..................................................................................................................................20 3.6 User Data .......................................................................................................................................................20 3.7 Configuration Data .........................................................................................................................................21 4.0 Integrating the HCS410 into a System ..................................................................................................................23 4.1 Key Generation ..............................................................................................................................................23 4.2 Learning an HCS410 to a Receiver ...............................................................................................................24 4.3 CH Mode Decoder Operation ........................................................................................................................25 4.4 IFF Decoder Operation ..................................................................................................................................27 5.0 Electrical Characteristics .......................................................................................................................................28 HCS410 Product Identification System ........................................................................................................................35 DS40158C-page 2 Preliminary 1997 Microchip Technology Inc. HCS410 DESCRIPTION 1.0 SYSTEM OVERVIEW The HCS410 is a code hopping transponder device designed for secure entry systems. The HCS410 utilizes the patented KEELOQ code hopping system and bi-directional challenge-and-response for logical and physical access control. High security learning mechanisms make this a turnkey solution when used with the KEELOQ decoders. The encoder keys and synchronization information are stored in protected on-chip EEPROM. 1.1 Key Terms A low cost batteryless transponder can be implemented with the addition of an inductor and two capacitors. A packaged module including the inductor and capacitor will also be offered. A single HCS410 can be used as an encoder for Remote Keyless Entry (RKE) and a transponder for immobilization in the same circuit and thereby dramatically reducing the cost of hybrid transmitter/transponder circuits. • Anticollision – Allows two transponders to be in the files simultaneously and be verified individually. • CH Mode – Code Hopping Mode. The HCS410 transmits a 69-bit transmission each time it is activated, with at least 32-bits changing each time the encoder is activated. • Encoder Key – A unique 64-bit key generated and programmed into the encoder during the manufacturing process. The encoder key controls the encryption algorithm and is stored in EEPROM on the encoder device. • IFF – Identify friend or foe is a means of validating a token. A decoder sends a random challenge to the token and checks that the response of the token is a valid response. • KEELOQ Encryption Algorithm – The high security level of the HCS410 is based on the patented KEELOQ technology. A block cipher encryption algorithm 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 even if the unencrypted/challenge information differs by only one bit from the information in the previous transmission/challenge, the next coded transmission/response will be totally different. Statistically, if only one bit in the 32-bit string of information changes, approximately 50 percent of the coded transmission will change. • Learn – The HCS product family facilitates several learning strategies to be implemented on the decoder. The following are examples of what can be done. Normal Learn –The receiver uses the same information that is transmitted during normal operation to derive the transmitter’s encoder key, decrypt the discrimination value and the synchronization counter. Secure Learn* – The transmitter is activated through a special button combination to transmit a stored 60-bit value (random seed) that can be used for key generation or be part of the key. Transmission of the random seed can be disabled after learning is completed. • Manufacturer’s Code – A 64-bit word, unique to each manufacturer, used to produce a unique encoder key in each transmitter (encoder). • Passive Proximity Activation – When the HCS410 is brought into in a magnetic field without a command given by the base station, the HCS410 can be programmed to give an RF transmission. • Transport Code – A 32-bit transport code needs to be given before the HCS410 can be inductively programmed. This prevents accidental programming of the HCS410. *Secure Learn patent pending. 1997 Microchip Technology Inc. Preliminary DS40158C-page 3 HCS410 1.2 KEELOQ Code Hopping Encoders When the HCS410 is used as a code hopping encoder device, it is ideally suited to keyless entry systems, primarily for vehicles and home garage door openers. It is meant to be a cost-effective, yet secure solution to such systems. The encoder portion of a keyless entry system is meant to be carried by the user and operated to gain access to a vehicle or restricted area. Most keyless entry systems transmit the same code from a transmitter every time a button is pushed. The relative number of code combinations for a low end system is also a relatively small number. These shortcomings provide the means for a sophisticated thief to create a device that ‘grabs’ a transmission and retransmits it later or a device that scans all possible combinations until the correct one is found. The HCS410 employs the KEELOQ code hopping technology and an encryption algorithm to achieve a high level of security. Code hopping is a method by which the code transmitted from the transmitter to the receiver is different every time a button is pushed. This method, coupled with a transmission length of 69 bits, virtually eliminates the use of code ‘grabbing’ or code ‘scanning’. The HCS410 has a small EEPROM array which must be loaded with several parameters before use. The most important of these values are: • A 28/32-bit serial number which is meant to be unique for every encoder • 64-bit seed value • A 64-bit encoder key that is generated at the time of production • A 16-bit synchronization counter value. • Configuration options The 16-bit synchronization counter value is the basis for the transmitted code changing for each transmission, and is updated each time a button is pressed. Because of the complexity of the code hopping encryption algorithm, a change in one bit of the synchronization counter value will result in a large change in the actual transmitted code. Once the encoder detects that a button has been pressed, the encoder reads the button and updates the synchronization counter. The synchronization counter value, the function bits, and the discrimination value are then combined with the encoder key in the encryption algorithm, and the output is 32 bits of encrypted information (Figure 1-1). The code hopping portion provides up to four billion changing code combinations. This data will change with every button press, hence, it is referred to as the code hopping portion of the code word. The 32-bit code hopping portion is combined with the button information and the serial number to form the code word transmitted to the receiver. The code word format is explained in detail in Section 2.2. FIGURE 1-1: BASIC OPERATION OF A CODE HOPPING TRANSMITTER (ENCODER) Transmitted Information EEPROM Array KEELOQ Encryption Algorithm 32 Bits of Encrypted Data Serial Number Button Press Information Encoder Key Sync Counter Serial Number DS40158C-page 4 Preliminary 1997 Microchip Technology Inc. HCS410 1.3 KEELOQ IFF The HCS410 can do either 16 or 32-bit IFF. The HCS410 has two encryption algorithms that can be used to generate a response to a challenge. In addition there are up to two encoder keys that can be used by the HCS410. Typically each HCS410 will be programmed with a unique encoder key(s). The HCS410 can be used as an IFF transponder for verification of a token. In IFF mode the HCS410 is ideally suited for authentication of a key before disarming a vehicle immobilizer. Once the key has been inserted in the car’s ignition the decoder would inductively poll the key validating it before disarming the immobilizer. In IFF mode, the HCS410 will wait for a command from the base station and respond to the command. The command can either request a read/write from user EEPROM or an IFF challenge response. A given 16 or 32-bit challenge will produce a unique 16/32-bit response, based on the IFF key and IFF algorithm used. IFF validation of the token involves a random challenge being sent by a decoder to a token. The token then generates a response to the challenge and sends this response to the decoder (Figure 1-2). The decoder calculates an expected response using the same challenge. The expected response is compared to the response received from the token. If the responses match, the token is identified as a valid token and the decoder can take appropriate action. FIGURE 1-2: IBASIC OPERATION OF AN IFF TOKEN Challenge Received from Decoder Read by Decoder EEPROM Array IFF Key Serial Number 1997 Microchip Technology Inc. KEELOQ IFF Algorithm Preliminary Serial Number Response DS40158C-page 5 HCS410 2.0 DEVICE OPERATION The HCS410 can either operate as a normal code hopping transmitter with one or two IFF keys (Figure 2-1) or as purely an IFF token with two IFF keys (Figure 2-2 and Figure 2-3). When used as a code hopping transmitter the HCS410 only needs the addition of buttons and RF circuitry for use as a transmitter. Adding the transponder function to the transmitter requires the addition of an inductor and two capacitors as shown in Figure 2-1 and Figure 2-2. A description of each pin is given in Table 2-1. Table 2-2 shows the function codes for using the HCS410. FIGURE 2-1: Figure 2-4 shows how to use the HCS410 with a 12V battery as a code hopping transmitter. The circuit uses the internal regulator, normally used for charging a capacitor/battery in LC mode, to generate a 6V supply for the HCS410. FIGURE 2-4: 12V COMBINED TRANSMITTER/ TRANSPONDER CIRCUIT 1 8 2 7 3 6 4 5 HCS410 ENCODER WITH 12V BATTERY 1 8 2 7 3 6 4 5 6.3V RF 1 µF RF FIGURE 2-5: LED CONNECTION TO S2/LED OUTPUT VDD FIGURE 2-2: TRANSPONDER CIRCUIT 1 8 2 7 3 6 4 5 Pulse 220Ω 1 µF 30Ω S2/LED 220Ω 60k FIGURE 2-6: FIGURE 2-3: 2-WIRE, 1 OR 2-KEY IFF TOKEN 1 8 2 7 3 6 4 LC PIN BLOCK DIAGRAM LCI1 100Ω 15V 1 µF 6.7V VDD Rectifier, Damping, Clamping Data I/O Damp LCI0 100Ω 5 Out 15V Detector MOD DS40158C-page 6 Preliminary 1997 Microchip Technology Inc. HCS410 2.1 Pinout Description The HCS410 has the same footprint as all of the other devices in the KEELOQ family, except for the two pins that are reserved for transponder operations and the LED that is now located at the same position as the S2 switch input. TABLE 2-1: • S[0:1] – are inputs with Schmitt Trigger detectors and an internal 60kΩ (nominal) pull-down resistors. • S2/LED – uses the same input detection circuit as S0/S1 but with an added PMOS transistor connected to VDD capable of sourcing enough current to drive an LED. • LC[0:1] – is the transponder interface pins to be connected to an LC circuit for inductive communication. LC0 is connected to a detector for data input. Data output is achieved by clamping LC0 and LC1 to GND through two NMOS transistors. These pins are also connected to a rectifier and a regulator, providing power to the rest of the logic and for charging an external power source (Battery/Capacitor) through VDD. PINOUT DESCRIPTION Name Pin Number Description S0 1 Switch input 0 S1 2 Switch input 1 S2/LED 3 Switch input 2/LED output, Clock pin for programming mode LC1 4 Transponder interface pin VSS 5 Ground reference connection PWM 6 Pulse width modulation (PWM) output pin/Data pin for programming mode LC0 7 Transponder interface pin. VDD 8 Positive supply voltage connection TABLE 2-2: FUNCTION CODES LC0 S2 S1 S0 Comments 1 0 0 0 1 2 0 0 1 0 Normal Code Hopping transmission Normal Code Hopping transmission 3 0 0 1 1 Delayed seed transmission if allowed by SEED and TMPSD/Normal Code Hopping transmission 4 0 1 0 0 Normal Code Hopping transmission 5 0 1 0 1 Normal Code Hopping transmission 6 0 1 1 0 Normal Code Hopping transmission 7 0 1 1 1 Immediate seed transmission if allowed by SEED and TMPSD/Normal Code Hopping transmission 8 1 0 0 0 Transponder mode 1997 Microchip Technology Inc. Preliminary DS40158C-page 7 HCS410 2.2 Code Hopping Mode (CH Mode) If, during the transmit process, it is detected that a new button(s) has been added, a reset will immediately be forced and the code word will not be completed. Please note that buttons removed will not have any effect on the code word unless no buttons remain pressed in which case the current code word will be completed and the power down will occur. If, after a button combination is pressed, and the same button combination is pressed again within 2 seconds of the first press, the current transmission will be aborted and a new transmission will start with the queue counter (QUE) incremented. The HCS410 wakes up upon detecting a switch closure and then delays approximately 30 ms for switch debounce (Figure 2-7). The synchronization counter value, fixed information, and switch information are encrypted to form the code hopping portion. The encrypted or code hopping portion of the transmission changes every time a button is pressed, even if the same button is pushed again. Keeping a button pressed for a long time results in the same code word being transmitted until the button is released or timeout occurs. A code that has been transmitted will not occur again for more than 64K transmissions. Overflow information programmed into the encoder can be used by the decoder to extend the number of unique transmissions to more than 192k. FIGURE 2-7: CODE HOPPING ENCODER OPERATION Power-up (A button has been pressed (Note1) Sample Inputs Complete current code word while checking buttons (Note 2) No Transmitted 7 complete code words? Yes Stop transmitting immediately Update Sync Info Encrypt With Encoder Key Yes No No Transmit Buttons pressed? (Note 1) 2 second time-out completed? No 20-second timeout No DINC Set? Buttons added? No Yes No No All buttons released? (Note 1) Yes Buttons pressed? (Note 1) Yes Yes 20 second time-out completed? Yes No Yes Increase sync counter by 12 Yes DINC Set? No Same as previous press? No Power down Yes Increment queue counter Yes Note 1: 30 ms debounce on press and release of all buttons. 2: Completes a minimum of 3 code words if MTX3 is set. DS40158C-page 8 Preliminary 1997 Microchip Technology Inc. HCS410 2.2.1 TRANSMISSION DATA FORMAT The HCS410 transmission (CH Mode) is made up of several parts (Figure 2-10 and Figure 2-11). Each transmission is begun with a preamble and a header, followed by the encrypted and then the fixed data. The actual data is 69 bits which consists of 32 bits of encrypted data and 37 bits of fixed data. Each transmission is followed by a guard period before another transmission can begin. Refer to Table 5-4 and Table 5-5 for transmission timing specifications. The combined encrypted and nonencrypted sections increase the number of combinations to 1.47 x 1020. FIGURE 2-8: The HCS410 transmits a 69-bit code word when a button is pressed. The 69-bit word is constructed from a Fixed Code portion and Code Hopping portion (Figure 2-8). The Encrypted Data is generated from 4 function bits, 2 overflow bits, and 10 discrimination bits, and the 16bit synchronization counter value (Figure 2-8). The Nonencrypted Code Data is made up of 2 QUE bits, 2 CRC bits, a VLOW bit, 4 function bits, and the 28-bit serial number. If the extended serial number (32 bits) is selected, the 4 function code bits will not be transmitted (Figure 2-8). HOP CODE WORD ORGANIZATION (RIGHT-MOST BIT IS CLOCKED OUT FIRST) Fixed Code Data QUE (Q1, Q0 bit) CRC (2 bit) VLOW (1 bit) Button Status* (4 bits) S2 S1 S0 0 Encrypted Code Data 28-bit Serial Number Button Overflow (2 bits) and Status Discrimination (4 bits) bits (10 bits) S2 S1 S0 0 MSB QUE (2 bits) CRC (2 bits) VLOW (1 bit) + Serial Number and Button Status (32 bits) + 16-bit Synchronization Counter Value LSB 32 bits of Encrypted Data 69 bits of Data Transmitted * Optional. FIGURE 2-9: SEED CODE WORD ORGANIZATION Fixed Code Data QUE0 (Q1, Q0 bit) CRC (2 bit) VLOW (1 bit) CRC QUE (2 bits) (2 bits) Button* Status (4 bits) S2 S1 S0 0 VLOW (1 bit) Button + (4 bits) Unencrypted SEED SEED (60 bits) + 69 bits of Data Transmitted * Optional. 1997 Microchip Technology Inc. Preliminary DS40158C-page 9 HCS410 2.2.2 The same code word is continuously sent as long as the input pins are kept high with a guard time separating the code words. All of the timing values are in multiples of a Basic Timing Element (TE), which can be changed using the baud rate option bits. TRANSMISSION DATA MODULE The Data Modulation Format is selectable between Pulse Width Modulation (PWM) format and Manchester encoding. Both formats are preceded by a preamble and synchronization header, followed by the 69-bits of data. Manchester encoding has a leading and closing ‘1’ for each code word. FIGURE 2-10: TRANSMISSION FORMAT—MANCH = 0 TOTAL TRANSMISSION: 1 CODE WORD Preamble Sync Encrypt Fixed Guard Preamble Sync Encrypt TE CODE WORD: LOGIC "0" BIT LOGIC "1" TE 1 2 4 5 1 3 5 7 9 14 15 16 2 4 6 8 10 6 Encrypted TX Data Sync Preamble Fixed Code Data Guard Time Code Word FIGURE 2-11: TRANSMISSION FORMAT—MANCH = 1 1 CODE WORD TOTAL TRANSMISSION: Preamble Sync Encrypt Fixed Preamble Guard Sync Encrypt TE CODE WORD: LOGIC "0" LOGIC "1" BPW 1 2 4 5 6 Preamble Stop bit Start bit 1 3 14 15 16 2 4 Sync Encrypted Data Fixed Code Data Guard Time CODE WORD DS40158C-page 10 Preliminary 1997 Microchip Technology Inc. HCS410 2.3 Code Hopping Mode Special Features 2.3.1 CODE WORD COMPLETION Code word completion is an automatic feature that ensures that the entire code word is transmitted, even if the button is released before the transmission is complete. The HCS410 encoder powers itself up when a button is pushed and powers itself down after the command is finished (Figure 2-7). If MTX3 is set in the configuration word, a minimum of three transmissions will be transmitted when the HCS410 is activated, even if the buttons are released. constraints on the average power that can be transmitted by a device, and CWBE effectively prevents continuous transmission by only allowing the transmission of every second or fourth word. This reduces the average power transmitted and hence, assists in FCC approval of a transmitter device. The HCS410 will either transmit all code words, 1 in 2 or 1 in 4 code words, depending on the baud rate selected and the code word blanking option. See Section 3.7 for additional details. 2.3.3 CRC (CYCLE REDUNDANCY CHECK) BITS If less than seven words have been transmitted when the buttons are released, the HCS410 will complete the current word. If more than seven words have been transmitted, and the button is released, the PWM output is immediately switched off. The CRC bits are calculated on the 65 previously transmitted bits. The CRC bits can be used by the receiver to check the data integrity before processing starts. The CRC can detect all single bit and 66% of double bit errors. The CRC is computed as follows: 2.3.2 EQUATION 2-1: CODE WORD BLANKING ENABLE Federal Communications Commission (FCC) part 15 rules specify the limits on fundamental power and harmonics that can be transmitted. Power is calculated on the worst case average power transmitted in a 100ms window. It is therefore advantageous to minimize the duty cycle of the transmitted word. This can be achieved by minimizing the duty cycle of the individual bits and by blanking out consecutive words. Code Word Blanking Enable (CWBE) is used for reducing the average power of a transmission (Figure 2-12). Using the CWBE allows the user to transmit a higher amplitude transmission if the transmission length is shorter. The FCC puts CRC CALCULATION CRC [ 1 ] n + 1 = CRC [ 0 ] n ⊕ Di n and CRC [ 0 ] n + 1 = ( CRC [ 0 ] n ⊕ Di n ) ⊕ CRC [ 1 ] n with CRC [ 1, 0 ] 0 = 0 and Din the nth transmission bit 0 ≤ n ≤ 64 FIGURE 2-12: CODE WORD BLANKING ENABLE Amplitude CWBE Disabled (All words transmitted) A CWBE Enabled (1 out of 2 transmitted) 2A CWBE Enabled (1 out of 4 transmitted) 4A One Code Word Time 1997 Microchip Technology Inc. Preliminary DS40158C-page 11 HCS410 2.3.4 2.3.7 SEED TRANSMISSION In order to increase the level of security in a system, it is possible for the receiver to implement what is known as a secure learning function. This can be done by utilizing the seed value on the HCS410 which is stored in EEPROM. Instead of the normal key generation method being used to create the encoder key, this seed value is used and there should not be any mathematical relationship between serial numbers and seeds for the best security. See Section 3.7.3 for additional details. 2.3.5 The VLOW bit is transmitted with every transmission (Figure 2-8). VLOW is set when the operating voltage has dropped below the low voltage trip point, approximately 2.2V or 4.4V selectable at 25°C. This VLOW signal is transmitted so the receiver can give an indication to the user that the transmitter battery is low. 2.3.8 QUE0:QUE1: QUEUING INFORMATION If a button is pressed, released for more than 30 ms, and pressed again within 2 seconds of the first press, the QUE counter is incremented (Figure 2-7). The transmission that the HCS410 is busy with is aborted and a new transmission is begun with the new QUE bits set. These bits can be used by the decoder to perform secondary functions using only a single button without the requirement that the decoder receive more than one completed transmission. For example if none of the QUE bits are set the decoder only unlocks the driver’s door, if QUE0 is set (double press on the transmitter) the decoder unlocks all the doors. PASSIVE PROXIMITY ACTIVATION If the HCS410 is brought into a magnetic field it enters IFF mode. In this mode it sends out ACK pulses on the LC lines. If the HCS410 doesn't receive any response to the first set of ack pulses within 50 ms the HCS410 will transmit a normal code hopping transmission for 2 seconds if XPRF is set in the configuration word. The function code during this transmission is S2:S0 = 000. 2.3.6 VLOW: VOLTAGE LOW INDICATOR AUTO-SHUTOFF Note 1: The QUE will not overflow. The Auto-shutoff function automatically stops the device from transmitting if a button inadvertently gets pressed for a long period of time. This will prevent the device from draining the battery if a button gets pressed while the transmitter is in a pocket or purse. Time-out period is approximately 20 seconds. 2: The button must be pressed for more than 50 ms. FIGURE 2-13: QUE COUNTER TIMING DIAGRAM 1st Button Press All Buttons Released 2nd Button Press Input Sx DIO Transmission QUE = 002 QUE = 012 TLOW>30 ms t=0 t > 50 ms t <2S t=0 •Patents have been applied for. DS40158C-page 12 Preliminary 1997 Microchip Technology Inc. HCS410 2.3.9 2.3.11 LED OUTPUT The S2/LED line can be used to drive a LED when the HCS410 is transmitting. If this option is enabled in the configuration word the S2 line is driven high periodically when the HCS410 is transmitting as shown in Figure 2-14. The LED output operates with a 30 ms on and 480 ms off duty cycle when the supply voltage is above the level indicated by the VLOW bit in the configuration word. When the supply voltage drops below the voltage indicated by the VLOW bit the HCS410 will indicate this by turning the LED on for 200ms at the start of a transmission and remain off for the rest of the transmission. 2.3.10 OTHER CONFIGURABLE OPTIONS Other configurable code hopping options include an • Transmission-rate selection • Extended serial number. These are described in more detail in Section 3.7. DELAYED INCREMENT The HCS410 has a delayed increment feature that increments the counter by 12, 20 seconds after the last button press occurred. The 20-second time-out is reset and the queue counter will increment if another press occurs before the 20 seconds expires. The queue counter is cleared after the buttons have been released for more than 2 seconds. Systems that use this feature will circumvent the latest jamming-code grabbing attackers. FIGURE 2-14: LED INDICATION DURING TRANSMISSION S Input LED VDD = VLOW Level LED VDD < VLOW LEVEL 200 ms 280 ms 30 ms 400 ms 1997 Microchip Technology Inc. Preliminary DS40158C-page 13 HCS410 2.4 IFF Mode 2.4.1 IFF mode allows the decoder to perform an IFF validation, to write to the user EEPROM and to read from the user EEPROM. Each operation consists of the decoder sending an opcode data and the HCS410 giving a response. There are two IFF modes: IFF1 and IFF2. IFF1 allows only one key IFF, while IFF2 allows two keys to be used. Note: When IFF2 is enabled, seed transmissions will not be allowed. It is possible to use the HCS410 as an IFF token without using a magnetic field for coupling. The HCS410 can be directly connected to the data line of the decoder as shown in Figure 2-3. The HCS410 gets its power from the data line as it would in normal transponder mode. The communication is identical to the communication used in transponder mode. IFF MODE ACTIVATION The HCS410 will enter IFF mode if the capacitor/inductor resonant circuit generates a voltage greater than approximately 1.0 volts on LC0. After the verified application of power and elapse of the normal reset period, the device will start responding by pulsing the DATA line (LC0/1) with pulses as shown in Figure 2-17. This action will continue until the pulse train is terminated by receiving a start signal of duration 2TE, on the LC inputs before the next expected marker pulse. The device now enters the IFF mode and expects to receive an ‘Opcode’ and a 0/16/32-bit Data-stream to react on. The data rate (TE) is determined by the TBSL bits in the configuration word. See Section 3.0 for additional details. 2.4.2 IFF DECODER COMMANDS As shown in Figure 2-15, a logic 1 and 0 are differentiated by the time between two rising edges. A long pulse indicates a 1; a short pulse, a 0. FIGURE 2-15: MODULATION FOR IFF COMMUNICATION PPM Decoder Commands PPM Encoder Response Start or previous bit 0 0 3 TE 1 TE TE 1 TE 1 5 TE 1 TE 2 TE TE FIGURE 2-16: OVERVIEW OF IFF OPERATION IFF Activate Opcode Activate Opcode Activate Opcode 32/16-bit Challenge 32/16-bit IFF Response Opcode WRITE 16 bit Data OK Opcode READ DS40158C-page 14 16 bit Data Opcode Preliminary 1997 Microchip Technology Inc. HCS410 FIGURE 2-17: DECODER IFF COMMANDS AND WAVEFORMS Read Ack pulses 0 1 Start Response 16 bits TRT 2 TE Write/Program TE Opcode TTTD Data 16 bits Writing Ack Transport Code 32 bits TOTD Ack pulses TWR bit4 bit3 bit2 bit1 bit0 TBITC Only when writing Serial Number, Config or IFF programming Repeat 18 times for programming Challenge Ack pulses Opcode TOTD Challenge 16/32 bits Response 16/32 bits TABLE 2-3: Encoder Select Ack Serial number 1 to 32 bits 0 0 0 0 Ack pulses 0 Encoder Select IFF TIMING PARAMETERS Parameter Symbol Minimum Typical Maximum Units TE — — 200 100 — — µs PPM Command Bit Time Data = 1 Data = 0 TBITC 3.5 5.5 4 6 — — TE PPM Response Bit Time Data = 1 Data = 0 TBITR — — 2 3 — — TE PPM Command Minimum High Time TPMH 1.5 — — TE Time Element IFFB = 0 IFFB = 1 Response Time (Minimum for Read) TRT 6.5 — — ms Opcode to Data Input Time TOTD 1.8 — — ms Transport Code to Data Input Time TTTD 6.8 — — ms IFF EEPROM Write Time (16 bits) TWR — — 30 ms 1997 Microchip Technology Inc. Preliminary DS40158C-page 15 HCS410 2.4.3 HCS410 RESPONSES 2.4.6 The responses from the HCS410 are in PPM format. See Figure 2-17 for additional information 2.4.4 IFF RESPONSE The 16/32-bit response to a 16/32-bit challenge, is transmitted once, after which the device is ready to accept another command. The same applies to the result of a Read command. The opcode written to the device specifies the challenge length and algorithm used. 2.4.5 IFF WRITE The decoder can write to USER[0:3], SER[0:1], and the configuration word in the EEPROM. After the HCS410 has written the word into the EEPROM, it will give two acknowledge pulses (TE wide and TE apart) on the LC pins. When writing to the serial number or configuration word, the user must send the transport code before the write will begin (Section 3.4) . Note: If the configuration word is written, the device must be reset to allow the new configuration settings to come into effect. IFF READ The decoder can read USER[0:3], SER[0:1], and the configuration word in the EEPROM. After the data has been read, the device is ready to receive a command again. Each read command is followed by a 16-bit data response. The response always starts with a leading preamble of 012 and then the 16-bits of data. 2.4.7 IFF PROGRAMMING Upon receiving a programming opcode and the transport code, the EEPROM is erased (Section 3.4). Thereafter, the first 16 bits of data can be written. After indicating that a write command has been successfully completed the device is ready to receive the next 16 bits. After a complete memory map was received, it will be transmitted in PPM format on the LC pins as 16-bit words. This enables wireless programming of the device. After the EEPROM is erased, the configuration word is reloaded. This results in oscillator tuning bits of 0000 being used during programming. When using IFF programming, the user should read the configuration word and store the oscillator bits in the memory map to be programmed. A program command should be sent and the next set of ACK pulses transmitted by the HCS410 should be used to determine the TE. A second program command can then be sent, and the device programmed using the TE just calibrated. FIGURE 2-18: IFF INDUCTIVE IN RF OUT Encoder Select ACK Opcode (Read) Response (16 bits) Next Ack LCI0/1 PWM Preamble Response Header (32 bits) Fixed Code (37 bits) 32-bit Response 16-bit 16-bit Response Response DS40158C-page 16 Preliminary 1997 Microchip Technology Inc. HCS410 2.5 IFF Opcodes TABLE 2-4: Command LIST OF IFF COMMANDS Description Expected data In Response 00000 Select HCS410, used if Anticolli- 1 to 32 bits of the serial number sion enabled (SER) Encoder select acknowledge if SER match 00001 Read configuration word None 16-bit configuration word 00010 Read high serial number None Higher 16 bits of serial number (SER1) 00011 Read low serial number None Lower 16 bits of serial number (SER0) 00100 Read user area 0 None 16 Bits of User EEPROM USR0 00101 Read user area 1 None 16 Bits of User EEPROM USR1 00110 Read user area 2 None 16 Bits of User EEPROM USR2 00111 Read user area 3 None 16 Bits of User EEPROM USR3 01000 Program HCS410 EEPROM Transport code (32 bits); Complete memory map: 18 x 16 bit words (288 bits) Write acknowledge pulse after each 16-bit word, 288 bits transmitted in 18 bursts of 16-bit words 01001 Write configuration word Transport code (32 bits); 16 Bit configuration word Write acknowledge pulse 01010 Write high serial number Transport code (32 bits); Higher 16 bits of serial number (SER1) Write acknowledge pulse 01011 Write low serial number Transport code (32 bits); Lower 16 bits of serial number (SER0) Write acknowledge pulse 01100 Write user area 0 16 Bits of User EEPROM USR0 Write acknowledge pulse 01101 Write user area 1 16 Bits of User EEPROM USR1 Write acknowledge pulse 01110 Write user area 2 16 Bits of User EEPROM USR2 Write acknowledge pulse 01111 Write user area 3 16 Bits of User EEPROM USR3 Write acknowledge pulse 1X000 IFF1 using key-1 and IFF algorithm 32-Bit Challenge 32 Bit Response 1X001 IFF1 using key-1 and HOP algorithm 32-Bit Challenge 32 Bit Response 1X100 IFF2 32-bit using key-2 and IFF algorithm 32-Bit Challenge 32 Bit Response 1X101 IFF2 32-bit using key-2 and HOP 32-Bit Challenge algorithm 32 Bit Response 1997 Microchip Technology Inc. Preliminary DS40158C-page 17 HCS410 2.6 IFF Special Features 2.6.2 2.6.1 ANTI-COLLISION (ACOLI) When in transponder mode with ACOLI and XPRF set, the outputs of the HCS410’s LC0:LC1 pins are echoed on the PWM output line. After transmitting the data on the LC pins, the data is then transmitted on the PWM line. The transmission format mirrors a code hopping transmission. The response replaces the 32-bit code hopping portion of the transmission. If the response is a 16-bit response, the 16 bits are duplicated to make up the 32-bit code hopping portion. The preamble, serial number, CRC, and queuing bits are all transmitted as normal (Figure 2-18). When the ACOLI bit is set in the configuration word, anti-collision mode is entered. The HCS410 will start sending ACK pulses when it enters a magnetic field. The ACK pulses stop as soon as the HCS410 detects a start bit from the decoder. A ‘select encoder’ opcode (00000) is then sent out by the decoder, followed by a 32-bit serial number. If the serial number matches the HCS410’s serial number, the HCS410 will acknowledge with the acknowledge sequence as shown in Figure 2-19. The HCS410 can then be addressed as normal. If the serial number does not match, the IFF encoder will stop transmitting ACK pulses until it is either removed from the field or the correct serial number is given. FIGURE 2-19: SERIAL NUMBER CORRECT ACKNOWLEDGE SEQUENCE TE LC0/1 3 TE TE TRANSPONDER IN/RF OUT This feature will be used in applications which use RF for long distance unidirectional authentication and short distance IFF. 2.6.3 INTELLIGENT DAMPING If the LC circuit on the transponder has a high Q-factor, the circuit will keep on resonating for a long time after the field has been shut down by the decoder. This makes fast communication from the decoder to the HCS410 difficult. If the IDAMP bit is set to 0, the HCS410 will clamp the LC pins for 5 µs every 1/4 TE, whenever the HCS410 is expecting data from the decoder. Refer to Figure 2-18 for timing details. This option can be set in the configuration word. 2.7 LED Indicator If a signal is detected on LC0, the LED pin goes high for 30 ms every 8s (IFFB = 0) or 4s (IFFB 1) to indicate that the power source is charging. FIGURE 2-20: LED INDICATOR WHEN CHARGING POWER SOURCE LC0 LED IFFB = 0 4s 8s 30 ms LED IFFB = 1 2s DS40158C-page 18 4s 30 ms Preliminary 1997 Microchip Technology Inc. HCS410 3.0 EEPROM ORGANIZATION AND CONFIGURATION The HCS410 has nonvolatile EEPROM memory which is used to store user programmable options. This information includes encoder keys, serial number, and up to 64-bits of user information. The HCS410 has two modes in which it operates as specified by the configuration word. In the first mode the HCS410 has a single encoder key which is used for encrypting the code hopping portion of a CH Mode transmission and generating a response during IFF validation. Seed transmissions are allowed in this mode. In the second mode the HCS410 is a transponder device with two encoder keys. The two different operating modes of the HCS410 lead to different EEPROM memory maps. In IFF1 mode, the HCS410 can act as a code hopping encoder with Seed transmission, and as an IFF token with one key. IFF1 Mode 64-bit Encoder Key 1 64-bit Seed/Transport Code (SEED0, SEED1, SEED2, SEED3) 32-bit Serial Number (SER0, SER1) 64-bit User Area (USR0, USR1, USER2, USR3) 10-bit Discrimination Value and 2 Overflow Bits. 16-bit Synchronization Counter 3.1 The 64-bit encoder key1 is used by the transmitter to create the encrypted message transmitted to the receiver in Code Hopping Mode. An IFF operation, can use encoder key1 or key2 to generate the response to a challenge received. The key(s) is created and programmed at the time of production using a key generation algorithm. Inputs to the key generation algorithm are the serial number or seed for the particular transmitter being used and a secret manufacturer’s code. While a number of key generation algorithms are supplied by Microchip, a user may elect to create their own method of key generation. This may be done providing that the decoder is programmed with the same means of creating the key for decryption purposes. If a seed is used (CH Mode), the seed will also form part of the input to the key generation algorithm. 3.2 In IFF2 mode, the HCS410 is able to act as a code hopping transmitter and an IFF token with two encoder keys. IFF2 Mode Discrimination Value and Overflow The discrimination value forms part of the code hopping portion of a code hopping transmission. The least significant 10 bits of the discrimination value are typically set to the least significant bits of the serial number. The most significant 2 bits of the discrimination value are the overflow bits (OVR1: OVR0). These are used to extend the range of the synchronization counter. When the synchronization counter wraps from FFFF16 to 000016 OVR0 is cleared and the second time a wrap occurs OVR1 is cleared. Once cleared, the overflow bits cannot be set again, thereby creating a permanent record of the counter overflow. 3.3 Configuration Data Encoder Key 1 and 2 16-bit Synchronization Counter This is the 16-bit synchronization counter value that is used to create the code hopping portion for transmission. This value will be changed after every transmission. The synchronization counter is not used in IFF mode. 64-bit Encoder Key 1 64-bit Encoder Key 2/Transport Code 32-bit Serial Number (SER0, SER1) 64-bit User EEPROM (USR0, USR1, USER2, USR3) 10-bit Discrimination Value and 2 Overflow Bits. 16-bit Synchronization Counter Configuration Data *Patents have been applied for. 1997 Microchip Technology Inc. Preliminary DS40158C-page 19 HCS410 3.4 60/64-bit Seed Word/Transport Code This is the 60-bit seed code that is transmitted when seed transmission is selected. This allows the system designer to implement the secure learn feature or use this fixed code word as part of a different key generation/tracking process or purely as a fixed code transmission. The seed is not available in IFF2-mode. A Seed transmission can be initiated in two ways, depending on the button inputs (Figure 3-1) 3.5 Encoder Serial Number There are 32 bits allocated for the serial number and a selectable configuration bit (XSER) determines whether 32 or 28 bits will be transmitted. The serial number is meant to be unique for every transmitter. 3.6 User Data The 64-bit user EEPROM can be reprogrammed and read at any time using the IFF interface. Seed transmission is available for function codes (Table 2-2) S[2:0] = 111 and S[2:0] = 011 (delayed). The delayed seed transmission starts with a normal code hopping transmission being transmitted for 3 seconds, before switching to a seed transmission. The two seed transmissions are shown in Figure 3-1. The least significant 32-bits of the seed are used as the transport code. The transport code is used to write-protect the serial number, configuration word, as well as preventing accidental programming of the HCS410 when in IFF mode. Note: If both SEED and TMPSD are set, IFF2 mode is enabled. FIGURE 3-1: SEED TRANSMISSION All examples shown with XSER = 1 & SEED = 1 When S[2:0] = 111, the 3-second delay is not applicable: Que [1:0], CRC [1:0], VLOW, S[2:0] SEED_3 (12 bits) SEED_2 SEED_1 SEED_0 Data transmission direction For S[2:0] = 011 before the 3-second delay: 16-bit Data Word 16-bit Counter Encrypt Que [1:0], CRC [1:0] + VLOW, S [2:0] SER_1 SER_0 Encrypted Data Data transmission direction For S[2:0] = 011 after the 3-second delay (Note 1): Que [1:0], CRC [1:0], VLOW, S [2:0] SEED_3 (12 bits) SEED_2 SEED_1 SEED_0 Data transmission direction Note 1: For Seed Transmission, SEED_3 and SEED_2 are transmitted instead of SER_1 and SER_0, respectively. *Patents have been applied for. DS40158C-page 20 Preliminary 1997 Microchip Technology Inc. HCS410 3.7 Configuration Data 3.7.2 The configuration data is used to select various encoder options. Further explanations of each of the bits are described in the following sections. TABLE 3-1: If IDAMP is set to ‘1’ intelligent damping is disabled. 3.7.3 CONFIGURATION OPTIONS SEED Symbol IDAMP: INTELLIGENT DAMPING SEED, TMPSD: SEED TRANSMISSION SEED TMPSD Description 0 0 No Seed Description 0 1 Seed Limited Code Word Blanking Enable 1 0 Always Enabled IDAMP Intelligent Damping for High Q LC Tank. 1 1 IFF2/No Seed SEED/ IFF2 Enable Seed Transmissions CWBE 3.7.4 TMPSD/ Temporary Seed Transmissions IFF2 OSC0:3 MTX3 VLOW LED Onboard Oscillator Tuning Bits These bits allow the onboard oscillator to be tuned to within 10% of the nominal oscillator speed over both temperature and voltage. Minimum 3 Code Words Transmitted TABLE 3-2: Low Voltage Trip Point Selection Enable LED output BSL0:1 TBSL Baudrate Select Transponder Baud Page MANCH ACOLI Manchester Modulation Mode Anti Collision Communication Enable XPRF Passive Proximity Activation DINC Delayed Increment Enable XSER Extended Serial Number 3.7.1 OSC: OSCILLATOR TUNING BITS CWBE: CODE WORD BLANKING ENABLE BSL: BAUD RATE SELECT Selecting this option allows code blanking as shown in Table 3-3. If this option is not selected, all code words are transmitted. TABLE 3-3: OSCILLATOR TUNING OSC Description 1000 Fastest 1001 1010 • • • 1111 Faster 0000 Nominal 0001 0010 • • • 0110 Slower 0111 Slowest BAUD RATE SELECTION Code Hopping Transmissions (TE) Codes Word Transmitted* Transponder Communication (TE) BSL 1 BSL 0 PWM Manchester TBSL PPM 0 0 400 µs 800 µs 0 1 200 µs 400 µs All 0 200 µs 1 of 2 — — 1 0 100 µs 200 µs 1 of 2 — — 1 1 100 µs 200 µs 1 of 4 1 100 µs *If code word blanking is enabled. 1997 Microchip Technology Inc. Preliminary DS40158C-page 21 HCS410 3.7.5 3.7.10 MTX3: MINIMUM CODE WORDS COMPLETED If this bit is set, the HCS410 will transmit a minimum of 3 words before it powers itself down. If this bit is cleared, the HCS410 will only complete the current transmission. This feature will only work if VDD is connected directly to the battery as shown in Figure 2-1. 3.7.6 VLOW: LOW VOLTAGE TRIP POINT ACOLI: ANTI-COLLISION COMMUNICATION AND XPRF: TRANSPONDER ECHOING ON PWM OUTPUT ACOLI = 1, XPRF = 0 If ACOLI is set the anti-collision operation during bidirectional transponder mode (IFF) is enabled. This feature is useful in situations where multiple transponders enter the magnetic field simultaneously. The low voltage trip point select bit is used to tell the HCS410 what Vdd level is being used. This information will be used by the device to determine when to send the voltage low signal to the receiver. When this bit is set, the Vdd level is assumed to be operating from a 5 volt or 6 volt supply. If the bit is cleared, then the Vdd level is assumed to be 3.0 volts. Refer to Figure 5-3 for voltage trip point. When the battery reaches the Vlow point, the LED will flash once for 200 ms on during a code hopping transmission. ACOLI = 0, XPRF = 1 3.7.7 If both the ACOLI and XPRF are set, all of the HCS410 transponder responses are echoed on the PWM output, as described in Section 2.6.2. LED: OUTPUT ENABLE If this bit is set, the S2 doubles as an LED output line. If this bit is cleared (0), S2 is only used as an input. 3.7.8 TBSL: TRANSPONDER BAUD RATE SELECT This option selects the baud rate for IFF communication between a TE of 100 µs or 200 µs. 3.7.9 MANCH: MANCHESTER CODE ENCODING MANCH selects between Manchester code modulation and PWM modulation in code hopping mode. If MANCH = 1, Manchester code modulation is selected. If MANCH is cleared, PWM modulation is selected. DS40158C-page 22 If XPRF is set, and ACOLI is cleared, proximity activation is enabled. the HCS410 starts sending out ACK pulses when it detects a magnetic field. If the HCS410 doesn’t receive a start bit from the decoder within 50 ms of sending the first set of ACK pulses, the HCS410 will transmit a code hopping transmission on LC and PWM pins for 2 seconds. ACOLI = 1, XPRF = 1 3.7.11 DINC: DELAYED INCREMENT If DINC is set to ‘1’, the delayed increment feature is enabled. If DINC is cleared, the counter only increments once each time the button is pressed. 3.7.12 XSER: EXTENDED SERIAL NUMBER If XSER is set, the full 64-bit SEED number is transmitted. If XSER is cleared, the four most significant bits of the serial number are substituted by S[2:0] = S2:S1:S0: 0 and is compatible with the HCS200/300/301. Preliminary 1997 Microchip Technology Inc. HCS410 4.0 INTEGRATING THE HCS410 INTO A SYSTEM 4.1 Use of the HCS410 in a system requires a compatible decoder. This decoder is typically a microcontroller with compatible firmware. Firmware routines that accept transmissions from the HCS410, decrypt the code hopping portion of the data stream and perform IFF functions are available. These routines provide system designers the means to develop their own decoding system. FIGURE 4-1: Key Generation The serial number for each transmitter is programmed by the manufacturer at the time of production. The generation of the encoder key is done using a key generation algorithm (Figure 4-1). Typically, inputs to the key generation algorithm are the serial number of the transmitter or seed value, and a 64-bit manufacturer’s code. The manufacturer’s code is chosen by the system manufacturer and must be carefully controlled. The manufacturer’s code is a pivotal part of the overall system security. CREATION AND STORAGE OF ENCODER KEY DURING PRODUCTION HCS410 EEPROM Array Transmitter Serial Number or Seed Manufacturer’s Code 1997 Microchip Technology Inc. Key Generation Algorithm Serial Number Encoder Key Sync Counter Encoder Key Preliminary . . . DS40158C-page 23 HCS410 4.2 Learning an HCS410 to a Receiver In order for a transmitter to be used with a decoder, the transmitter must first be ‘learned’. Several learning strategies can be followed in the decoder implementation. When a transmitter is learned to a decoder, it is suggested that the decoder stores the serial number and current synchronization counter value (synchronization counter stored in CH Mode only) in EEPROM. The decoder must keep track of these values for every transmitter that is learned (Figure 4-2 and Figure 4-3). FIGURE 4-2: The maximum number of transmitters that can be learned is only a function of how much EEPROM memory storage is available. The decoder must also store the manufacturer’s code in order to learn an HCS410, although this value will not change in a typical system so it is usually stored as part of the microcontroller ROM code. Storing the manufacturer’s code as part of the ROM code is also better for security reasons. FIGURE 4-3: TYPICAL CH MODE LEARN SEQUENCE TYPICAL IFF LEARN SEQUENCE Enter Learn Mode Enter Learn Mode Wait for Reception of a Valid Code Wait for token to be detected Generate Key from Serial Number Use Generated Key to Decrypt Read Serial Number Compare Discrimination Value with Fixed Value Equal ? Generate Key From Serial Number No Yes Wait for Reception of Second Valid Code Perform IFF with Token Use Generated Key to Decrypt Compare Discrimination Value with Fixed Value Equal ? Compare Token and expected response No Yes Counters Sequential ? Yes Token and Response Equal? No Learn successful Store: No Yes Learn successful Store: Serial number Encoder key Learn Unsuccessful Serial number Encoder key Synchronization counter Exit Exit DS40158C-page 24 Preliminary 1997 Microchip Technology Inc. HCS410 4.3 CH Mode Decoder Operation FIGURE 4-4: In a typical decoder operation (Figure 4-4), the key generation on the decoder side is done by taking the serial number from a transmission and combining that with the manufacturer’s code to create the same encoder key that is stored in the HCS410. Once the encoder key is obtained, the rest of the transmission can be decrypted. The decoder waits for a transmission and immediately checks the serial number to determine if it is a learned transmitter. If it is, the code hopping portion of the transmission is decrypted using the stored key. It uses the discrimination bits to determine if the decryption was valid. If everything up to this point is valid, the synchronization counter value is evaluated. TYPICAL CH MODE DECODER OPERATION Start No Transmission Received ? Yes No Does Serial Number Match ? Yes Decrypt Transmission No Is Decryption Valid ? Yes No Is Counter Within 16 ? Yes Execute Command and Update Counter No No Is Counter Within 32K ? Yes Save Counter in Temp Location 1997 Microchip Technology Inc. Preliminary DS40158C-page 25 HCS410 4.3.1 FIGURE 4-5: SYNCHRONIZATION WITH DECODER The KEELOQ technology features a sophisticated synchronization technique (Figure 4-5) which does not require the calculation and storage of future codes. If the stored counter value for that particular transmitter and the counter value that was just decrypted are within a window of say 16, the counter is stored and the command is executed. If the counter value was not within the single operation window, but is within the double operation window of say 32K window, the transmitted synchronization counter value is stored in temporary location and it goes back to waiting for another transmission. When the next valid transmission is received, it will compare the new value with the one in temporary storage. If the two values are sequential, it is assumed that the counter had just gotten out of the single operation ‘window’, but is now back in sync, so the new synchronization counter value is stored and the command executed. If a transmitter has somehow gotten out of the double operation window, the transmitter will not work and must be relearned. Since the entire window rotates after each valid transmission, codes that have been used are part of the ‘blocked’ (32K) codes and are no longer valid. This eliminates the possibility of grabbing a previous code and retransmitting to gain entry. Note: SYNCHRONIZATION WINDOW Entire Window rotates to eliminate use of previously used codes Blocked (32K Codes) Double Operation (32K Codes) Current Position Single Operation Window (16 Codes) 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 FIGURE 4-6: BASIC OPERATION OF A CODE HOPPING RECEIVER (DECODER) Check for Match EEPROM Array KEELOQ Decryption Algorithm Encoder Key Decrypted Synchronization Counter Sync Counter Serial Number Check for Match Manufacturer Code Button Press Information Serial Number 32 Bits of Encrypted Data Received Information DS40158C-page 26 Preliminary 1997 Microchip Technology Inc. HCS410 4.4 IFF Decoder Operation FIGURE 4-7: In a typical IFF decoder, the key generation on the decoder side is done by reading the serial number from a token and combining that with the manufacturer’s code to recreate the encoder key that is stored on the token. The decoder polls for the presence of a token. Once detected the decoder reads the serial number. If the token has been learned, the decoder sends a challenge and reads the token’s response. The decoder uses the encoder key stored in EEPROM and decrypt response. The decrypt response is compared to the challenge. If they match the appropriate output is activated. TYPICAL IFF DECODER OPERATION Start No Token Detected? Yes Read Serial Number No Does Serial Number Match? Yes Send Challenge and Read Response Decrypt the Response No Does Challenge & Decrypt response Match? Yes Execute Command FIGURE 4-8: BASIC OPERATION OF AN IFF RECEIVER (DECODER) EEPROM Array KEELOQ IFF Algorithm IFF Key Serial Number Decrypted Response Manufacturer Code Serial Number Response Information read from HCS410 1997 Microchip Technology Inc. Preliminary Check for Match Challenge Written to HCS410 DS40158C-page 27 HCS410 5.0 ELECTRICAL CHARACTERISTICS TABLE 5-1: ABSOLUTE MAXIMUM RATING Symbol Item Rating Units VDD Supply voltage -0.3 to 6.6 V VIN* Input voltage -0.3 to VDD + 0.3 V VOUT Output voltage -0.3 to VDD + 0.3 V IOUT Max output current 50 mA TSTG Storage temperature -55 to +125 C (Note) TLSOL Lead soldering temp 300 C (Note) VESD ESD rating (Human Body Model) 4000 V Note: Stresses above those listed under “ABSOLUTE MAXIMUM RATINGS” may cause permanent damage to the device. * If a battery is inserted in reverse, the protection circuitry switches on, protecting the device and draining the battery. TABLE 5-2: DC AND TRANSPONDER CHARACTERISTICS Commercial (C): Industrial (I): Tamb = 0°C to 70°C Tamb = -40°C to 85°C 2.0V < VDD < 6.3V Parameter Average operating current2 Programming current Symbol Min Typ1 Max Unit IDD (avg) — 50 160 100 300 µA VDD = 3.0V VDD = 6.3V — 1.0 2.2 1.8 3.5 mA VDD = 3.0V VDD = 6.3V nA IDDP Standby current IDDS — 0.1 100 High level input voltage VIH 0.55 VDD — VDD + 0.3 V Low level input voltage VIL -0.3 — 0.15 VDD V High level output voltage VOH 0.8 VDD 0.8 VDD — — Low level output voltage VOL — — — — LED output current ILED 3.0 4.0 V VDD = 2V, IOH =- .45 mA VDD = 6.3V, IOH,= -2 mA 0.08 VDD 0.08 VDD V VDD = 2V, IOH = 0.5 mA VDD = 6.3V,IOH = 5mA 7.0 mA VDD = 3.0V, VLED = 1.5V Switch input resistor RS 40 60 80 kΩ PWM input resistor RPWM 80 120 160 kΩ ILC — — 10.0 mA LC input clamp voltage VLCC — 15 — V LC induced output current VDDI — 5.0 mA VDDV 5.0 4.5 6.3 5.6 6.8 6.8 V Carrier frequency fc — 125 — kHz External LC Inductor value L — 900 — µH External LC Capacitor value C — 1.8 — pF LC input current LC induced output voltage Conditions VLCC=15 VP-P ILC <10 mA VLCC > 10V 10 V < VLCC, IDD = 0 mA 10 V < VLCC, IDD = -1 mA Note 1: Typical values at 25°C. 2: No load connected. 3: LC inputs are clamped at 15 volts. DS40158C-page 28 Preliminary 1997 Microchip Technology Inc. HCS410 FIGURE 5-1: POWER UP AND TRANSMIT TIMING Button Press Detect Code Word Transmission TBP TTD TDB Code Word 1 PWM Code Word 2 Code Word 3 Code Word n TTO Sn TABLE 5-3: POWER UP AND TRANSMIT TIMING REQUIREMENTS VDD = +2.0 to 6.3V Commercial (C):Tamb = 0°C to +70°C Industrial (I): Tamb = -40°C to +85°C Parameter Time to second button press Symbol Min Typ. Max Unit Remarks TBP 34 + Code Word Time 38 + Code Word Time 42 + Code Word Time ms (Note 1) (Note 2) Transmit delay from button detect TTD 34.2 38 41.8 ms Debounce delay TDB 27 30 33 ms Auto-shutoff time-out period TTO 18 20 22 s Time to first LED on TLST — 240 — ms LED high-time TLH — 25 — ms LED high-time when battery low TLHV — 200 — ms TLL — 480 — ms LED low-time (Note 3) Note 1: TBP is the time in which a second button can be pressed without completion of the first code word and the intention was to press the combination of buttons. 2: Transmit delay maximum value if the previous transmission was successfully transmitted. 3: The auto-shutoff timeout period is not tested. 1997 Microchip Technology Inc. Preliminary DS40158C-page 29 HCS410 FIGURE 5-2: HCS410 NORMALIZED TE VS. TEMP 1.10 1.08 TE Max. 1.06 Typical 1.04 TE VDD LEGEND = 2.0V = 3.0V = 6.0V 1.02 1.00 0.98 0.96 0.94 0.92 TE Min. 0.90 -50 -40 -30 -20 -10 0 10 20 30 40 50 60 70 80 90 Temperature °C Note: TABLE 5-4: Values are for calibrated oscillator. CODE WORD TRANSMISSION TIMING PARAMETERS—PWM MODE Code Words Transmitted VDD = +2.0V to 6.3V Commercial (C): Tamb = 0°C to +70°C Industrial (I): Tamb = -40°C to +85°C Symbol Characteristic Number of TE BSL1 = 0, BSL0 = 0 Min. Typ. BSL1 = 0, BSL0 = 1 Max. Number of TE Min. Typ. Max. Units TE Basic pulse element 1 360 400 440 1 180.0 200.0 220.0 µs TBP PWM bit pulse width 3 1080 1200 1320 3 540.0 600.0 660.0 µs TP Preamble duration 32 12 12.8 14 32 5.76 6.0 7.04 ms TH Header duration 10 3.6 4.0 4.4 10 1.80 2.0 2.20 ms THOP Code hopping duration 96 35 38.4 42 96 17.28 19.20 21.12 ms TFIX Fixed code duration 111 39.96 44.4 48.84 111 19.98 22.20 24.42 ms TG Guard time 46 16.6 18.4 20.2 46 8.3 9.6 10.1 ms — Total transmit time 295 106.2 118.0 129.8 295 53.1 59.0 64.9 ms Note: The timing parameters are not tested but derived from the oscillator clock. Code Words Transmitted VDD = +2.0V to 6.3V Commercial (C): Tamb = 0°C to +70°C Industrial (I): Tamb = -40°C to +85°C Symbol BSL1 = 1, BSL0 = 0 BSL1 = 0, BSL0 = 1 Characteristic Number of TE Min. Typ. Max. Number of TE Min. Typ. Max. Units TE Basic pulse element 1 180.0 200.0 220.0 1 90.0 100.0 110.0 µs TBP PWM bit pulse width 3 540.0 600.0 660.0 3 270.0 300.0 330.0 µs TP Preamble duration 32 5.76 6.0 7.04 32 2.88 3.0 3.52 ms TH Header duration 10 1.80 2.0 2.20 10 0.90 1.0 1.10 ms THOP Code hopping duration 96 17.28 19.20 21.12 96 8.64 9.60 10.56 ms TFIX Fixed code duration 111 19.98 22.2 24.42 111 9.99 11.1 12.21 ms TG Guard time 46 8.3 9.6 10.1 46 41 4.6 5.1 ms — Total transmit time 295 53.1 59.0 64.9 295 26.6 29.5 32.5 ms Note: The timing parameters are not tested but derived from the oscillator clock. DS40158C-page 30 Preliminary 1997 Microchip Technology Inc. HCS410 TABLE 5-5: CODE WORD TRANSMISSION TIMING PARAMETERS—MANCHESTER MODE Code Words Transmitted VDD = +2.0V to 6.3V Commercial (C): Tamb = 0°C to +70°C Industrial (I): Tamb = -40°C to +85°C Symbol Characteristic BSL1 = 0, BSL0 = 0 Number of TE Min. Typ. BSL1 = 0, BSL0 = 1 Number of TE Max. Min. Typ. Max. Units TE Basic pulse element 1 720.0 800.0 880.0 1.0 360.0 400.0 440.0 µs TP Preamble duration 32 23.04 25.60 28.16 32.0 11.52 12.80 14.08 ms TH Header duration 4 2.88 3.20 3.52 4.0 1.44 1.60 1.76 ms Start bit 2 1.44 1.60 1.76 2.0 0.72 0.80 0.88 ms THOP Code hopping duration 64 46.08 51.20 56.32 64.0 23.04 25.60 28.16 ms TFIX Fixed code duration 74 53.28 59.20 65.12 74 26.64 29.60 32.56 ms TSTART TSTOP Stop bit 2 1.44 1.60 1.76 2.0 0.72 0.80 0.88 ms TG Guard time 32 23.0 25.6 28.2 32 11.5 12.8 14.1 ms — Total transmit time 210 151.2 168 184.8 210 75.6 84.0 92.4 ms Note: The timing parameters are not tested but derived from the oscillator clock. Code Words Transmitted VDD = +2.0V to 6.3V Commercial (C): Tamb = 0°C to +70°C Industrial (I): Tamb = -40°C to +85°C Symbol Characteristic BSL1 = 1, BSL0 = 0 BSL1 = 1, BSL0 = 1 Number of TE Min. Typ. Max. Number of TE Min. Typ. Max. Units TE Basic pulse element 1 360.0 400.0 440.0 1.0 180.0 200.0 220.0 µs TP Preamble duration 32 11.52 12.80 14.08 32.0 5.76 6.40 7.04 ms TH Header duration 4 1.44 1.60 1.76 4.0 0.72 0.80 0.88 ms TSTART Start bit 2 0.72 0.80 0.88 2.0 0.36 0.40 0.44 ms 64 23.04 25.60 28.16 64.0 11.52 12.80 14.08 ms THOP Code hopping duration TFIX Fixed code duration 74 26.64 29.60 32.56 74 13.32 14.8 16.28 ms Stop bit 2.0 0.72 0.80 0.88 2.0 0.36 0.40 0.44 ms TSTOP TG Guard time 32 11.5 12.8 14.1 32 5.8 6.4 7.0 ms — Total transmit time 210 75.6 84.0 92.4 210 37.8 42.0 46.2 ms Note: The timing parameters are not tested but derived from the oscillator clock. FIGURE 5-3: TYPICAL VOLTAGE TRIP POINTS Volts (V) VLOW 5.0 4.8 VLOW sel = 1 4.6 4.4 4.2 4.0 3.8 2.8 VLOW sel = 0 2.6 2.4 2.2 2.0 1.8 Legend 1.6 -40 1997 Microchip Technology Inc. 0 Preliminary 50 85 Temp (C) Nominal VLOW trip point DS40158C-page 31 HCS410 NOTES: DS40158C-page 32 Preliminary 1997 Microchip Technology Inc. HCS410 NOTES: 1997 Microchip Technology Inc. Preliminary DS40158C-page 33 HCS410 NOTES: DS40158C-page 34 Preliminary 1997 Microchip Technology Inc. HCS410 HCS410 PRODUCT IDENTIFICATION SYSTEM To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office. HCS410 — /P Package: Temperature Range: Device: P = Plastic DIP (300 mil Body), 8-lead SN = Plastic SOIC (150 mil Body), 8-lead ST = TSSOP (4.4 mm Body), 8-lead Blank = 0˚C to +70˚C I = –40˚C to +85˚C HCS410 HCS410T Code Hopping Encoder Code Hopping Encoder (Tape and Reel) 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. Your local Microchip sales office. 2. The Microchip Corporate Literature Center U.S. FAX: (602) 786-7277. 3. The Microchip’s Bulletin Board, via your local CompuServe number (CompuServe membership NOT required). 1997 Microchip Technology Inc. Preliminary DS40158C-page 35 M WORLDWIDE SALES AND SERVICE AMERICAS ASIA/PACIFIC Corporate Office Hong Kong Taiwan, R.O.C Microchip Technology Inc. 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 602-786-7200 Fax: 602-786-7277 Technical Support: 602 786-7627 Web: http://www.microchip.com Microchip Asia Pacific RM 3801B, Tower Two Metroplaza 223 Hing Fong Road Kwai Fong, N.T., Hong Kong Tel: 852-2-401-1200 Fax: 852-2-401-3431 Microchip Technology Taiwan 10F-1C 207 Tung Hua North Road Taipei, Taiwan, ROC Tel: 886-2-2717-7175 Fax: 886-2-2545-0139 Atlanta India EUROPE Microchip Technology Inc. 500 Sugar Mill Road, Suite 200B Atlanta, GA 30350 Tel: 770-640-0034 Fax: 770-640-0307 Microchip Technology Inc. India Liaison Office No. 6, Legacy, Convent Road Bangalore 560 025, India Tel: 91-80-229-0061 Fax: 91-80-229-0062 United Kingdom Boston Microchip Technology Inc. 5 Mount Royal Avenue Marlborough, MA 01752 Tel: 508-480-9990 Fax: 508-480-8575 Chicago Microchip Technology Inc. 333 Pierce Road, Suite 180 Itasca, IL 60143 Tel: 630-285-0071 Fax: 630-285-0075 Dallas Microchip Technology Inc. 14651 Dallas Parkway, Suite 816 Dallas, TX 75240-8809 Tel: 972-991-7177 Fax: 972-991-8588 Dayton Microchip Technology Inc. Two Prestige Place, Suite 150 Miamisburg, OH 45342 Tel: 937-291-1654 Fax: 937-291-9175 Los Angeles Microchip Technology Inc. 18201 Von Karman, Suite 1090 Irvine, CA 92612 Tel: 714-263-1888 Fax: 714-263-1338 New York Microchip Technology Inc. 150 Motor Parkway, Suite 202 Hauppauge, NY 11788 Tel: 516-273-5305 Fax: 516-273-5335 Japan Microchip Technology Intl. Inc. Benex S-1 6F 3-18-20, Shinyokohama Kohoku-Ku, Yokohama-shi Kanagawa 222 Japan Tel: 81-45-471- 6166 Fax: 81-45-471-6122 Korea Microchip Technology Korea 168-1, Youngbo Bldg. 3 Floor Samsung-Dong, Kangnam-Ku Seoul, Korea Tel: 82-2-554-7200 Fax: 82-2-558-5934 Shanghai Microchip Technology RM 406 Shanghai Golden Bridge Bldg. 2077 Yan’an Road West, Hong Qiao District Shanghai, PRC 200335 Tel: 86-21-6275-5700 Fax: 86 21-6275-5060 Singapore ASIA/PACIFIC (CONTINUED) Arizona Microchip Technology Ltd. 505 Eskdale Road Winnersh Triangle Wokingham Berkshire, England RG41 5TU Tel: 44-1189-21-5858 Fax: 44-1189-21-5835 France Arizona Microchip Technology SARL Zone Industrielle de la Bonde 2 Rue du Buisson aux Fraises 91300 Massy, France Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germany Arizona Microchip Technology GmbH Gustav-Heinemann-Ring 125 D-81739 Müchen, Germany Tel: 49-89-627-144 0 Fax: 49-89-627-144-44 Italy Arizona Microchip Technology SRL Centro Direzionale Colleoni Palazzo Taurus 1 V. Le Colleoni 1 20041 Agrate Brianza Milan, Italy Tel: 39-39-6899939 Fax: 39-39-6899883 Microchip Technology Taiwan Singapore Branch 200 Middle Road #07-02 Prime Centre Singapore 188980 Tel: 65-334-8870 Fax: 65-334-8850 1/13/98 San Jose Microchip Technology Inc. 2107 North First Street, Suite 590 San Jose, CA 95131 Tel: 408-436-7950 Fax: 408-436-7955 Toronto Microchip Technology Inc. 5925 Airport Road, Suite 200 Mississauga, Ontario L4V 1W1, Canada Tel: 905-405-6279 Fax: 905-405-6253 All rights reserved. © 1/21/98, Microchip Technology Incorporated, USA. Wednesday, January 21, 1998 Printed on recycled paper. Information contained in this publication regarding device applications and the like is intended for suggestion only and may be superseded by updates. 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. The Microchip logo and name are registered trademarks of Microchip Technology Inc. in the U.S.A. and other countries. All rights reserved. All other trademarks mentioned herein are the property of their respective companies. DS40158C-page 36 Preliminary 1997 Microchip Technology Inc.