LM8333 Mobile I/O Companion Supporting Key-Scan, I/O Expansion, PWM, and ACCESS.bus Host Interface 1.0 General Description The LM8333 Mobile I/O Companion offloads the burden of keyboard scanning from the host, while providing extremely low power consumption in both operational and standby modes. It supports keypad matrices up to 8 x 8 in size (plus another 8 special-function keys), for portable applications such as cellphones, PDAs, games, and other handheld applications. Key press and release events are encoded into a byte format and loaded into a FIFO buffer for retrieval by the host processor. An interrupt output (IRQ) is used to signal events such as keypad activity, a state change on either of two interruptcapable general-purpose I/O pins, or an error condition. Interrupt and error codes are available to the host by reading dedicated registers. Four general-purpose I/O pins are available, two of which have interrupt capability. A pulse-width modulated output based on a host-programmable internal timer is also available, which can be used as a general-purpose output if the PWM function is not required. To minimize power, the LM8333 automatically enters a lowpower standby mode when there is no keypad, I/O, or host activity. The device is packaged in a 32-pin Leadless Leadframe package (LLP) and a 49-pin MICRO-ARRAY . Both are chipscale packages. 2.0 Features 8 x 8 standard keys 8 special function keys (SF keys) providing a total of 72 keys for the maximum keyboard matrix ACCESS.bus (I2C-compatible) communication interface to the host Four general purpose host programmable I/O pins with two optional (slow) external Interrupts 16 byte FIFO buffer to store key pressed and key released events Error control with error reports on (FIFO overrun, Keypad overrun, invalid command) Host programmable PWM Host programmable active time and debounce time 3.0 Applications Mobile phones Personal Digital Assistants (PDAs) Smart handheld devices Personal media players 4.0 Block Diagram 20210601 I2C(R) is a registered trademark of Phillips Corporation. (c) 2007 National Semiconductor Corporation 202106 www.national.com LM8333 Mobile I/O Companion Supporting Key-Scan, I/O Expansion, PWM, and ACCESS.bus Host Interface August 2007 LM8333 5.0 Ordering Information NSID Spec. No. of Pins Package Type Temperature Package Method LM8333FLQ8X NOPB 32 LLP -40 to + 85C 2500 pcs Tape & Reel LM8333FLQ8Y NOPB 32 LLP -40 to + 85C 250 pcs Tape & Reel LM8333GGR8 NOPB 49 Micro-array -40 to + 85C 1000 pcs Tape & Reel NOPB = No PB (No Lead) 6.0 Pin Assignments 20210649 Top View Leadless Leadframe Package See NS Package Number LQA32A 20210602 Top View MICRO-ARRAY Package See NS Package Number GRA49A www.national.com 2 1.0 General Description ......................................................................................................................... 1 2.0 Features ........................................................................................................................................ 1 3.0 Applications .................................................................................................................................... 1 4.0 Block Diagram ................................................................................................................................ 1 5.0 Ordering Information ........................................................................................................................ 2 6.0 Pin Assignments ............................................................................................................................. 2 7.0 Signal Descriptions .......................................................................................................................... 4 8.0 Typical Application ........................................................................................................................... 5 8.1 FEATURES .................................................................................................................................. 5 8.2 I/O EXPANSION OPTIONS ............................................................................................................ 5 8.3 WATCHDOG TIMER ..................................................................................................................... 5 8.4 HALT MODE ................................................................................................................................ 5 8.4.1 ACCESS.bus Activity ................................................................................................................ 5 8.5 KEYPAD SCANNING ..................................................................................................................... 6 8.6 COMMUNICATION INTERFACE ..................................................................................................... 6 8.6.1 Interrupts Between the Host and LM8333 ..................................................................................... 6 8.6.2 Interrupt Sources ...................................................................................................................... 6 9.0 Device Operation ............................................................................................................................ 6 9.1 EVENT CODE ASSIGNMENT ......................................................................................................... 6 9.2 I/O EXPANSION ........................................................................................................................... 7 9.2.1 PWM Output with Programmable Duty Cycle ................................................................................ 7 9.2.2 General-Purpose I/O (GPIO) ...................................................................................................... 8 9.2.3 External Interrupts .................................................................................................................... 8 9.3 HOST COMMAND EXECUTION ..................................................................................................... 9 9.3.1 Command Structure .................................................................................................................. 9 9.4 HOST WRITE COMMANDS ......................................................................................................... 10 9.5 HOST READ COMMANDS ........................................................................................................... 10 9.6 WAKE-UP FROM HALT MODE ..................................................................................................... 11 10.0 Interrupts .................................................................................................................................... 11 10.1 INTERRUPT CODE ................................................................................................................... 11 10.2 ERROR CODE .......................................................................................................................... 11 10.3 STATUS CODES ....................................................................................................................... 12 10.4 INTERRUPT PROCESSING ....................................................................................................... 12 10.5 COMMAND EXECUTION SUMMARY .......................................................................................... 13 11.0 Absolute Maximum Ratings ........................................................................................................... 14 12.0 DC Electrical Characteristics ......................................................................................................... 14 13.0 AC Electrical Characteristics ......................................................................................................... 15 14.0 Physical Dimensions .................................................................................................................... 17 3 www.national.com LM8333 Table of Contents LM8333 7.0 Signal Descriptions Name 32 Pins 49 Pins I/O WAKE_IN0 29 D7 Input Wake-up input/Keyboard scanning input 0 Description WAKE_IN1 30 C7 Input Wake-up input/Keyboard scanning input 1 WAKE_IN2 27 E7 Input Wake-up input/Keyboard scanning input 2 WAKE_IN3 28 D6 Input Wake-up input/Keyboard scanning input 3 WAKE_IN4 31 B6 Input Wake-up input/Keyboard scanning input 4 WAKE_IN5 32 A7 Input Wake-up input/Keyboard scanning input 5 WAKE_IN6 1 A6 Input Wake-up input/Keyboard scanning input 6 Wake-up input/Keyboard scanning input 7 WAKE_IN7 2 B5 Input K_OUT0 21 G3 Output Keyboard scanning output 0 K_OUT1 22 F4 Output Keyboard scanning output 1 K_OUT2 23 G4 Output Keyboard scanning output 2 K_OUT3 24 G5 Output Keyboard scanning output 3 K_OUT4 3 A5 Output Keyboard scanning output 4 K_OUT5 4 B4 Output Keyboard scanning output 5 K_OUT6 5 A4 Output Keyboard scanning output 6 K_OUT7 6 A3 Output Keyboard scanning output 7 GEN_IO_0 12 D2 I/O General-purpose I/O 0 GEN_IO_1 13 D1 I/O General-purpose I/O 1 GEN_IO_2 7 B3 I/O General-purpose I/O 2 GEN_IO_3 8 A2 I/O General-purpose I/O 3 SDA 25 F7 I/O ACCESS.bus data signal SCL 26 E6 Input ACCESS.bus clock signal IRQ 17 F2 Output Interrupt request output PWM 16 F1 Output Pulse-width modulated output WD_OUT 18 G1 Output Watchdog timer output (connect to RESET input) RESET 20 F3 Input Reset input CLK_IN 11 B1 Input Clock input (connect to ground through a 68k ohm resistor) VCC 15 E1, E2 n.a. Vcc GND 9, 10, 14 A1, B2, C3, C4, C5, D3, D4, D5, E3, E4, E5 n.a. Ground NC 19 B7, C1, C2, C6, F5, F6, G2, G6, G7 n.a. No connect www.national.com 4 LM8333 8.0 Typical Application 20210603 FIGURE 1. Typical Keypad Configuration 8.1 FEATURES The following features are supported: * 8 x 8 standard keys. * 8 special function keys (SF keys) with wake-up capability by forcing a WAKE_INx pin to ground. Pressing a SF key overrides any other key in the same row. * A total of 72 keys can be scanned. * ACCESS.bus (I2C-compatible) interface for communication with the host. * The watchdog timer is mandatory, so WD_OUT must be connected to RESET. 8.3 WATCHDOG TIMER The watchdog timer is always enabled in hardware. To use the timer, connect the WD_OUT output to the RESET input. 8.4 HALT MODE The fully static architecture of the LM8333 allows stopping the internal RC clock in Halt mode, which reduces power consumption to the minimum level. Halt mode is entered when no key-press, key-release, or ACCESS.bus activity is detected for a certain period of time (by default, 500 milliseconds). The mechanism for entering Halt mode is always enabled in hardware, but the host can program the period of inactivity which triggers entry into Halt mode. The LM8333 will remain in Active mode as long as a key event, or any other event, which causes the IRQ output to be asserted is not resolved. 8.2 I/O EXPANSION OPTIONS * One host-programmable PWM output which also may be used as a general-purpose output. * Four host-programmable general-purpose I/O pins, GEN_IO_0, GEN_IO_1, GEN_IO_2, and GEN_IO_3. GEN_IO_0 and GEN_IO_1 can also be configured for "slow" interrupts, in which any transition will trigger a hardware interrupt event to the host. 8.4.1 ACCESS.bus Activity When the LM8333 is in Halt mode, any activity on the ACCESS.bus interface will cause the LM8333 to exit from Halt mode. However, the LM8333 will not be able to acknowl5 www.national.com LM8333 edge the first bus cycle immediately following wake-up from Halt mode. It will respond with a negative acknowledgement, and the host should then repeat the cycle. The LM8333 will be prevented from entering Halt mode if it shares the bus with peripherals that are continuously active. For lowest power consumption, the LM8333 should only share the bus with peripherals that require little or no bus activity after system initialization. the host. The LM8333 may signal events to the host by asserting the IRQ interrupt request. 8.6.1 Interrupts Between the Host and LM8333 The IRQ output is used to signal unresolved interrupts, errors, and key-events to the host. The host can use an available GEN_IO_0 or GEN_IO_1 pin to interrupt (or wake-up) the LM8333, if it is not being used for another function. The host can also wake-up the LM8333 by sending a Start Condition on the ACCESS.bus interface. 8.5 KEYPAD SCANNING The LM8333 starts new scanning cycles at fixed time intervals of about 4 ms. If a change in the state of the keypad is detected, the keypad is rescanned after a debounce delay. When the state change has been reliably captured, it is encoded and written to the FIFO buffer. If more than two keys are pressed simultaneously, the pattern of key closures may be ambiguous, so pressing more than two keys asserts the Error Flag condition and the IRQ output (if enabled). The host may attempt to interpret the events stored in the FIFO or discard them. The SF keys connect the WAKE_INx pins directly to ground. There can be up to eight SF-keys. If any of these keys are pressed, other key presses that use the same WAKE_INx pin will be ignored. Note: The LM8333 it will not be able to acknowledge the first byte received from the host after wake-up. In this case, the host will have to resend the slave address. 8.6.2 Interrupt Sources The IRQ output is asserted on these conditions: * Any new key-event. * Any error condition, which is indicated by the error code. * Any enabled interrupt on either of the GEN_IO_0 or GEN_IO_1 pins that can be configured as external interrupt inputs. When enabled, any rising or falling edge triggers an interrupt. The IRQ output remains asserted until the interrupt code is read. 9.0 Device Operation 8.6 COMMUNICATION INTERFACE The two-wire ACCESS.bus interface is used to communicate with a host. The ACCESS.bus interface is fully compliant with the I2Cbus standard. The LM8333 operates as a bus slave at speeds up to 400 kHz. An ACCESS.bus transfer starts with a byte that includes a 7bit slave device address. The LM8333 responds to a fixed device address. This address is 0xA2, when aligned to the MSB (7-bit address mapped to bits 7:1, rather than bits 6:0). Bit 0 is a direction bit (0 on write, 1 on read). Because it is a slave, the LM8333 never initiates an ACCESS.bus cycle, it only responds to bus cycles initiated by 9.1 EVENT CODE ASSIGNMENT After power-on reset, the LM8333 starts scanning the keypad. It stays active for a default time of about 500 ms after the last key is released, after which it enters a standby mode to minimize power consumption (<2 A standby current). Table 1 lists the codes assigned to the matrix positions encoded by the hardware. Key-press events are assigned the codes listed in Table 1, but with the MSB set. When a key is released, the MSB of the code is clear. TABLE 1. Keypad Matrix Code Assignments K_OUT0 K_OUT1 K_OUT2 K_OUT3 K_OUT4 K_OUT5 K_OUT6 K_OUT7 SF Keys WAKE_IN0 0x01 0x02 0x03 WAKE_IN1 0x11 0x12 0x13 0x04 0x05 0x06 0x07 0x08 0x09 0x14 0x15 0x16 0x17 0x18 WAKE_IN2 0x21 0x22 0x19 0x23 0x24 0x25 0x26 0x27 0x28 0x29 WAKE_IN3 0x31 WAKE_IN4 0x41 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x42 0x43 0x44 0x45 0x46 0x47 0x48 WAKE_IN5 0x49 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 WAKE_IN6 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 WAKE_IN7 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x79 The codes are loaded into the FIFO buffer in the order in which they occurred. Table 2 shows an example sequence of www.national.com events, and Figure 2 shows the resulting sequence of event codes loaded into the FIFO buffer. 6 LM8333 TABLE 2. Example Sequence of Events Event Number Event Code Event on Input Matrix Node Description 1 0xF1 Wake_INP7 K_OUT0 Key is pressed 2 0xB6 Wake_INP3 K_OUT5 Key is pressed 3 0x71 Wake_INP7 K_OUT0 Key is released 4 0x36 Wake_INP3 K_OUT5 Key is released 5 0xB4 Wake_INP3 K_OUT3 Key is pressed 6 0x34 Wake_INP3 K_OUT3 Key is released33 7 0x91 Wake_INP1 K_OUT0 Key is pressed 8 0x00 NA NA Indicates end of stored events 20210604 FIGURE 2. Example Event Codes Loaded in FIFO Buffer controlled by the PWM_CTL command. Before activating the PWM output, the TLO and THI times must be initialized. Figure 4 shows the command formats. 9.2 I/O EXPANSION In addition to keypad scanning, the LM8333 supports various I/O expansion options. 9.2.1 PWM Output with Programmable Duty Cycle The PWM pin may be used either as a pulse-width modulated output driven by a 16-bit timer or as a general-purpose output pin. In the PWM mode, the low time (TLO) and high time (THI) are programmable between 1 x tC and 65K x tC cycles in which tC is the cycle time (nominally 1 microsecond), as shown in Figure 3. The period TPD is the sum of THI and TLO. The PWM_LO command writes TLO, and the PWM_HI command writes THI. Operational modes of the PWM pin are 20210605 FIGURE 3. Programmable PWM 20210606 FIGURE 4. PWM Control Commands for Arbitrary Duty Cycle 7 www.national.com LM8333 TABLE 3. Summary of PWM Control Bits OUT_DIR Bit PWM_DIR Bit MOD BIT Description 0 1 0 Drive output low 1 1 0 Drive output high 0 0 0 TRI-STATE(R) mode X X 1 PWM timer output All general-purpose I/O pins can be programmed as inputs or outputs as shown in Table 4. The GEN_IO_0 and GEN_IO_1 pins provide an additional capability for programmable wakeup. 9.2.2 General-Purpose I/O (GPIO) Figure 5 shows the commands to write, read and control the general-purpose I/O port pins, GEN_IO_0, GEN_IO_1, GEN_IO_2, and GEN_IO_3. 20210607 FIGURE 5. General-Purpose I/O Control Commands Table 4 shows the pin configuration for all four combinations of control bit settings (data output and direction) for the general-purpose I/O pins. GEN_IO_3 cannot be put into the high impedance (Hi-Z) input mode. When programmed as an input, it can only be configured as an input with a weak pullup. TABLE 4. General Purpose I/O Pin Configuration GEN_IO_DIR Bit GEN_IO_OUT Bit Direction 0 0 Input Hi-Z 0 1 Input Weak Pullup 1 0 Output Drive Low 1 1 Output Drive High 9.2.3 External Interrupts When the GEN_IO_0 or GEN_IO_1 pins are configured as inputs, a SET_EXT_INT command (0xD1) can be used to enable receiving external interrupts on either or both of these pins. Setting the EX_0 or EX_1 bits in the data byte of the SET_EXT_INT command (as shown in Figure 6) enables the corresponding pin as an external interrupt input. When enabled as an interrupt input, any rising or falling edge causes the IRQ output to be asserted. If the LM8333 was in Halt mode, it also wakes up into Active mode. www.national.com State 20210608 FIGURE 6. SET_EXT_INT Command Data Byte When both GEN_IO_0 and GEN_IO_1 are configured as interrupt inputs, bits 1 and 2 of the interrupt code indicate which input asserted the interrupt. However, if only one of GEN_IO_0 or GEN_IO_1 is configured as an interrupt input, both bits 1 and 2 of the interrupt code will be set when an interrupt occurs. 8 LM8333 TABLE 5. Interface Commands for Controlling the LM8333 Function FIFO_READ Cmd 0x20 Dir R Data Bits Data Description 128 Read an event from the FIFO. Event Codes from Maximum 14 event codes stored in the FIFO. FIFO MSB = 1: key pressed. MSB = 0: key released. Repeats a FIFO read without advancing the FIFO pointer, for example to retry a read after an error. Event Codes from Maximum 14 event codes stored in the FIFO. FIFO MSB = 1: key pressed. MSB = 0: key released. RPT_FIFO_READ 0x21 R 128 DEBOUNCE 0x22 W 8 nnnn nnnn Default is 10 ms. Valid range 1-255. Time ~ n x 3 ms GEN_IO_IN 0x30 R 8 0000 nnnn Read port data. GEN_IO_OUT 0x31 W 8 0000 nnnn Specify port mode. (Drive 0 or 1 when the port is configured as an output; select Hi-Z or pullup when the port is configured as an input.) GEN_IO_DIR 0x32 W 8 0000 nnnn Select port direction (input or output). PWM_HI 0x40 W 16 (n+1) x tC Sets the low pulse time of the PWM signal. PWM_LO 0x41 W 16 (n+1) x tC Sets the high pulse time of the PWM signal. PWM_CTL 0x42 W 8 0000 0nnn Activate, reactivate, or stop PWM. READ_INT 0xD0 R 8 0000 nnnn Reads the interrupt code, acknowledges the interrupt, deasserts the IRQ output, and clears the code. SET_EXT_INT 0xD1 W 8 0000 00nn Enables/disables external interrupts on GEN_IO_0 and GEN_IO_1. READ_STAT 0xE0 R 8 000n nnnn Status Information. SCAN_REQ 0xE3 W 8 Requests rescanning the keypad (for example, after an error was reported). ACTIVE 0xE4 W 8 nnnn nnnn Specifies the time after the last event during which the LM8333 stays active before entering Halt mode. The active time must be greater than the debounce time. Default is 500 msec Valid range for n is 1-255 Time ~ n x 3 msec. READ_ERROR 0xF0 R 8 0nnn nnnn Reads and clears the error code. terrupt request (IRQ low) asserted by the LM8333. Figure 7 shows a sequence of Start conditions, slave addresses, READ_INT command (0xD0), acknowledge cycles, data bytes, and Stop condition for reading the interrupt code. 9.3 HOST COMMAND EXECUTION 9.3.1 Command Structure All communication with the LM8333 over the ACCESS.bus interface is initiated by the host, usually in response to an in- 20210609 FIGURE 7. Typical Command Sequence from Host 9 www.national.com LM8333 Every transfer is preceded by a Start condition (S) or a Repeated Start condition (RS). The latter occurs when a command follows immediately upon another command without an intervening Stop condition (P). A Stop condition indicates the end of transmission. Every byte is acknowledged (A) by the receiver. The first byte in a write from the host to the LM8333 is 0xA2, and the first byte in a read is 0xA3. This byte is composed of a 7-bit slave address in bits 7:1 and a direction bit in bit 0. The direction bit is 0 on writes from the host to the slave and 1 on reads from the slave to the host. The second byte sends the command. The commands are listed in Table 5. In the example, the READ_INT command (0xD0) reads the interrupt code. The slave address is repeated in the third byte, with the direction bit set to 1. The Start (or Repeated Start) condition must be repeated whenever the slave address or the direction bit is changed. In this case, the direction bit is changed. The data is sent from the slave to the host in the fourth byte. When the master is the receiver, it sends a negative acknowledgement (NA) to indicate the end of the data. 9.4 HOST WRITE COMMANDS Some host commands include one or more data bytes written to the LM8333. Figure 8 shows a SET_EXT_INT command, which consists of an address byte, a command byte, and one data byte. The first byte is composed of a 7-bit slave address in bits 7:1 and a direction bit in bit 0. The state of the direction bit is 0 on writes from the host to the slave and 1 on reads from the slave to the host. The second byte sends the command. The commands are listed in Figure 9. The SET_EXT_INT command is 0xD1. The third byte send the data, in this case configuring GEN_IO_0 as an external interrupt input. 20210610 FIGURE 8. Host Write Command (pulled high) to indicate a read transaction of the data from the LM8333. The Start (or Repeated Start) condition must be repeated whenever the slave address or the direction bit is changed. In this case, the direction bit is changed. The data is sent from the slave to the host in the fourth byte. This byte ends with a negative acknowledgement (NACK) to indicate the end of the data. 9.5 HOST READ COMMANDS Some host commands include one or more data bytes read from the LM8333. Figure 9 shows a READ_INT command which consists of an address byte, a command byte, a second address byte, and a data byte. The first address byte is sent with the direction bit driven low to indicate a write transaction of the command to the LM8333. The second address byte is sent with the direction bit undriven 20210611 FIGURE 9. Host Read Command www.national.com 10 20210612 FIGURE 10. LM8333 Responds with NACK, Host Retries Command Note that when only one of the interrupt-capable pins GEN_IO_0 or GEN_IO_1 is configured as an interrupt input, bits 1 and 2 are both set when an interrupt occurs. When both GEN_IO_0 and GEN_IO_1 pins are configured as interrupt inputs, only one bit corresponding to the interrupt source is set when an interrupt occurs. 10.0 Interrupts 10.1 INTERRUPT CODE The interrupt code is read and acknowledged with the READ_INT command (0xD0). This command clears the code and deasserts the IRQ output. Table 6 shows the format of the interrupt code. TABLE 6. Interrupt Code 7 6 5 4 3 2 1 0 0 0 0 0 ERROR EX_1 EX_0 KEYPAD Bit ERROR EX_1 EX_0 KEYPAD Description An error condition occurred. A rising or falling edge was detected on GEN_IO_1. A rising or falling edge was detected on GEN_IO_0. A key-press or key-release event occurred. 10.2 ERROR CODE If the LM8333 reports an error, the READ_ERROR command (0xF0) is used to read and clear the error code. Table 7 shows the format of the error code. TABLE 7. Error Code 7 6 5 4 3 2 1 0 0 FIFOOVR 0 NOINT 0 KEYOVR CMDUNK CMDOVR 11 www.national.com LM8333 terminates without being acknowledged (shown as NACK in Figure 10). The host then aborts the transaction by sending a Stop condition. After aborting the bus cycle, the host may then retry the bus cycle. On the second attempt, the LM8333 will be able to acknowledge the slave address, because it will be in Active mode. Alternatively, the I2C specification allows sending a START byte (00000001), which will not be acknowledged by any device. This byte can be used to wake up the LM8333 from Halt mode. The LM8333 may also stall the bus transaction by pulling the SCL low, which is a valid behavior defined by the I2C specification. 9.6 WAKE-UP FROM HALT MODE Any bus transaction initiated by the host may encounter the LM8333 device in Halt mode or busy with processing data, such as controlling the FIFO buffer or executing interrupt service routines. Figure 10 shows the case in which the host sends a command while the LM8333 is in Halt mode (CPU clock is stopped). Any activity on the ACCESS.bus wakes up the LM8333, but it cannot acknowledge the first bus cycle immediately after wake-up. The host drives a Start condition followed by seven address bits and a R/W bit. The host then releases SDA for one clock period, so that it can be driven by the LM8333. If the LM8333 does not drive SDA low during the high phase of the clock period immediately after the R/W bit, the bus cycle LM8333 Bit FIFOOVR NOINT KEYOVR CMDUNK CMDOVR Description Key event occurred while the FIFO was full. Interrupt deasserted before it could be serviced. More than two keys were pressed simultaneously. Not a valid command. Command received before it could be accepted, e.g. after wake-up. 10.3 STATUS CODES The host can use the READ_STAT command (0xE0) to read the status code, for example to synchronize after an error. TABLE 8. Status Codes Status Code Description Reset 0000 0000 Default after reset. Wake Up Interrupt 0000 0010 Wake-up caused by external interrupt. Ack 0000 0110 Last host command was successful. NoAck 0001 0101 Last host command was not successful. 10.4 INTERRUPT PROCESSING Unexpected states encountered during run-time, for example overrun of the FIFO buffer, are reported as errors. When the host receives an interrupt from the LM8333, it uses a READ_INT command to read the interrupt code. If the code has a set ERROR bit, the host then uses a READ_ERROR command to read the error code, as shown in Figure 11. 20210613 FIGURE 11. Interrupt Processing www.national.com 12 * * * * 13 enabled interrupt input triggers wake-up from Halt mode and asserts an interrupt to the host by pulling the IRQ output low. The host can change the debounce time from the default time of 10 ms. This can be used for reliable scanning of keyboards with noisy contacts. The debounce time can be set to about 1 second in steps of 4 milliseconds. The debounce time is set with the DEBOUNCE command (0x22). The host can change the active time permitted before entering Halt mode from the default period of 500 ms. The active time is the time during which the keypad is scanned after the last key is released, before entering Halt mode. The active time must be longer than the debounce time. The host can program the direction and output state of four general-purpose I/O pins. The host can also read the states on these pins. The host can program a 16-bit timer for generating a PWM output. If the PWM function is not used, the PWM pin can be used as a general-purpose output. www.national.com LM8333 10.5 COMMAND EXECUTION SUMMARY * With the interrupt, status, and error codes, the LM8333 provides the features needed to support a reliable keyscan functionality. * Up to 14 key-scan events can be stored in an internal FIFO buffer. The end of buffer is indicated with the 00 (empty character) code. * The host can repeatedly read the FIFO without modifying the FIFO pointer using the RPT_FIFO_READ command (0x21), for example if an error is encountered during a read. * The LM8333 asserts the IRQ output low when a new character is pressed after the last interrupt acknowledge from the host. The IRQ output will be deasserted after the host has acknowledged the interrupt by reading the interrupt code using the READ_INT command (0xD0). * The host can synchronize with the LM8333 by reading the status code with the READ_STAT command (0xE0). The status code verifies whether the last command was successfully completed. * Two GPIO pins on the LM8333 may be configured as external interrupt inputs. A rising or falling edge on an LM8333 ESD Protection Level Human Body Model Machine Model Total Current into VCC Pin (Source) Total Current out of GND Pin (Sink) Storage Temperature Range 11.0 Absolute Maximum Ratings (Note 1) If Military/Aerospace specified devices are required, please contact the National Semiconductor Sales Office/ Distributors for availability and specifications. Supply Voltage (VCC) Voltage at Any Pin Maximum Input Current Without Latchup 3.5V -0.3V to VCC +0.3V 2 kV 200V 80 mA 60 mA -65C to +140C 100 mA 12.0 DC Electrical Characteristics (Temperature: -40C TA +85C) Data sheet specification limits are guaranteed by design, test, or statistical analysis. Symbol VCC Parameter Conditions Typ Max (Note 2) Units V Operating Voltage 2.25 2.9 Power Supply Rise Time from 0.0V (On Chip Power-On Reset Selected) 20 s 10 ms IDD Supply Current (Note 3) RC Clock = 10 MHz, VCC = 2.75V, TC = 1 s (Note 4) IHALT Standby Mode Current (Note 5) VCC = 2.75V, TC = 0 s, (Note 4), TA = 25C VIL Logical 0 Input Voltage VIH Logical 1 Input Voltage <2 6 mA 15 A 0.25 VCC V 0.8 VCC V Hi-Z Input Leakage (TRI-STATE Output) VCC = 2.75V -0.1 0.1 A Input PullupCurrent VCC = 2.75V, VIN = 0V -15 -120 A Output Current Source (Weak Pull-Up) VCC = 2.25V, VOH = 1.7V -10 -80 A Output Current Source (Push-Pull Mode) VCC = 2.25V, VOH = 1.7V -10 mA Output CurrentSink (Push-Pull Mode) VCC = 2.25V, VOL = 0.4V 10 mA Port Input Hysteresis (Note 6) CPAD Min (Note 2) 0.1 V Allowable Sink and Source Current per Pin 16 mA Input Capacitance 8.5 pF Note 1: Absolute Maximum Ratings indicate limits beyond which damage to the device may occur. Operating Ratings indicate conditions for which the device is intended to be functional, but specific performance is not guaranteed. For guaranteed specifications and test conditions, see the Electrical Characteristics tables. Note 2: Data sheet minimum and maximum limits are guaranteed by design, test, or statistical analysis. Note 3: Supply current is measured with inputs connected to VCC and outputs driven low but not connected to a load. Note 4: TC = instruction cycle time (min. 0.7 s). Note 5: In Halt mode, the internal clock is switched off. Supply current in Halt mode is measured with inputs connected to VCC and outputs driven low but not connected to a load. Note 6: Guaranteed by design, not tested. www.national.com 14 LM8333 13.0 AC Electrical Characteristics (Temperature: -40C TA +85C) Data sheet specification limits are guaranteed by design, test, or statistical analysis. Symbol Parameter Conditions Min (Note 7) External R from CLK_IN to Gnd (R = 68 kohm) Internal Oscillator Typ Max (Note 7) Units 0.75 s 75 ns 2.25V VCC 2.75V System Oscillator (mclk) External R from CLK_IN to Gnd (R = 68 kohm) System Oscillator and Internal Frequency Variation 2.25V VCC 2.75V 2.25V VCC 2.75V Input Pulse Width Low Input Pulse Width High 30 % 0.7 s 0.7 s ACCESS.bus Input Timing (Note 8) tBUFi Bus free time between Stop and Start Condition tSCLhigho tCSTOHsi SCL setup time Before Stop Condition 8 mclk tCSTRHhi SCL hold time After Start Condition 8 mclk tDHCsi Data High setup time Before SCL Rising Edge (RE) 2 mclk tDLCsi Data Low setup time Before SCL RE 2 mclk tSCLlowi SCL low time After SCL Falling Edge (FE) 12 mclk tSCLhighi SCL high time After SCL RE 12 mclk tSDAhi SDA hold time After SCL FE 0 ns tSDAsi SDA setup time Before SCL RE 2 mclk ACCESS.bus Output Timing (Note 8) tBUFo Bus free time between Stop and Start Condition tSCLhigho tCSTOso SCL setup time Before Stop Condition tSCLhigho tCSTRho SCL hold time After Start Condition tSCLhigho tCSTRso SCL setup time Before Start Condition tSCLhigho tDHCso Data High setup time Before SCL RE tSCLhigho tDLCso Data Low setup time Before SCL RE tSCLhigho tSCLlowo SCL low time After SCL FE 16 mclk tSCLhigho SCL high time After SCL RE 16 mclk tSDAho SDA hold time After SCL FE 7 mclk tSDAvo SDA valid time Before SCL FE 7 mclk Note 7: Data sheet minimum and maximum limits are guaranteed by design, test, or statistical analysis. Note 8: The ACCESS.bus interface of the LM8333 device implements and meets the timing necessary for interface to the I2C bus and SMBus protocol at logic levels. The bus drivers are designed with open-drain output as required for bidirectional operation. The LM8333 device will not meet the AC timing and current/ voltage requirements of the full bus specification. 15 www.national.com LM8333 20210614 FIGURE 12. ACCESS.bus Start and Stop Condition Timing www.national.com 16 LM8333 14.0 Physical Dimensions inches (millimeters) unless otherwise noted Leadless Leadframe Package Order Number LM8333FLQ8X or LM8333FLQ8Y NS Package Number LQA32A Micro Array Package Order Number LM8333GGR8 NS Package Number GRA49A 17 www.national.com LM8333 Mobile I/O Companion Supporting Key-Scan, I/O Expansion, PWM, and ACCESS.bus Host Interface Notes THE CONTENTS OF THIS DOCUMENT ARE PROVIDED IN CONNECTION WITH NATIONAL SEMICONDUCTOR CORPORATION ("NATIONAL") PRODUCTS. NATIONAL MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS PUBLICATION AND RESERVES THE RIGHT TO MAKE CHANGES TO SPECIFICATIONS AND PRODUCT DESCRIPTIONS AT ANY TIME WITHOUT NOTICE. NO LICENSE, WHETHER EXPRESS, IMPLIED, ARISING BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. TESTING AND OTHER QUALITY CONTROLS ARE USED TO THE EXTENT NATIONAL DEEMS NECESSARY TO SUPPORT NATIONAL'S PRODUCT WARRANTY. EXCEPT WHERE MANDATED BY GOVERNMENT REQUIREMENTS, TESTING OF ALL PARAMETERS OF EACH PRODUCT IS NOT NECESSARILY PERFORMED. NATIONAL ASSUMES NO LIABILITY FOR APPLICATIONS ASSISTANCE OR BUYER PRODUCT DESIGN. BUYERS ARE RESPONSIBLE FOR THEIR PRODUCTS AND APPLICATIONS USING NATIONAL COMPONENTS. PRIOR TO USING OR DISTRIBUTING ANY PRODUCTS THAT INCLUDE NATIONAL COMPONENTS, BUYERS SHOULD PROVIDE ADEQUATE DESIGN, TESTING AND OPERATING SAFEGUARDS. EXCEPT AS PROVIDED IN NATIONAL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, NATIONAL ASSUMES NO LIABILITY WHATSOEVER, AND NATIONAL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO THE SALE AND/OR USE OF NATIONAL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. LIFE SUPPORT POLICY NATIONAL'S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS PRIOR WRITTEN APPROVAL OF THE CHIEF EXECUTIVE OFFICER AND GENERAL COUNSEL OF NATIONAL SEMICONDUCTOR CORPORATION. As used herein: Life support devices or systems are devices which (a) are intended for surgical implant into the body, or (b) support or sustain life and whose failure to perform when properly used in accordance with instructions for use provided in the labeling can be reasonably expected to result in a significant injury to the user. A critical component is any component in a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system or to affect its safety or effectiveness. National Semiconductor and the National Semiconductor logo are registered trademarks of National Semiconductor Corporation. All other brand or product names may be trademarks or registered trademarks of their respective holders. Copyright(c) 2007 National Semiconductor Corporation For the most current product information visit us at www.national.com National Semiconductor Americas Customer Support Center Email: new.feedback@nsc.com Tel: 1-800-272-9959 www.national.com National Semiconductor Europe Customer Support Center Fax: +49 (0) 180-530-85-86 Email: europe.support@nsc.com Deutsch Tel: +49 (0) 69 9508 6208 English Tel: +49 (0) 870 24 0 2171 Francais Tel: +33 (0) 1 41 91 8790 National Semiconductor Asia Pacific Customer Support Center Email: ap.support@nsc.com National Semiconductor Japan Customer Support Center Fax: 81-3-5639-7507 Email: jpn.feedback@nsc.com Tel: 81-3-5639-7560