0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
LM8328TME/NOPB

LM8328TME/NOPB

  • 厂商:

    BURR-BROWN(德州仪器)

  • 封装:

    DSBGA25

  • 描述:

    IC MOBILE I/O COMPAN 25DSBGA

  • 数据手册
  • 价格&库存
LM8328TME/NOPB 数据手册
LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 LM8328 Mobile I/O Companion Supporting Keyscan, I/O Expansion, PWM, and ACCESS.bus Host Interface Check for Samples: LM8328 FEATURES 1 • 2 • KEY FEATURES – Internal RC Oscillator, No External Clock Required – Internal PWM Clock Generation, No External Clock Required – External Reset for System Control – Programmable I2C-compatible ACCESS.bus Address (Default 0x88) – Support for Keypad Matrices of up to of 8 x 12 Keys, Plus 8 Special Function (SF) Keys, for a Full 104 Key Support – I2C-compatible ACCESS.bus Slave Interface at 100 kHz (Standard-Mode) and 400 kHz (Fast-Mode) – Three Host-programmable PWM Outputs for Smooth LED Brightness Modulation – Supports General-purpose I/O Expansion on Pins Not Otherwise Used for Keypad or PWM Output – 15 byte Key Event Buffer – Multiple Key Event Storage – Key Events, Errors, and Dedicated Hardware Interrupts Request Host Service by Asserting an IRQ Output – Automatic HALT Mode for Low Power Operation – Wake-up from HALT Mode on Any Interface (Rising Edge, Falling Edge or Pulse) – Three PWM Outputs with Dedicated Script Buffer for up to 32 Commands – Register-based Command Interpreter with Auto Increment Address HOST-CONTROLLED FEATURES – Reset Input for System Control – PWM Scripting for Three PWM Outputs – Period of Inactivity that Triggers Entry into HALT Mode – Debounce Time for Reliable Key Event Polling • – Configuration of General Purpose I/O Ports – Various Initialization Options (Keypad Size, etc.) KEY DEVICE FEATURES – 1.8V ± 10% Single-supply Operation – On-chip Power-on Reset (POR) – Watchdog Timer – −40°C to +85°C Temperature Range – 25-pin DSBGA Package APPLICATIONS: • • • Cordless Phones Smart Handheld Devices Keyboard Applications DESCRIPTION The LM8328 GenI/O - Expander and Keypad Controller is a dedicated device to unburden a host processor from scanning a matrix-addressed keypad and to provide flexible and general purpose, host programmable input/output functions. Three independent PWM timer outputs are provided for dynamic LED brightness modulation. It communicates with a host processor through an I2C-compatible ACCESS.bus serial interface. It can communicate in Standard (100 kHz) - and Fast-Mode (400 kHz) in slave Mode only. All available input/output pins can alternately be used as an input or an output in a keypad matrix or as a host programmable general purpose input or output. Any pin programmed as an input can also sense hardware interrupts. The interrupt polarity (“high to low” or “low to high” transition) is thereby programmable. The LM8328 follows a predefined register based set of commands. Upon start-up (power - on) a configuration file must be sent from the host to setup the hardware of the device. 1 2 Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet. All trademarks are the property of their respective owners. PRODUCTION DATA information is current as of publication date. Products conform to specifications per the terms of the Texas Instruments standard warranty. Production processing does not necessarily include testing of all parameters. Copyright © 2011–2013, Texas Instruments Incorporated LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com LM8328 FUNCTION BLOCKS PIN ASSIGNMENTS Figure 1. LM8328 Pinout - Top View (balls underneath): Y = Outputs; X = Inputs 2 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 SIGNAL DESCRIPTIONS DEVICE PIN FUNCTIONS KEY AND ALTERNATE FUNCTIONS OF ALL DEVICE PINS Ball Function 0 Pin Count Ball Name C1 Reset Active Low Input Function 1 Function 2 Function 3 1 RESETN C4 Supply Voltage 1 VCC D1 2 Main I C - Clk 1 SCL E1 Main I2C - Data 1 SDA A5 Keypad-I/O X0 Genio0 1 KPX0 B4 Keypad-I/O X1 Genio1 1 KPX1 D2 Keypad-I/O X2 Genio2 1 KPX2 E2 Keypad-I/O X3 Genio3 1 KPX3 A1 Keypad-I/O X4 Genio4 1 KPX4 B1 Keypad-I/O X5 Genio5 1 KPX5 A3 Keypad-I/O X6 Genio6 1 KPX6 A4 Keypad-I/O X7 Genio7 1 KPX7 D5 Keypad-I/O Y0 Genio8 1 KPY0 C5 Keypad-I/O Y1 Genio9 1 KPY1 B5 Keypad-I/O Y2 Genio10 1 KPY2 D4 Keypad-I/O Y3 Genio11 1 KPY3 B2 Keypad-I/O Y4 Genio12 1 KPY4 A2 Keypad-I/O Y5 Genio13 1 KPY5 B3 Keypad-I/O Y6 Genio14 1 KPY6 C2 Keypad-I/O Y7 Genio15 1 KPY7 D3 Keypad-I/O Y8 Genio16 ClockOut PWM2 1 KPY8 PWM2 E4 Keypad-I/O Y9 Genio17 PWM1 1 KPY9 PWM1 E5 Keypad-I/O Y10 Genio18 E3 Interrupt Keypad-I/O Y11 PWM0 1 PWM2 1 KPY10 PWM0 Genio19 IRQN KPY11 PWM2 C3 Ground 1 TOTAL 25 GND PIN CONFIGURATION AFTER RESET Upon power-up or RESET the LM8328 will have defined states on all pins. Pin configuration after reset provides a comprehensive overview on the states of all functional pins. Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 3 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com PIN CONFIGURATION AFTER RESET Pins Pin States KPX0 KPX1 KPX2 KPX3 KPX4 Full Buffer mode with an on-chip pull up resistor enabled. KPX5 KPX6 KPX7 KPY0 KPY1 KPY2 KPY3 KPY4 KPY5 Full Buffer mode with an on-chip pull down resistor enabled. KPY6 KPY7 KPY8 / PWM2 KPY9 / PWM1 KPY10 / PWM0 KPY11 / IRQN / PWM2 SCL SDA (1) 4 Open Drain mode with no pull resistor enabled, driven low (IRQN). (1) Open Drain mode with no pull resistor enabled. The IRQN is driven low after Power-On Reset due to PORIRQ signal. The value 0x01 must be written to the RSTINTCLR register (0x84) to release the IRQN pin. Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 TYPICAL APPLICATION SETUP Figure 2. LM8328 in a Typical Setup with Standard Handset Keypad FEATURES The following features are supported with the application example shown in example above: Hardware Hardware • 4 x 8 keys and 8 Special Function (SF) keys for 40 keys. • ACCESS.bus interface for communication with a host device. – - communication speeds supported are: 100 kHz and 400 kHz fast mode of operation. • Interrupt signal (IRQN) to indicate any keypad or hardware interrupt events to the host. • Sophisticated PWM function block with 3 independent channels to control color LED. • External reset input for system control. • Two host programmable dedicated general-purpose output pins (GPIOs) supporting IO-expansion capabilities for host device. • Two host programmable dedicated general-purpose input pins with wake-up supporting IO-expansion capabilities for host device. Communication Layer • Versatile register-based command integration supported from on-chip command interpreter. • Keypad event storage. • Individual PWM script file storage and execution control for 3 PWM channels. Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 5 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com HALT MODE HALT MODE DESCRIPTION The fully static architecture of the LM8328 allows stopping the internal RC clock in Halt mode, which reduces power consumption to the minimum level. Figure 3 shows the current in Halt mode at the maximum VCC (1.98V) from 25°C to +85°C. Figure 3. Halt Current vs. Temperature at 1.98V Halt mode is entered when no key-press event, key-release event, or ACCESS.bus activity is detected for a certain period of time (by default, 1020 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 using the autosleep function. (See Table 47.) ACCESS.BUS ACTIVITY When the LM8328 is in Halt mode, only activity on the ACCESS.bus interface that matches its Slave Address will cause the LM8328 to exit from Halt mode. However, the LM8328 will not be able to acknowledge 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. A peripheral that is continuously active can share the bus since this activity will not prevent the LM8328 from entering Halt mode. LM8328 PROGRAMMING INTERFACE The LM8328 operation is controlled from a host device by a complete register set, accessed via the I2Ccompatible ACCESS.bus interface. The ACCESS.bus communication is based on a READ/WRITE structure, following the I2C transmission protocol. All functions can be controlled by configuring one or multiple registers. Please refer to LM8328 REGISTER SET for the complete register set. ACCESS.BUS COMMUNICATION Figure 4 shows a typical read cycle initiated by the host.) Figure 4. Master/Slave Serial Communication (Host to LM8328) 6 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Table 1. Definition of Terms used in Serial Command Example Term Bits S Description START Condition (always generated from the master device) ADDRESS 7 Slave address of LM8328 sent from the host R/W 1 This bit determines if the following data transfer is from master to slave (data write) or from slave to master (data read). 0: Write 1: Read ACK 1 An acknowledge bit is mandatory and must be appended on each byte transfer. The Acknowledge status is actually provided from the slave and indicates to the master, that the byte transfer was successful. REG 8 The first byte after sending the slave address is the REGISTER byte which contains the physical address the host wants to read from or write to. RS Repeated START condition DATA 8 The DATA field contains information to be stored into a register or information read from a register. NACK 1 Not Acknowledge Bit. The Not Acknowledge status is assigned from the Master receiving data from a slave. The NACK status will actually be assigned from the master in order to signal the end of a communication cycle transfer P STOP condition (always generated from the master device) All actions associated with the non-shaded boxes in Figure 4 are controlled from the master (host) device. All actions associated with the shaded boxes in Figure 4 are controlled from the slave (LM8328) device. The master device can send subsequent REGISTER addresses separated by Repeated START conditions. A STOP condition must be set from the master at the very end of a communication cycle. It is recommended to use Repeated START conditions in multi-Master systems when sending subsequent REGISTER addresses. This technique will make sure that the master device communicating with the LM8328 will not loose bus arbitration. Starting a Communication Cycle There are two reasons for the host device to start communication to the LM8328: 1. The LM8328 device has set the IRQN line low in order to signal a key - event or any other condition which initializes a hardware interrupt from LM8328 to the host. 2. The host device wants to set a GENIO port, read from a GENIO port, configure a GENIO port, and read the status from a register or initialize any other function which is supported from the LM8328. In case a GENIO shall be read it will be most likely, that the LM8328 device will be residing in “sleep mode”. In this mode the system clock will be off to establish the lowest possible current consumption. If the host device starts the communication under this condition the LM8328 device will not be able to acknowledge the first attempt of sending the slave address. The LM8328 will wake up because of the START condition but it can’t establish the internal timing to scan the first byte received. The master device must therefore apply a second attempt to start the communication with the LM8328 device. Communication Initialized from Host (Restart from Sleep Mode) Figure 5. Host Starts Communication While LM8328 is in Sleep Mode Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 7 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 • • • • www.ti.com In the timing diagram shown in Figure 5 the LM8328 resides in sleep mode. Since the LM8328 device can’t acknowledge the slave address the host must generate a STOP condition followed by a second START condition. On the second attempt the slave address is being acknowledged from the LM8328 device because it is in active mode now. The host can send different WRITE and/or READ commands subsequently after each other. The host must finally free the bus by generating a STOP condition. ACCESS.Bus Communication Flow The LM8328 will only be driven in slave mode. The maximum communication speed supported is Fast Mode (FS) which is 400 kHz. The device can be heavily loaded as it is processing different kind of events caused from the human interface and the host device. In such cases the LM8328 may temporarily be unable to accept new commands and data sent from the host device. NOTE “It is a legitimate measure of the slave device to hold SCL line low in such cases in order to force the master device into a waiting state. It is therefore the obligation of the host device to detect such cases. Typically there is a control bit set in the master device indicating the Busy status of the bus. As soon as the SCL line is released the host can continue sending commands and data.” Further Remarks: • In systems with multiple masters it is recommended to separate commands with Repeat START conditions rather than sending a STOP - and another START - condition to communicate with the LM8328 device. • Delays enforced by the LM8328 during very busy phases of operation should typically not exceed a duration of 100 usec. • Normally the LM8328 will clock stretch after the acknowledge bit Is transmitted; however, there are some conditions where the LM8328 will clock stretch between the SDA Start bit and the first rising edge of SCL. Auto Increment In order to improve multi-byte register access, the LM8328 supports the auto increment of the address pointer. A typical protocol access sequence to the LM8328 starts with the I2C-compatible ACCESS.bus address, followed by REG, the register to access (see Figure 4). After a REPEATED START condition the host reads/writes a data byte from/to this address location. If more than one byte is transmitted, the LM8328 automatically increments the address pointer for each data byte by 1. The address pointer keeps the status until the STOP condition is received. The LM8328 always uses auto increments unless otherwise noted. Please refer to Table 2 and Table 3 for the typical ACCESS.bus flow of reading and writing multiple data bytes. Reserved Registers and Bits The LM8328 includes reserved registers for future implementation options. Please use value 0 on a write to all reserved register bits. Global Call Reset The LM8328 supports the Global Call Reset as defined in the I2C Specification, which can be used by the host to reset all devices connected to interface. The Global call reset is a single byte ACCESS.bus/I2C write of data byte 0x06 to slave address 0x00. The Global Call Reset changes the I2C-compatible ACCESS.bus Slave address of the LM8328 back to its default value of 0x88. 8 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Table 2. Multi-Byte Write with Auto Increment 2 Step Master/Slave I C Com. 1 M S Value 2 M ADDR. 0x88 3 M R/W 0 4 S ACK 5 M REG Address Pointer Comment START condition I2C-compatible ACCESS.bus Address Write Acknowledge 0xAA 0xAA Register Address, used as Address Pointer 6 S ACK 0xAA Acknowledge 7 M DATA 0x01 0xAA Write Data to Address in Pointer 8 S ACK 0 0xAB Acknowledge, Address pointer incremented 9 M DATA 0x05 0xAB Write Data to address 0xAB 10 S ACK 0 0xAC Acknowledge, Address pointer incremented 11 M P STOP condition Table 3. Multi-Byte Read with Auto Increment 2 Step Master/Slave I C Com. 1 M S Value 2 M ADDR. 0x88 3 M R/W 0 Address Pointer Comment START condition I2C-compatible ACCESS.bus Address Write 4 S ACK 5 M REG Acknowledge 6 S ACK 7 M RS 8 M ADDR. 0x88 9 M R/W 1 10 S ACK 0 0xAA Acknowledge 11 S DATA 0x01 0xAA Read Data from Address in Pointer 12 M ACK 0 0xAB Acknowledge, Address Pointer incremented 13 S DATA 0x05 0xAB Read Data from Address in Pointer 14 M NACK 0 0xAC No Acknowledge, stops transmission 15 M P 0xAA 0xAA Register Address, used as Address pointer 0xAA Acknowledge 0xAA Repeated Start 0xAA I2C-compatible ACCESS.bus Address Read STOP condition Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 9 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com KEYSCAN OPERATION KEYSCAN INITIALIZATION Figure 6. Keyscan Initialization KEYSCAN INITIALIZATION EXAMPLE Table 4 shows all the LM8328 register configurations to initialize keyscan: • Keypad matrix configuration is 8 rows x 8 columns. Table 4. Keyscan Initialization Example 10 Register name adress Access Type Value Comment CLKEN 0x8A byte 0x01 enable keyscan clock KBDSETTLE 0x01 byte 0x80 set the keyscan settle time to 12 msec KBDBOUNCE 0x02 byte 0x80 set the keyscan debounce time to 12 msec KBDSIZE 0x03 byte 0x88 set the keyscan matrix size to 8 rows x 8 columns KBDDEDCFG 0x04 word 0xFC3F IOCFG 0xA7 byte 0xF8 IOPC0 0xAA word 0xAAAA configure pull-up resistors for KPX[7:0] configure pull-down resistors for KPY[7:0] configure KPX[7:2] and KPY[7:2] pins as keyboard matrix write default value to enable all pins as keyboard matrix IOPC1 0xAC word 0x5555 KBDIC 0x08 byte 0x03 clear any pending interrupts KBDMSK 0x09 byte 0x03 enable keyboard interrupts Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 KEYSCAN PROCESS The LM8328 keyscan functionality is based on a specific scanning procedure performed in a 4ms interval. On each scan all assigned key matrix pins are evaluated for state changes. In case a key event has been identified, the event is stored in the key event FIFO, accessible via the EVTCODE register. A key event can either be a key press or a key release. In addition, key presses are also stored in the KBDCODE[3:0] registers. As soon as the EVTCODE FIFO includes a event, the device sets the RAW keyboard event interrupt REVTINT. The RSINT interrupt is set anytime the keyboard status has changed. Depending on the interrupt masking for the keyboard events (KBDMSK) and the masked interrupt handling (KBDMIS), the pin IRQN/KPY11/PWM2 will follow the IRQST.KBDIRQ status, which is set as soon as one interrupt in KBDRIS is set. Figure 7 shows the basic flow of a scanning process and which registers are affected. Figure 7. Example Keyscan Operation for 1 Key Press and Release READING KEYSCAN STATUS BY THE HOST In order to keep track of the keyscan status, the host either needs to regularly poll the EVTCODE register or needs to react on the Interrupt signaled by the IRQN/KPY11/PWM2 pin, in case the ball is configured for interrupt functionality. (See GPIO Feature Mapping). Figure 8 gives an example on which registers to read to get the keyboard events from the LM8328 and how they influence the interrupt event registers. The example is based on the assumption that the LM8328 has indicated the keyboard event by the IRQN/KPY11/PWM2 pin. Since the interrupt pin has various sources, the host first checks the IRQST register for the interrupt source. If KBDIRQ is set, the host can check the KBDMIS register to define the exact interrupt source. KBDMIS contains the masked status of KBDRIS and reflects the source for raising the interrupt pin. The interrupt mask is defined by KBDMSK. The complete status of all pending keyboard interrupts is available in the raw interrupt register KBDRIS. After evaluating the interrupt source the host starts reading the EVTCODE or KBDCODE register. In this example the host first reads the KBDCODE to get possible key press events and afterwards reads the complete event list by reading the EVTCODE register until all events are captured (0x7F indicates end of buffer). Reading KBDCODE clears the RSINT interrupt bit if all keyboards events are emptied. In the same way, REVTINT is cleared in case the EVTCODE FIFO reaches its empty state on read. Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 11 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com The event buffer content and the REVTINT and RELINT (lost event) interrupt bits are also cleared if the KBDIC.EVTIC bit is set. Interrupt bits in the masked interrupt register KBDMIS follow the masked KBDRIS status. In order to support efficient Multi-byte reads from EVTCODE, the autoincrement feature is turned off for this register. Therefore the host can continuously read the complete EVTCODE buffer by sending one command. Figure 8. Example Host Reacting to Interrupt for Keypad Event MULTIPLE KEY PRESSES The LM8328 supports up to four simultaneous key presses. Any time a single key is pressed KBDCODE0 is set with the appropriate key code. If a second key is pressed, the key is stored in KBDCODE1 and the MULTIKEY flag of KBDCODE0 is set. Additional key presses are stored in KBDCODE2 and KBDCODE3 accordingly. The four registers signal the last multi key press events. All events are stored in parallel in the EVTCODE register for the complete set of events. All KBDCODE[3:0] registers are cleared on read. 12 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Figure 9. Example Keyscan Operation for 2 Key Press Events and 1 Key Release Event PWM TIMER The LM8328 supports a timer module dedicated to smooth LED control techniques (lighting controls). The PWM timer module consists of three independent timer units of which each can generate a PWM output with a fixed period and automatically incrementing or decrementing variable duty cycle. The timer units are all clocked with a slow (32.768 kHz) clock whereas the interface operates with the main system clock. OVERVIEW OF PWM FEATURES • Each PWM can establish fixed — or variable — duty-cycle signal sequences on its output. • Each PWM can trigger execution of any pre-programmed task on another PWM channel. • The execution of any pre-programmed task is self-sustaining and does not require further interaction from the host. • 64-byte script buffer for each PWM for up to 32 consecutive instructions. • Direct addressing within script buffer to support multiple PWM tasks in one buffer. OVERVIEW ON PWM SCRIPT COMMANDS The commands listed in Table 5 are dedicated to the slow PWM timers. NOTE The PWM Script commands are not part of the command set supported by the LM8328 command interpreter. These commands must be transferred from the host with help of the register-based command set. Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 13 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com Table 5. PWM Script Commands Command RAMP SET_PWM GO_TO_ START BRANCH END TRIGGER 15 0 0 14 PRESCALE 1 13 12 11 10 STEPTIME 0 9 8 7 SIGN 6 5 4 3 INCREMENT PWMVALUE 2 1 0 0 1 1 1 0 1 1 1 0 1 LOOPCOUNT INT WAITTRIGGER 1 ADDR STEPNUMBER X SENDTRIGGER 0 RAMP COMMAND A RAMP command will vary the duty cycle of a PWM output in either direction (up or down). The INCREMENT field specifies the amount of steps for the RAMP. The maximum amount of steps which can be executed with one RAMP Command is 126 which is equivalent to 50%. The SIGN bit field determines the direction of a RAMP (up or down). The STEPTIME field and the PRESCALE bit determine the duration of one step. Based on a 32.768 kHz clock, the minimum time resulting from these options would be 0.49 milliseconds and the maximum time for one step would be 1 second. Table 6. RAMP Command Bit and Building Fields 15 0 14 PRESCALE 13 12 11 10 STEPTIME 9 8 7 SIGN 6 5 4 3 2 INCREMENT 1 0 Table 7. Description of Bit and Building Fields of the RAMP Command Bit or Field Value PRESCALE STEPTIME Description 0 Divide the 32.768 kHz clock by 16 1 Divide the 32.768 kHz clock by 512 1 - 63 SIGN INCREMENT Number of prescaled clock cycles per step 0 Increment ramp counter 1 Decrement ramp counter Number of steps executed by this instruction; a value of 0 functions as a WAIT determined by STEPTIME. 0 - 126 SET_PWM COMMAND The SET_PWM command will set the starting duty cycle MIN SCALE or FULL SCALE (0% or 100%). A RAMP command following the SET_PWM command will finally establish the desired duty cycle on the PWM output. Table 8. SET_PWM Command Bit and Building Fields 15 0 14 1 13 0 12 0 11 0 10 0 9 0 8 0 7 6 5 4 3 DUTYCYCLE 2 1 0 Table 9. Description of Bit and Building Fields of the SET_PWM Command Bit or Field DUTYCYCLE Value 0 255 Description Duty cycle is 0%. Duty cycle is 100%. GO_TO_START COMMAND The GO_TO_START command jumps to the first command in the script command file. 14 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Table 10. GO_TO_START Command Bit and Building Fields 15 14 13 12 11 10 9 8 0 7 6 5 4 3 2 1 0 BRANCH COMMAND The BRANCH command jumps to the specified command in the script command file. The branch is executed with either absolute or relative addressing. In addition, the command gives the option of looping for a specified number of repetitions. NOTE Nested loops are not allowed. Table 11. BRANCH Command Bit and Building Fields 15 1 14 0 13 1 12 11 10 9 LOOPCOUNT 8 7 6 ADDR 5 4 3 2 STEPNUMBER 1 0 Table 12. Description of Bit and Building Fields of the BRANCH Command Bit or Field Value Description 0 LOOPCOUNT Loop until a STOP PWM SCRIPT command is issued by the host. 1 - 63 ADDR STEPNUMBER Number of loops to perform. 0 Absolute addressing 1 Relative addressing Depending on ADDR: ADDR=0: Addr to jump to ADDR=1: Number of backward steps 0 - 63 TRIGGER COMMAND Triggers are used to synchronize operations between PWM channels. A TRIGGER command that sends a trigger takes sixteen 32.768 kHz clock cycles, and a command that waits for a trigger takes at least sixteen 32.768 kHz clock cycles. A TRIGGER command that waits for a trigger (or triggers) will stall script execution until the trigger conditions are satisfied. On trigger it will clear the trigger(s) and continue to the next command. When a trigger is sent, it is stored by the receiving channel and can only be cleared when the receiving channel executes a TRIGGER command that waits for the trigger. Table 13. TRIGGER Command Bit and Building Fields 15 1 14 1 13 1 12 11 10 9 WAITTRIGGER 8 7 6 5 4 3 SENDTRIGGER 2 1 0 0 Table 14. Description of Bit and Building Fields Field WAITTRIGGER SENDTRIGGER Value Description 000xx1 Wait for trigger from channel 0 000x1x Wait for trigger from channel 1 0001xx Wait for trigger from channel 2 000xx1 Send trigger to channel 0 000x1x Send trigger to channel 1 0001xx Send trigger to channel 2 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 15 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com END COMMAND The END command terminates script execution. It will only assert an interrupt to the host if the INT bit is set to “1”. When the END command is executed, the PWM output will be set to the level defined by PWMCFG.PWMPOL for this channel. Also, the script counter is reset back to the beginning of the script command buffer. NOTE If a PWM channel is waiting for the trigger (last executed command was "TRIGGER") and the script execution is halted then the "END" command can’t be executed because the previous command is still pending. This is an exception - in this case the IRQ signal will not be asserted. Table 15. END Command Bit and Building Fields 15 1 14 1 13 0 12 1 11 INT 10 9 8 7 6 5 4 3 2 1 0 0 Table 16. Description of Bit and Building Fields of the END Command Field Value INT Description 0 No interrupt will be sent. 1 Set TIMRIS.CDIRQ for this PWM channel to notify that program has ended. LM8328 REGISTER SET KEYBOARD REGISTERS AND KEYBOARD CONTROL Keyboard selection and control registers are mapped in the address range from 0x01 to 0x10. This paragraph describes the functions of the associated registers down to the bit level. KBDSETTLE - Keypad Settle Time Register Table 17. KBDSETTLE - Keypad Settle Time Register Register - Name Address Type KBDSETTLE 0x01 R/W Bit - Name Bit Default Register Function Initial time for keys to settle, before the key-scan process is started. Bit Function The default value 0x80 : 0xBF sets a time target of 12 msec Further time targets are as follows: 0xC0 - 0xFF: 16 msec WAIT[7:0] 7:0 0x80 0x80 - 0xBF: 12 msec 0x40 - 0x7F: 8 msec 0x01 - 0x3F: 4 msec 0x00 : no settle time KBDBOUNCE - Debounce Time Register Table 18. KBDBOUNCE - Debounce Time Register 16 Register - Name Address Type KBDBOUNCE 0x02 R/W Bit - Name Bit Default Register Function Time between first detection of key and final sampling of key Submit Documentation Feedback Bit Function Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Table 18. KBDBOUNCE - Debounce Time Register (continued) Register - Name Address Type Register Function The default value 0x80 : 0xBF sets a time target of 12 msec Further time targets are as follows: 0xC0 - 0xFF: 16 msec WAIT[7:0] 7:0 0x80 0x80 - 0xBF: 12 msec 0x40 - 0x7F: 8 msec 0x01 - 0x3F: 4 msec 0x00: no debouncing time KBDSIZE - Set Keypad Size Register Table 19. KBDSIZE - Set Keypad Size Register Register - Name Address Type KBDSIZE 0x03 R/W Bit - Name Bit Default Register Function Defines the physical keyboard matrix size Bit Function Number of rows in the keyboard matrix ROWSIZE[3:0] 7:4 0x2 0x0: free all rows to become GPIO, KPX[1:0] used as dedicated key inputs if scanning is enabled by CLKEN.KBEN 0x1: (illegal value) 0x2 - 0x8: Number of rows in the matrix Number of columns in the keyboard matrix COLSIZE[3:0] 3:0 0x2 0x0: free all rows to become GPIO, KPY[1:0] used as dedicated key inputs if scanning is enabled by CLKEN.KBEN 0x1: (illegal value) 0x2 - 0xC: Number of columns in the matrix KBDDEDCFG - Dedicated Key Register Table 20. KBDDEDCFG - Dedicated Key Register Register - Name Address Type KBDDEDCFG 0x04 R/W Bit - Name Bit Default Register Function Defines if a key is used as a standard keyboard/GPIO pin or whether it is used as dedicated key input. Bit Function Each bit in ROW [7:2] corresponds to ball KPX7 : KPX2. Bit=0: the dedicated key function applies. ROW[7:2] 15:10 0x3F Bit=1: no dedicated key function is selected. The standard GPIO functionality applies according to register IOCFG or defined keyboard matrix. Each bit in COL [11:10] corresponds to ball KPY11 : KPY10. Bit=0: the dedicated key function applies. COL[11:10] 9:8 0x03 Bit=1: no dedicated key function is selected. The standard GPIO functionality applies according to register IOCFG or defined keyboard matrix. Each bit in COL [9:2] corresponds to ball KPY9 : KPY2 and can be configured individually. COL[9:2] 7:0 0xFF Bit=0: the dedicated key function applies. Bit=1: no dedicated key function is selected. The standard GPIO functionality applies according to register IOCFG or defined keyboard matrix. Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 17 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com KBDRIS - Keyboard Raw Interrupt Status Register Table 21. KBDRIS - Keyboard Raw Interrupt Status Register Register - Name Address Type KBDRIS 0x06 R Bit - Name Bit Default (reserved) 7:4 Register Function Returns the status of stored keyboard interrupts. Bit Function (reserved) Raw event lost interrupt. RELINT 3 0x0 REVTINT 2 0x0 More than 8 keyboard events have been detected and caused the event buffer to overflow. This bit is cleared by setting bit EVTIC of the KBDIC register. Raw keyboard event interrupt. At least one key press or key release is in the keyboard event buffer. Reading from EVTCODE until the buffer is empty will clear this interrupt. Raw key lost interrupt indicates a lost key-code. RKLINT 1 0x0 RSINT 0 0x0 This interrupt is asserted when RSINT has not been cleared upon detection of a new key press or key release, or when more than 4 keys are pressed simultaneously. Raw scan interrupt. Interrupt generated after keyboard scan, if the keyboard status has changed. KBDMIS - Keypad Masked Interrupt Status Register Table 22. KBDMIS - Keypad Masked Interrupt Status Register Register - Name KBDMIS Address Type 0x07 R Bit - Name Bit Default (reserved) 7:4 MELINT 3 0x0 MEVTINT 2 0x0 MKLINT 1 0x0 MSINT 0 0x0 Register Function Returns the status on masked keyboard interrupts after masking with the KBDMSK register. Bit Functions (reserved) Masked event lost interrupt. More than 8 keyboard events have been detected and caused the event buffer to overflow. This bit is cleared by setting bit EVTIC of the KBDIC register. Masked keyboard event interrupt. At least one key press or key release is in the keyboard event buffer. Reading from EVTCODE until the buffer is empty will clear this interrupt. Masked key lost interrupt. Indicates a lost key-code. This interrupt is asserted when RSINT has not been cleared upon detection of a new key press or key release, or when more than 4 keys are pressed simultaneously. Masked scan interrupt. Interrupt generated after keyboard scan, if the keyboard status has changed, after masking process. KBDIC - Keypad Interrupt Clear Register Table 23. KBDIC - Keypad Interrupt Clear Register 18 Register - Name Address Default KBDIC 0x08 W Bit - Name Bit Default Register Function Setting these bits clears Keypad active Interrupts Submit Documentation Feedback Bit Function Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Table 23. KBDIC - Keypad Interrupt Clear Register (continued) Register - Name Address Default Register Function Switches off scanning of special function (SF) keys, when keyboard has no special function layout. SFOFF 7 0: keyboard layout and SF keys are scanned 1: only keyboard layout is scanned, SF keys are not scanned (reserved) 6:2 (reserved) EVTIC 1 Clear event buffer and corresponding interrupts REVTINT and RELINT by writing a 1 to this bit position KBDIC 0 Clear RSINT and RKLINT interrupt bits by writing a 1 to this bit position. KBDMSK - Keypad Interrupt Mask Register Table 24. KBDMSK - Keypad Interrupt Mask Register Register - Name Address Type Register Function Configures masking of keyboard interrupts. Masked interrupts do not trigger an event on the Interrupt output. KBDMSK 0x09 R/W Bit - Name Bit Default (reserved) 7:4 MSKELINT 3 0x0 MSKEINT 2 0x0 MSKLINT 1 0x1 MSKSINT 0 0x1 In case the interrupt processes registers KBDCODE[3:0], MSKELINT and MSKEINT should be set to 1. When the Event FIFO is processed, MSKLINT and MSKSINT should be set. For keyboard polling operations, all bits should be set and the polling operation consists of reading out the EVTCODE. Bit Function (reserved) 0: keyboard event lost interrupt RELINT triggers IRQ line 1: keyboard event lost interrupt RELINT is masked 0: keyboard event interrupt REVINT triggers IRQ line 1: keyboard event interrupt REVINT is masked 0: keyboard lost interrupt RKLINT triggers IRQ line 1: keyboard lost interrupt RKLINT is masked 0: keyboard status interrupt RSINT triggers IRQ line 1: keyboard status interrupt RSINT is masked KBDCODE0 - Keyboard Code Register 0 The key code detected by the keyboard scan can be read from the registers KBDCODE0: KBDCODE3. Up to 4 keys can be detected simultaneously. Each KBDCODE register includes a bit (MULTIKEY) indicating if another key has been detected. NOTE Reading out all key code registers (KBDCODE0 to KBDCODE3) will automatically reset the keyboard scan interrupt RSINT the same way as an active write access into bit KBDIC of the interrupt clear register does. Reading 0x7F from the KBDCODE0 register means that no key was pressed. Table 25. KBDCODE0 - Keyboard Code Register 0 Register - Name Address Default KBDCODE0 0x0B R Register Function Holds the row and column information of the first detected key Bit - Name Bit Default MULTIKEY 7 0x0 if this bit is 1 another key is available in KBDCODE1 register Bit Function KEYROW[2:0] 6:4 0x7 ROW index of detected key (0 to 7) KEYCOL[3:0] 3:0 0xF Column index of detected (0 to 11, 12 for special function key. Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 19 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com KBDCODE1 - Keyboard Code Register 1 Table 26. KBDCODE1 - Keyboard Code Register 1 Register - Name Address Default KBDCODE1 0x0C R Register Function Holds the row and column information of the second detected key Bit - Name Bit Default MULTIKEY 7 0x0 if this bit is 1 another key is available in KBDCODE2 register Bit Function KEYROW[2:0] 6:4 0x7 ROW index of detected key (0 to 7) KEYCOL[3:0] 3:0 0xF Column index of detected key (0 to 11, 12 for special function key). KBDCODE2 - Keyboard Code Register 2 Table 27. KBDCODE2 - Keyboard Code Register 2 Register - Name Address Default KBDCODE2 0x0D R Bit - Name Bit Default Register Function Holds the row and column information of the third detected key Bit Function MULTIKEY 7 0x0 if this bit is 1 another key is available in KBDCODE3 register KEYROW[2:0] 6:4 0x7 ROW index of detected key (0 to 7) KEYCOL[3:0] 3:0 0xF Column index of detected key (0 to 11, 12 for special function key). KBDCODE3 - Keyboard Code Register 3 Table 28. KBDCODE3 - Keyboard Code Register 3 Register - Name Address Default KBDCODE3 0x0E R Register Function Holds the row and column information of the forth detected key Bit - Name Bit Default MULTIKEY 7 0x0 if this bit is set to “1” then more than 4 keys are pressed simultaneously. Bit Function KEYROW[2:0] 6:4 0x7 ROW index of detected key (0 to 7) KEYCOL[3:0] 3:0 0xF Column index of detected key (0 to 11, 12 for special function key). EVTCODE - Key Event Code Register Table 29. EVTCODE - Key Event Code Register Register - Name Address Default Bit Function With this register a FIFO buffer is addressed storing up to 15 consecutive events. EVTCODE 0x10 R Reading the value 0x7F from this address means that the FIFO buffer is empty. See further details below. NOTE: Auto increment is disabled on this register. Multi-byte read will always read from the same address. Bit - Name Bit Default Bit Function This bit indicates, whether the keyboard event was a key press or a key release event. RELEASE 7 0x0 KEYROW[2:0] 6:4 0x7 Row index of key that is pressed or released. KEYCOL[3:0] 3:0 0xF Column index of key that is pressed (0...11, 12 for special function key) or released. 0: key was pressed 1: key was released 20 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 PWM TIMER CONTROL REGISTERS The LM8328 provides three host-programmable PWM outputs useful for smooth LED brightness modulation. All PWM timer control registers are mapped in the range from 0x60 to 0x7F. This paragraph describes the functions of the associated registers down to the bit level. TIMCFGx - PWM Timer 0, 1 and 2 Configuration Registers Table 30. TIMCFGx - PWM Timer 0, 1 and 2 Configuration Registers Register - Name Address TIMCFG0 0x60 TIMCFG1 0x68 TIMCFG2 0x70 Bit - Name (x = 0, 1 or 2) Bit Type R/W Register Function This register configures interrupt masking and handles PWM start/stop control of the associated PWM channel. Default Bit Function Interrupt mask for PWM CYCIRQx (see register TIMRIS) CYCIRQxMSK 4 0x0 (reserved) 3:0 0x0 0: interrupt enabled 1: interrupt masked (reserved) PWMCFGx - PWM Timer 0, 1 and 2 Configuration Control Registers Table 31. PWMCFGx - PWM Timer 0, 1 and 2 Configuration Control Registers Register - Name Address PWMCFG0 0x61 PWMCFG1 0x69 PWMCFG2 0x71 Bit - Name (x = 0, 1 or 2) Bit Type Register Function This register defines interrupt masking and the output behavior for the associated PWM channel. R/W PGEx is used to start and stop the PWM script execution. PWMENx sets the PWM output to either reflect the generated pattern or the value configured in PWMPOLx. Default Bit Function Mask for CDIRQx CDIRQxMSK 3 0x0 0: CDIRQx enabled 1: CDIRQx disabled/masked Pattern Generator Enable. Start/Stop PWM command processing for this channel. Script execution is started always from beginning. PGEx 2 0x0 0: Pattern Generator disabled 1: Pattern Generator enabled PWMENx 1 0x0 0: PWM disabled. PWM timer output assumes value programmed in PWMPOL. 1: PWM enabled Off-state of PWM output, when PWMEN=0. PWMPOLx 0 0x0 0: PWM off-state is low 1: PWM off-state is high Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 21 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com TIMSWRES - PWM Timer Software Reset Registers Table 32. TIMSWRES - PWM Timer Software Reset Registers Register - Name Address Type Register Function Reset control on all PWM timers TIMSWRES 0x78 W A reset forces the pattern generator to fetch the first pattern and stops it. Each reset stops all state-machines and timer. Patterns stored in the pattern configuration register remain unaffected. Interrupts on each timer are not cleared, they need to be cleared writing into register TIMIC Bit - Name Bit (reserved) 7:3 SWRES2 2 Default Bit Function (reserved) Software reset of timer 2. 0: no action 1: Software reset on timer 2, needs not to be written back to 0. Software reset of timer 1. SWRES1 1 0: no action 1: Software reset on timer 1, needs not to be written back to 0. Software reset of timer 0. SWRES0 0 0: no action 1: software reset on timer 0, needs not to be written back to 0. TIMRIS - PWM Timer Interrupt Status Register Table 33. TIMRIS - PWM Timer Interrupt Status Register Register - Name Address Type Register Function This register returns the raw interrupt status from the PMW timers 0,1 and 2. TIMRIS 0x7A R CYCIRQx - Interrupt from the timers when PWM cycle is complete (applies to the current PWM command residing in the active command register of a PWM block). CDIRQx - Interrupt from the pattern generator when PWM pattern code is complete (applies to a completed task residing in the script buffer of a PWM block). Bit - Name Bit (reserved) 7:6 Default Bit Functions (reserved) Raw interrupt status for CDIRQ timer2 CDIRQ2 5 0x0 0: no interrupt pending 1: unmasked interrupt generated Raw interrupt status for CDIRQ timer1 CDIRQ1 4 0x0 0: no interrupt pending 1: unmasked interrupt generated Raw interrupt status for CDIRQ timer0 CDIRQ0 3 0x0 0: no interrupt pending 1: unmasked interrupt generated Raw interrupt status for CYCIRQ timer2 CYCIRQ2 2 0x0 0: no interrupt pending 1: unmasked interrupt generated Raw interrupt status for CYCIRQ timer1 CYCIRQ1 1 0x0 0: no interrupt pending 1: unmasked interrupt generated 22 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Table 33. TIMRIS - PWM Timer Interrupt Status Register (continued) Register - Name Address Type Register Function Raw interrupt status for CYCIRQ timer0 CYCIRQ0 0 0x0 0: no interrupt pending 1: unmasked interrupt generated TIMMIS - PWM Timer Masked Interrupt Status Register Table 34. TIMMIS - PWM Timer Masked Interrupt Status Register Register - Name Address Type Register Function This register returns the masked interrupt status from the PMW timers 0,1 and 2. The raw interrupt status (TIMRIS) is masked with the associated TIMCFGx.CYCIRQxMSK and PWMCFGx.CDIRQxMSK bits to get the masked interrupt status of this register. TIMMIS 0x7B R CYCIRQ - Interrupt from the timers when PWM cycle is complete (applies to the current PWM command residing in the active command register of a PWM block) CDIRQ - Interrupt from the pattern generator when PWM pattern code is complete (applies to a completed task residing in the script buffer of a PWM block) Bit - Name Bit (reserved) 7:6 Default Bit Function (reserved) Interrupt after masking, indicates active contribution to the interrupt ball, when set. Status for CDIRQ timer2. CDIRQ2 5 0x0 0: no interrupt pending 1: interrupt generated Interrupt after masking, indicates active contribution to the interrupt ball, when set. Status for CDIRQ timer1. CDIRQ1 4 0x0 0: no interrupt pending 1: interrupt generated Interrupt after masking, indicates active contribution to the interrupt ball, when set. Status for CDIRQ timer0. CDIRQ0 3 0x0 0: no interrupt pending 1: interrupt generated Interrupt after masking, indicates active contribution to the interrupt ball, when set. Status for CYCIRQ timer2. CYCIRQ2 2 0x0 0: no interrupt pending 1: interrupt generated Interrupt after masking, indicates active contribution to the interrupt ball, when set. Status for CYCIRQ timer1. CYCIRQ1 1 0x0 0: no interrupt pending 1: interrupt generated Interrupt after masking, indicates active contribution to the interrupt ball, when set. Status for CYCIRQ timer0. CYCIRQ0 0 0x0 0: no interrupt pending 1: interrupt generated Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 23 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com TIMIC - PWM Timer Interrupt Clear Register Table 35. TIMIC - PWM Timer Interrupt Clear Register Register - Name Address Type Register Function This register clears timer and pattern interrupts. TIMIC 0x7C W CYCIRQ - Interrupt from the timers when PWM cycle is complete (applies to the current PWM command residing in the active command register of a PWM block). CDIRQ - Interrupt from the pattern generator when PWM pattern code is complete (applies to a completed task residing in the script buffer of a PWM block) Bit - Name Bit (reserved) 7:6 Default Bit Function (reserved) Clears interrupt CDIRQ timer2. CDIRQ2 5 0: no effect 1: interrupt is cleared. Does not need to be written back to 0 Clears interrupt CDIRQ timer1. CDIRQ1 4 0: no effect 1: interrupt is cleared. Does not need to be written back to 0 Clears interrupt CDIRQ timer0. CDIRQ0 3 0: no effect 1: interrupt is cleared. Does not need to be written back to 0 Clears interrupt CYCIRQ timer2. CYCIRQ2 2 0: no effect 1: interrupt is cleared. Does not need to be written back to 0 Clears interrupt CYCIRQ timer1. CYCIRQ1 1 0: no effect 1: interrupt is cleared. Does not need to be written back to 0 Clears interrupt CYCIRQ timer0. CYCIRQ0 0 0: no effect 1: interrupt is cleared. Does not need to be written back to 0 PWMWP - PWM Timer Pattern Pointer Register Table 36. PWMWP - PWM Timer Pattern Pointer Register Register - Name Address Type Register Function Pointer to the pattern position inside the configuration register, which will be overwritten by the next write access to be PWMCFG register. PWMWP 0x7D R/W Bit - Name Bit Default (reserved) 7 0x0 NOTE: 1 pattern consist of 2 bytes and not the byte position (low or high). It is incremented by 1 every time a full PWMCFG register access (word) is performed. Bit Function (reserved) 0 ≤ POINTER < 32 : timer0 patterns 0 to 31 POINTER[6:0] 6:0 0x0 32 ≤ POINTER < 64 : timer1 patterns 0 to 31 64 ≤ POINTER < 96 : timer2 patterns 0 to 31 96 ≤ POINTER < 128: not valid 24 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 PWMCFG - PWM Script Register Table 37. PWMCFG - PWM Script Register Register - Name Address Type Register Function Two byte pattern storage register for a PWM script command indexed by PWMWP. PWMWP is automatically incremented. PWMCFG 0x7E W To be applied by two consecutive parameter bytes in one I2C Write Transaction. NOTE: Autoincrement is disabled on this register. Address will stay at 0x7E for each word access. Bit - Name Bit CMD[15:8] 15:8 Default High byte portion of a PWM script command Bit Function CMD[7:0] 7:0 Low byte portion of a PWM script command INTERFACE CONTROL REGISTERS The following section describes the functions of special control registers provided for the main controller. The manufacturer code MFGCODE and the software revision number SWREV tell the main device which configuration file has to be used for this device. NOTE I2CSA and MFGCODE use the same address. They just differentiate in the access type: • • Write - I2CSA Read - MFGCODE I2CSA - I2C-Compatible ACCESS.bus Slave Address Register Table 38. I2CSA - I2C-Compatible ACCESS.bus Slave Address Register Register - Name Address Type Register Function 2 I2CSA 0x80 W Bit - Name Bit Default SLAVEADDR[7:1] 7:1 0x44 (reserved) 0 I C-compatible ACCESS.bus Slave Address. The address is internally applied after the next I2C STOP. Bit Function 7-bit address field for the I2C-compatible ACCESS.bus slave address. (reserved) MFGCODE - Manufacturer Code Register Table 39. MFGCODE - Manufacturer Code Register Register - Name Address Type MFGCODE 0x80 R Bit - Name Bit Default MFGBIT 7:0 0x00 Register Function Manufacturer code of the LM8328 Bit Function 8 - bit field containing the manufacturer code SWREV - Software Revision Register Table 40. SWREV - Software Revision Register Register - Name Address Type SWREV 0x81 R Register Function Software revision code of the LM8328. NOTE: writing the SW revision with the inverted value triggers a reset (see SWRESET) Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 25 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com Table 40. SWREV - Software Revision Register (continued) Register - Name Address Type Register Function Bit - Name Bit Default Bit Function SWBIT 7:0 0x84 8 - bit field containing the SW Revision number. SWRESET - Software Reset Table 41. SWRESET - Software Reset Register Register - Name Address Type Register Function Software reset SWRESET 0x81 W NOTE: the reset is only applied if the supplied parameter has the inverted value as SWBIT. Reading this register provides the software revision. (see SWREV) Bit - Name Bit SWBIT 7:0 Default Bit Function Reapply inverted value for software reset. RSTCTRL - System Reset Register This register allows to reset specific blocks of the LM8328. For global reset of the IOExpander the I2C command 'General Call reset' is used (see Global Call Reset). This will reset the slave address back to 0x88. During an active reset of a module, the LM8328 blocks the access to the module registers. A read will return 0, write commands are ignored. Table 42. RSTCTRL - System Reset Register Register - Name Address Type RSTCTRL 0x82 R/W Bit - Name Bit Default (reserved) 7:5 IRQRST 4 Register Function Software reset of specific parts of the LM8328 Bit Function (reserved) 0x0 Interrupt controller reset. Does not change status on IRQN ball. Only controls IRQ module register. Interrupt status read out is not possible when this bit is set. 0: interrupt controller not reset 1: interrupt controller reset Timer reset for Timers 0, 1, 2 TIMRST 3 0x0 (reserved) 2 0x0 KBDRST 1 0x0 0: timer not reset 1: timer is reset (reserved) Keyboard interface reset 0: keyboard is not reset 1: keyboard is reset GENIO reset GPIRST 0 0x0 0: GENIO not reset 1: GENIO is reset. RSTINTCLR - Clear NO Init/Power-On Interrupt Register Table 43. RSTINTCLR - Clear NO Init/Power-On Interrupt Register Register - Name 26 Address Type Register Function RSTINTCLR 0x84 W This register allows to de-assert the POR/No Init Interrupt set every time the device returns from RESET (either POR, HW or SW Reset), the IRQN line is assigned active (low) and the IRQST.PORIRQ bit is set. Bit - Name Bit Default Bit Function Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Table 43. RSTINTCLR - Clear NO Init/Power-On Interrupt Register (continued) Register - Name Address reserved 7:1 IRQCLR 0 Type Register Function (reserved) 1: Clears the PORIRQ Interrupt signalled in IRQST register. 0: is ignored CLKMODE - Clock Mode Register Table 44. CLKMODE - Clock Mode Register Register - Name Address Type CLKMODE 0x88 R/W Bit - Name Bit Default (reserved) 7:2 Register Function This register controls the current operating mode of the LM8328 device Bit Function (reserved) Writing to 00 forces the device to immediately enter sleep mode, regardless of any autosleep configuration. Reading this bit returns the current operating mode, which should always be 01. MODCTL[1:0] 1:0 0x01 00: SLEEP Mode 01: Operation Mode 1x: Future modes CLKEN - Clock Enable Register Table 45. CLKEN - Clock Enable Register Register - Name Address Type CLKEN 0x8A R/W Bit - Name Bit Default (reserved) 7:3 TIMEN 2 Register Function Controls the clock to different functional units. It shall be used to enable the functional blocks globally and independently. Bit Function (reserved) PWM Timer 0, 1, 2 clock enable 0x0 0: Timer 0, 1, 2 clock disabled 1: Timer 0, 1, 2 clock enabled. (reserved) 1 KBDEN 0 (reserved) Keyboard clock enable (starts/stops key scan) 0x0 0: Keyboard clock disabled 1: Keyboard clock enabled AUTOSLIP - Autosleep Enable Register Table 46. AUTOSLIP - Autosleep Enable Register Register - Name Address Type AUTOSLP 0x8B R/W Bit - Name Bit Default (reserved) 7:1 Register Function This register controls the Auto Sleep function of the LM8328 device Bit Function (reserved) Enables automatic sleep mode after a defined activity time stored in the AUTOSLPTI register ENABLE 0 0x00 1: Enable entering auto sleep mode 0: Disable entering auto sleep mode Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 27 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com AUTOSLPTI - Auto Sleep Time Register Table 47. AUTOSLPTI - Auto Sleep Time Register Register - Name Address Type AUTOSLPTIL AUTOSLPTIH 0x8C 0x8D R/W Bit - Name Bit Default (reserved) 15:11 (reserved) 10:8 7:0 Values of UPTIME[10:0] match to multiples of 4ms: 0x00: no autosleep, regardless if AUTOSLP.ENABLE is set 0x01: 4ms 0x02: 8ms 0x7A: 500 ms 0xFF: 1020 ms (default after reset) 0x100: 1024 ms 0x7FF: 8188 ms UPTIME[10:8] UPTIME[7:0] 0x00 0xFF Register Function This register defines the activity time. If this time passes without any processing events then the device enters into sleep-mode, but only if AUTOSLP.ENABLE bit is set to 1. Bit Function IRQST - Global Interrupt Status Register Table 48. IRQST - Global Interrupt Status Register Register - Name Address Type IRQST 0x91 R Bit - Name Bit Default Register Function Returns the interrupt status from various on-chip function blocks. If any of the bits is set and an IRQN line is configured, the IRQN line is asserted active Bit Function Supply failure on VCC. PORIRQ 7 0x1 Also power-on is considered as an initial supply failure. Therefore, after power-on, the bit is set. 0: no failure recorded 1: Failure, device was completely reset and requires re-programming. Keyboard interrupt (further key selection in keyboard module) KBDIRQ 6 0x0 0: inactive 1: active (reserved) 5:4 TIM2IRQ 3 (reserved) Timer2 expiry (CDIRQ or CYCIRQ) 0x0 0: inactive 1: active Timer1 expiry (CDIRQ or CYCIRQ) TIM1IRQ 2 0x0 0: inactive 1: active Timer0 expiry (CDIRQ or CYCIRQ) TIM0IRQ 1 0x0 0: inactive 1: active GPIO interrupt (further selection in GPIO module) GPIOIRQ 0 0x0 0: inactive 1: active GPIO FEATURE CONFIGURATION GPIO Feature Mapping The LM8328 has a flexible IO structure which allows to dynamically assign different functionality to each ball. The functionality of each ball is determined by the complete configuration of the balls. 28 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 In general the following priority is given: • Keypad • GPIO/PWM/Interrupt With this, each ball will be available as GPIO, PWM or interrupt unless it is specified to be part of the keypad matrix. The configuration for keypad or PWM/interrupt usage is defined by the following registers: • KBDSIZE and KBDDEDCFG – Both registers define a ball as either part of the keypad matrix or as dedicated key input. These settings have highest priority and will overwrite settings made in other registers. • IOCFG – This register is used to define the usage of KPY[11:8] if not configured to be part of the keymatrix, to be used as GPIO. Table 49. Ball Configuration Options BALL Module connectivity GPIOSEL BALLCFG 0x0 KPX[7:0] not used KPY[7:0] not used 0x1 0x2 0x3 0x4 0x5 0x6 0x7 GPIO[7:0] GPIO[15:8] KPY8/PWM2 not used GPIO16 (reserved) - - - - - KPY9/PWM1 not used GPIO17 PWM1 - - - - - - KPY10/PWM0 not used GPIO18 PWM0 - - - - - - IRQN/KPY11/PW M2 see IOCFG GPIO19 PWM2 (1) PWM2 - - - - - (1) PWM2 (1) Note 1: PWM2 functionality is mutally exclusive — one pin at a time only (KPY8 or KPY11) depending on interrupt enable Bit 4 of IOCFG. IOCGF - Input/Output Pin Mapping Configuration Register Table 50. IOCGF - Input/Output Pin Mapping Configuration Register Register - Name Address Type IOCFG 0xA7 W Bit - Name Bit Default Register Function Configures usage of KPY[11:8] if not used for Keypad. On each write to this register, BALLCFG defines the column of Table 49 to configure. Bit Function Configures the IRQN/KPY11/PWM2 ball GPIOSEL 7:4 (reserved) 3 BALLCFG 2:0 Bit 4: Interrupt enabled Bit [7:5]: not used (reserved) Select column to configure, see Ball configuration options IOPC0 - Pull Resistor Configuration Register 0 Table 51. IOPC0 - Pull Resistor Configuration Register 0 Register - Name Address Type IOPC0* OxAA R/W Bit - Name Bit Default Register Function Defines the pull resistor configuration for balls KPX[7:0] Bit Function Resistor enable for KPX7 ball KPX7PR[1:0] 15:14 0x2 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 29 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com Table 51. IOPC0 - Pull Resistor Configuration Register 0 (continued) Register - Name Address Type Register Function Resistor enable for KPX6 ball KPX6PR[1:0] 13:12 0x2 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPX5 ball KPX5PR[1:0] 11:10 0x2 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPX4 ball KPX4PR[1:0] 9:8 0x2 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPX3 ball KPX3PR[1:0] 7:6 0x2 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPX2 ball KPX2PR[1:0] 5:4 0x2 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPX1 ball KPX1PR[1:0] 3:2 0x2 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPX0 ball KPX0PR[1:0] 1:0 0x2 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed IOPC1 - Pull Resistor Configuration Register 1 Table 52. IOPC1 - Pull Resistor Configuration Register 1 Register - Name Address Type IOPC1** 0xAC R/W Bit - Name Bit Default Register Function Defines the pull resistor configuration for balls KPY[7:0] Bit Function Resistor enable for KPY7 ball KPY7PR[1:0] 15:14 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPY6 ball KPY6PR[1:0] 13:12 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPY5 ball KPY5PR[1:0] 11:10 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed 30 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Table 52. IOPC1 - Pull Resistor Configuration Register 1 (continued) Register - Name Address Type Register Function Resistor enable for KPY4 ball KPY4PR[1:0] 9:8 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPY3 ball KPY3PR[1:0] 7:6 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPY2 ball KPY2PR[1:0] 5:4 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPY1 ball KPY1PR[1:0] 3:2 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPY0 ball KPY0PR[1:0] 1:0 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed IOPC2 - Pull Resistor Configuration Register 2 Table 53. IOPC2 - Pull Resistor Configuration Register 2 Register - Name Address Type Register Function IOPC2*** 0xAE R/W Defines the pull resistor configuration for balls KPY[11:8] Bit - Name Bit Default (reserved) 15:8 0x5A Bit Function (reserved) Resistor enable for KPY11 ball KPY11PR[1:0] 7:6 0x0 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPY10 ball KPY10PR[1:0] 5:4 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPY9 ball KPY9PR[1:0] 3:2 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Resistor enable for KPY8 ball KPY8PR[1:0] 1:0 0x1 00: no pull resistor at ball 01:pull down resistor programmed 1x: pull up resistor programmed Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 31 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com GPIOOME0 - GPIO Open Drain Mode Enable Register 0 Table 54. GPIOOME0 - GPIO Open Drain Mode Enable Register 0 Register - Name Address Type GPIOOME0 0xE0 R/W Bit - Name Bit Default KPX[7:0]ODE 7:0 0x0 Register Function Configures KPX[7:0] for Open Drain or standard output functionality. The Open Drain drive source is configured by GPIOOMS0. Bit Function Open Drain Enable on KPX[7:0] 0: full buffer 1: open drain functionality GPIOOMS0 - GPIO Open Drain Mode Select Register 0 Table 55. GPIOOMS0 - GPIO Open Drain Mode Select Register 0 Register - Name Address Type GPIOOMS0 0xE1 R/W Bit - Name Bit Default KPX[7:0]ODM 7:0 0x0 Register Function Configures the Open Drain drive source on KPX[7:0] if selected by GPIOOME0. Bit Function 0: Only nmos transistor is active in output driver stage. Output can be driven to gnd or Hi-Z 1: Only pmos transistor is active in output driver stage. Output can be driven to VCC or Hi-Z GPIOOME1 - GPIO Open Drain Mode Enable Register 1 Table 56. GPIOOME1 - GPIO Open Drain Mode Enable Register 1 Register - Name Address Type GPIOOME1 0xE2 R/W Bit - Name Bit Default Register Function Configures KPY[7:0] for Open Drain or standard output functionality. The Open Drain drive source is configured by GPIOOMS1. Bit Function Open Drain Enable on KPY[7:0] KPY[7:0]ODE 7:0 0x0 0: full buffer 1: open drain functionality GPIOOMS1 - GPIO Open Drain Mode Select Register 1 Table 57. GPIOOMS1 - GPIO Open Drain Mode Select Register 1 Register - Name Address Type GPIOOMS1 0xE3 R/W Bit - Name Bit Default KPY[7:0]ODM 7:0 0x0 Register Function Configures the Open Drain drive source on KPY[7:0] if selected by GPIOOME1. Bit Function 0: Only nmos transistor is active in output driver stage. Output can be driven to gnd or Hi-Z 1: Only pmos transistor is active in output driver stage. Output can be driven to VCC or Hi-Z GPIOOME2 - GPIO Open Drain Mode Enable Register 2 Table 58. GPIOOME2 - GPIO Open Drain Mode Enable Register 2 32 Register - Name Address Type Register Function GPIOOME2 0xE4 R/W Configures KPY[11:8] for Open Drain or standard output functionality. The Open Drain drive source is configured by GPIOOMS2. Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Table 58. GPIOOME2 - GPIO Open Drain Mode Enable Register 2 (continued) Register - Name Address Type Register Function Bit - Name Bit Default Bit Function (reserved) 7:4 0x0 (reserved) Open Drain Enable on KPY[11:8] KPY[11:8]ODE 3:0 0x8 0: full buffer 1: open drain functionality Note: KPY11/IRQN ball defaults to Open Drain Mode Enable after reset. GPIOOMS2 - GPIO Open Drain Mode Select Register 2 Table 59. GPIOOMS2 - GPIO Open Drain Mode Select Register 2 Register - Name GPIOOMS2 Address Type 0xE5 R/W Bit - Name Bit Default (reserved 7:4 KPY[11:8]ODM Register Function Configures the Open Drain drive source on KPY[11:8] if selected by GPIOOME2. Bit Function (reserved 3:0 0x0 0: Only nmos transistor is active in output driver stage. Output can be driven to gnd or Hi-Z 1: Only pmos transistor is active in output driver stage. Output can be driven to VCC or Hi-Z GPIO DATA INPUT/OUTPUT GPIOPDATA0 - GPIO Data Register 0 Table 60. GPIOPDATA0 - GPIO Data Register 0 Register - Name Address Type Register Function This register is used for data input/output of KPX[7:0]. Every data I/O is masked with the associated MASK register. GPIODATA0 0xC0 R/W If one of the I/Os is defined as output (see Table 63) values written to this register are masked with MASK and then applied to the associated pin. If one of the I/Os is defined as input (see Table 63) values read from this register hold the masked input value of the associated pin. Bit - Name Bit Default Bit Function Mask Status for KPX7 when enabled as GPIO MASK7 15 0x0 1: KPX7 enabled 0: KPX7 disabled Mask Status for KPX6 when enabled as GPIO MASK6 14 0x0 1: KPX6 enabled 0: KPX6 disabled Mask Status for KPX5 when enabled as GPIO MASK5 13 0x0 1: KPX5 enabled 0: KPX5 disabled Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 33 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com Table 60. GPIOPDATA0 - GPIO Data Register 0 (continued) Register - Name Address Type Register Function Mask Status for KPX4 when enabled as GPIO MASK4 12 0x0 1: KPX4 enabled 0: KPX4 disabled Mask Status for KPX3 when enabled as GPIO MASK3 11 0x0 1: KPX3 enabled 0: KPX3 disabled Mask Status for KPX2 when enabled as GPIO MASK2 10 0x0 1: KPX2 enabled 0: KPX2 disabled Mask Status for KPX1 when enabled as GPIO MASK1 9 0x0 1: KPX1 enabled 0: KPX1 disabled Mask Status for KPX0 when enabled as GPIO MASK0 8 0x0 1: KPX0 enabled DATA7 7 0x0 Pin Status for KPX7 when enabled as GPIO DATA6 6 0x0 Pin Status for KPX6 when enabled as GPIO DATA5 5 0x0 Pin Status for KPX5 when enabled as GPIO DATA4 4 0x0 Pin Status for KPX4 when enabled as GPIO DATA3 3 0x0 Pin Status for KPX3 when enabled as GPIO DATA2 2 0x0 Pin Status for KPX2 when enabled as GPIO DATA1 1 0x0 Pin Status for KPX1 when enabled as GPIO DATA0 0 0x0 Pin Status for KPX0 when enabled as GPIO 0: KPX0 disabled GPIOPDATA1 - GPIO Data Register 1 Table 61. GPIOPDATA1 - GPIO Data Register 1 Register - Name Address Type Register Function This register is used for data input/output of KPY[7:0]. Every data I/O is masked with the associated MASK register. GPIODATA1 0xC2 R/W If one of the I/Os is defined as output (see Table 64) values written to this register are masked with MASK and then applied to the associated pin. If one of the I/Os is defined as input (see Table 64) values read from this register hold the masked input value of the associated pin. Bit - Name Bit Default Bit Function Mask Status for KPY7 when enabled as GPIO MASK15 15 0x0 1: KPY7 enabled 0: KPY7 disabled Mask Status for KPY6 when enabled as GPIO MASK14 14 0x0 1: KPY6 enabled 0: KPY6 disabled Mask Status for KPY5 when enabled as GPIO MASK13 13 0x0 1: KPY5 enabled 0: KPY5 disabled Mask Status for KPY4 when enabled as GPIO MASK12 12 0x0 1: KPY4 enabled 0: KPY4 disabled 34 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 Table 61. GPIOPDATA1 - GPIO Data Register 1 (continued) Register - Name Address Type Register Function Mask Status for KPY3 when enabled as GPIO MASK11 11 0x0 1: KPY3 enabled 0: KPY3 disabled Mask Status for KPY2 when enabled as GPIO MASK10 10 0x0 1: KPY2 enabled 0: KPY2 disabled Mask Status for KPY1 when enabled as GPIO MASK9 9 0x0 1: KPY1 enabled 0: KPY1 disabled Mask Status for KPY0 when enabled as GPIO MASK8 8 0x0 1: KPY0 enabled DATA15 7 0x0 Pin Status for KPY7 when enabled as GPIO DATA14 6 0x0 Pin Status for KPY6 when enabled as GPIO DATA13 5 0x0 Pin Status for KPY5 when enabled as GPIO DATA12 4 0x0 Pin Status for KPY4 when enabled as GPIO DATA11 3 0x0 Pin Status for KPY3 when enabled as GPIO DATA10 2 0x0 Pin Status for KPY2 when enabled as GPIO DATA9 1 0x0 Pin Status for KPY1 when enabled as GPIO DATA8 0 0x0 Pin Status for KPY0 when enabled as GPIO 0: KPY0 disabled GPIOPDATA2 - GPIO Data Register 2 Table 62. GPIOPDATA2 - GPIO Data Register 2 Register - Name Address Type Register Function This register is used for data input/output of KPY[11:8]. Every data I/O is masked with the associated MASK register. GPIODATA2 0xC4 R/W If one of the I/Os is defined as output (see Table 65) values written to this register are masked with MASK and then applied to the associated pin. If one of the I/Os is defined as input (see Table 65) values read from this register hold the masked input value of the associated pin. Bit - Name Bit Default (reserved) 15:12 0x0 MASK19 11 0x0 Bit Function (reserved) Mask Status for KPY11 when enabled as GPIO 1: KPY11 enabled 0: KPY11 disabled Mask Status for KPY10 when enabled as GPIO MASK18 10 0x0 1: KPY10 enabled 0: KPY10 disabled Mask Status for KPY9 when enabled as GPIO MASK17 9 0x0 1: KPY9 enabled 0: KPY9 disabled Mask Status for KPY8 when enabled as GPIO MASK16 8 0x0 1: KPY8 enabled reserved 7:4 0x0 (reserved) DATA19 3 0x0 Pin Status for KPY11 when enabled as GPIO DATA18 2 0x0 Pin Status for KPY10 when enabled as GPIO 0: KPY8 disabled Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 35 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com Table 62. GPIOPDATA2 - GPIO Data Register 2 (continued) Register - Name Address Type DATA17 1 0x0 Register Function Pin Status for KPY9 when enabled as GPIO DATA16 0 0x0 Pin Status for KPY8 when enabled as GPIO GPIOPDIR0 - GPIO Port Direction Register 0 Table 63. GPIOPDIR0 - GPIO Port Direction Register 0 Register - Name Address Type GPIODIR0 0xC6 R/W Bit - Name Bit Default KPX[7:0]DIR 7:0 0x00 Register Function Port direction for KPX[7:0] Bit Function Direction bits for KPX[7:0] 0: input mode 1: output mode GPIOPDIR1 - GPIO Port Direction Register 1 Table 64. GPIOPDIR1 - GPIO Port Direction Register 1 Register - Name Address Type Register Function GPIODIR1 0xC7 R/W Port direction for KPY[7:0] Bit - Name Bit Default Bit Function Direction bits for KPY[7:0] KPY[7:0]DIR 7:0 0x00 0: input mode 1: output mode GPIOPDIR2 - GPIO Port Direction Register 2 Table 65. GPIOPDIR2 - GPIO Port Direction Register 2 Register - Name Address Type GPIODIR2 0xC8 R/W Bit - Name Bit Default (reserved) 7:4 KPY[11:8]DIR 3:0 Register Function Port direction for KPY[11:8] Bit Function (reserved) Direction bits for KPY[11:8] 0x08 0: input mode 1: output mode GPIO INTERRUPT CONTROL GPIOIS0 - Interrupt Sense Configuration Register 0 Table 66. GPIOIS0 - Interrupt Sense Configuration Register 0 Register - Name Address Type GPIOIS0 0xC9 R/W Bit - Name Bit Default Register Function Interrupt type on KPX[7:0] Bit Function Interrupt type bits for KPX[7:0] KPX[7:0]IS 7:0 0x0 0: edge sensitive interrupt 1: level sensitive interrupt 36 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 GPIOIS1 - Interrupt Sense Configuration Register 1 Table 67. GPIOIS1 - Interrupt Sense Configuration Register 1 Register - Name Address Type GPIOIS1 0xCA R/W Bit - Name Bit Default Register Function Interrupt type on KPY[7:0] Bit Function Interrupt type bits for KPY[7:0] KPY[7:0]IS 7:0 0x0 0: edge sensitive interrupt 1: level sensitive interrupt GPIOIS2 - Interrupt Sense Configuration Register 2 Table 68. GPIOIS2 - Interrupt Sense Configuration Register 2 Register - Name Address Type GPIOIS2 0xCB R/W Bit - Name Bit Default (reserved) 7:4 KPY[11:8]IS 3:0 Register Function Interrupt type on KPY[11:8] Bit Function (reserved) Interrupt type bits for KPY[11:8] 0x0 0: edge sensitive interrupt 1: level sensitive interrupt GPIOIBE0 - GPIO Interrupt Edge Configuration Register 0 Table 69. GPIOIBE0 - GPIO Interrupt Edge Configuration Register 0 Register - Name Address Type Register Function GPIOIBE0 0xCC R/W Defines whether an interrupt on KPX[7:0] is triggered on both edges or on a single edge. See Table 72 for the edge configuration. Bit - Name Bit Default Bit Function KPX[7:0]IBE 7:0 0x0 Interrupt both edges bits for KPX[7:0] 0: interrupt generated at the active edge 1: interrupt generated after both edges GPIOIBE1 - GPIO Interrupt Edge Configuration Register 1 Table 70. GPIOIBE1 - GPIO Interrupt Edge Configuration Register 1 Register - Name Address Type Register Function Defines whether an interrupt on KPY[7:0] is triggered on both edges or on a single edge. See Table 73 for the edge configuration. GPIOIBE1 0xCD R/W Bit - Name Bit Default Bit Function Interrupt both edges bits for KPY[7:0] KPY[7:0]IBE 7:0 0x0 0: interrupt generated at the configured edge 1: interrupt generated after both edges GPIOIBE2 - GPIO Interrupt Edge Configuration Register 2 Table 71. GPIOIBE2 - GPIO Interrupt Edge Configuration Register 2 Register - Name Address Type GPIOIBE2 0xCE R/W Bit - Name Bit Default Register Function Defines whether an interrupt on KPY[11:8] is triggered on both edges or on a single edge. See Table 74 for the edge configuration. Bit Function Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 37 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com Table 71. GPIOIBE2 - GPIO Interrupt Edge Configuration Register 2 (continued) Register - Name Address (reserved 7:4 KPY[11:8]IBE 3:0 Type Register Function (reserved) Interrupt both edges bits for KPY[11:8] 0x0 0: interrupt generated at the active edge 1: interrupt generated after both edges GPIOIEV0 - GPIO Interrupt Edge Select Register 0 Table 72. GPIOIEV0 - GPIO Interrupt Edge Select Register 0 Register - Name Address Type Register Function GPIOIEV0 0xCF R/W Select Interrupt edge for KPX[7:0]. Bit - Name Bit Default Bit Function Interrupt edge select from KPX[7:0] KPX[7:0]EV 7:0 0xFF 0: interrupt at low level or falling edge 1: interrupt at high level or rising edge GPIOIEV1 - GPIO Interrupt Edge Select Register 1 Table 73. GPIOIEV1 - GPIO Interrupt Edge Select Register 1 Register - Name Address Type Register Function GPIOIEV1 0xD0 R/W Select Interrupt edge for KPY[7:0]. Bit - Name Bit Default Bit Function Interrupt edge select from KPY[7:0] KPY[7:0]EV 7:0 0xFF 0: interrupt at low level or falling edge 1: interrupt at high level or rising edge GPIOIEV2 - GPIO Interrupt Edge Select Register 2 Table 74. GPIOIEV2 - GPIO Interrupt Edge Select Register 2 Register - Name Address Type Register Function GPIOIEV2 0xD1 R/W Select Interrupt edge for KPY[11:8]. Bit - Name Bit Default (reserved) 7:4 KPY[11:8]EV 3:0 Bit Function (reserved) Interrupt edge select from KPY[11:8] 0xFF 0: interrupt at low level or falling edge 1: interrupt at high level or rising edge GPIOIE0 - GPIO Interrupt Enable Register 0 Table 75. GPIOIE0 - GPIO Interrupt Enable Register 0 Register - Name Address Type GPIOIE0 0xD2 R/W Bit - Name Bit Default Register Function Enable/disable interrupts on KPX[7:0] Bit Function Interrupt enable on KPX[7:0] KPX[7:0]IE 7:0 0x0 0: disable interrupt 1: enable interrupt 38 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 GPIOIE1 - GPIO Interrupt Enable Register 1 Table 76. GPIOIE1 - GPIO Interrupt Enable Register 1 Register - Name Address Type GPIOIE1 0xD3 R/W Bit - Name Bit Default Register Function Enable/disable interrupts on KPY[7:0] Bit Function Interrupt enable on KPY[7:0] KPY[7:0]IE 7:0 0x0 0: disable interrupt 1: enable interrupt GPIOIE2 - GPIO Interrupt Enable Register 2 Table 77. GPIOIE2 - GPIO Interrupt Enable Register 2 Register - Name Address Type GPIOIE2 0xD4 R/W Bit - Name Bit Default (reserved) 7:4 KPY[11:8]IE 3:0 Register Function Enable/disable interrupts on KPY[11:8] Bit Function (reserved) Interrupt enable on KPY[11:8] 0x0 0: disable interrupt 1: enable interrupt GPIOIC0 - GPIO Clear Interrupt Register 0 Table 78. GPIOIC0 - GPIO Clear Interrupt Register 0 Register - Name Address Type GPIOIC0 0xDC W Bit - Name Bit Default Register Function Clears the interrupt on KPX[7:0] Bit Function Clear Interrupt on KPX[7:0] KPX[7:0]IC 7:0 0: no effect 1: Clear corresponding interrupt GPIOIC1 - GPIO Clear Interrupt Register 1 Table 79. GPIOIC1 - GPIO Clear Interrupt Register 1 Register - Name Address Type GPIOIC1 0xDD W Bit - Name Bit Default KPY[7:0]IC 7:0 Register Function Clears the interrupt on KPY[7:0] Bit Function Clear Interrupt on KPY[7:0] 0: no effect 1: Clear corresponding interrupt GPIOIC2 - GPIO Clear Interrupt Register 2 Table 80. GPIOIC2 - GPIO Clear Interrupt Register 2 Register - Name Address Type GPIOIC2 0xDE W Bit - Name Bit Default (reserved) 7:4 Register Function Clears the interrupt on KPY[11:8] Bit Function (reserved) Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 39 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com Table 80. GPIOIC2 - GPIO Clear Interrupt Register 2 (continued) Register - Name Address Type Register Function Clear Interrupt on KPY[11:8] KPY[11:8]IC 3:0 0: no effect 1: Clear corresponding interrupt GPIO INTERRUPT STATUS GPIORIS0 - Raw Interrupt Status Register 0 Table 81. GPIORIS0 - Raw Interrupt Status Register 0 Register - Name Address Type GPIORIS0 0xD6 R Bit - Name Bit Default Register Function Raw interrupt status on KPX[7:0] Bit Function Raw Interrupt status data on KPX[7:0] KPX[7:0]RIS 7:0 0x0 0: no interrupt condition at GPIO 1: interrupt condition at GPIO GPIORIS1 - Raw Interrupt Status Register 1 Table 82. GPIORIS1 - Raw Interrupt Status Register 1 Register - Name Address Type GPIORIS1 0xD7 R Bit - Name Bit Default KPY[7:0]RIS 7:0 0x0 Register Function Raw interrupt status on KPY[7:0] Bit Function Raw Interrupt status data on KPY[7:0] 0: no interrupt condition at GPIO 1: interrupt condition at GPIO GPIORIS2 - Raw Interrupt Status Register 2 Table 83. GPIORIS2 - Raw Interrupt Status Register 2 Register - Name Address Type GPIORIS2 0xD8 R Bit - Name Bit Default (reserved) 7:4 Register Function Raw interrupt status on KPY[11:8] Bit Function (reserved) Raw Interrupt status data on KPY[11:8] KPY[11:8]RIS 3:0 0x0 0: no interrupt condition at GPIO 1: interrupt condition at GPIO GPIOMIS0 - Masked Interrupt Status Register 0 Table 84. GPIOMIS0 - Masked Interrupt Status Register 0 Register - Name Address Type GPIOMIS0 0xD9 R Bit - Name Bit Default KPX[7:0]MIS 7:0 0x0 Register Function Masked interrupt status on KPX[7:0] Bit Function Masked Interrupt status data on KPX[7:0] 0: no interrupt contribution from GPIO 1: interrupt GPIO is active 40 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 LM8328 www.ti.com SNLS328A – AUGUST 2011 – REVISED MARCH 2013 GPIOMIS1 - Masked Interrupt Status Register 1 Table 85. GPIOMIS1 - Masked Interrupt Status Register 1 Register - Name Address Type GPIOMIS1 0xDA R Bit - Name Bit Default Register Function Masked interrupt status on KPY[7:0] Bit Function Masked Interrupt status data on KPY[7:0] KPY[7:0]MIS 7:0 0x0 0: no interrupt contribution from GPIO 1: interrupt GPIO is active GPIOMIS2 - Masked Interrupt Status Register 2 Table 86. GPIOMIS2 - Masked Interrupt Status Register 2 Register - Name Address Type GPIOMIS2 0xDB R Bit - Name Bit Default (reserved) 7:4 KPY[11:8]MIS 3:0 Register Function Masked interrupt status on KPY[11:8] Bit Function (reserved) Masked Interrupt status data on KPY[11:8] 0x0 0: no interrupt contribution from GPIO 1: interrupt GPIO is active GPIO WAKE-UP CONTROL GPIOWAKE0 - GPIO Wake-Up Register 0 Table 87. GPIOWAKE0 - GPIO Wake-Up Register 0 Register - Name Address Type Register Function Configures wake-up conditions for KPX[7:0] GPIOWAKE0 0xE9 R/W Bit - Name Bit Default KPX[7:0]WAKE 7:0 0x0 Each bit corresponds to a ball. When bit set, the corresponding ball contributes to wakeup from auto sleep mode. Bit Function Bit 7: KPX7 ... Bit 0: KPX0 GPIOWAKE1 - GPIO Wake-Up Register 1 Table 88. GPIOWAKE1 - GPIO Wake-Up Register 1 Register - Name Address Type Register Function Configures wake-up conditions for KPY[7:0] GPIOWAKE1 0xEA R/W Bit - Name Bit Default KPY[7:0]WAKE 7:00 0x0 Each bit corresponds to a ball. When bit set, the corresponding ball contributes to wakeup from auto sleep mode. Bit Function Bit 7: KPY7 ... Bit 0: KPY0 Submit Documentation Feedback Copyright © 2011–2013, Texas Instruments Incorporated Product Folder Links: LM8328 41 LM8328 SNLS328A – AUGUST 2011 – REVISED MARCH 2013 www.ti.com GPIOWAKE2 - GPIO Wake-Up Register 2 Table 89. GPIOWAKE2 - GPIO Wake-Up Register 2 Register - Name Address Type GPIOWAKE2 0xEB R/W Bit - Name Bit Default (reserved) 7:4 KPY[11:8]WAKE 3:0 Register Function Configures wake-up conditions for KPY[11:8] Each bit corresponds to a ball. When bit set, the corresponding ball contributes to wakeup from auto sleep mode. Bit Function (reserved) 0x0 Bit 3: KPY11 ... Bit 0: KPY8 These devices have limited built-in ESD protection. The leads should be shorted together or the device placed in conductive foam during storage or handling to prevent electrostatic damage to the MOS gates. ABSOLUTE MAXIMUM RATINGS (1) (2) −0.3V to 2.2V Supply Voltage (VCC) −0.2V to VCC +0.2V Voltage at Generic IOs −0.3V to +.4.25V Voltage at Backdrive/Overvoltage IOs Maximum Input Current Without Latchup ESD Protection Level ±100 mA (Human Body Model) 2kV (Machine Model) 200V (Charge Device Model) 750V Total Current into VCC Pin (Source) 100 mA Total Current out of GND Pin (Sink) 100 mA −65°C to +140°C Storage Temperature Range (1) (2) 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 ensured. For ensured specifications and test conditions, see the Electrical Characteristics tables. If Military/Aerospace specified devices are required, please contact the TI Sales Office/ Distributors for availability and specifications. DC ELECTRICAL CHARACTERISTICS Datasheet min/max specification limits are specified by design, test, or statistical analysis. (Temperature: −40°C ≤ TA ≤ +85°C, unless otherwise specified) Parameter Operating Voltage (VCC) Conditions Min Max Units 1.98 V 3.60 V 1.9 3.0 mA VCC = 1.8V, TA = 25°C; Internal Clock = OFF, no internal functional blocks running
LM8328TME/NOPB 价格&库存

很抱歉,暂时无法提供与“LM8328TME/NOPB”相匹配的价格&库存,您可以联系我们找货

免费人工找货