HT82K28A Win98 Keyboard Encoder Features · Designed for Windows 95/98/NT · Supports code set 2, for PC/AT, PS/2 model 50,60 keyboards · Supports 3 Windows 95 Keys · Supports code set 3, for PS/2 model 80 keyboard · Supports Power, Sleep and Wake-up Windows 98 · RC oscillator ACPI functions · Supports Japanese, Korean and Portuguese · Phantom key detection · Supports Japanese DOS/V 106-key keyboard · Minimal external components · Supports code set 1, for PS/2 model 30 keyboard · 40-pin DIP package General Description The HT82K28A is a keyboard encoder especially designed for IBM PC/AT, IBM PS/2 and all compatible machines. stored. An inexpensive RC oscillator can be used for the system clock. The device offers the advantage of simple implementation in high performance and low cost keyboard applications. The HT82K28A accepts keyboard inputs and contains a 16-character first-in-first-out buffer in which data is Pin Assignment O S C 1 1 4 0 C 1 V S S 2 3 9 C 0 V D D 3 3 8 D A T A V S S 4 3 7 C L O C K IO 0 5 3 6 R 1 8 IO 1 6 3 5 R 1 7 C 2 7 3 4 N C C 3 8 3 3 R 1 6 C 4 9 3 2 C A P C 5 1 0 3 1 N U M C 6 1 1 3 0 S C R L C 7 1 2 2 9 R 9 R 1 0 1 3 2 8 R 8 R 1 1 1 4 2 7 R 1 5 R 1 2 1 5 2 6 R 1 4 R 0 1 6 2 5 N C R 1 1 7 2 4 R 1 3 R 2 1 8 2 3 R 7 R 3 1 9 2 2 R 6 R 4 2 0 2 1 R 5 H T 8 2 K 2 8 A 4 0 D IP -A Rev. 1.30 1 June 27, 2002 HT82K28A Pin Description Pin No. Pin Name I/O I Description 1 OSC1 System clock input 2, 4 VSS ¾ Negative power supply, ground 3 VDD ¾ Positive power supply 5, 6 IO0~IO1 O Customer defined optional output lines 39, 40, 7~12 C0~C7 I Keyboard matrix scanning input pins 16~23, 28, 29, 13~15 24, 26, 27 33, 35 R0~R18 O Keyboard matrix scanning output pins 25, 34 NC ¾ No connection 30 SCRL O LED pin 31 NUM O LED pin 32 CAP O LED pin 37 CLOCK I/O Synchronous clock signal. Used to clock the transmission data 38 DATA I/O Bidirectional data transmission line Absolute Maximum Ratings Supply Voltage .......................................4.75V to 5.25V Input Voltage..............................VSS-0.3V to VDD+0.3V Storage Temperature ............................-55°C to 125°C Operating Temperature...............................0°C to 70°C Note: These are stress ratings only. Stresses exceeding the range specified under ²Absolute Maximum Ratings² may cause substantial damage to the device. Functional operation of this device at other conditions beyond those listed in the specification is not implied and prolonged exposure to extreme conditions may affect device reliability. Electrical Characteristics Symbol Ta=25°C Parameter Test Conditions Min. Typ. Max. Unit VDD Operating Voltage ¾ 4.75 5 5.25 V IDD Operating Current ¾ ¾ 2 5 mA Input Low Voltage (C0~C7) ¾ 0 ¾ 0.6 V Input Low Voltage (DATA, CLOCK) ¾ 0 ¾ 0.6 V Input High Voltage ¾ 3.5 ¾ VDD V VIL VIH VOL Rph fSYS Rev. 1.30 Output Low Voltage (R0~R18) IOL=10mA ¾ ¾ 0.5 V Output Low Voltage (DATA, CLOCK) IOL=15mA ¾ ¾ 0.5 V Internal Pull-high Resistance (C0~C7) ¾ 5 10 20 kW Internal Pull-high Resistance (CLOCK, DATA) ¾ 2 5 15 kW ¾ 4 ¾ MHz System Clock R=120kW 2 June 27, 2002 HT82K28A Functional Description Basic assurance test - BAT The HT82K28A basic function is to detect key press and release activity and to transmit the corresponding scan code, as well as make and break codes to the system. The following functions are offered by the Basic Assurance Test: The device also accepts commands from the system and responds to the system if necessary. All communication between the keyboard and the system is managed through the CLOCK and DATA pins. · Turns on LED status indicators. The keyboard begins to scan for pressed or released keys and commands from the system after the BAT (Basic Assurance Test) has been run. · Reports the BAT result to the system. · Keyboard processor test. · RAM test. · Turns off LED status indicators, i.e. the LEDs. Note: Working modes Three working modes are supported by the HT82K28A. These are setup by the alternate scan code command F0. The various modes are described as follows. Mode 1 · Supports code set 1 for PS/2 model 30 keyboards. · Enters mode1 after an F0 Command is issued fol- lowed by a ²1². · Contains an 11 bit data stream, including one start bit (always zero) eight data bits, one parity bit (odd parity) and one stop bit (always one). · All keys are typematic/make/break as default. · The working mode can be changed again in this mode, by issuing an F0 command followed by an option. See the F0 command for more detail. During the BAT, activity on the ²clock² and ²data² line are ignored. The LED¢s are turned on at the beginning and turned off at the end of the BAT. The BAT takes a minimum of 450ms after POR and a maximum of 2.5s. The response to a satisfactory BAT completion is ²AA² and response to BAT failure is an ²FC² error. The reset keyboard command ²FF² will also cause the keyboard to execute the BAT. Completion codes are sent between 300 and 500ms after a reset command is acknowledged. After the BAT, the keyboard sets the keys to typematic and make/break, and sets the default typematic rate and delay. Power-on Two important activities take place when power is first applied to the keyboard. The first is the presence of an H/W signal POR (Power-On-Reset) that resets the keyboard processor. The second activity is the running of the self test BAT (Basic Assurance Test) routine. Mode 2 · Supports code set 2 for PC/AT, PS/2 model 50, 60 keyboards. P O R · Enters mode 2 after power on. R e s e t 1 5 0 m s ~ 2 s The working mode can be changed by an F0 command followed by an option byte 1, 2 or 3. See the F0 command for more details. · Contains an 11 bit data stream, including one start bit (always zero) eight data bits, one parity bit (odd parity) and one stop bit (always one) · All keys are typematic/make/break as default. 3 0 0 m s ~ 5 0 0 m s 4 5 0 m s ~ 2 .5 s e c P o w e r o n s ta rt B A T s ta rte d B A T c o m p le te PC-type/mode/code set The following table describes the relationship between different computer types, the working mode and the code sets. Mode 3 · Supports code set 3, for PS/2 model 80 keyboards. · Enters mode 3 when an F0 command is issued fol- lowed by a ²3². PS/2 30 · Contains an 11 bit data stream, including one start bit (always zero) eight data bits, one parity bit (odd parity) and one stop bit (always one). Buffers The buffers support the following functions: · 16-byte FIFO buffer: stores 16 keystrokes scan codes. mode 1 code set 1 PC-AT mode 2 code set 2 PS/2 50 mode 2 code set 2 PS/2 60 mode 2 code set 2 PS/2 80 mode 3 code set 3 The mode can be changed between mode 2 & 3. · Additional keystrokes will be ignored. · Response codes, i.e FA/FE... do not occupy buffer po- sitions. Rev. 1.30 3 June 27, 2002 HT82K28A If a key is pressed and held down while keyboard transmission is inhibited, only the first make code is stored in the buffer overflow as a result of typematic action. Keys · For code set 1, 2 All keys except the PAUSE key have a make and break code. The PAUSE key has a make code only. The defaults except for PAUSE are make/break/ typematic. In mode 1, 2 and 3 the key type may be changed to be one of the following: Four key types are supported as shown: m o d e 1 m o d e 2 m o d e 3 Key type press hold release Typematic Make/break Make Typematic/ make/break make1 make1 make1 make1 make2 X X make2 X break X break Note: ²make1² send out only one make code. ²Make2² continue sending out make codes until key is released. ²X² nothing sent out. ¨ Typematic ¨ Make/break ¨ Make ¨ Typematic/make/break ¨ Typematic All keys except PAUSE are typematic. Typematic means that the KB keeps sending make codes if the key is held down. ¨ Make/break ¨ Make ¨ Typematic/make/break Can be configured by command · For code set 3 The data report is according to the typematic rate/delay: Default values are: delay 500ms ± 20% 10.9 char/sec ± 20% Time interval between phantoms The time interval between two continuous error codes 00/FF sent while phantom detected= 1000ms ± 20% The typematic rate and delay can be modified with the F3 command. ¨ The keyboard should respond within 20ms, except when performing the BAT or executing a reset command. If two or more keys are held down, only the last key pressed repeats at the typematic rate. Typematic operation stops when the last key pressed is released even if other keys are still held down. System command table Command mode 1 mode 2 mode 3 y y y y y y y y y y y y y y x y x y y y y y y y y y y y y y y y y x y x y y y y y y y y y y y y y y y y x y x y y FF - reSset FE - resend FD - set key type make FC - set key type make/break FB - set key type typematic FA - set all keys typematic/make/break F9 - set all keys make F8 - set all keys make/break F7 - set all keys typematic F6 - set default F5 - default disabled F4 - enable F3 - set typematic rate/delay F2 - Read ID F1 F0 - select alternate scan codes EF EE - Echo ED - set/reset status indicators Rev. 1.30 4 June 27, 2002 HT82K28A Command description · Set all keys - F7, F8, F9, FA · Default disable - F5 ¨ FA: Set all keys to typematic/make/break ¨ Send an acknowledge FA to the system ¨ F9: Set all keys to make ¨ Clear its output buffer, FIFO ¨ F8: Set all keys to make/break ¨ Set the default key types ¨ F7: Set all keys to typematic ¨ Set typematic rate/delay as default value ¨ Send an ACK to the system ¨ Clear the last typematic key ¨ Clear output buffer ¨ Stop scanning and wait for further instruction ¨ Set all keys to the type indicated by the command · Echo - EE · Set default - F6 ¨ Send an EE to the system ¨ Send an ACK to the system ¨ Continue scanning if the keyboard is enabled ¨ Clear the output buffer Note: ¨ Set to default key states: Default key type typematic rate/delay This command does not need to feed back the ACK · Set key type - FB,FC,FD · Enable - F4 ¨ Send an ACK to the system ¨ Clear output buffer ¨ Clear the last typematic key ¨ Start scanning · Invalid command ¨ ¨ No ACK ¨ Send an ACK to the system ¨ Discontinue scanning ¨ 2 byte ID-AB, 83 The 2nd byte must follow the completion of the first byte within 500ms ¨ Key identification is accomplished by the system identifying each key by its scan code value as defined in scan code set3. ¨ Only scan code set3 values are valid for key identification ¨ The type of each identified key is set to the value indicated by the command ¨ These commands can be sent using any scan code set, but affect only the operation of scan code set3 Send ACK to the system ¨ Discontinue scanning ¨ Wait for the option from the system Send the last code to the system ¨ Respond with ACK to the system Note: ¨ Set indicator ¨ If command comes from the system in place of option, discard the set LED function and then process the new command ¨ LED default after power on - all off ¨ Set default disable - do not change the LEDs * No FA response ¨ Disable keyboard ¨ Send an ACK to the system, the keyboard acknowledges the command with an ACK and ensures the system accepts the ACK before executing the command ¨ The keyboard responds with ACK, clears its output buffer and prepares to receive key identification ¨ Resume scanning · Reset - FF ¨ FD : Set key type - Make ¨ · Set LED - ED · Resend - FE ¨ FC : Set key type - Make/Break ¨ No further activities · Read ID - F2 ¨ FB : Set key type - Typematic ¨ Send an FE to the system Note: ¨ ¨ · Set typematic rate/delay - F3 The system sets CLK=DATA=high for 500ms: acceptance of ACK The system can issue any command to the KB within the 500ms period mentioned above to override FF If no override, the system performs its BAT and enters mode 2 (even if it is set to be mode 3) · Select alternate scan code - F0 ¨ Send an ACK to the system ¨ Clears both output buffer and the typematic key ¨ Accept option byte Rev. 1.30 5 ¨ Send an ACK to the system ¨ Stop scanning ¨ Wait for the system typematic rate and delay ¨ Send an ACK to the system ¨ Set rate/delay ¨ Bit 6,5 delay ¨ Bit 4,3,2,1,0 typematic rate June 27, 2002 HT82K28A ¨ Bit 7=0 (always) Data communications Delay= (1+bit6,bit5) ´ 250ms Typematic rate= 1/period ...where period= (8+A) ´ (2^B) ´ 0.00417 ...where A= binary value of bit 2, 1 and 0 ...where B= binary value of bit 4 and 3 · Data output b4~b0 Typematic rate b4~b0 Typematic rate 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 30.0 26.7 24.0 21.8 20.0 18.5 17.1 16.0 15.0 13.3 12.0 10.9 10.0 9.2 8.6 8.0 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 7.5 6.7 6.0 5.5 5.0 4.6 4.3 4.0 3.7 3.3 3.0 2.7 2.5 2.3 2.1 2.0 delay: 500ms± 20% ¨ typematic rate=10.9 characters/sec± 20% If CLK=0, no transmission (keyboard inhibited). ¨ If CLK=1, DATA=0, no transmission (system request to send). If CLK=1, DATA=1, transmission permitted. ¨ ¨ Data will be valid before the trailing edge and beyond the leading edge of the clock. ¨ The KB checks the clock line for an active level at least every 60ms. ¨ If line contention occurs (system brings the clock low before the tenth clock), set clock=data=high. · Data input · Default ¨ ¨ ¨ The system overrides the clock line for at least 60ms ¨ The keyboard checks the state of the clock line at intervals of no more than 10ms ¨ If a system request-to-send is detected, the keyboard counts 11 data bits. ¨ Data will be valid before the rising edge and beyond the falling edge ¨ After the 10th bit, the keyboard checks for an active level on the ²data² line. If the line is active it is forced to be inactive, and counts one more bit. Note: Commands to the system 00: keyboard detect a error/overrun (set 2, set 3) AB,83: keyboard ID AA: BAT completion FC: BAT failure EE: Echo FA: Acknowledge FE: Resend FF: Keyboard detects a overrun (set 1) If the keyboard ²data² line is found to be at an inactive level following the 10th bit, a frame error has occurred, and the keyboard continues to count until the ²data² line becomes active. The keyboard then makes the ²data² line inactive and sends a Resend. Data stream · FA: Acknowledge Mode 1,2,3 If the KB (Keyboard) receives any valid input except EE (echo) and resend (FE) then send an FA to the system first. If the command is EE, then send an EE back to the system. If the command is FE, then send the last key code to system. If there is an interrupt while sending FA, the KB discards the FA and accepts the command from the system and processes it. B1: B2: b3: b4: b5: B6 b7: b8: b9: b10: · 00/FF: Key overrun If the keyboard detects an overrun error, the KB sends an overrun error code to the system. mode 1: FF mode 2,3: 00 b11: Note: · FE: Resend The KB issues an FE when there is a parity error in transmission. Rev. 1.30 This action signals the system that the keyboard has received its data. Upon reception of this signal, the system returns to the ready state, in which it can accept keyboard outputs or goes to the inhibit state until it is ready. 6 start bit always 0 data bit 0 data bit 1 data bit 2 data bit 3 data bit 4 data bit 5 data bit 6 data bit 7 parity bit (odd par) stop bit always 1 The parity bit is either 1 or 0, and the 8 data bits, plus the parity bit, always have an odd number of 1¢s. June 27, 2002 HT82K28A Key code set 1 Key Number Make/Break Code Key Number Make/Break Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 29 / A9 02 / 82 03 / 83 04 / 84 05 / 85 06 / 86 07 / 87 08 / 88 09 / 89 0A / 8A 0B / 8B 0C / 8C 0D / 8D 7D / FD 0E / 8E 0F / 8F 10 / 90 11 / 91 12 / 92 13 / 93 14 / 94 15 / 95 16 / 96 17 / 97 18 / 98 19 / 99 1A / 9A 1B / 9B 2B / AB 3A / BA 1E / 9E 1F / 9F 20 / A0 21 / A1 22 / A2 23 / A3 24 / A4 25 / A5 26 / A6 27 / A7 28 / A8 2B / AB 1C / 9C 2A / AA 56 / D6 2C / AC 2D / AD 2E / AE 2F / AF 50 51 52 53 54 55 56 57 58 60 61 62 64 90 91 92 93 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 113 114 115 116 117 118 119 120 121 122 123 125 131 132 133 30 / B0 31 / B1 32 / B2 33 / B3 34 / B4 35 / B5 73 / F3 36 / B6 1D / 9D 38 / B8 39 / B9 E0 38 / E0 B8 E0 1D / E0 9D 45 / C5 47 / C7 4B / CB 4F / CF 48 / C8 4C / CC 50 / D0 52 / D2 37 / B7 49 / C9 4D / CD 51 / D1 53 / D3 4A / CA 4E / CE 7E / FE E0 1C / E0 9C 01 / 81 3B / BB 3C / BC 3D / BD 3E / BE 3F / BF 40 / C0 41 / C1 42 / C2 43 / C3 44 / C4 57 / D7 58 / D8 46 / C6 7B / FB 79 / F9 70 / F0 Rev. 1.30 7 June 27, 2002 HT82K28A Key code set 1 Key Number 75 76 79 80 81 83 84 85 86 89 L Win R Win APP Base Case Shift+Num Left-Shift Right-Shift Num Lock E0 52 /E0 D2 E0 53 /E0 D3 E0 4B /E0 CB E0 47 /E0 C7 E0 4F /E0 CF E0 48 /E0 C8 E0 50 /E0 D0 E0 49 /E0 C9 E0 51 /E0 D1 E0 4D /E0 CD E0 5B /E0 DB E0 5C /E0 DC E0 5D /E0 DD E0 AA E0 52 /E0 D2 E0 2A E0 AA E0 53 /E0 D3 E0 2A E0 AA E0 4B /E0 CB E0 2A E0 AA E0 47 /E0 C7 E0 2A E0 AA E0 4F /E0 CF E0 2A E0 AA E0 48 /E0 C8 E0 2A E0 AA E0 50 /E0 D0 E0 2A E0 AA E0 49 /E0 C9 E0 2A E0 AA E0 51 /E0 D1 E0 2A E0 AA E0 4D /E0 CD E0 2A E0 AA E0 5B /E0 DB E0 2A E0 AA E0 5C /E0 DC E0 2A E0 AA E0 5D /E0 DD E0 2A E0 B6 E0 52 /E0 D2 E0 36 E0 B6 E0 53 /E0 D3 E0 36 E0 B6 E0 4B /E0 CB E0 36 E0 B6 E0 47 /E0 C7 E0 36 E0 B6 E0 4F /E0 CF E0 36 E0 B6 E0 48 /E0 C8 E0 36 E0 B6 E0 50 /E0 D0 E0 36 E0 B6 E0 49 /E0 C9 E0 36 E0 B6 E0 51 /E0 D1 E0 36 E0 B6 E0 4D /E0 CD E0 36 E0 B6 E0 5B /E0 DB E0 36 E0 B6 E0 5C /E0 DC E0 36 E0 B6 E0 5D /E0 DD E0 36 E0 2A E0 52 /E0 D2 E0 AA E0 2A E0 53 /E0 D3 E0 AA E0 2A E0 4B /E0 CB E0 AA E0 2A E0 47 /E0 C7 E0 AA E0 2A E0 4F E0 CF E0 AA E0 2A E0 48 E0 C8 E0 AA E0 2A E0 50 /E0 D0 E0 AA E0 2A E0 49 /E0 C9 E0 AA E0 2A E0 51 E0 D1 E0 AA E0 2A E0 4D E0 CD E0 AA E0 2A E0 5B /E0 DB E0 AA E0 2A E0 5C /E0 DC E0 AA E0 2A E0 5D /E0 DD E0 AA When both shift keys are held down: key number 75 Both Shift E0 AA E0 B6 E0 52/E0 D2 E0 2A E0 36 Key Number Base +Left-Shift +Right-Shift 95 E0 35 /E0 B5 E0 AA E0 35 /E0 B5 E0 2A E0 B6 E0 35 /E0 B5 E0 36 Both Shift E0 AA E0 B6 E0 35 /E0 B5 E0 2A E0 36 when both shift keys are held down: key number 95 Key Number Base +Left-Shift +Right-Shift 124 E0 2A E0 37 /E0 B7 E0 AA E0 37 /E0 B7 54/D4 Key Number Base +Ctrl 126 E1 1D 45 E1 9D C5 E0 46 E0 C6 This key is not typematic, all associated scan codes occur on the make code. Rev. 1.30 Key Make Break Windows Virtual Key Power E0 5E E0 DE N/A Sleep E0 5F E0 DF N/A Wake E0 63 E0 E3 N/A 8 June 27, 2002 HT82K28A Key code set 2 Key Number Make/Break Code Key Number Make/Break Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 0E / F0 0E 16 / F0 16 1E / F0 1E 26 / F0 26 25 / F0 25 2E / F0 2E 36 / F0 36 3D / F0 3D 3E / F0 3E 46 / F0 46 45 / F0 45 4E / F0 4E 55 / F0 55 6A / F0 6A 66 / F0 66 0D / F0 0D 15 / F0 15 1D / F0 1D 24 / F0 24 2D / F0 2D 2C / F0 2C 35 / F0 35 3C / F0 3C 43 / F0 43 44 / F0 44 4D / F0 4D 54 / F0 54 5B / F0 5B 5D / F0 5D 58 / F0 58 1C / F0 1C 1B / F0 1B 23 / F0 23 2B / F0 2B 34 / F0 34 33 / F0 33 3B / F0 3B 42 / F0 42 4B / F0 4B 4C / F0 4C 52 / F0 52 5D / F0 5D 5A / F0 5A 12 / F0 12 61 / F0 61 1A / F0 1A 22 / F0 22 21 / F0 21 2A / F0 2A 50 51 52 53 54 55 56 57 58 60 61 62 64 90 91 92 93 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 113 114 115 116 117 118 119 120 121 122 123 125 131 132 133 32 / F0 32 31 / F0 31 3A / F0 3A 41 / F0 41 49 / F0 49 4A / F0 4A 51 / F0 51 59 / F0 59 14 / F0 14 11 / F0 11 29 / F0 29 E0 11 / E0 F0 11 E0 14 / E0 F0 14 77 / F0 77 6C / F0 6C 6B / F0 6B 69 / F0 69 75 / F0 75 73 / F0 73 72 / F0 72 70 / F0 70 7C / F0 7C 7D / F0 7D 74 / F0 74 7A / F0 7A 71 / F0 71 7B / F0 7B 79 / F0 79 6D / F0 6D E0 5A / E0 F0 5A 76 / F0 76 05 / F0 05 06 / F0 06 04 / F0 04 0C / F0 0C 03 / F0 03 0B / F0 0B 83 / F0 83 0A / F0 0A 01 / F0 01 09 / F0 09 78 / F0 78 07 / F0 07 7E / F0 7E 67 / F0 67 64 / F0 64 13 / F0 13 Rev. 1.30 9 June 27, 2002 HT82K28A Key code set 2 Key Number 75 76 79 80 81 83 84 85 86 89 L Win R Win APP Base Case Shift+Num Left-Shift Right-Shift Num Lock E0 70 /E0 F0 72 E0 71 /E0 F0 71 E0 6B /E0 F0 6B E0 6C /E0 F0 6C E0 69 /E0 F0 69 E0 75 /E0 F0 75 E0 72 /E0 F0 72 E0 7D /E0 F0 7D E0 7A /E0 F0 7A E0 74 /E0 F0 74 E0 1F /E0 F0 1F E0 27 /E0 F0 27 E0 2F /E0 F0 2F E0 F0 12 E0 70 /E0 F0 70 E0 12 E0 F0 12 E0 70 /E0 F0 71 E0 12 E0 F0 12 E0 70 /E0 F0 6B E0 12 E0 F0 12 E0 70 /E0 F0 6C E0 12 E0 F0 12 E0 70 /E0 F0 69 E0 12 E0 F0 12 E0 70 /E0 F0 75 E0 12 E0 F0 12 E0 70 /E0 F0 72 E0 12 E0 F0 12 E0 70 /E0 F0 7D E0 12 E0 F0 12 E0 70 /E0 F0 7A E0 12 E0 F0 12 E0 70 /E0 F0 74 E0 12 E0 F0 12 1F /E0 F0 1F E0 12 E0 F0 12 27 /E0 F0 27 E0 12 E0 F0 12 2F /E0 F0 2F E0 12 E0 F0 59 E0 70 /E0 F0 70 E0 59 E0 F0 59 E0 71 /E0 F0 71 E0 59 E0 F0 59 E0 6B /E0 F0 6B E0 59 E0 F0 59 E0 6C /E0 F0 6C E0 59 E0 F0 59 E0 69 /E0 F0 69 E0 59 E0 F0 59 E0 75 /E0 F0 75 E0 59 E0 F0 59 E0 72 /E0 F0 72 E0 59 E0 F0 59 E0 7D /E0 F0 7D E0 59 E0 F0 59 E0 7A /E0 F0 7A E0 59 E0 F0 59 E0 74 /E0 F0 74 E0 59 E0 F0 59 E0 1F /E0 F0 1F E0 59 E0 F0 59 E0 27 /E0 F0 27 E0 59 E0 F0 59 E0 2F /E0 F0 2F E0 59 E0 12 E0 70 /E0 F0 70 E0 F0 12 E0 12 E0 71 /E0 F0 71 E0 F0 12 E0 12 E0 6B /E0 F0 6B E0 F0 12 E0 12 E0 6C /E0 F0 6C E0 F0 12 E0 12 E0 69 /E0 F0 69 E0 F0 12 E0 12 E0 75 /E0 F0 75 E0 F0 12 E0 12 E0 72 /E0 F0 72 E0 F0 12 E0 12 E0 7D /E0 F0 7D E0 F0 12 E0 12 E0 7A /E0 F0 7A E0 F0 12 E0 12 E0 74 /E0 F0 74 E0 F0 12 E0 12 E0 1F /E0 F0 1F E0 F0 12 E0 59 E0 27 /E0 F0 27 E0 F0 12 E0 59 E0 2F /E0 F0 2F E0 F0 59 Both Shift E0 F0 12 E0 F0 59 E0 70 /E0 F0 70 E0 12 E0 59 When both shift keys are held down: key number 75 Key Number Base +Left-Shift +Right-Shift 95 E0 4A /E0 F0 4A E0 F0 12 E0 4A /E0 F0 4A E0 12 E0 F0 59 E0 4A /E0 F0 4A E0 59 Both Shift E0 F0 12 E0 F0 59 E0 4A /E0 F0 4A E0 12 E0 59 When both shift keys are held down: key number 95 Key Number Base +Shift / +Ctrl +Alt 124 E0 12 E0 7C /E0 F0 7C E0 12 E0 7C /E0 F0 7C 84 / F0 84 Key Number Base +Ctrl 126 E1 14 77 E1 F0 14 F0 77 E0 7E E0 F0 7E Note: this key is not typematic, all associated scan codes occur on the make of the key. Rev. 1.30 key Make Break Windows Virtual Key Power E0 37 E0 F0 37 N/A Sleep E0 3F E0 F0 3F N/A Wake E0 5E E0 F0 5E N/A 10 June 27, 2002 HT82K28A Key code set 3 Key # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 Make/Break Code Note Default Key State 0E / F0 0E 16 / F0 16 1E / F0 1E 26 / F0 26 25 / F0 25 2E / F0 2E 36 / F0 36 3D / F0 3D 3E / F0 3E 46 / F0 46 45 / F0 45 4E / F0 4E 55 / F0 55 5D / F0 5D 66 / F0 66 0D / F0 0D 15 / F0 15 1D / F0 1D 24 / F0 24 2D / F0 2D 2C / F0 2C 35 / F0 35 3C / F0 3C 43 / F0 43 44 / F0 44 4D / F0 4D 54 / F0 54 5B / F0 5B 5C / F0 5C 14 / F0 14 1C / F0 1C 1B / F0 1B 23 / F0 23 2B / F0 2B 34 / F0 34 33 / F0 33 3B / F0 3B 42 / F0 42 4B / F0 4B 4C / F0 4C 52 / F0 52 5D / F0 5D 5A / F0 5A 12 / F0 12 13 / F0 13 1A / F0 1A 22 / F0 22 21 / F0 21 2A / F0 2A 32 / F0 32 31 / F0 31 3A / F0 3A 41 / F0 41 49 / F0 49 4A / F0 4A 51/ F0 51 * * * Key # Make/Break Code Note Default Key State 59 / F0 59 11 / F0 11 19 / F0 19 29 / F0 29 39 / F0 39 58 / E0 58 67 / F0 67 64 / F0 64 61 / F0 61 6E / F0 6E 65 / F0 65 63 / F0 63 60 / F0 60 6F / F0 60 6D / F0 6D 6A / F0 6A 76 / F0 76 6C / F0 6C 6B / F0 6B 69 / F0 69 77 / F0 77 75 / F0 75 73 / F0 73 72 / F0 72 70 / F0 70 7E / F0 7E 7D / F0 7D 74 / F0 74 7A / F0 7A 71 / F0 71 84 / F0 84 7C / F0 7C 7B/ F0 7B 79 / F0 79 08 / F0 08 07 / F0 07 0F / F0 0F 17 / F0 17 1F / F0 1F 27 / F0 27 2F / F0 2F 37 / F0 /37 3F / F0 3F 47 / F0 47 4F / F0 4F 56 / F0 56 5E / F0 5E 57 / F0 57 5F / F0 5F 62 / F0 62 85 / F0 85 86 / F0 86 87 / F0 87 8B / F0 8B 8C / F0 8C 8D / F0 8D Make/Break Make/Break Make/Break Typematic Make Only Make Only Make Only Typematic Typematic Make Only Make Only Typematic Typematic Make Only Make Only Typematic Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Typematic Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make Only Make/Break Make/Break Make/Break 57 58 60 61 62 64 75 76 79 80 81 83 84 85 86 89 90 91 92 93 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 131 132 133 L Win R Win APP Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Make/Break Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Make/Break Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic Typematic * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Different from code set 2 Rev. 1.30 11 June 27, 2002 HT82K28A Timing Diagrams Data output (1 ) (3 ) (3 ) 1 s t C L K C L K T 3 (2 ) (3 ) (3 ) 1 0 th C L K (4 ) 1 1 th C L K (5 ) T 5 T 4 T 1 D A T A 2 n d C L K (7 ) T 2 S ta r t B it B it 0 P a r ity B it S to p B it (6 ) T im in g P a r a m e te r M in /M a x T 1 D A T A tr a n s itio n to th e fa llin g e d g e o f C L K 5 /2 5 m s e c T 2 R is in g e d g e o f C L K to D A T A tr a n s itio n T 3 D u r a tio n o f C L K in a c tiv e 5 /T 4 -5 m s e c 3 0 /5 0 m s e c T 4 D u r a tio n o f C L K a c tiv e T 5 T im e to a u x ilia r y d e v ic e in h ib it a fte r c lo c k 1 1 to e n s u r e th e a u x ilia r y d e v ic e d o e s n o t s ta r t a n o th e r tr a n s m is s io n 3 0 /5 0 m s e c > 0 /5 0 m s e c Keyboard data input (1 ) (2 ) I/O In h ib it C L K (4 ) 2 n d C L K 1 s t C L K T 7 9 th C L K 1 0 th C L K (8 ) T 8 (6 ) T 9 D A T A S ta r t B it (3 ) Rev. 1.30 1 1 th C L K B it 0 P a r ity B it (5 ) (5 ) S to p B it (7 ) T im in g P a r a m e te r M in /M a x T 7 D u r a tio n o f C L K in a c tiv e 3 0 /5 0 m s e c T 8 D u r a tio n o f C L K a c tiv e 3 0 /5 0 m s e c T 9 T im e fr o m in a c tiv e to a c tiv e C L K tr a n s itio n , u s e d to tim e w h e n th e a u x ilia r y d e v ic e s a m p le s D A T A 5 /2 5 m s e c 12 June 27, 2002 HT82K28A Application Circuits V D D 3 4 F .B . 0 .1 m F 1 2 0 k W 1 0 m F 1 3 8 5 3 2 C L O C K V 3 1 D D C A P L E D Rev. 1.30 13 N U M S C R L D A T A C L O C K IO 0 C A P S C R L 2 5 3 4 L E D C 5 N U M 3 0 L E D V S S C 6 C 4 C 3 C 2 C 1 C 0 V S S 3 7 D A T A C 7 O S C 1 2 G N D V D D 3 6 6 N C N C N C IO 1 R 1 7 R 1 6 R 1 5 R 1 4 R 1 3 R 1 2 R 1 1 R 1 0 R 9 R 8 R 7 R 6 R 5 R 4 R 3 R 2 R 1 R 0 1 2 1 1 1 0 9 8 7 4 0 3 9 3 5 3 3 2 7 2 6 2 4 1 5 1 4 1 3 2 9 2 8 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 H T 8 2 K 2 8 A June 27, 2002 HT82K28A Standard Holtek Win98 keyboard C7 C6 C5 C4 C3 C1 C0 R0 F5 L-CTRL WAKE-UP R-CTRL SLEEP POWER PAUSE R1 ! 1 ~ K131 Z ESC A TAB Q R2 @ 2 F1 K132 X K45 S CAP LOCK W R3 # 3 F2 K133 C F4 D F3 E R4 $ 4 % 5 B V G F T R R5 & 7 ^ 6 N M H J Y U R6 * 8 + = K56 < , F6 K } ] I R7 ( 9 F8 APP > . L F7 O R8 ) 0 _ - ? / K42 : ; { [ P R9 PRINT R10 F10 F9 F12 ENTER F11 | \ BS K14 R11 POWER DEL DOWN Arrow NUM LOCK SPACE NUM 1 NUM 4 NUM 7 R12 SLEEP INSERT RIGHT Arrow NUM / NUM 0 NUM 2 NUM 5 NUM 8 R13 PG DN PG UP NUM - NUM * NUM . NUM 3 NUM 6 NUM 9 R14 END HOME LEFT Arrow UP Arrow NUM ENTER K107 NUM + R-SHF L-SHF WAKE UP L-WIN K130 R16 ² ¢ R-ALT R15 C2 SCR LOCK L-ALT K94 K129 R17 K109 R-WIN The above key code is according to the Microsoft specification except for the following keys. Key No Code Set 1 Make/Break Code Set 2 Make/Break Code Set 3 Make/Break 14 7D FD 6A F0 6A 5D F0 5D 94 7C FC 68 F0 68 68 F0 68 109 78 F8 63 F0 63 78 F0 78 129 F1 F1 F1 130 F0 F2 F2 Rev. 1.30 14 June 27, 2002 HT82K28A Package Information 40-pin DIP (600mil) outline dimensions A 4 0 2 1 1 2 0 B H C D E Symbol A Rev. 1.30 F a G I Dimensions in mil Nom. Min. 2045 ¾ Max. 2065 B 535 ¾ 555 C 145 ¾ 155 D 125 ¾ 145 E 16 ¾ 20 F 50 ¾ 70 G ¾ 100 ¾ H 595 ¾ 615 I 635 ¾ 670 a 0° ¾ 15° 15 June 27, 2002 HT82K28A Holtek Semiconductor Inc. (Headquarters) No.3, Creation Rd. II, Science Park, Hsinchu, Taiwan Tel: 886-3-563-1999 Fax: 886-3-563-1189 http://www.holtek.com.tw Holtek Semiconductor Inc. (Taipei Sales Office) 4F-2, No. 3-2, YuanQu St., Nankang Software Park, Taipei 115, Taiwan Tel: 886-2-2655-7070 Fax: 886-2-2655-7373 Fax: 886-2-2655-7383 (International sales hotline) Holtek Semiconductor Inc. (Shanghai Sales Office) 7th Floor, Building 2, No.889, Yi Shan Rd., Shanghai, China 200233 Tel: 021-6485-5560 Fax: 021-6485-0313 http://www.holtek.com.cn Holtek Semiconductor Inc. (Shenzhen Sales Office) 5/F, Unit A, Productivity Building, Cross of Science M 3rd Road and Gaoxin M 2nd Road, Science Park, Nanshan District, Shenzhen, China 518057 Tel: 0755-8616-9908, 8616-9308 Fax: 0755-8616-9533 Holtek Semiconductor Inc. (Beijing Sales Office) Suite 1721, Jinyu Tower, A129 West Xuan Wu Men Street, Xicheng District, Beijing, China 100031 Tel: 010-6641-0030, 6641-7751, 6641-7752 Fax: 010-6641-0125 Holtek Semiconductor Inc. (Chengdu Sales Office) 709, Building 3, Champagne Plaza, No.97 Dongda Street, Chengdu, Sichuan, China 610016 Tel: 028-6653-6590 Fax: 028-6653-6591 Holmate Semiconductor, Inc. (North America Sales Office) 46729 Fremont Blvd., Fremont, CA 94538 Tel: 510-252-9880 Fax: 510-252-9885 http://www.holmate.com Copyright Ó 2002 by HOLTEK SEMICONDUCTOR INC. The information appearing in this Data Sheet is believed to be accurate at the time of publication. However, Holtek assumes no responsibility arising from the use of the specifications described. The applications mentioned herein are used solely for the purpose of illustration and Holtek makes no warranty or representation that such applications will be suitable without further modification, nor recommends the use of its products for application that may present a risk to human life due to malfunction or otherwise. Holtek¢s products are not authorized for use as critical components in life support devices or systems. Holtek reserves the right to alter its products without prior notification. For the most up-to-date information, please visit our web site at http://www.holtek.com.tw. Rev. 1.30 16 June 27, 2002