LP5523 Programmable 9-Output LED Driver General Description Features The LP5523 is a 9-channel LED driver designed to produce lighting effects for mobile devices. A high-efficiency charge pump enables LED driving over full Li-Ion battery voltage range. The device is equipped with an internal program memory, which allows operation without processor control. The LP5523 maintains excellent efficiency over a wide operating range by autonomously selecting the best charge pump gain based on LED forward voltage requirements. LP5523 is able to automatically enter power-save mode when LED outputs are not active, thus lowering idle current consumption down to 10 µA (typ). The LP5523 has an I2C-compatible control interface with four pin selectable addresses. The device has a flexible General Purpose Output (GPO), which can be used as a digital control pin for other devices. INT pin can be used to notify processor when a lighting sequence has ended (interrupt -function). Also, the device has a trigger input interface, which allows synchronization, for example, between multiple LP5523 devices. The device requires only four small and low-cost ceramic capacitors. The LP5523 is available in a tiny 25-bump 2.27 mm x 2.27 mm x 0.60 mm micro SMD package (0.4 mm pitch). ■ Three independent program execution engines, 9 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ programmable outputs with 25.5 mA full-scale current, 8bit current setting resolution and 12-bit PWM control resolution Adaptive high-efficiency 1x/1.5x fractional charge pump efficiency up to 94% LED drive efficiency up to 93% Charge pump with soft start and over-current/short-circuit protection Built-in LED test 200 nA typical standby current Automatic power save mode; IVDD = 10 µA (typ.) Two-wire I2C-compatible control interface Flexible instruction set Large SRAM program memory Small application circuit Source (high-side) drivers Architecture supports color control Applications ■ ■ ■ ■ Fun lights and indicator lights LED backlighting Haptic feedback Programmable current source Typical Application 30043601 © 2012 Texas Instruments Incorporated 300436 SNVS550C www.ti.com LP5523 9-Output Programmable LED Driver March 1, 2012 LP5523 Connection Diagrams and Package Mark Information CONNECTION DIAGRAM Thin micro SMD 25-bump package, 2.27 x 2.27 x 0.60 mm body size, 0.4 mm pitch NS Package Number TMD25LLA 30043603 Bottom View 30043602 Top View PACKAGE MARKING 30043699 Top View: XY — Date Code TT — Die Traceability ZZZZ — Product Identification ORDERING INFORMATION www.ti.com Order Number Product Identification Supplied As Spec/Flow LP5523TM 5523 Tape-and-reel, 250 units NOPB LP5523TMX 5523 Tape-and-reel, 3000 units NOPB 2 LP5523 Pin Descriptions Pin Name Type Description A1 D1 A Current source output 1 A2 D2 A Current source output 2 A3 VOUT A Charge pump output A4 C2− A Flying capacitor 2 negative terminal A5 C2+ A Flying capacitor 2 positive terminal B1 D3 A Current source output 3 B2 D4 A Current source output 4 B3 ASEL1 I Serial interface address select input B4 C1− A Flying capacitor 1 negative terminal B5 C1+ A Flying capacitor 1 positive terminal C1 D5 A Current source output 5 C2 D6 A Current source output 6 C3 ASEL0 I Serial interface address select input C4 EN I Enable C5 VDD P Input power supply D1 D7 A Current source output 7. Note: powered from VDD D2 D8 A Current source output 8. Note: powered from VDD D3 INT OD/O Interrupt for microcontroller unit. Leave unconnected if not used 32 kHz clock input. Connect to ground if not used D4 CLK I D5 GND G Ground E1 D9 A Current source output 9. Note: powered from VDD E2 GPO O General purpose output. Leave unconnected if not used E3 TRIG I/OD Trigger. Connect to ground if not used E4 SDA I/OD Serial interface data E5 SCL I Serial interface clock A: Analog Pin G: Ground Pin P: Power Pin I: Input Pin I/O Input/Output Pin O: Output Pin OD: Open Drain Pin 3 www.ti.com LP5523 Recommended Operating Conditions (Note 1, Note 3) Absolute Maximum Ratings (Note 1, Note 3) VDD Input Voltage Range Voltage on Logic Pins (Input or Output Pins) Recommended Charge Pump Load Current Junction Temperature (TJ) Range Ambient Temperature (TA) Range (Note 9) If Military/Aerospace specified devices are required, please contact the Texas Instruments Sales Office/ Distributors for availability and specifications. VDD Voltage on D1 to D9, C1−, C1+, C2−, C2+, VOUT Continuous Power Dissipation (Note 4) Junction Temperature (TJ-MAX) Storage Temperature Range Maximum Lead Temperature (Soldering) ESD Rating Human Body Model: D1 to D9 Human Body Model: All Other Pins Machine Model: All Pins Charge Device Model: All Pins −0.3V to +6.0V −0.3V to VDD +0.3V with 6.0V max Internally Limited 2.7V to 5.5V 0 to VDD 0 mA to 100 mA −30°C to +125°C −30°C to +85°C Thermal Properties 125°C −65°C to +150°C (Note 5) Junction-to-Ambient Thermal Resistance (θJA), TMD25LLA Package (Note 10) 87°C/W 8kV (Note 6) 2.5kV (Note 6) 250V (Note 7) 1000V (Note 8) Electrical Characteristics (Note 2, Note 3, Note 11) Limits in standard typeface are for TA = 25°C. Limits in boldface type apply over the operating ambient temperature range (−30°C < TA < +85°C). Unless otherwise noted, specifications apply to the LP5523 Block Diagram with: VDD = 3.6V, VEN = 1.65V, COUT = 1.0 µF, CIN = 1.0 µF, C1–2 = 0.47 µF. (Note 12) Symbol Parameter Standby supply current IVDD Normal Mode Supply Current Power Save Mode Supply Current fOSC Typ Max Units VEN = 0V, CHIP_EN=0 (bit), external 32 kHz clock running or not running Condition Min 0.2 1 µA CHIP_EN=0 (bit), external 32 kHz clock not running 1.0 1.7 µA CHIP_EN=0 (bit), external 32 kHz clock running 1.4 2.3 µA External 32 kHz clock running, charge pump and current source outputs disabled 0.6 0.75 mA Charge pump in 1x mode, no load, current source outputs disabled 0.8 0.95 mA Charge pump in 1.5x mode, no load, current source outputs disabled 1.8 External 32 kHz clock running 10 15 µA 0.6 0.75 mA +4 +7 % Internal oscillator running −4 −7 Internal Oscillator Frequency Accuracy mA Charge Pump Electrical Characteristics Symbol Parameter ROUT Charge Pump Output Resistance fSW Switching Frequency Condition Gain = 1.5x Gain = 1x IGND Ground Current Gain = 1.5x Gain = 1x tON VOUT Turn-On Time (Note 13) VDD = 3.6V, IOUT = 60 mA www.ti.com 4 Min Typ Max Units 3.5 1 Ω 1.25 MHz 1.2 0.3 mA 100 µs Symbol Parameter Condition Min Typ Max 1 ILEAKAGE Leakage Current (outputs D1 to D9) PWM = 0% 0.1 IMAX Maximum Source Current 25.5 IOUT Output Current Accuracy (Note 14) Output current set to 17.5 mA IMATCH Matching (Note 14) fLED LED Switching Frequency VSAT Saturation Voltage (Note 15) Outputs D1 to D9 −4 −5 1 2.5 312 Output current set to 17.5 mA µA mA +4 +5 Output current set to 17.5 mA Units % % Hz 45 100 mV Typ Max Units ±4 LSB LED Test Electrical Characteristics Symbol Parameter LSB Least Significant Bit EABS Total Unadjusted Error (Note 16) tCONV Conversion Time VIN_TEST DC Voltage Range Condition Min 30 VIN_TEST = 0V to VDD <±3 mV 2.7 ms 0 5 V Logic Interface Characteristics Symbol Parameter Condition Min Typ Max Units 0.5 V 1.0 µA Logic input EN VIL Input Low Level VIH Input High Level 1.2 II Input Current −1.0 tDELAY Input Delay (Note 18) V 2 µs Logic input SCL, SDA, TRIG, CLK, ASEL0, ASEL1 VIL Input Low Level VIH Input High Level II Input Current 0.2xVEN V 1.0 µA 0.5 V 1.0 µA 0.8xVEN V −1.0 Logic output SDA, TRIG, INT VOL Output Low Level IOUT = 3 mA (pullup current) IL Output Leakage Current VOUT = 2.8V 0.3 Logic output GPO VOL Output Low Level IOUT = 3 mA 0.3 VOH Output High Level IOUT = −2 mA IL Output Leakage Current VOUT = 2.8V 5 0.5 V 1.0 µA V VDD −0.5 DD −0.3 www.ti.com LP5523 LED Driver Electrical Characteristics LP5523 Recommended External Clock Source Conditions Symbol Parameter (Note 17, Note 19) Condition Min Typ Max Units Logic input CLK fCLK Clock Frequency tCLKH High Time tCLKL Low Time tr Clock Rise Time 10% to 90% 2 µs tf Clock Fall Time 90% to 10% 2 µs 32.7 kHz 6 µs 6 µs 300436300 FIGURE 1. External Clock Signal Serial Bus Timing Parameters (SDA, SCL) Symbol (Note 17) Parameter Limit Min fSCL Clock Frequency 1 Hold Time (repeated) START Condition 2 3 Units Max 400 kHz 0.6 µs Clock Low Time 1.3 µs Clock High Time 600 ns 4 Setup Time for a Repeated START Condition 600 ns 5 Data Hold Time 50 ns 6 Data Setup Time 100 7 Rise Time of SDA and SCL 20+0.1 Cb 300 ns 8 Fall Time of SDA and SCL 15+0.1 Cb 300 ns 9 Set-up Time for STOP condition 600 ns 10 Bus Free Time between a STOP and a START Condition 1.3 µs Cb Capacitive Load Parameter for Each Bus Line. Load of One Picofarad Corresponds to One Nanosecond. 10 ns 200 ns 30043600 FIGURE 2. Timing Parameters www.ti.com 6 Note 2: The Electrical characteristics tables list guaranteed specifications under the listed Recommended Conditions except as otherwise modified or specified by the Electrical Characteristics Conditions and/or Notes. Typical specifications are estimations only and are not guaranteed. Note 3: All voltages are with respect to the potential at the GND pin. Note 4: Internal thermal shutdown circuitry protects the device from permanent damage. Thermal shutdown engages at TJ = 150°C (typ.) and disengages at TJ = 130°C (typ.). Note 5: For detailed soldering specifications and information, please refer to Texas Instruments Application Note AN1112 : Micro SMD Wafer Level Chip Scale Package. Note 6: Human Body Model, applicable standard JESD22-A114C Note 7: Machine Model, applicable standard JESD22- A115-A Note 8: Charge Device Model, applicable standard JESD22A-C101 Note 9: In applications where high power dissipation and/or poor package thermal resistance is present, the maximum ambient temperature may have to be derated. Maximum ambient temperature (TA-MAX) is dependent on the maximum operating junction temperature (TJ-MAX-OP = 125°C), the maximum power dissipation of the device in the application (PD-MAX), and the junction-to ambient thermal resistance of the part/package in the application (θJA), as given by the following equation: TA-MAX = TJ-MAX-OP – (θJA × PD-MAX). Note 10: Junction-to-ambient thermal resistance is highly application and board-layout dependent. In applications where high maximum power dissipation exists, special care must be paid to thermal dissipation issues in board design. Note 11: Min and Max limits are guaranteed by design, test, or statistical analysis. Note 12: Low-ESR Surface-Mount Ceramic Capacitors (MLCCs) used in setting electrical characteristics. Note 13: Turn-on time is measured from the moment the charge pump is activated until the VOUT crosses 90% of its target value. Note 14: Output Current Accuracy is the difference between the actual value of the output current and programmed value of this current. Matching is the maximum difference from the average. For the constant current outputs on the part (D1 to D9), the following are determined: the maximum output current (MAX), the minimum output current (MIN), and the average output current of all outputs (AVG). Two matching numbers are calculated: (MAX-AVG)/AVG and (AVG-MIN)/AVG. The largest number of the two (worst case) is considered the matching figure. Note that some manufacturers have different definitions in use. Note 15: Saturation voltage is defined as the voltage when the LED current has dropped 10% from the value measured at VOUT – 1V. Note 16: Total unadjusted error includes offset, full-scale, and linearity errors. Note 17: Specification is guaranteed by design and is not tested in production. VEN = 1.65V to VDD. Note 18: The I2C host should allow at least 500 µs before sending data to the LP5523 after the rising edge of the enable line. Note 19: The ideal external clock signal for the LP5523 is a 0V to VEN 25% to 75% duty-cycle square wave. At frequencies above 32.7 kHz, program execution will be faster, and at frequencies below 32.7 kHz program execution will be slower. Note 20: CIN, COUT, C1, C2: Low-ESR Surface-Mount Ceramic Capacitors (MLCCs) used in setting electrical characteristics. Note 21: If the charge pump is OFF the supply current is even lower. Note 22: Output Current Accuracy is the difference between the actual value of the output current and programmed value of this current. Matching is the maximum difference from the average. For the constant current outputs on the part (D1 to D9), the following are determined: the maximum output current (MAX), the minimum output current (MIN), and the average output current of all outputs (AVG). Two matching numbers are calculated: (MAX-AVG)/AVG and (AVG-MIN)/AVG. The largest number of the two (worst case) is considered the matching figure. Note that some manufacturers have different definitions in use. 7 www.ti.com LP5523 Note 1: “Absolute Maximum Ratings” indicate limits beyond which damage to the device may occur, including inoperability and degradation of device reliability and/or performance. Functional operation of the device and/or non-degradation at the Absolute Maximum Ratings or other conditions beyond those indicated in the Recommended Operating Conditions is not implied. The recommended Operating Conditions indicate conditions at which the device is functional and the device should not be operated beyond such conditions. LP5523 Typical Performance Characteristics Unless otherwise specified: VDD = 3.6V, CIN = COUT = 1.0 µF, C1 = C2 = 0.47 µF, TA = 25°C. (Note 20) Charge Pump 1.5x Efficiency vs Load Current Output Voltage of the Charge Pump (1.5x) as a Function of Load Current at Four Input Voltage Levels 300436301 300436303 Gain Change Hysteresis Loop at Factory Settings; Effect of Adaptive Hysteresis on the Widht of the 6 x 1,0 mA Load (6 Nichia NSCW100 WLEDs on D1 to D6) Hysteresis Loop; Load = 6 x Nichia NSCW100 WLEDs on D1 to D6 @ 100% PWM 300436305 300436302 LED Current Matching Distribution @ 17.5mA Current (Note 22) LED Current Accuracy Distribution @ 17.5mA Current (Note 22) 300436306 www.ti.com 300436304 8 Serial Bus Write (51h to Addr 36h) and Charge Pump startup Waveform. ILOAD= 60mA; VDD=3.6V 30043679 30043677 Line Transient and Charge Pump Automatic Gain Change (1.5x to 1x) with 6 LEDs at 1mA / 100% PWM Line Transient and Charge Pump Automatic Gain Change (1x to 1.5x) with 6 LEDs at 1mA / 100% PWM 30043682 30043681 100% PWM RGB LED Efficiency vs. VDD 100% PWM WLED Efficiency vs. VDD 30043649 30043650 9 www.ti.com LP5523 Power Save Mode Supply Current vs VDD . Charge pump in 1x mode. (Note 21) LP5523 pump. LP5523 is able to automatically enter power-save mode when LED outputs are not active, thus lowering idle current consumption down to 10 µA (typ.). Also, during the "down time" of the PWM cycle (constant current output status is low), additional power savings can be achieved when the PWM Powersave feature is enabled. Functional Overview The LP5523 is a fully integrated lighting management unit for producing lighting effects for mobile devices. The LP5523 includes all necessary power management, high-side current sources, temperature compensation, two-wire control interface and programmable pattern generators. The overall maximum current for each driver is set by an 8-bit register. The LP5523 controls LED luminance with a pulse width modulation (PWM) scheme with a resolution of 12 bits. Also, the temperature compensation is done by PWM. TEMPERATURE COMPENSATION The luminance of an LED is typically a function of its temperature even though the current flowing through the LED remains constant. Since luminance is temperature dependent, many LED applications require some form of temperature compensation to decrease luminance and color purity variations due to temperature changes. The LP5523 has a built-in temperature-sensing element, and PWM duty cycle of the LED drivers changes linearly in relationship to changes in temperature. User can select the slope of the graph (31 slopes) based on the LED characteristics (see Figure 3 ). This compensation can be done either constantly, or only right after the device wakes up from powersave mode, to avoid error due to self-heating of the device. Linear compensation is considered to be practical and accurate enough for most LED applications. PROGRAMMING The LP5523 provides flexibility and programmability for dimming and sequencing control. Each LED can be controlled directly and independently through the serial bus, or LED drivers can be grouped together for pre-programmed flashing patterns. The LP5523 has three independent program execution engines, so it is possible to form three independently programmable LED banks. LED drivers can be grouped based on their function so that, for example, the first bank of drivers can be assigned to the keypad illumination, the second bank to the “funlights”, and the third group to the indicator LED(s). Each bank can contain 1 to 9 LED driver outputs. Instructions for program execution engines are stored in the program memory. The total amount of the program memory is 96 instructions, and the user can allocate the memory as required by the engines. LED ERROR DETECTION The LP5523 has built-in LED error detection. Error detection does not only detect open and short circuit, but provides an opportunity to measure the VFs of the LEDs. The test event is activated by a serial interface write, and the result can be read through the serial interface during the next cycle. This feature can also be addressed to measure the voltage on VDD, VOUT and INT pins. Typical example usage includes monitoring battery voltage or using INT pin as a light sensor interface. ENERGY EFFICIENCY When charge-pump automatic mode selection is enabled, the LP5523 monitors the voltage over the drivers of D1 to D6 so that the device can select the best charge-pump gain and maintain good efficiency over the whole operating voltage range. The red LED element of an RGB LED typically has a forward voltage of about 2V. For that reason, the outputs D7, D8 and D9 are internally powered by VDD, since battery voltage is high enough to drive red LEDs over the whole operating voltage range. This allows the driving of three RGB LEDs with good efficiency because the red LEDs don't load the charge www.ti.com 30043698 FIGURE 3. Temperature Compensation Principle Compensation is effective over the temperature range −40°C to 90°C. 10 LP5523 LP5523 Block Diagram 30043605 11 www.ti.com LP5523 Modes of Operation In the RESET mode all the internal registers are reset to the default values. Reset is always entered if Reset Register (3DH) is written FFH or internal Power-On Reset is active. Power-On Reset (POR) will activate during the chip startup or when the supply voltage VDD fall below 1.5V (typ.). Once VDD rises above 1.5V (typ.), POR will deactivate, and the chip will continue to the STANDBY mode. CHIP_EN control bit is low after POR by default. STANDBY: The STANDBY mode is entered if the register bit CHIP_EN or EN pin is LOW and Reset is not active. This is the low-power consumption mode, when all circuit functions are disabled. Most registers can be written in this mode if EN pin is risen to high so that control bits will be effective right after the startup (see Control Register Details). STARTUP: When CHIP_EN bit is written high and EN pin is high, the INTERNAL STARTUP SEQUENCE powers up all the needed internal blocks (VREF, Bias, Oscillator etc.). Startup delay is 500 μs. If the chip temperature rises too high, the Thermal Shutdown (TSD) disables the chip operation, and the chip waits in STARTUP mode until no thermal shutdown event is present. NORMAL: During NORMAL mode the user controls the chip using the Control Registers. POWER SAVE: In POWER-SAVE mode analog blocks are disabled to minimize power consumption. See chapter Automatic Power Save Mode for further information. RESET 30043612 www.ti.com 12 OVERVIEW The LP5523 includes a pre-regulated switched-capacitor charge pump with a programmable voltage multiplication of 1 and 1.5x. In 1.5x mode, by combining the principles of a switched-capacitor charge pump and a linear regulator, a regulated 4.5V output is generated from the Li-Ion input voltage range. A two-phase non-overlapping clock generated internally controls the operation of the charge pump. During the charge phase, both flying capacitors (C1 and C2) are charged from input voltage. In the pump phase that follows, the flying capacitors are discharged to output. A traditional switched-capacitor charge pump operating in this manner will use switches with very low on-resistance, ideally 0Ω, to generate an output voltage that is 1.5x the input voltage. The LP5523 regulates the output voltage by controlling the resistance of the input-connected pass-transistor switches in the charge pump. CONTROLLING THE CHARGE PUMP The charge pump is controlled with two CP_MODE bits in MISC register (address 36H). When both of the bits are low, the charge pump is disabled, and output voltage is pulled down with an internal 300 kΩ (typ.) resistor. The charge pump can be forced to bypass mode, so the battery voltage is connected directly to the current sources; in 1.5x mode output voltage is boosted to 4.5V. In automatic mode, charge-pump operation mode is determined by saturation of constant current drivers, as described in LED Forward Voltage Monitoring below. OUTPUT RESISTANCE At lower input voltages, the charge pump output voltage may degrade due to effective output resistance (ROUT) of the charge pump. The expected voltage drop can be calculated by using a simple model for the charge pump illustrated in Figure 4 below. LED FORWARD VOLTAGE MONITORING When the charge-pump automatic mode selection is enabled, voltages over LED drivers D1 to D6 are monitored. (Note: Power input for current source outputs D7, D8 and D9 are internally connected to the VDD pin.) If the D1 to D6 drivers do not have enough headroom, charge-pump gain is set to 1.5x. Driver saturation monitor does not have a fixed voltage limit, since saturation voltage is a function of temperature and current. Charge pump gain is set to 1x, when battery voltage is high enough to supply all LEDs. In automatic gain change mode, the charge pump is switched to bypass mode (1x), when LEDs are inactive for over 50 ms. 30043606 GAIN CHANGE HYSTERESIS Charge pump gain control utilizes digital filtering to prevent supply voltage disturbances (for example, the transient voltage on the power supply during the GSM burst) from triggering unnecessary gain changes. Hysteresis is provided to prevent periodic gain changes (which could occur due to LED driver) and charge-pump voltage drop in 1x mode. The hysteresis of the gain change is user-configurable; default setting is factory-programmable. Flexible configuration ensures that hysteresis can be minimized or set to desired level in each application. LED forward voltage monitoring and gain control block diagram is shown in Figure 5. FIGURE 4. Charge Pump Output Resistance Model The model shows a linear pre-regulation block (REG), a voltage multiplier (1.5x), and an output resistance (ROUT). Output resistance models the output voltage drop that is inherent to switched capacitor converters. The output resistance is 3.5Ω (typ.), and it is a function of switching frequency, input voltage, flying capacitors’ capacitance value, internal resistances of the switches and ESR of the flying capacitors. When the output voltage is in regulation, the regulator in the model controls the voltage V’ to keep the output voltage equal to 4.5V (typ.). With increased output current, the voltage drop across ROUT increases. To prevent drop in output voltage, the voltage drop 13 www.ti.com LP5523 across the regulator is reduced, V’ increases, and VOUT remains at 4.5V. When the output current increases to the point that there is zero voltage drop across the regulator, V’ equals the input voltage, and the output voltage is “on the edge” of regulation. Additional output current causes the output voltage to fall out of regulation, so that the operation is similar to a basic open-loop 1.5x charge pump. In this mode, output current results in output voltage drop proportional to the output resistance of the charge pump. The out-of-regulation output voltage can be approximated by: VOUT = 1.5 x VIN – IOUT x ROUT. Charge Pump Operational Description LP5523 30043607 FIGURE 5. Forward Voltage Monitoring and Gain Control Block LED dimming is controlled according to a logarithmic or linear scale, see Figure 7. A logarithmic or linear scheme can be set for both the program execution engine control and direct PWM control. Note: if the temperature compensation is active, the maximum PWM duty cycle is limited to 50% at +25° C. This is required to allow enough headroom for temperature compensation over the whole temperature range −40 °C to 90°C. LED Driver Operational Description OVERVIEW LP5523'd LED drivers are constant current sources. Output current can be programmed by control registers up to 25.5 mA. The overall maximum current is set by 8-bit output current control registers with 100 μA step size. Each of the 9 LED drivers has a separate output current control register. The LED luminance pattern (dimming) is controlled with PWM (pulse width modulation) technique, which has internal resolution of 12 bits (8-bit control can be seen by user). PWM frequency is 312 Hz. See Figure 6 below. 30043608 FIGURE 6. LED Pattern and Current Control Principle 30043621 FIGURE 7. Logarithmic vs Linear Dimming www.ti.com 14 LP5523 POWERING LEDs The LP5523 is very suitable for white LED and general purpose applications, and it is particularly well suited to use with RGB LEDs. The LP5523’s architecture is optimized for use with three RGB LEDs. Typically, the red LEDs have forward voltages below 2 volts, thus red LEDs can be powered directly from VDD. In the LP5523 D7, D8 and D9 drivers are powered from the battery voltage (VDD), not from the charge-pump output. D1 to D6 drivers are internally connected to the chargepump output, and these outputs can be used for driving green and blue (VF = 2.7V to 3.7V typ.) or white LEDs. Of course, D7, D8 and D9 outputs can be used for green, blue or white LEDs if the VDD voltage is high enough. An RGB LED configuration example is given in the Typical Applications section at the end of this document. 30043614 FIGURE 8. Data Validity Diagram START AND STOP CONDITIONS START and STOP conditions classify the beginning and the end of the data transfer session. A START condition is defined as the SDA signal transitioning from HIGH to LOW while SCL line is HIGH. A STOP condition is defined as the SDA transitioning from LOW to HIGH while SCL is HIGH. The bus master always generates START and STOP conditions. The bus is considered to be busy after a START condition and free after a STOP condition. During data transmission, the bus master can generate repeated START conditions. First START and repeated START conditions are equivalent, function-wise. CONTROLLING THE HIGH-SIDE LED DRIVERS 1. Direct PWM Control All LP5523 LED drivers, D1 to D9, can be controlled independently through the two-wire serial I2C-compatible interface. For each high-side driver there is a PWM control register. Direct PWM control is active by default. 2. Controlling by Program Execution Engines Engine control is used when the user wants to create programmed sequences. The program execution engine has a higher priority than direct control registers. Therefore, if the user has set the PWM register to a certain value, it will be automatically overridden when the program execution engine controls the driver. LED control and program execution engine operation is described in the section Control Register Details. 3. Master Fader Control In addition to LED-by-LED PWM register control, the LP5523 is equipped with so-called master fader control, which allows the user to fade in or fade out multiple LEDs by writing to only one register. This is a useful function to minimize serial bus traffic between the MCU and the LP5523. The LP5523 has three master fader registers, so it is possible to form three master fader groups. TRANSFERRING DATA Every byte put on the SDA line must be eight bits long, with the most significant bit (MSB) being transferred first. Each byte of data has to be followed by an acknowledge bit. The acknowledge related clock pulse is generated by the master. The master releases the SDA line (HIGH) during the acknowledge clock pulse. The LP5523 pulls down the SDA line during the 9th clock pulse, signifying an acknowledge. The LP5523 generates an acknowledge after each byte has been received. There is one exception to the “acknowledge after every byte” rule. When the master is the receiver, it must indicate to the transmitter an end of data by not acknowledging (“negative acknowledge”) the last byte clocked out of the slave. This “negative acknowledge” still includes the acknowledge clock pulse (generated by the master), but the SDA line is not pulled down. After the START condition, the bus master sends a chip address. This address is seven bits long followed by an eighth bit which is a data direction bit (READ or WRITE). The LP5523 address is defined with ASEL0 and ASEL1 pins, and it is 32h when ASEL1 and ASEL0 are connected to GND. For the eighth bit, a “0” indicates a WRITE and a “1” indicates a READ. The second byte selects the register to which the data will be written. The third byte contains data to write to the selected register. I2C-Compatible Control Interface The I2C-compatible synchronous serial interface provides access to the programmable functions and registers on the device. This protocol uses a two-wire interface for bidirectional communications between the IC's connected to the bus. The two interface lines are the Serial Data Line (SDA), and the Serial Clock Line (SCL). Every device on the bus is assigned a unique address and acts as either a Master or a Slave depending on whether it generates or receives the serial clock SCL. The SCL and SDA lines should each have a pullup resistor placed somewhere on the line and remain HIGH even when the bus is idle. Note: CLK pin is not used for serial bus data transfer. DATA VALIDITY The data on SDA line must be stable during the HIGH period of the clock signal (SCL). In other words, state of the data line can only be changed when clock signal is LOW. 15 www.ti.com LP5523 I2C-Compatible Chip Address ASEL0 and ASEL1 pins configure the chip address for the LP5523 as shown in Table 1. TABLE 1. LP5523 Chip Address Configuration ASEL1 ASEL0 ADDRESS 8-BIT HEX ADDRESS GND GND (HEX) WRITE/READ 32 GND 64/65 VEN 33 66/67 VEN GND 34 68/69 VEN VEN 35 6A/6B 30043615 FIGURE 9. LP5523 Chip Address 30043613 FIGURE 10. Write cycle (w = write; SDA = "0"), id = chip address = 32h for LP5523. This data pattern writes temperature information to the TEMPERATURE WRITE register (40h). www.ti.com 16 LP5523 30043616 FIGURE 11. Read cycle (r = read; SDA = "1"), id = chip address = 32h for LP5523. This data pattern reads temperature information from the TEMPERATURE READ register (3Fh). When a READ function is to be accomplished, a WRITE function must precede the READ function, as show above. • CONTROL REGISTER WRITE CYCLE • Master device generates start condition. • Master device sends slave address (7 bits) and the data direction bit (r/w = 0). • Slave device sends acknowledge signal if the slave address is correct • Master sends control register address (8 bits). • Slave sends acknowledge signal. • Master sends data byte to be written to the addressed register. • Slave sends acknowledge signal. CONTROL REGISTER READ CYCLE • • • • • • • • • • • • If master sends further data bytes, the slave’s control register address will be incremented by one after acknowledge signal. In order to reduce program load time, the LP5523 supports address auto incrementation. Register address is incremented after each 8 data bits. For example, the whole program memory page can be written in one serial bus write sequence. Note: serial bus address auto increment is not supported for register addresses from 16 to 1E. Write cycle ends when the master creates stop condition. Master device generates a start condition. Master device sends slave address (7 bits) and the data direction bit (r/w = 0). Slave device sends acknowledge signal if the slave address is correct Master sends control register address (8 bits). Slave sends acknowledge signal. Master device generates repeated start condition. Master sends the slave address (7 bits) and the data direction bit (r/w = 1). Slave sends acknowledge signal if the slave address is correct. Slave sends data byte from addressed register. If the master device sends an acknowledge signal, the control register address will be incremented by one. Slave device sends data byte from addressed register. Read cycle ends when the master does not generate acknowledge signal after data byte and generates stop condition AUTO-INCREMENT FEATURE The auto-increment feature allows writing several consecutive registers within one transmission. Every time an 8-bit word is sent to the LP5523, the internal address index counter will be incremented by one, and the next register will be written. Example below () shows writing sequence to two consecutive registers. Auto-increment feature is enabled by writing EN_AUTO_INCR bit high in the MISC register (addr 36h). Note: serial bus address auto increment is not supported for register addresses from 16 to 1E. TABLE 2. Auto Increment Example. MASTER LP5523 START CHIP ADDR =32H REG ADDR WRITE ACK DATA ACK 17 DATA ACK STOP ACK www.ti.com LP5523 Register Set The LP5523 is controlled by a set of registers through the two-wire serial interface port. Some register bits are reserved for future use. Table 3 below lists device registers, their addresses and their abbreviations. A more detailed description is given in chapter Control Register Details. TABLE 3. Control Register Map Hex Address 00 01 02 03 04 www.ti.com Register Name ENABLE / ENGINE CNTRL1 ENGINE CNTRL2 OUTPUT DIRECT/ RATIOMETRIC MSB OUTPUT DIRECT/ RATIOMETRIC LSB OUTPUT ON/OFF CONTROL MSB Bit(s) Read/ Write Default Value After Reset [6] R/W x0xxxxxx CHIP_EN 0 = LP5523 not enabled 1 = LP5523 enabled [5:4] R/W xx00xxxx ENGINE1_EXEC Engine 1 program execution control [3:2] R/W xxxx00xx ENGINE2_EXEC Engine 2 program execution control [1:0] R/W xxxxxx00 ENGINE3_EXEC Engine 3 program execution control [5:4] R/W xx00xxxx ENGINE1_MODE ENGINE 1 mode control [3:2] R/W xxxx00xx ENGINE2_MODE ENGINE 2 mode control [1:0] R/W xxxxxx00 ENGINE3_MODE ENGINE 3 mode control [0] R/W xxxxxxx0 D9_RATIO_EN Enables ratiometric dimming for D9 output. [7] R/W 0xxxxxxx D8_RATIO_EN Enables ratiometric dimming for D8 output. [6] R/W x0xxxxxx D7_RATIO_EN Enables ratiometric dimming for D7 output. [5] R/W xx0xxxxx D6_RATIO_EN Enables ratiometric dimming for D6 output. [4] R/W xxx0xxxx D5_RATIO_EN Enables ratiometric dimming for D5 output. [3] R/W xxxx0xxx D4_RATIO_EN Enables ratiometric dimming for D4 output. [2] R/W xxxxx0xx D3_RATIO_EN Enables ratiometric dimming for D3 output. [1] R/W xxxxxx0x D2_RATIO_EN Enables ratiometric dimming for D2 output. [0] R/W xxxxxxx0 D1_RATIO_EN Enables ratiometric dimming for D1 output. [0] R/W xxxxxxx1 D9_ON ON/OFF Control for D9 output 18 Bit Mnemonic and Description 05 06 07 08 09 0A 0B 0C Register Name OUTPUT ON/OFF CONTROL LSB D1 CONTROL D2 CONTROL D3 CONTROL D4 CONTROL D5 CONTROL D6 CONTROL D7 CONTROL LP5523 Hex Address Bit(s) Read/ Write Default Value After Reset [7] R/W 1xxxxxxx D8_ON ON/OFF Control for D8 output [6] R/W x1xxxxxx D7_ON ON/OFF Control for D7 output [5] R/W xx1xxxxx D6_ON ON/OFF Control for D6 output [4] R/W xxx1xxxx D5_ON ON/OFF Control for D5 output [3] R/W xxxx1xxx D4_ON ON/OFF Control for D4 output [2] R/W xxxxx1xx D3_ON ON/OFF Control for D3 output [1] R/W xxxxxx1x D2_ON ON/OFF Control for D2 output [0] R/W xxxxxxx1 D1_ON ON/OFF Control for D1 output [7:6] R/W 00xxxxxx MAPPING Mapping for D1 output [5] R/W xx0xxxxx LOG_EN Logarithmic dimming control for D1 [4:0] R/W xxx00000 TEMP COMP Temperature compensation control for D1 output [7:6] R/W 00xxxxxx MAPPING Mapping for D2 output [5] R/W xx0xxxxx LOG_EN Logarithmic dimming control for D2 output [4:0] R/W xxx00000 TEMP COMP Temperature compensation control for D2 output [7:6] R/W 00xxxxxx MAPPING Mapping for D3 output [5] R/W xx0xxxxx LOG_EN Logarithmic dimming control for D3 output [4:0] R/W xxx00000 TEMP COMP Temperature compensation control for D3 output [7:6] R/W 00xxxxxx MAPPING Mapping for D4 output [5] R/W xx0xxxxx LOG_EN Logarithmic dimming control for D4 output [4:0] R/W xxx00000 TEMP COMP Temperature compensation control for D4 output [7:6] R/W 00xxxxxx MAPPING Mapping for D5 ouput [5] R/W xx0xxxxx LOG_EN Logarithmic dimming control for D5 output [4:0] R/W xxx00000 TEMP COMP Temperature compensation control for D5 [7:6] R/W 00xxxxxx MAPPING Mapping for D6 output [5] R/W xx0xxxxx LOG_EN Logarithmic dimming control for D6 output [4:0] R/W xxx00000 TEMP COMP Temperature compensation control for D6 output [7:6] R/W 00xxxxxx MAPPING Mapping for D7 output [5] R/W xx0xxxxx LOG_EN Logarithmic dimming control for D7 output [4:0] R/W xxx00000 TEMP COMP Temperature compensation control for D7 output 19 Bit Mnemonic and Description www.ti.com LP5523 Hex Address 0D 0E 0F TO 15 Register Name D8 CONTROL D9 CONTROL Bit(s) Read/ Write Default Value After Reset [7:6] R/W 00xxxxxx MAPPING Mapping for D8 output [5] R/W xx0xxxxx LOG_EN Logarithmic dimming control for D8 output [4:0] R/W xxx00000 TEMP COMP Temperature compensation control for D8 output [7:6] R/W 00xxxxxx MAPPING Mapping for D9 output [5] R/W xx0xxxxx LOG_EN Logarithmic dimming control for D9 output [4:0] R/W xxx00000 TEMP COMP Temperature compensation control for D9 output Bit Mnemonic and Description RESERVED [7:0] 16 D1 PWM [7:0] R/W 00000000 PWM PWM duty cycle control for D1 17 D2 PWM [7:0] R/W 00000000 PWM PWM duty cycle control for D2 18 D3 PWM [7:0] R/W 00000000 PWM PWM duty cycle control for D3 19 D4 PWM [7:0] R/W 00000000 PWM PWM duty cycle control for D4 1A D5 PWM [7:0] R/W 00000000 PWM PWM duty cycle control for D5 1B D6 PWM [7:0] R/W 00000000 PWM PWM duty cycle control for D6 1C D7 PWM [7:0] R/W 00000000 PWM PWM duty cycle control for D7 1D D8 PWM [7:0] R/W 00000000 PWM PWM duty cycle control for D8 1E D9 PWM [7:0] R/W 00000000 PWM PWM duty cycle control for D9 RESERVED [7:0] 26 D1 CURRENT CONTROL [7:0] R/W 10101111 CURRENT D1 output current control register. Default 17.5 mA (typ.) 27 D2 CURRENT CONTROL [7:0] R/W 10101111 CURRENT D2 output current control register. Default 17.5 mA (typ.) 28 D3 CURRENT CONTROL [7:0] R/W 10101111 CURRENT D3 output current control register. Default 17.5 mA (typ.) 29 D4 CURRENT CONTROL [7:0] R/W 10101111 CURRENT D4 output current control register. Default current is 17.5 mA (typ.) 2A D5 CURRENT CONTROL [7:0] R/W 10101111 CURRENT D5 output current control register. Default current is 17.5 mA (typ.) 2B D6 CURRENT CONTROL [7:0] R/W 10101111 CURRENT D6 output current control register. Default current is 17.5 mA (typ.) 2C D7 CURRENT CONTROL [7:0] R/W 10101111 CURRENT D7 output current control register. Default current is 17.5 mA (typ.) 1F TO 25 www.ti.com RESERVED FOR FUTURE USE RESERVED FOR FUTURE USE 20 Register Name Bit(s) Read/ Write Default Value After Reset Bit Mnemonic and Description 2D D8 CURRENT CONTROL [7:0] R/W 10101111 CURRENT D8 output current control register. Default current is 17.5 mA (typ.) 2E D9 CURRENT CONTROL [7:0] R/W 10101111 CURRENT D9 output current control register. Default current is 17.5 mA (typ.) RESERVED FOR FUTURE USE [7:0] 2F TO 35 36 MISC RESERVED FOR FUTURE USE [7] R/W 0xxxxxxx VARIABLE_D_SEL Variable D source selection [6] R/W x1xxxxxx EN_AUTO_INCR Serial bus address auto increment enable [5] R/W xx0xxxxx POWERSAVE_EN Powersave mode enable [4:3] R/W xxx00xxx CP_MODE Charge pump gain selection [2] R/W xxxxx0xx PWM_PS_EN PWM cycle powersave enable [1] R/W xxxxxx0x CLK_DET_EN External clock detection [0] R/W xxxxxxx0 INT_CLK_EN Clock source selection 37 ENGINE1 PC [6:0] R/W x0000000 PC Program counter for engine 1 38 ENGINE2 PC [6:0] R/W x0000000 PC Program counter for engine 2 39 ENGINE3 PC [6:0] R/W x0000000 PC Program counter for engine 3 [7] R 0xxxxxxx LEDTEST_MEAS_DONE Indicates when the LED test measurement is done. [6] R x1xxxxxx MASK_BUSY Mask bit for interrupts generated by STARTUP_BUSY or ENGINE_BUSY. [5] R xx0xxxxx STARTUP_BUSY This bit indicates that the startup sequence is running. [4] R xxx0xxxx ENGINE_BUSY This bit indicates that a program execution engine is clearing internal registers. [3] R xxxx0xxx EXT_CLK_USED Indicates when external clock signal is in use. [2] R xxxxx0xx ENG1_INT Interrupt bit for program execution engine 1 [1] R xxxxxx0x ENG2_INT Interrupt bit for program execution engine 2 [0] R xxxxxxx0 ENG3_INT Interrupt bit for program execution engine 3 3A STATUS/INTERRUPT 21 www.ti.com LP5523 Hex Address LP5523 Hex Address 3B Register Name GPO Bit(s) Read/ Write Default Value After Reset Bit Mnemonic and Description [2] R/W xxxxx0xx INT_CONF INT pin can be configured to function as a GPO with this bit [1] R/W xxxxxx0x GPO GPO pin control [0] R/W xxxxxxx0 INT_GPO GPO pin control for INT pin (when INT_CONF is set "1") 3C VARIABLE [7:0] R/W 00000000 VARIABLE Global 8-bit variable 3D RESET [7:0] R/W 00000000 RESET Writing 11111111 into this register resets the LP5523 [7] R 0xxxxxxx TEMP_MEAS_BUSY Indicates when temperature measurement is active [2] R/W xxxxx0xx EN_TEMP_SENSOR Reads the internal temperature sensor once [1] R/W xxxxxx0x CONTINUOUS_CONV Continuous temperature measurement selection [0] R/W xxxxxxx0 SEL_EXT_TEMP Internal/external temperature sensor selection 3E TEMP ADC CONTROL 3F TEMPERATURE READ [7:0] R 00011001 TEMPERATURE Bits for temperature information 40 TEMPERATURE WRITE [7:0] R/W 00000000 TEMPERATURE Bits for temperature information [7] R/W 0xxxxxxx EN_LED_TEST_ADC [6] R/W x0xxxxxx EN_LED_TEST_INT [5] R/W xx0xxxxx CONTINUOUS_CONV Continuous LED test measurement selection [4:0] R/W xxx00000 LED_TEST_CTRL Control bits for LED test R N/A 41 LED TEST CONTROL LED_TEST_ADC LED test result 42 LED TEST ADC [7:0] 43 RESERVED [7:0] RESERVED FOR FUTURE USE 44 RESERVED [7:0] RESERVED FOR FUTURE USE 45 ENGINE1 VARIABLE A [7:0] R 00000000 VARIABLE FOR ENGINE1 46 ENGINE2 VARIABLE A [7:0] R 00000000 VARIABLE FOR ENGINE2 47 ENGINE3 VARIABLE A [7:0] R 00000000 VARIABLE FOR ENGINE3 48 MASTER FADER1 [7:0] R/W 00000000 MASTER FADER 49 MASTER FADER2 [7:0] R/W 00000000 MASTER FADER 4A MASTER FADER3 [7:0] R/W 00000000 MASTER FADER 4B RESERVED FOR FUTURE USE 4C ENG1 PROG START ADDR [6:0] R/W x0000000 ADDR 4D ENG2 PROG START ADDR [6:0] R/W x0001000 ADDR 4E ENG3 PROG START ADDR [6:0] R/W x0010000 ADDR 4F PROG MEM PAGE SEL [2:0] R/W xxxxx000 PAGE_SEL www.ti.com RESERVED FOR FUTURE USE 22 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 Bit(s) Read/ Write Default Value After Reset PROGRAM MEMORY 00H/10H/20H/30H/40H/ 50H [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 01H/11H/21H/31H/41H/ 51H [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 02H/12H/22H/32H/42H/ 52H [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 03H/13H/23H/33H/43H/ 53H [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 04H/14H/24H/34H/44H/ 54H [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 05H/15H/25H/35H/45H/ 55H [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 06H/16H/26H/36H/46H/ 56H [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 07H/17H/27H/37H/47H/ 57H [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 08H/18H/28H/38H/48H/ 58H [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 09H/19H/29H/39H/49H/ 59H [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 0AH/1AH/2AH/3AH/4AH/ 5AH [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 0BH/1BH/2BH/3BH/4BH/ 5BH [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 0CH/1CH/2CH/3CH/ 4CH/5CH [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 0DH/1DH/2DH/36D/46D/ 5DH [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 0EH/1EH/2EH/3EH/4EH/ 5EH [15:8] R/W 00000000 [7:0] R/W 00000000 PROGRAM MEMORY 0FH/1FH/2FH/3FH/4FH/ 5FH [15:8] R/W 00000000 [7:0] R/W 00000000 [7] R 0xxxxxxx GPO Engine 1 mapping information, GPO pin [0] R xxxxxxx0 D9 Engine 1 mapping information, D9 output Register Name ENG1 MAPPING MSB 23 LP5523 Hex Address Bit Mnemonic and Description CMD Every Instruction is 16-bit width. The LP5523 can store 96 instructions. Each instruction consists of 16 bits. Because one register has only 8 bits, one instruction requires two register addresses. In order to reduce program load time the LP5523 supports address auto-incrementation. Register address is incremented after each 8 data bits. Thus the whole program memory page can be written in one serial bus write sequence. www.ti.com LP5523 Hex Address 71 72 73 74 www.ti.com Register Name Bit(s) Read/ Write Default Value After Reset [7] R 0xxxxxxx D8 Engine 1 mapping information, D8 output [6] R x0xxxxxx D7 Engine 1 mapping information, D7 output [5] R xx0xxxxx D6 Engine 1 mapping information, D6 output [4] R xxx0xxxx D5 Engine 1 mapping information, D5 output [3] R xxxx0xxx D4 Engine 1 mapping information, D4 output [2] R xxxxx0xx D3 Engine 1 mapping information, D3 output [1] R xxxxxx0x D2 Engine 1 mapping information, D2 output [0] R xxxxxxx0 D1 Engine 1 mapping information, D1 output [7] R 0xxxxxxx GPO Engine 2 mapping information, GPO pin [0] R xxxxxxx0 D9 Engine 2 mapping information, D9 output [7] R 0xxxxxxx D8 Engine 2 mapping information, D8 output [6] R x0xxxxxx D7 Engine 2 mapping information, D7 output [5] R xx0xxxxx D6 Engine 2 mapping information, D6 output [4] R xxx0xxxx D5 Engine 2 mapping information, D5 output [3] R xxxx0xxx D4 Engine 2 mapping information, D4 output [2] R xxxxx0xx D3 Engine 2 mapping information, D3 output [1] R xxxxxx0x D2 Engine 2 mapping information, D2 output [0] R xxxxxxx0 D1 Engine 2 mapping information, D1 output [7] R 0xxxxxxx GPO Engine 3 mapping information, GPO pin [0] R xxxxxxx0 D9 Engine 3 mapping information, D9 output ENG1 MAPPING LSB ENG2 MAPPING MSB ENG2 MAPPING LSB ENG3 MAPPING MSB 24 Bit Mnemonic and Description 75 76 Register Name Bit(s) Read/ Write Default Value After Reset [7] R 0xxxxxxx D8 Engine 3 mapping information, D8 output [6] R x0xxxxxx D7 Engine 3 mapping information, D7 output [5] R xx0xxxxx D6 Engine 3 mapping information, D6 output [4] R xxx0xxxx D5 Engine 3 mapping information, D5 output [3] R xxxx0xxx D4 Engine 3 mapping information, D4 output [2] R xxxxx0xx D3 Engine 3 mapping information, D3 output [1] R xxxxxx0x D2 Engine 3 mapping information, D2 output [0] R xxxxxxx0 D1 Engine 3 mapping information, D1 output ENG3 MAPPING LSB Bit Mnemonic and Description [7:6] R/W 00xxxxxx THRESHOLD Threshold voltage (typ.). 00 – 400mV 01 – 300mV 10 – 200mV 11 – 100mV [5] R/W xx0xxxxx ADAPTIVE_THRESH_EN Activates adaptive threshold. GAIN CHANGE CTRL LP5523 Hex Address [4:3] R/W xxx00xxx TIMER 00 – 5ms 01 – 10 ms 10 – 50 ms 11 – Infinite [2] R/W xxxxx0xx FORCE_1x Activates 1.5x to 1x timer. Control Register Details hold). The difference between step and execute once is that execute once does not increment the PC. 00 — Bits [3:2] ENGINE2_EXEC Engine 2 program execution control. Equivalent to above definition of control bits. Program start address can be programmed to Program Counter (PC) register 38H. 00 — Bits [1:0] ENGINE3_EXEC Engine 3 program execution control. Equivalent to engine 1 control bits. Program start address can be programmed to Program Counter (PC) register 39H. 01 ENGINE CONTROL2 Operation modes are defined in this register. Disabled: Engines can be configured to disabled mode each one separately. Load program: Writing to program memory is allowed only when the engine is in load program operation mode and engine busy bit (reg 3A) is not set. Serial bus master should check the busy bit before writing to program memory or allow at least 1ms delay after entering to load mode before memory write, to ensure initalization. All the three engines are in hold while one or more engines are in load program mode. PWM values are frozen, also. 00 ENABLE/ ENGINE CONTROL1 00 - Bit [6] CHIP_EN 1 = internal startup sequence powers up all the needed internal blocks and the device enters normal mode. 0 = standby mode is entered. Control registers can still be written or read, excluding bits[5:0] in reg 00 (this register), registers 16h to 1E (LED PWM registers) and 37h to 39h (program counters). 00 — Bits [5:4] ENGINE1_EXEC Engine 1 program execution control. Execution register bits define how the program is executed. Program start address can be programmed to Program Counter (PC) register 37H. 00 = hold: Hold causes the execution engine to finish the current instruction and then stop. Program counter (PC) can be read or written only in this mode. 01 = step: Execute the instruction at the location pointed by the PC, increment the PC by one and then reset ENG1_EXEC bits to 00 (i.e. enter hold). 10 = free run: Start program execution from the location pointed by the PC. 11 = execute once: Execute the instruction pointed by the current PC value and reset ENG1_EXEC to 00 (i.e. enter 25 www.ti.com LP5523 Program execution continues when all the engines are out of load program mode. Load program mode resets the program counter of the respective engine. Load program mode can be entered from the disabled mode only. Entering load program mode from the run program mode is not allowed. Run Program: Run program mode executes the instructions stored in the program memory. Execution register (ENG1_EXEC etc.) bits define how the program is executed (hold, step, free run or execute once). Program start address can be programmed to the Program Counter (PC) register. The Program Counter is reset to zero when the PC’s upper limit value is reached. Halt: Instruction execution aborts immediately and engine operation halts. 01 — Bit [5:4] ENGINE1_MODE 00 = disabled. 01 = load program to SRAM, reset engine 1 PC. 10 = run program as defined by ENGINE1_EXEC bits. 11 = halts the engine. 01 — Bits [3:2] ENGINE2_MODE 00 = disabled. 01 = load program to SRAM, reset engine 2 PC. 10 = run program as defined by ENGINE2_EXEC bits. 11 = halts the engine. 01 — Bits [3:2] ENGINE3_MODE 00 = disabled. 01 = load program to SRAM, reset engine 3 PC. 10 = run program as defined by ENGINE3_EXEC bits. 11 = halts the engine. 02 OUTPUT DIRECT/RATIOMETRIC MSB A particular feature of the LP5523 is the ratiometric up/ down dimming of the RGB-LEDs. In other words, the LED driver PWM output will vary in a ratiometric manner. By a ratiometric approach the emitted color of an RGB–LED remains the same regardless of the initial magnitudes of the R/G/B PWM outputs. For example, if the PWM output of the red LED output is doubled, the output of green LED is doubled also. 02 — Bit [0] D9_RATIO_EN 1 = enables ratiometric diming for D9 output. 0 = disables ratiometric dimming for D9 output. 03 OUTPUT DIRECT/RATIOMETRIC LSB 03 — Bit [7] D8_RATIO_EN 1 = enables ratiometric diming for D8 output. 0 = disables ratiometric dimming for D8 output. 03 — Bit [0] D1_RATIO_EN to Bit [6] D7_RATIO_EN The options for D1 output to D7 output are the same as above — see the “03 — Bit [7]” section. 04 OUTPUT ON/OFF CONTROL MSB 04 — Bit [0] D9_ON 1 = D9 output ON. 0 = D9 output OFF. Note: Engine mapping overrides this control. 05 OUTPUT ON/OFF CONTROL MSB 05 — Bit [7] D8_ON 1 = D8 output ON. 0 = D8 output OFF. Note: Engine mapping over rides this control. 05 — Bit [0] D1_ON to Bit [6] D7_ON The options for D1 output to D7 output are the same as above — see the “05 — Bit [7]” section. this register sets the correction factor for the D1 output temperature compensation and selects between linear and logarithmic PWM brightness adjustment. By using logarithmic PWM-scale the visual effect looks like linear. When the logarithmic adjustment is enabled, the chip handles internal PWM values with 12-bit resolution. This allows very fine-grained PWM control at low PWM duty cycles. 06 — Bit [7:6] MAPPING 00 = no master fader set, clears master fader set for D1. Default setting. 01 = MASTER FADER1 controls the D1 output. 10 = MASTER FADER2 controls the D1 output. 11 = MASTER FADER3 controls the D1 output. The duty cycle on D1 output will be D1 PWM register value (address 16H) multiplied with the value in the MASTER FADER register. 06 — Bit [5] LOG_EN 0 = linear adjustment. 1 = logarithmic adjustment. This bit is effective for both the program execution engine control and direct PWM control. 06 — Bit [4:0] TEMP_COMP The reference temperature is +25°C (i.e. the temperature at which the compensation has no effect) and the correction factor (slope) can be set in 0.1% 1/°C steps to any value between −1.5% 1/°C and +1.5% 1/°C, with a default to 0.0% 1/°C. Correction factor [%] 00000 Not activated - default setting after reset. 11111 −1.5 1/°C 11110 −1.4 1/°C ... ... 10001 −0.1 1/°C 10000 0 1/°C 00001 +0.1 1/°C ... ... 01110 +1.4 1/°C 01111 +1.5 1/°C The PWM duty cycle at temperature T (in centigrade) can be obtained as follows: PWMF = [PWMS - (25 - T) * correction factor * PWMS] / 2, where PWMF is the final duty cycle at temperature T, PWMS is the set PWM duty cycle (PWM duty cycle is set in registers 16H to 1EH) and the value of the correction factor is obtained from the table above. For example, if the set PWM duty cycle in register 16H is 90%, temperature T is −10°C and the chosen correction factor is +1.5% 1/°C, the final duty-cycle PWMF for D1 output will be [90% - (25°C − (−10°C) ) * 1.5% 1/°C * 90%]/2 = [90% - 35 * 0.015 * 90%]/2 = 21.4%. Default setting 00000 means that the temperature compensation is non-active and the PWM output (0 to 100%) is set solely by PWM registers D1 PWM to D9 PWM. 06 D1 CONTROL This is the register used to assign the D1 output to the MASTER FADER group 1, 2, or 3, or none of them. Also, www.ti.com TEMP_COMP bits 26 30043617 FIGURE 12. Direct PWM Control Bits vs. PWM Duty Cycle 17 D2 PWM to 1E D9 PWM PWM duty cycle control for outputs D2 to D9. The control registers and control bits for D2 output to D9 output are similar to that given to D1. 26 D1 CURRENT CONTROL D1 LED driver output current control register. The resolution is 8-bits and step size is 100 μA. . CURRENT bits Output Current (typ.) 00000000 0.0 mA 00000001 0.1 mA 00000010 0.2 mA ... ... 10101111 17.5 mA default setting .... .... 11111110 25.4 mA 11111111 25.5 mA 27 D2 CURRENT CONTROL to 2E D9 CURRENT CONTROL The control registers and control bits for D2 output up to D9 output are similar to that given to D1 output. 36 MISC This register contains miscellaneous control bits. 36 — Bit [7] VARIABLE_D_SEL Variable D source selection. 27 www.ti.com LP5523 1 = variable D source is the LED test ADC output (LED TEST ADC). This allows, for example, program execution control with analog signal. 0 = variable D source is the register 3C (VARIABLE). 36 — Bit [6] EN_AUTO_INCR The automatic increment feature of the serial bus address enables a quick memory write of successive registers within one transmission. 1 = serial bus address automatic increment is enabled. 0 = serial bus address automatic increment is disabled. 36 — Bit [5] POWERSAVE_EN 1 = power save mode is enabled. 0 = power save mode is disabled. See section “Automatic Power Save Mode” for further details. 36 — Bits [4:3] CP_MODE Charge pump operation mode. 00 = OFF. 01 = forced to bypass mode (1x). 10 = forced to 1.5x mode; output voltage is boosted to 4.5V. 11 = automatic mode selection. 36 — Bit [2] PWM_PS_EN Enables PWM powersave operation. Significant power savings can be achieved, for example, during ramp instruction. 36 — Bits [1:0] CLK_DET_EN and INT_CLK_EN Program execution is clocked with internal 32.7 kHz clock or with external clock. Clocking is controlled with bits INT_CLK_EN and CLK_DET_EN in the following way: 00 = forced external clock (CLK pin). 01 = forced internal clock. 10 = automatic selection. 11 = internal clock. External clock can be used if a clock signal is present on CLK-pin. External clock frequency must be 32.7 kHz for correct operation. If a higher or a lower frequency is used, it will affect on the program execution engine operation speed. The detector block does not limit the maximum frequency. External clock status can be checked with read only bit EXT_CLK_USED in register address 3A, when the external clock detection is enabled (Bit [1] CLK_DET_EN = high). If external clock is not used in the application, CLK pin should be connected to GND to avoid oscillation on this pin and extra current consumption. 37 ENGINE1 PC Program counter starting value for program execution engine 1; A value from 0000000 to 1011111. The maximum value depends on program memory allocation between the three program execution engines. 38 ENGINE2 PC 38 — Bits [6:0] PC Program counter starting value for program execution engine 2; A value from 0000000 to 1011111. 39 ENGINE3 PC 39 — Bits [6:0] PC Program counter starting value for program execution engine 3; A value from 0000000 to 1011111. 3A STATUS/INTERRUPT 3A — Bit [7] LEDTEST_MEAS_DONE This bit indicates when the LED test is done, and the result is written to the LED TEST ADC register. Typically the conversion takes 2.7 milliseconds to complete. 1 = LED test done. 0 = LED test not done. 07 D2 CONTROL to 0E D9 CONTROL The control registers and control bits for D2 output to D9 output are similar to that given to D1, see the 06 – Bit [5] and 06 – Bits [4:0] sections. 16 D1 PWM This is the PWM duty cycle control for D1 output. D1 PWM register is effective during direct control operation - direct PWM control is active after power up by default. Note: serial bus address auto increment is not supported for register addresses from 16 to 1E. 16 — Bits [7:0] PWM These bits set the D1 output PWM as shown in the figure below. Note: if the temperature compensation is active, the maximum PWM duty cycle is 50% at +25°C. This is required to allow enough headroom for temperature compensation over the temperature range −40 °C to 90° C. LP5523 This bit is a read-only bit, and it is cleared (to “0”) automatically after a read operation. 3A — Bit [6] MASK_BUSY Mask bit for interrupts generated by STARTUP_BUSY or ENGINE_BUSY. 1 = Interrupt events will be masked i.e. no external interrupt will be generated from STARTUP_BUSY or ENGINE_BUSY event (default). 0 = External interrupt will be generated when STARTUP_BUSY or ENGINE_BUSY condition is no longer true. Reading the register 3A clears the status bits [5:4] and releases INT pin to high state. 3A — Bit [5] STARTUP_BUSY A status bit which indicates that the device is running the internal startup sequence. See Modes of Operation for details. 1 = internal startup sequence running. Note: STARTUP_BUSY = 1 always when CHIP_EN bit is "0". 0 = internal startup sequence completed. 3A — Bit [4] ENGINE_BUSY A status bit which indicates that a program execution engine is clearing internal registers. Serial bus master should not write or read program memory, or registers 00H, 37H to 39H or 4CH to 4EH, when this bit is set to "1". 1 = at least one of the engines is clearing internal registers. 0 = engine ready. 3A — Bit [3] EXT_CLK_USED 1 = external clock detected. 0 = external clock not detected. This bit is high when external clock signal on CLK pin is detected. CLK_DET_EN bit high in address 36 enables the clock detection. 3A — Bits [2:0] ENG1_INT, ENG2_INT, ENG3_INT 1 = interrupt set. 0 = interrupt unset/cleared. Interrupt bits for program execution engine 1, 2 and 3, respectively. These bits are set by END or INT instruction. Reading the interrupt bit clears the interrupt. 3B GPO The LP5523 has one General Purpose Output pin (GPO). Status of the pin can be controlled with this register. Also, INT pin can be configured to function as a GPO by setting the bit INT_CONF. When INT is configured to function as a GPO, output level is defined by the VDD voltage. 3B — Bit [2] INT_CONF 0 = INT pin is set to function as an interrupt pin (default). 1 = INT pin is configured to function as a GPO. 3B — Bit [1] GPO 0 = GPO pin state is low. 1 = GPO pin state is high. GPO pin is a digital CMOS output, and no pulldown resistor is needed. 3B — Bit [0] INT_GPO 0 = INT pin state is low (if INT_CONF = 1). 1 = INT pin state is high (if INT_CONF = 1). When INT pin’s GPO function is disabled, it operates as an open drain pin. INT signal is active low; i.e., when interrupt signal is sent, the pin is pulled to GND. External pullup resistor is needed for proper functionality. 3C VARIABLE 3C — Bits [7:0] VARIABLE These bits are used for storing a global 8-bit variable. Variable can be used to control program flow. 3D RESET 3D — Bits [7:0] RESET www.ti.com Writing 11111111 into this register resets the LP5523. Internal registers are reset to the default values. Reading RESET register returns 00000000. 3E TEMP ADC CONTROL 3E — Bit [7] TEMP_MEAS_BUSY 1 = temperature measurement active. 0 = temperature measurement done or not activated. 3E — Bit [2] EN_TEMP_SENSOR 1 = enables internal temperature sensor. Every time when EN_TEMP_SENSOR is written high a new measurement period is started. The length of the measurement period depends on temperature. At 25°C a measurement takes 20 milliseconds. Temperature can be read from register 3F. 0 = temp sensor disabled. 3E — Bit [1] CONTINUOUS _CONV This bit is effective when EN_TEMP_SENSOR = 1. 1 = continuous temperature measurement. Not active when the device is in power save. 0 = new temperature measurement period initiated during startup or after exit from power-save mode. 3E — Bit [0] SEL_EXT_TEMP 1 = temperature compensation source register addr 40H. 0 = temperature compensation source register addr 3FH. 3F TEMPERATURE READ 3F — Bits [7:0] TEMPERATURE These bits are used for storing an 8-bit temperature reading acquired from the internal temperature sensor. This register is a read-only register. Temperature reading is stored in 8-bit two's complement format — see the table below. TEMPERATURE READ bits Temperature interpretation (typ.) °C 11010111 −41 11011000 −40 ... ... 11111110 −2 11111111 −1 00000000 0 00000001 1 00000010 2 ... ... 01011000 88 01011001 89 40 TEMPERATURE WRITE 40 — Bits [7:0] TEMPERATURE These bits are used for storing an 8-bit temperature reading acquired from an external sensor, if such a sensor is used. Temperature reading is stored in 8-bit two's complement format, like in 3F TEMPERATURE READ register. Note: When writing temperature data outside the range of the temperature compensation: Values greater than 89°C will be set to 89°C; values less than −39°C will be set to −39°C. 41 LED TEST CONTROL LED test control register 41 — Bit [7] EN_LEDTEST_ADC Writing this bit high (1) fires single LED test conversion. LED test measurement cycle is 2.7 milliseconds. 41 — Bit [6] EN_LEDTEST_INT 28 LED_TEST_CTRL bits Measurement 00000 D1 00001 D2 00010 D3 00011 D4 00100 D5 00101 D6 00110 D7 00111 D8 01000 D9 01001 to 01110 Reserved 01111 VOUT 10000 VDD 10001 INT-pin voltage 10010 to 11111 N/A 46 ENGINE2 VARIABLE A 46 — Bits [7:0] VARIABLE FOR ENGINE2 These bits are used for Engine 2 local variable. Read-only register. 47 ENGINE3 VARIABLE A 47 — Bits [7:0] VARIABLE FOR ENGINE3 These bits are used for Engine 3 local variable. Read-only register. 48 MASTER FADER1 48 — Bits [7:0] MASTER_FADER An 8-bit register to control all the LED-drivers mapped to MASTER FADER1. Master fader allows the user to control dimming of multiple LEDS with a single serial bus write. This is a faster method to control the dimming of multiple LEDs compared to the dimming done with the PWM registers (address 16H to 1EH), which would need multiple writes. 49 MASTER FADER2 49 — Bits [7:0] MASTER_FADER An 8-bit register to control all the LED-drivers mapped to MASTER FADER2. See MASTER FADER1 description. 4A MASTER FADER3 4A — Bits [7:0] MASTER_FADER An 8-bit register to control all the LED-drivers mapped to MASTER FADER3. See MASTER FADER1 description. 4C ENG1 PROG START ADDR Program memory allocation for program execution engines is defined with PROG START ADDR registers. 4C — Bits [6:0] — ADDR Engine 1 program start address. 4D ENG2 PROG START ADDR 4D — Bits [6:0] — ADDR Engine 2 program start address. 4E ENG3 PROG START ADDR 4E — Bits [6:0] — ADDR Engine 3 program start address. 4F PROG MEM PAGE SELECT 4F — Bits [2:0] — PAGE_SEL These bits select the program memory page. The program memory is divided into six pages of 16 instructions; thus, the total amount of the program memory is 96 instructions. 70H ENG1 MAPPING MSB Valid engine 1-to-LED -mapping information can be read from ENG1 MAPPING register. 70H — Bit [7] GPO 1 = GPO pin is mapped to the program execution engine 1. 0 = GPO pin non-mapped to the program execution engine 1. 70H — Bit [0] D9 1 = D9 pin is mapped to the program execution engine 1. 0 = D9 pin non-mapped to the program execution engine 1. 71H ENG1 MAPPING LSB 71H — Bit [7] D8 1 = D8 pin is mapped to the program execution engine 1. 0 = D8 pin non-mapped to the program execution engine 1. 71H — Bit [6] D7 1 = D7 pin is mapped to the program execution engine 1. 0 = D7 pin non-mapped to the program execution engine 1. 42 LED TEST ADC 42 — Bits [7:0] LED_TEST_ADC This is used to store the LED test result. Read-only register. LED test ADC's least significant bit corresponds to 30 mV. The measured voltage V (typ.) is calculated as follows: V = (RESULT(DEC) x 0.03 - 1.478 V. For example, if the result is 10100110 = 166(DEC), the measured voltage is 3.50V (typ.). See the figure below. 30043618 FIGURE 13. LED Test Results vs. Measured Voltage 45 ENGINE1 VARIABLE A 45 — Bits [7:0] VARIABLE FOR ENGINE1 These bits are used for Engine 1 local variable. Read-only register. 29 www.ti.com LP5523 1 = interrupt signal will be sent to the INT pin when the LED test is accomplished. 0 = no interrupt signal will be sent to the INT pin when the LED test is accomplished. Interrupt can be cleared by reading STATUS/INTERRUPT register 3A. 41 — Bit [5] CONTINUOUS_CONV 1 = continuous LED test measurement. Not active in power-save mode. 0 = continuous conversion is disabled. 41 — Bits [4:0] LED__TEST_CTRL These bits are used for choosing the LED driver output to be measured. VDD , INT-pin and charge-pump output voltage can be measured, also. LP5523 requirements of the application at hand. Some applications need to be optimized for efficiency and others need to be optimized for minimum EMI, for example. 76H - Bits[7:6] THRESHOLD Threshold voltage (typ.) pre-setting. Bits set the threshold voltage at which the charge-pump gain changes from 1.5x to 1x. The threshold voltage is defined as the voltage difference between highest voltage output (D1 to D6) and input voltage VDD: VTHRESHOLD = VDD - MAX(voltage on D1 to D6). If VTHRESHOLD is larger than the set value (100 mV to 400 mV), the charge pump is in 1x mode. 00 = 400 mV 01 = 300 mV 10 = 200 mV 11 = 100 mV 71H — Bit [5] D6 1 = D6 pin is mapped to the program execution engine 1. 0 = D6 pin non-mapped to the program execution engine 1. 71H — Bit [4] D5 1 = D5 pin is mapped to the program execution engine 1. 0 = D5 pin non-mapped to the program execution engine 1. 71H — Bit [3] D4 1 = D4 pin is mapped to the program execution engine 1. 0 = D4 pin non-mapped to the program execution engine 1. 71H — Bit [2] D3 1 = D3 pin is mapped to the program execution engine 1. 0 = D3 pin non-mapped to the program execution engine 1. 71H — Bit [1] D2 1 = D2 pin is mapped to the program execution engine 1. 0 = D2 pin non-mapped to the program execution engine 1. 71H — Bit [0] D1 1 = D1 pin is mapped to the program execution engine 1. 0 = D1 pin non-mapped to the program execution engine 1. 72H ENG2 MAPPING MSB Valid engine 2-to-LED -mapping information can be read from ENG2 MAPPING register. 72H — Bit [7] GPO See description above for ENG1 MAPPING register. 72H — Bit [0] D9 See description above for ENG1 MAPPING register. 73H ENG2 MAPPING LSB 73H — Bit [7] D8 to Bit [0] D1 See description above for ENG1 MAPPING register. 74H ENG3 MAPPING MSB Valid engine 3-to-LED -mapping information can be read from ENG3 MAPPING register. 74H — Bit [7] GPO See description above for ENG1 MAPPING register. 74H — Bit [0] D9 See description above for ENG1 MAPPING register. 75H ENG3 MAPPING LSB 75H — Bit [7] D8 to Bit [0] D1 See description above for ENG1 MAPPING register. 76H GAIN_CHANGE_CTRL With hysteresis and timer bits the user can optimize the charge pump performance to better meet the www.ti.com Note: Values above are typical and should not be used as productspecification. Note: Writing to threshold [7:6] bits by the user overrides factory settings. Factory settings aren't user-accessible. 76H - Bit [5] ADAPTIVE_TRESH_EN 1 = Adaptive threshold enabled. 0 = Adaptive threshold disabled. Gain-change hysteresis prevents the mode from toggling back and forth (1x -> 1.5x -> 1x...) , which would cause ripple on VIN and LED flicker. When the adaptive threshold is enabled, the width of the hysteresis region depends on the choice of threshold bits (see above), saturation of the current sources, charge pump load current, PWM overlap and temperature. 76H - Bits [4:3] TIMER A forced mode change from 1.5x to 1x is attempted at the interval specified with these bits. Mode change is allowed if there is enough voltage over the LED drivers to ensure proper operation. Set FORCE_1x to "1" (see below) to activate this feature. 00 = 5ms 01 = 10 ms 10 = 50 ms 11 = infinite. The charge pump switches gain from 1x mode to 1.5x mode only. The gain reset back to 1x is enabled under certain conditions, for example in the powersave mode. 76H - Bit [2] FORCE_1x Activates forced mode change. In forced mode, charge pump mode change from 1.5x to 1x is attempted at the constant interval specified with the TIMER bits. 1 = forced mode changes enabled. 0 = forced mode changes disabled. 30 The LP5523 has three independent programmable execution engines. All the program execution engines have their own program memory block allocated by the user. Note that in order to access program memory the operation mode needs to be load program, at least for one of the three program exe- LP5523 LED Driver Instructions Bit [15] Bit [14] ramp (i) 0 prescale ramp (ii) 1 0 0 0 0 1 0 0 set_pwm (i) 0 1 0 0 0 0 0 0 set_pwm (ii) 1 0 0 0 0 1 0 0 0 1 1 0 0 0 wait 0 prescale 0 0 0 0 0 0 0 0 0 Bit [5] Bit [4] Bit [3] Bit [2] Bit [1] Bit [0] Inst. Bit [13] Bit [12] Bit [11] Bit [10] Bit [9] Bit [8] step time Bit [7] Bit [6] Bit [5] sign time Bit [4] Bit [3] Bit [2] Bit [1] Bit [0] # of increments 0 0 prescale sign step time # of increments PWM value PWM value (i) This opcode is used with numerical operands. (ii) This opcode is used with variables. LP5523 LED Mapping Instructions Bit [15] Bit [14] Bit [13] Bit [12] Bit [11] Bit [10] Bit [9] Bit [8] Bit [7] mux_ld_start 1 0 0 1 1 1 1 0 0 mux_map_start 1 0 0 1 1 1 0 0 0 SRAM address 0-95 mux_ld_end 1 0 0 1 1 1 0 0 1 SRAM address 0 - 95 mux_sel 1 0 0 1 1 1 0 1 0 mux_clr 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 mux_map_next 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 mux_map_prev 1 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 mux_ld_next 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 mux_ld_prev 1 0 0 1 1 1 0 1 1 1 0 0 0 0 0 1 mux_ld_addr 1 0 0 1 1 1 1 1 0 SRAM address 0-95 mux_map_addr 1 0 0 1 1 1 1 1 1 SRAM address 0-95 Inst. 31 Bit [6] SRAM address 0-95 LED select www.ti.com LP5523 cution engines. Program execution is clocked with a 32.7 kHz clock. This clock can be generated internally or external 32 kHz clock can be connected to CLK pin. Using external clock enables synchronization of LED timing to the external clock signal. Supported instruction set is listed in the tables below: Instruction Set LP5523 LP5523 Branch Instructions Inst. Bit [15] Bit [14] Bit [13] Bit [12] Bit [11] rst 0 0 0 0 0 branch (i) 1 0 1 loop count branch (ii) 1 0 0 0 Bit [10] 0 0 Bit [9] 0 Bit [8] 0 Bit [7] 0 Bit [6] 0 Bit [5] 0 Bit [4] 0 Bit [3] 0 Bit [2] 0 Bit [1] 0 Bit [0] 0 step number 1 1 step number loop count int 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 end 1 1 0 int reset 0 0 0 0 0 0 0 0 0 0 0 wait for trigger send a trigger trigger 1 1 1 ext. trig X X E3 E2 E1 ext. trig X E3 E2 E1 jne 1 0 0 0 1 0 0 Number of instructions to be skipped if the operation returns true variable 1 variable 2 jl 1 0 0 0 1 0 1 Number of instructions to be skipped if the operation returns true variable 1 variable 2 jge 1 0 0 0 1 1 0 Number of instructions to be skipped if the operation returns true variable 1 variable 2 je 1 0 0 0 1 1 1 Number of instructions to be skipped if the operation returns true variable 1 variable 2 X 0 X means do not care. (i) This opcode is used with numerical operands. (ii) This opcode is used with variables. LP5523 Data Transfer and Arithmetic Instructions Inst. Bit [15] Bit [14] Bit [13] Bit [12] Bit [11] Bit [10] Bit [9] Bit [8] Bit [7] Bit [6] Bit [5] Bit [4] Bit [3] ld 1 0 0 1 target variable 0 0 8-bit value add (i) 1 0 0 1 target variable 0 1 8-bit value add (ii) 1 0 0 1 target variable 1 1 sub (i) 1 0 0 1 target variable 1 0 sub (ii) 1 0 0 1 target variable 1 1 www.ti.com 32 0 0 0 0 Bit [2] variable 1 Bit [1] Bit [0] variable 2 8-bit value 0 0 0 1 variable 1 variable 2 RAMP This is the instruction useful for smoothly changing from one PWM value into another PWM value on the D1 to D9 outputs; in other words, generating ramps (with a negative or positive slope). The LP5523 allows programming very fast and very slow ramps. Ramp instruction generates a PWM ramp, using the effective PWM value as a starting value. At each ramp step the output is incremented/decremented by one unit, unless the number of increments is 0. Time span for one ramp step is defined with prescale -bit [14] and step time -bits [13:9]. Prescale = 0 sets 0.49 ms cycle time and prescale = 1 sets 15.6 ms cycle time; so the minimum time span for one step is 0.49 ms (prescale * step time span = 0.49ms x 1) and the maximum time span is 15.6 ms x 31 = 484ms/step. Number of increments value defines how many steps will be taken during one ramp instruction; increment maximum value is 255d, which corresponds increment from zero value to the maximum value. If PWM reaches minimum/maximum value (0/255) during the ramp instruction, ramp instruction will be executed to the end regardless of saturation. This enables Name prescale sign Value (d) Description 0 Divides master clock (32.7 kHz) by 16 = 2048 Hz -> 0.488 ms cycle time 1 Divides master clock (32.7 kHz) by 512 = 64 Hz -> 15.625 ms cycle time 0 Increase PWM output 1 Decrease PWM output step time (i) 1 - 31 One ramp increment done in (step time) x (prescale). # of increments (i) 0 - 255 The number of increment/decrement cycles. Note: Value 0 takes the same time as increment by 1, but it is the wait instruction. 0-3 One ramp increment done in (step time) x (prescale). Step time is loaded with the value (5 LSB bits) of the variable defined below. 0 = local variable A 1 = local variable B 2 = global variable C 3 = register address 3CH variable D value, or register address 42H value. The value of the variable should be from 00001b to 11111b (1d to 31d) for correct operation. 0-3 The number of increment/decrement cycles. Value is taken from variable defined below: 0 = local variable A 1 = local variable B 2 = global variable C 3 = register address 3CH variable D value, or register address 42H value. step time (ii) # of increments (ii) (i) Valid for numerical operands. (ii) Valid for variables. • • RAMP INSTRUCTION APPLICATION EXAMPLE Suppose that the LED dimming is controlled according to the linear scale and effective PWM value at the moment t=0 is 140d (~55%,), as shown in the figure below, and we want to reach a PWM value of 148d (~58%) at the moment t = 1.5s. The parameters for the RAMP instruction will be: • • 33 Prescale = 1 → 15.625 ms cycle time Step time = 12 → step time span will be 12*15.625 ms = 187.5 ms Sign = 0 → increase PWM output # of increments = 8 → take 8 steps www.ti.com LP5523 ramp instruction to be used as a combined ramp & wait instruction. Note: Ramp instruction is wait instruction when the increment bits [7:0] are set to zero. Programming ramps with variables is very similar to programming ramps with numerical operands. The only difference is that step time and number of increments are captured from variable registers, when the instruction execution is started. If the variables are updated after starting the instruction execution, it will have no effect on instruction execution. Again, at each ramp step the output is incremented/decremented by one unless increment is 0. Time span for one step is defined with prescale and step time bits. Step time is defined with variable A, B, C or D. Variables A, B and C are set with ldinstruction. Variable D is a global variable and can be set by writing the VARIABLE register (address 3C). LED TEST ADC register (address 42) can be used as a source for the variable D, as well. Note: Variable A is the only local variable which can be read throughout the serial bus. Of course, the variable stored in 3CH can be read (and written), too. Setting register 06H, 07H, or 08H bit LOG_EN high/low sets logarithmic (1) or linear ramp (0). By using the logarithmic ramp setting the visual effect appears like a linear ramp, because the human eye behaves in a logarithmic way. LED Driver Instructions LP5523 30043619 FIGURE 14. Example of Ramp Instruction www.ti.com 34 Name PWM value (i) variable (ii) Value (d) 0 - 255 0-3 WAIT When a wait instruction is executed, the engine is set in wait status, and the PWM values on the outputs are frozen. Name Description PWM output duty cycle 0 - 100% Value (d) Description 0 Divide master clock (32.7 kHz) by 16 which means 0.488 ms cycle time. 1 Divide master clock (32 768 Hz) by 512 which means 15.625 ms cycle time. prescale 0 = local variable A 1 = local variable B 2 = global variable C 3 = register address 3CH variable D value, or register address 42H value. time 35 1 - 31 Total wait time will be = (time) x (prescale). Maximum 484 ms, minimum 0.488 ms. www.ti.com LP5523 (i) Valid for numerical operands. (ii) Valid for variables. SET_PWM This instruction is used for setting the PWM value on the outputs D1 to D9 without any ramps. Set PWM output value from 0 to 255 with PWM value bits [7:0]. Instruction execution takes sixteen 32 kHz clock cycles (=488 µs). LP5523 this moment, after mux_map_next instruction call the 3rd row will be active. If the mapping table end address is reached, activation will roll to the mapping table start address next time when the mux_map_next instruction is called. Engine will not push a new PWM value to the LED driver output before set_pwm or ramp instruction is executed. If the mapping has been released from an LED, the value in the PWM register will still control the LED brightness. If the mapping is released from the GPO pin, serial bus control takes over the GPO state. MUX_LD_NEXT Similar than the mux_map_next instruction, but only the index pointer will be set to point to the next row i.e. no mapping will be set and the engine-to-LED-driver connection will not be updated. MUX_MAP_PREV This instruction sets the previous row active in the mapping table each time it is called. For example, if the 3rd row is active at this moment, after mux_map_prev instruction call the 2nd row will be active. If the mapping table start address is reached, activation will roll to the mapping table end address next time the mux_map_prev instruction is called. Engine will not push a new PWM value to the LED driver output before set_pwm or ramp instruction is executed. If the mapping has been released from an LED, the value in the PWM register will still control the LED brightness. If the mapping is released from the GPO pin, serial bus control takes over the GPO state. MUX_LD_PREV Similar than the mux_map_prev instruction, but only the index pointer will be set to point to the previous row i.e. no mapping will be set and the engine-to-LED-driver connection will not be updated. MUX_MAP_ADDR Mux_map_addr sets the index pointer to point the mapping table row defined by bits [6:0] and sets the row active. Engine will not push a new PWM value to the LED driver output before set_pwm or ramp instruction is executed. If the mapping has been released from an LED, the value in the PWM register will still control the LED brightness. If the mapping is released from the GPO pin, serial bus control takes over the GPO state. LED Mapping Instructions These instructions define the engine-to-LED mapping. The mapping information is stored in a table, which is stored in the SRAM (program memory of the LP5523). LP5523 has three program execution engines which can be mapped to 9 LED drivers or to one GPO pin. One engine can control one or multiple LED drivers. There are totally eleven instructions for the engine-to-LED-driver control: mux_ld_start, mux_map_start, mux_ld_end, mux_sel, mux_clr, mux_map_next, mux_map_prev, mux_ld_next, mux_ld_prev, mux_ld_addr and mux_map_addr. MUX_LD_START; MUX_LD_END Mux_ld_start and mux_ld_end define the mapping table location in the memory. Name SRAM address Value (d) 0-95 Description Mapping table start/end address MUX_MAP_START Mux_map_start defines the mapping table start address in the memory, and the first row of the table will be activated (mapped) at the same time. Name SRAM address Value (d) 0-95 Description Mapping table start address MUX_SEL With mux_sel instruction one, and only one, LED driver (or the GPO-pin) can be connected to a program execution engine. Connecting multiple LEDs to one engine is done with the mapping table. After the mapping has been released from an LED, PWM register value will still control the LED brightness. If the mapping is released from the GPO pin, serial bus control takes over the GPO state. Name Value (d) Description 0 = no drivers selected 1 = LED1 selected 2 = LED2 selected LED select 0-16 Name ... SRAM address 9 = LED9 selected 16 = GPO 0-95 Description Any SRAM address mapping data. containing MUX_LD_ADDR Mux_ld_addr sets the index pointer to point the mapping table row defined by bits [6:0], but the row will not be set active. MUX_CLR Mux_clr clears engine-to-driver mapping. After the mapping has been released from an LED, the PWM register value will still control the LED brightness. If the mapping is released from the GPO pin, serial bus control takes over the GPO state. MUX_MAP_NEXT This instruction sets the next row active in the mapping table each time it is called. For example, if the 2nd row is active at www.ti.com Value (d) Name SRAM address 36 Value (d) 0-95 Description Any SRAM address mapping data. containing BRANCH Branch instruction is mainly indented for repeating a portion of the program code several times. Branch instruction loads Name Accepted Value (d) Description loop count (i) 0-63 The number of loops to be done. “0” means an infinite loop. step number 0-95 The step number to be loaded to program counter. Selects the variable for loop count value. Loop count is loaded with the value of the variable defined below. loop count (ii) 0 = local variable A 0-3 1 = local variable B 2 = global variable C 3 = register address 3CH variable D value, or register address 42H value (i) Valid for numerical operands. (ii) Valid for variables. by reading interrupt bits in STATUS/INTERRUPT register at address 3A. INT Send interrupt to processor by pulling the INT pin down and setting corresponding status bit high. Interrupt can be cleared Name int reset Value Description 0 No interrupt will be sent. PWM register values will remain intact. 1 Reset program counter value to “0” and send interrupt to processor by pulling the INT pin down and setting corresponding status bit high to notify that program has ended. PWM register values will remain intact. Interrupt can be cleared by reading interrupt bits in STATUS/INTERRUPT register at address 3A. 0 Reset program counter value to “0” and hold. PWM register values will remain intact. 1 Reset program counter value to “0” and hold. PWM register values of the non-mapped drivers will remain. PWM register values of the mapped drivers will be set to "0000 0000". On completion of int instruction with this bit set to "1" the master fader registers are set to zero as follows: Program execution engine 1 sets MASTER FADER 1 (48H) to zero, engine 2 sets MASTER FADER 2 (49H) to zero and engine 3 sets MASTER FADER 3 (4AH) to zero. RST Rst instruction resets Program Counter register (address 37H, 38H, or 39H) and continues executing the program from the program start address defined in 4C-4E. Instruction takes sixteen 32 kHz clock cycles. Note that default value for all program memory registers is 0000H, which is the rst instruction. END End program execution. Instruction takes sixteen 32 kHz clock cycles. 37 www.ti.com LP5523 step number value to program counter. Loop count parameter defines how many times the instructions inside the loop are repeated. The LP5523 supports nested looping, i.e., loop inside loop. The number of nested loops is not limited. Instruction takes sixteen 32 kHz clock cycles. Branch Instructions LP5523 External trigger input signal must stay low for at least two 32 kHz clock cycles to be executed. Trigger output signal is three 32 kHz clock cycles long. External trigger signal is active low, i.e., when trigger is sent/received the pin is pulled to GND. Send external trigger is masked; i.e., the device which has sent the trigger will not recognize it. If send and wait external trigger are used on the same instruction, the send external trigger is executed first, then the wait external trigger. TRIGGER Wait or send triggers can be used to, for example, synchronize operation between the program execution engines. Send trigger instruction takes sixteen 32 kHz clock cycles and wait for trigger takes at least sixteen 32 kHz clock cycles. The receiving engine stores the triggers which have been sent. Received triggers are cleared by wait for trigger instruction. Wait for trigger instruction is executed until all the defined triggers have been received. (Note: several triggers can be defined in the same instruction.) Name Value (d) Description wait for trigger 0 - 31 Wait for trigger from the engine(s). Several triggers can be defined in the same instruction. Bit [7] engages engine 1, bit [8] engine 2, bit [9] engine 3 and bit [12] is for external trigger I/O. Bits [10] and [11] are not in use. send a trigger 0 - 31 Send a trigger to the engine(s). Several triggers can be defined in the same instruction. Bit [1] engages engine 1, bit [2] engine 2, bit [3] engine 3 and bit [6] is for external trigger I/O. Bits [4] and [5] are not in use. The LP5523 instruction set includes the following conditional jump instructions: jne (jump if not equal); jge (jump if greater or equal); jl (jump if less); je (jump if equal). If the condition is true, a certain number of instructions will be skipped (i.e., the Name number of instructions to be skipped if the operation returns true. variable 1 variable 2 www.ti.com Value (d) program jumps forward to a location relative to the present location). If condition is false, the next instruction will be executed. Description 0 - 31 The number of instructions to be skipped when the statement is true. Note: value 0 means redundant code. 0-3 Defines the variable to be used in the test: 0 = local variable A 1 = local variable B 2 = global variable C 3 = register address 3CH variable, or register address 42H value. 0-3 Defines the variable to be used in the test: 0 = local variable A 1 = local variable B 2 = global variable C 3 = register address 3CH variable, or register address 42H value. 38 LD This instruction is used to assign a value into a variable; the previous value in that variable is overwritten. Each of the enName target variable 8-bit value Value (d) Description 0-2 0 = variable A 1 = variable B 2 = variable C 0 - 255 Variable value D) to the value of the variable 2 (A, B, C or D) and stores the result in the register of variable A, B or C. Variables overflow from 255 to 0. ADD Operator either adds 8-bit value to the current value of the target variable, or adds the value of the variable 1 (A, B, C or Name Value (d) Description 8-bit value (i) 0 - 255 target variable 0-2 0 = variable A 1 = variable B 2 = variable C 0-3 0 = local variable A 1 = local variable B 2 = global variable C 3 = register address 3CH variable, or register address 42H value. 0-3 0 = local variable A 1 = local variable B 2 = global variable C 3 = register address 3CH variable, or register address 42H value. variable 1 (ii) variable 2 (ii) The value to be added. i) Valid for numerical operands. (ii) Valid for variables. able 2 (A, B, C or D) from the value of the variable 1 (A, B, C or D) and stores the result in the register of target variable (A, B or C). Variables overflow from 0 to 255. SUB SUB Operator either subtracts 8-bit value from the current value of the target variable, or subtracts the value of the variName Value (d) Description 8-bit value (i) 0 - 255 target variable 0-2 0 = variable A 1 = variable B 2 = variable C 0-3 0 = local variable A 1 = local variable B 2 = global variable C 3 = register address 3CH variable, or register address 42H value. 0-3 0 = local variable A 1 = local variable B 2 = global variable C 3 = register address 3CH variable, or register address 42H value. variable 1 (ii) variable 2 (ii) The value to be added. i) Valid for numerical operands. (ii) Valid for variables. 39 www.ti.com LP5523 gines have two local variables, called A and B. The variable C is a global variable. Arithmetic Instructions LP5523 requires PWM activity is executed, a fast internal-startup sequence will be started automatically. Automatic Power-Save Mode Automatic power-save mode is enabled when POWERSAVE_EN bit in register address 36H is “1". Almost all analog blocks are powered down in power-save if an external clock signal is used. Only the charge-pump protection circuits remain active. However, if the internal clock has been selected, only charge pump and LED drivers are disabled during the power save; the digital part of the LED controller needs to stay active. In both cases the charge pump enters the weak 1x mode. In this mode the charge pump utilizes a passive current limited keep-alive switch, which keeps the output voltage at the battery level. During the program execution LP5523 can enter power save if there is no PWM activity in any of the LED driver outputs. To prevent short power-save sequences during program execution, LP5523 has an instruction look-ahead filter. During program execution engine 1, engine 2 and engine 3 instructions are constantly analyzed, and if there are time intervals of more than 50 ms in length with no PWM activity on LED driver outputs, the device will enter power save. In power-save mode program execution continues uninterrupted. When an instruction that PWM Power-Save Mode PWM cycle power-save mode is enabled when register 36 bit [2] PWM_PS_EN is set to “1”. In PWM power-save mode analog blocks are powered down during the "down time" of the PWM cycle. Which blocks are powered down depends whether the external or internal clock is used. While the Automatic Power-Save Mode (see above) saves energy when there is no PWM activity at all, the PWM Power-Save mode saves energy during PWM cycles. Like the Automatic PowerSave Mode, PWM Power-Save Mode also works during program execution. Figure 15 shows the principle of the PWM power-save technique. An LED on D9 output is driven at 50% PWM, 5mA current (top waveform). After PWM Power-save enable, the LED-current remains the same, but the LP5523 input current drops down to ~50 µA level when the LED is OFF, or to ~200 µA level when the charge-pump-powered output(s) are used. 30043654 FIGURE 15. PWM Power-save Principle. External Clock, VDD = 3.6V www.ti.com 40 The LP5523 requires 4 external capacitors for proper operation. Surface-mount multi-layer ceramic capacitors are recommended. Tantalum and aluminium capacitors are not recommended because of their high ESR. For the flying capacitors (C1 and C2) multi-layer ceramic capacitors should always be used. These capacitors are small, inexpensive and have very low equivalent series resistance (ESR < 20 mΩ typ.). Ceramic capacitors with X7R or X5R temperature characteristic are preferred for use with the LP5523. These capacitors have tight capacitance tolerance (as good as ±10%) and hold their value over temperature (X7R: ±15% over −55° C to 125°C; X5R: ±15% over −55°C to 85°C). Capacitors with Y5V or Z5U temperature characteristic are generally not recommended for use with the LP5523. Capacitors with these temperature characteristics typically have wide capacitance tolerance (+80%, −20%) and vary significantly over temperature (Y5V: +22%, −82% over −30°C to +85°C range; Z5U: +22%, −56% over +10°C to +85°C range). Under some con- Recommended External Components Model Type Vendor Voltage Rating Package Size 1 µF for COUT and CIN C1005X5R1A105K Ceramic X5R TDK 10V 0402 LMK105BJ105KV-F Ceramic X5R Taiyo Yuden 10V 0402 ECJ0EB1A105M Ceramic X5R Panasonic 10V 0402 ECJUVBPA105M Ceramic X5R, array Panasonic of two 10V 0504 C1005X5R1A474K Ceramic X5R TDK 10V 0402 LMK105BJ474KV-F Ceramic X5R Taiyo Yuden 10V 0402 ECJ0EB0J474K Ceramic X5R Panasonic 6.3V 0402 470 nF for C1 and C2 LEDs User defined. Note that D7, D8 and D9 outputs are powered from VDD when specifying the LEDs. 41 www.ti.com LP5523 ditions, a nominal 1 μF Y5V or Z5U capacitor could have a capacitance of only 0.1 μF. Such detrimental deviation is likely to cause Y5V and Z5U capacitors to fail to meet the minimum capacitance requirements of the LP5523. For proper operation it is necessary to have at least 0.24 µF of effective capacitance for each of the flying capacitors under all operating conditions. The output capacitor COUT directly affects the magnitude of the output ripple voltage. In general, the higher the value of COUT, the lower the output ripples magnitude. For proper operation it is recommended to have at least 0.50 µF of effective capacitance for CIN and COUT under all operating conditions. The voltage rating of all four capacitors should be 6.3V; 10V is recommended. Recommended External Components below lists recommended external components from some leading ceramic capacitor manufacturers. It is strongly recommended that the LP5523 circuit be thoroughly evaluated early in the design-in process with the mass-production capacitors of choice. This will help ensure that any variability in capacitance does not negatively impact circuit performance. Recommended External Components LP5523 Typical Applications 30043622 FIGURE 16. Typical Application Circuits The LP5523 enables up to four parallel devices together, which can drive up to 12 RGB LEDs or 36 single LEDs. This diagram shows the connections for two LP5523 devices for six RGB LEDs. Note that D7, D8 and D9 outputs are used for the red LEDs. The SCL and SDA lines should each have a pullup resistor placed somewhere on the line (R3 and R4; The www.ti.com pullup resistors are normally located on the bus master.). In typical applications values of 1.8k to 4.7k are used, depending on the bus capacitance, I/O voltage and the desired communication speed. INT and TRIG are open-drain pins, so they need pullup resistors. Typical values for R1 and R2 are from 120k to 180k for two devices. 42 LP5523 30043604 FIGURE 17. Haptic Feedback Application Figure 17 depicts an example schematic for LP5523 driving a vibra motor. A vibra motor can be used for haptic feedback with touch screens and also for normal vibra operation (call indication etc.). Battery-powered D8 and D9 outputs are used for controlling the H-Driver (Microchip TC442x-series or equivalent), which drives the vibra motor. (The remaining outputs D1 to D7 can be used for LED driving, of course.) With H-Driver the rotation direction of the vibra motor can be changed. For vibra operation user can load several programs to the LP5523 program memory in order to get interesting vibration effects, with changing frequency, “ramps” , etc. If the application processor has controls for a vibra motor they can be connected to H-Driver INA and INB as shown in Figure 17. In this case the vibra can be controlled directly with application processor and also with LP5523. If application processor control is not needed, then the 100 kΩ resistors should be connected to GND. 43 www.ti.com LP5523 30043651 FIGURE 18. Control Waveform A simple waveform for H-driver control is shown in Figure 18. At first the motor rotates in CW direction for 30 ms, following a rotation of 30 ms in CCW direction. The sequence is started when the TRIG signal is pulled down (active low signal). the TRIG signal is received from the touch screen controller. After the sequence is executed, the LP5523 will wait for another TRIG signal to start the sequence again. TRIG www.ti.com signal timing is not critical; it does not have to be pulled down for the whole sequence duration like in the example. For call indication, etc. purposes the program can be changed; for example, rotation times can be adjusted to get desired haptic reaction. Direct control of D8 and D9 output is also possible through the control registers, if programming is not desired. 44 LP5523 Physical Dimensions inches (millimeters) unless otherwise noted The dimension for X1, X2 and X3 are as given: — X1 = 2.27 mm ±0.03 mm — X2 = 2.27 mm ±0.03 mm — X3 = 0.60 mm ±0.075 mm NS Package Number TMD25LLA 25-bump micro SMD See National Semiconductor Application Note 1112 Micro SMD Wafer Level Chip Scale Package for PCB design and assembly instructions. 45 www.ti.com LP5523 9-Output Programmable LED Driver Notes www.ti.com IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed. TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third-party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of TI information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation. Information of third parties may be subject to additional restrictions. Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. TI products are not authorized for use in safety-critical applications (such as life support) where a failure of the TI product would reasonably be expected to cause severe personal injury or death, unless officers of the parties have executed an agreement specifically governing such use. Buyers represent that they have all necessary expertise in the safety and regulatory ramifications of their applications, and acknowledge and agree that they are solely responsible for all legal, regulatory and safety-related requirements concerning their products and any use of TI products in such safety-critical applications, notwithstanding any applications-related information or support that may be provided by TI. Further, Buyers must fully indemnify TI and its representatives against any damages arising out of the use of TI products in such safety-critical applications. TI products are neither designed nor intended for use in military/aerospace applications or environments unless the TI products are specifically designated by TI as military-grade or "enhanced plastic." Only products designated by TI as military-grade meet military specifications. Buyers acknowledge and agree that any such use of TI products which TI has not designated as military-grade is solely at the Buyer's risk, and that they are solely responsible for compliance with all legal and regulatory requirements in connection with such use. TI products are neither designed nor intended for use in automotive applications or environments unless the specific TI products are designated by TI as compliant with ISO/TS 16949 requirements. Buyers acknowledge and agree that, if they use any non-designated products in automotive applications, TI will not be responsible for any failure to meet such requirements. Following are URLs where you can obtain information on other Texas Instruments products and application solutions: Products Applications Audio www.ti.com/audio Automotive and Transportation www.ti.com/automotive Amplifiers amplifier.ti.com Communications and Telecom www.ti.com/communications Data Converters dataconverter.ti.com Computers and Peripherals www.ti.com/computers DLP® Products www.dlp.com Consumer Electronics www.ti.com/consumer-apps DSP dsp.ti.com Energy and Lighting www.ti.com/energy Clocks and Timers www.ti.com/clocks Industrial www.ti.com/industrial Interface interface.ti.com Medical www.ti.com/medical Logic logic.ti.com Security www.ti.com/security Power Mgmt power.ti.com Space, Avionics and Defense www.ti.com/space-avionics-defense Microcontrollers microcontroller.ti.com Video and Imaging www.ti.com/video RFID www.ti-rfid.com OMAP Mobile Processors www.ti.com/omap Wireless Connectivity www.ti.com/wirelessconnectivity TI E2E Community Home Page e2e.ti.com Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265 Copyright © 2012, Texas Instruments Incorporated