Atmel LED Drivers MSL2041/MSL2042 Low-Cost, Simple 4-String LED Drivers with External Current Sink MOSFETs, 5000:1 Dimming Range and Per String PWM Input Preliminary Datasheet Description The MSL2041 and MSL2042 compact, high-power LED controllers use external current control MOSFETs to sink up to 1A per string, with string current matching of ±0.5%. The MSL2041/2 drive four parallel strings of LEDs with fault detection and management of open circuit and short circuit LEDs. The MSL2041 features four PWM inputs that allow independent frequency, dimming and phasing of each string. The MSL2042 has a single PWM input for frequency and dimming control of all four strings, and automatically phase shifts the string drive signals. An external current sense resistor for each string sets full-scale LED current and is adjustable for all strings equally with an internal 8-bit DAC. The MSL2041/2 adaptively control up to two DC-DC or off-line converters that power the LEDs using Atmel's proprietary efficiency optimizer. The efficiency optimizer minimizes power use while maintaining LED current accuracy. Cascade multiple MSL2041/2s to automatically negotiate the optimum power supply voltage when driving more than four strings from a single power supply. The MSL2041/2 feature fault control for open-circuit LED strings, LED short-circuits and device over-temperature conditions. When an open-circuit or short-circuit condition is detected, the MSL2041/2 turn off the faulty string and pull the open-drain fault output low. The MSL2041/2 operate independently with PWM LED dimming control from an applied signal, or are controlled by an external microcontroller or FPGA through the I2C serial interface. The serial interface allows optional control and monitoring of the various fault detection and efficiency optimizer parameters. The MSL2041/2 are available in the 28 pin, 5 x 5mm, TQFN package, and operate over the -40°C to +85°C temperature range. Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 Features Drives Four Parallel High Power LED Strings Greater than 1A LED String Current with External N-Channel MOSFETS Operates Stand-Alone with PWM Input(s) Controlled Dimming Four PWM Inputs Allow Individual Frequency, Brightness and Phase Control of each LED String (MSL2041) One PWM Input Controls the Frequency and Brightness of the Automatically Phase Shifted Strings (MSL2042) 8-bit Adaptive Optimization of String Power Supply for Maximum Efficiency Multiple MSL2041/2s Share a String Supply and Automatically Negotiate the Optimum Supply Voltage ±0.5% Current Matching Between Strings String Open-Circuit and LED Short-Circuit Fault Detection and Protection External MOSFETs Offer Flexibility of LEDs Used in Each String for high current and/or voltage Dimming Control and System/Fault Monitoring via I2C Serial Interface -40°C To +85°C Operating Temperature Range Typical Applications General and architectural lamps Street-Lighting Post-Regulated or Offline Powered LED Strings High CRI LED fixtures Down lights and recessed lights LCD-TVs PC Monitors Industrial Displays PAR lamps Ordering Information Note: Ordering code PWM Inputs Auto-phase delay Package(1) MSL2041AU 4 No 5 x 5mm 28-pin TQFN MSL2042AU 1 Yes 5 x 5mm 28-pin TQFN 1. Lead-Free, Halogen-Free, RoHS Compliant Package MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 2 Application Circuit VOUT LED STRING POWER SUPPLY FB UP TO 4 STRINGS PER DEVICE RD0 1N4148 D0 FBOn FROM FBOn OF NEXT DEVICE (OPTIONAL) PWM0 PWM1 PWM2 PWM3 PWM0 PWM1 PWM2 PWM3 + 12V FBIn MSL2041 LED DRIVER 1μF D3 G3 S3 VCC VDD 2 2.2μF 2.2μF GND RS0 0.715 RD3 VIN - G0 S0 IC SERIAL INTERFACE μC RS3 0.715 USE OF I2C SERIAL INTERFACE IS OPTIONAL MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 3 Table Of Contents Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Typical Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Application Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Table Of Contents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Typical Operating Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4. Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5. Pinout and Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1 5.2 Pinout – MSL2041 and MSL2042 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Pin Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6. Typical Application Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7. Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 8. 18 18 19 20 21 23 24 26 Register Map Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 8.1 8.2 9. Setting the Default LED String Current with the FET source Resistor RS . . . . . . . . . . . . . . . . . . . . . LED String Fault Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Over Temperature Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Efficiency Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connecting the Efficiency Optimizer to an LED String Power Supply and Selecting Resistors . . . . Using Multiple Efficiency Optimizers to Control a Common Power Supply. . . . . . . . . . . . . . . . . . . . Choosing the Drain Resistor RD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Direct PWM Control of the LED Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Register Power-Up Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 I²C/SMBus Serial Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 I2C Bus Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Bit Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C START and STOP Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Acknowledge Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Slave Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Message Format for Writing to the MSL2041/42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Message Format for Reading from the MSL2041/42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Message Format for Broadcast Writing to Multiple devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 38 38 38 39 39 40 40 10. Packaging Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 11. Datasheet Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 4 1. Absolute Maximum Ratings Voltage with respect to AGND AVIN, PVIN, EN -0.3V to +16V VCC, PWM0, PWM1, PWM2, PWM3, SDA, SCL, CGND -0.3V to +5.5V VDD, CVDD -0.3V to +2.75V G0 - G3 -0.3V to VIN+0.3V S0 - S3 -0.3V to VDD+0.3V D0 - D3 -0.3V to +24V FBI1, FBI2, FBO1, FBO2, FLTB -0.3V to VCC+0.3V Current (into pin) VIN 50mA GND 500mA D0 - D3 1mA G0 - G3 VIN All other pins 20mA Continuous Power Dissipation at 70°C 28-Pin 5mm x 5mm TQFN (derate 36.3mW/°C above TA = +70°C) Ambient Operating Temperature Range Junction Temperature Storage Temperature Range Lead Soldering Temperature, 10s 2014mW -40°C to +85°C +125°C -65°C to +125°C +300°C MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 5 2. Electrical Characteristics VIN = 12V, -40°C ≤TA ≤ 85°C, Typical Operating Circuit, unless otherwise noted. Typical values at TA = +25°C. Parameter Symbol Conditions Min. Typ. Max. Unit 10.8 12.0 13.2 V DC Electrical Characteristics VIN Operating Supply Voltage VIN Operating Supply Current LEDs on at PWM = 100%, serial interface idle 22.5 31.5 mA VIN Sleep Supply Current I2C serial interface idle, SLEEP = 1 2.9 4.2 mA VIN Shutdown Supply Current EN = 0, all digital inputs = VDD or GND 0.1 2 μA 2.5 2.75 V VDD Regulation Voltage 2.25 PWM0 - PWM3, SCL, SDA Input High Voltage 0.7VVDD V PWM0 - PWM3, SCL, SDA Input Low Voltage 0.3VVDD EN Input High Voltage 1.9 V EN Input Low Voltage 1.0 EN Input Hysteresis 150 SDA, FLTB Output Low Voltage V Sinking 6mA V mV 0.5 V Open Circuit String Fault Detect Voltage OCREF 4.25 5.5 6.25 V Short Circuit String Fault Detect Voltage SCREF 5.4 5.9 6.5 V D0 - D3 Leakage Current Voltage under 9V 0.1 Voltage between 9V to 16V G0 - G3 Maximum Gate Drive Voltage 5 8.8 9.6 10.2 A V G0 - G3 Gate Drive Current PWMn = VDD; Sn = GND; Gn = GND 109 mA G0 - G3 Gate Sink Current PWMn = GND; Gn = 9.6V -18 mA S0 - S3 Current Sense Regulator Voltage ISTR0 = 0xFF; TA = 25°C 475 ISTR0 = 0xFF; TA = 85°C 460 ISTR0 = 0x7F; TA = 25°C 245.5 ISTR0 = 0x7F; TA = 85°C 235 502 525 540 250 257.5 mV 265 ISTR0 = 0x7F; TA = 25°C 0.50 ±2.2 Voltage Matching (Note 8) ISTR0 = 0x7F; TA = -40°C to +85°C 0.75 ±3.2 Thermal Shutdown Temperature Temperature rising 135 °C FBIn to FBOn Current Transfer Error FBIn = 100A ±2 % S0 - S3 String-to-String Current Sense MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 % 6 Parameter Symbol Conditions Min. FBOn Current Step-Size Typ. Max. A 1.1 FBOn Feedback Output Current Maximum OV VFBOn 3.5V Unit A 210 AC Electrical Characteristics PWM Input Frequency fPWM PWM Duty Cycle (7) 0 50,000 Hz (7) 0 100 % Bus timeout disabled(1) 0 1,000 kHz I²C Switching Characteristics SCL Clock Frequency 1/tSCL STOP to START Condition Bus Free Time tBUF 0.5 µs Repeated START condition Hold Time tHD:STA 0.26 µs Repeated START condition Setup Time tSU:STA 0.26 µs STOP Condition Setup Time tSU:STOP 0.26 µs SDA Data Hold Time tHD:DAT 5 ns SDA Data Valid Acknowledge Time tVD:ACK (2) 0.05 0.55 µs SDA Data Valid Time tVD:DAT (3) 0.05 0.55 µs SDA Data Set-Up Time tSU:DAT 100 ns SCL Clock Low Period tLOW 0.5 µs SCL Clock High Period tHIGH 0.26 µs SDA, SCL Fall Time tF SDA, SCL Rise Time tR SDA, SCL Input Suppression Filter Period tSP Notes: 1. 2. 3. 4. 5. 6. 7. 8. (4) (5) , (6) 120 ns 120 ns 50 ns Minimum SCL clock frequency is limited by the bus timeout feature, which resets the serial bus interface when either SDA or SCL is held low for tTIMEOUT. SDA Data Valid Acknowledge Time is SCL LOW to SDA (out) LOW acknowledge time. SDA Data Valid Time (tSU:DAT) = minimum SDA output data-valid time following SCL LOW transition. A master device must internally provide an SDA hold time of at least 300ns to ensure an SCL low state. The maximum SDA and SCL rise times is 300ns. The maximum SDA fall time is 250ns. This allows series protection resistors to be connected between SDA and SCL inputs and the SDA/SCL bus lines without exceeding the maximum allowable rise time. MSL2041/2 include input filters on SDA and SCL that suppress noise less than 50ns. Parameter is guaranteed by design and not production tested. String to string matching is defined as the percentage deviation from the average string current sense voltage across strings on a part. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 7 3. Typical Operating Characteristics Figure 3-1. MSL2042 LED String Cathode Voltages. The above scope photo shows the input PWM signal (top trace) and the four Drain signals D0 - D3. D0 follows the input PWM directly, while D1 - D3 show progressive phase delays of ¼ the PWM cycle per string. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 8 Figure 3-2. LED Short Circuit behavior. The above scope photo shows the string power supply (top trace, offset = 30V), string Drain signals D0 and D1, and the fault output FLTB during an LED short circuit event. String Zero (CH 2) experiences a short circuit (three LEDS shorted) at the left side of the photo. After the short circuit verification time the string zero drive signal ceases and FLTB pulls low. D1 (CH 4) shows that string one is unaffected. Figure 3-3. Current Foldback Behavior. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 9 Figure 3-4. String Open Circuit behavior. The above scope photo shows the string power supply (top trace, offset = 30V), string MOSFET drain signals D0 and D1, and the fault output FLTB during a string open circuit event. The open circuit occurs on string zero when D0 (CH 2) stops switching. The Efficiency Optimizer output tries to bring the string back into regulation by raising the string power supply voltage (VLED trace, CH 1). When VLED reaches its maximum value and the string current is still not regulating, the fault is verified, FLTB (CH 3) pulls low, and string zero is no longer monitored by the EO. A new calibration cycle now occurs, lowering the supply voltage again. The effects of the supply changes are seen on the drain of string one (CH 4), which continues operating throughout. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 10 Figure 3-5. FET Drain current vs. Drain voltage. Figure 3-6. Turn-On propagation delay. Trace 1 is the PWM input signal and trace 2 is the external current sink MOSFET drain voltage. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 11 Figure 3-7. Turn-Off propagation delay. Trace 1 is the PWM input signal and trace 2 is the external current sink MOSFET drain voltage. Figure 3-8. Typical narrow pulse behavior (Auto-recalibration disabled). MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 12 Trace 1 in PWM input signal, trace 2 is the LED current, trace 3 is the external current sink MOSFET gate voltage, and trace 4 is the current sense resistor input Sn. 4. Block Diagram Figure 4-1. MSL2041/MSL2042 block diagram. FBO1 FBI1 VIN EN FBO2 FBI2 VCC = 5V VCC RD0 D0 VDD = 2.5V VDD CVDD + - SCL I2C/SMBus INTERFACE (USE OPTIONAL) FLTB FAULT STATUS SDA STRING FBO SELECT AND FAULT DETECTION EFFICIENCY OPTIMIZER LOGIC AND CONTROL LDO REGULATORS G0 + - S0 MAXIMUM STRING CURRENT REFERENCE 500mV SYSTEM CONTROLLER RS0 D3 + - + - G3 RD3 S3 RS3 PWM0 PWM1 PWM2 PWM3 MSL2041 ONLY STRING PHASE CONTROL (MSL2042 ONLY) GND PWM SIGNALS MSL2041 MSL2042 CGND (MSL2042 ONLY) MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 13 22 FBI2 23 FBO2 24 FBI1 25 FBO1 FBI2 26 EN FBO2 27 CGND FBI1 28 ● CGND FBO1 Pinout – MSL2041 and MSL2042 EN 5.1 PWM3 Pinout and Pin Description PWM2 5. 28 27 26 25 24 23 22 ● PWM1 1 21 VIN CGND 1 21 VIN PWM0 2 20 VCC PWM0 2 20 VCC FLTB 3 19 CVDD FLTB 3 19 CVDD SCL 4 18 VDD SCL 4 18 VDD SDA 5 17 D3 SDA 5 D0 6 16 G3 D0 6 16 G3 G0 7 15 S3 G0 7 15 S3 MSL2041AU MSL2042AU 5.2 10 11 12 13 14 G2 S2 S2 9 D2 G2 8 S1 14 G1 13 D1 12 (TOP VIEW) S0 11 D2 D1 10 S1 9 G1 8 S0 (TOP VIEW) 17 D3 Pin Descriptions. Pin Name MSL2041 MSL2042 Description PWM Dimming Input One PWM1 1 – PWM0 2 2 Drive PWM1 with a pulse-width modulated signal to control LED brightness of the string one. If unused, connect PWM1 to ground. PWM Dimming Input Zero Drive PWM0 with a pulse-width modulated signal to control LED brightness of the string zero (MSL2041) or all strings (MSL2042). Fault Indicator Output (Open Drain, Active Low) FLTB 3 3 SCL 4 4 SDA 5 5 FLTB sinks current to GND whenever the MSL2041/2 detects and verifies a fault condition. Toggle EN low (or read the fault registers) to clear FLTB. I²C Serial Clock Input SCL is the I²C serial interface clock input. I²C Serial Data Input/Output SDA is the I²C serial interface bi-directional data line. Drain Sense Input 0 D0 6 6 Drain Sense Input for External MOSFET 0. Connect D0 through a resistor to the drain of the external MOSFET driving LED string 0. If unused, connect D0 to ground. Gate Output 0 G0 7 7 Gate drive output for external MOSFET 0. Connect G0 to the gate of the external MOSFET driving LED string 0. If unused, connect G0 to ground. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 14 Pin Name MSL2041 MSL2042 Description Source (Current) Sense Input for String 0 S0 8 8 Connect S0 to the source of the external MOSFET, and to the current sense resistor for LED string 0. The full scale LED current is set at 502mV, with a default of 250mV across the current sense resistor. If unused, connect S0 to VDD. Drain Sense Input 1 D1 9 9 Drain Sense Input for External MOSFET 1. Connect D1 through a resistor to the drain of the external MOSFET driving LED string 1. If unused, connect D1 to ground. Gate Output 1 G1 10 10 Gate drive output for external MOSFET 1. Connect G1 to the gate of the external MOSFET driving LED string 1. If unused, connect G1 to ground. Source (Current) Sense Input for String 1 S1 11 11 D2 12 12 Connect S1 to the source of the external MOSFET, and to the current sense resistor for LED string 1. The full scale LED current is set at 502mV, with a default of 250mV across the current sense resistor. If unused, connect S1 to VDD. Drain Sense Input 2 Drain Sense Input for External MOSFET 2. Connect D2 through a resistor to the drain of the external MOSFET driving LED string 2. If unused, connect D2 to ground. Gate Output 2 G2 13 13 Gate drive output for external MOSFET 2. Connect G2 to the gate of the external MOSFET driving LED string 2. If unused, connect G2 to ground. Source (Current) Sense Input for String 2 S2 14 14 Connect S2 to the source of the external MOSFET, and to the current sense resistor for LED string 2. The full scale LED current is set at 502mV, with a default of 250mV across the current sense resistor. If unused, connect S2 to VDD. Source (Current) Sense Input for String 3 S3 15 15 Connect S3 to the source of the external MOSFET, and to the current sense resistor for LED string 3. The full scale LED current is set at 502mV, with a default of 250mV across the current sense resistor. If unused, connect S3 to VDD. Gate Output 3 G3 16 16 Gate drive output for external MOSFET 3. Connect G3 to the gate of the external MOSFET driving LED string 3. If unused, connect G3 to ground. Drain Sense Input 3 D3 17 17 VDD 18 18 CVDD 19 19 Drain Sense Input for External MOSFET 3. Connect D3 through a resistor to the drain of the external MOSFET driving LED string 3. If unused, connect D3 to ground. 2.5V Internal LDO Regulator Output VDD powers internal logic. Bypass VDD to GND with a 2.2µF ceramic capacitor X7R or better placed close to VDD. Connect to VDD Connect CVDD to VDD with a short wide trace. 5V Internal LDO Regulator Output VCC 20 20 VCC powers internal logic. Bypass VCC to GND with a 2.2µF ceramic capacitor X7R or better placed close to VCC. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 15 Pin Name MSL2041 MSL2042 Description Supply Voltage Input VIN 21 21 Connect a 12V ±10% supply to VIN. Bypass VIN to GND with a 1.0µF ceramic capacitor X7R or better. Efficiency Optimizer Feedback Input 2 FBI2 22 22 Connect FBI2 to FBO2 of the previous device when using the devices in a cascade configuration. If unused, connect FBI2 to ground. Efficiency Optimizer Feedback Output Two FBO2 23 23 FBI1 24 24 CGND – 1, 27, 28 Connect FBO2 to the feedback node of the second external string power supply through a diode, or to FBI2 of the next device when operating the devices in a cascade configuration. If unused, leave FBO2 unconnected. Efficiency Optimizer Feedback Input 1 Connect FBI1 to FBO1 of the previous device when using the devices in a cascade configuration. If unused, connect FBI1 to ground. Connect to Ground. Connect all CGND pins to GND as close to the MSL2042 as possible. Efficiency Optimizer Feedback Output One FBO1 25 25 Connect FBO1 to the feedback node of the first external string power supply through a diode, or to FBI1 of the next device when operating the devices in a cascade configuration. If unused, leave FBO1 unconnected. Enable Input (Active High) EN 26 26 Drive EN high to turn on the MSL2041/42, drive EN low to turn it off. For automatic start-up connect EN to VIN through a 100k resistor. Toggle EN low to release FLTB and to return any and all registers to their power-up default values. PWM Dimming Input Three PWM3 27 – PWM2 28 – EP EP EP Drive PWM3 with a pulse-width modulated signal to control the brightness of string three. If unused, connect PWM3 to ground. PWM Dimming Input Two Drive PWM2 with a pulse-width modulated signal to control the brightness of string two. If unused, connect PWM2 to ground. Power Ground Connect GND to system ground. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 16 6. Typical Application Circuit MSL2042 driving four LED strings at 350mA Full-scale current per string, controlling a single power supply. MSL2041 typical application circuit. 16 MSL2041 EN PWM3 G0 D0 SCL SDA 6 7 5 22 23 24 25 26 27 28 PWM1 PWM0 FAULT OUT SCL SDA ENABLE PWM3 PWM2 + 12V - RBOTTOM 1N4148 RTOP FB LED STRING DC/DC CONVERTER VOUT 100k RD3 1M 3 FLTB PWM2 PWM0 S0 4 EP GND 15 S3 D3 G3 17 19 18 VDD VCC CVDD 21 VIN 20 2.2μF D1 FBO1 PWM1 8 G1 FBI1 1 9 S1 FBI2 FBO2 2 10 D2 RS3 0.715 11 G2 RD2 1M 12 S2 Q3 FDC5612 13 ` 14 Q2 FDC5612 RS2 0.715 2.2μF 1.0μF RD1 1M Q1 FDC5612 RS1 0.715 RD0 1M RS0 0.715 Q0 FDC5612 Figure 6-1. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 17 7. Detailed Description The MSL2041 and MSL2042 are highly integrated, flexible, four-string LED drivers that use external MOSFETs to allow high string currents and/or voltages. Power supply control maximizes efficiency of up to two external string power supplies. They require only external PWM signal(s), a few external components (including the string drive NChannel MOSFETs) and an external string power supply. The MSL2041/2s four MOSFET gate drive outputs, G0 - G3 drive FETs with a maximum gate voltage threshold of 3V. Automatic fault corrective action allows the MSL2041/MSL2042 to operate stand-alone without serial communication. The MSL2041/2 LED drivers provide simple control of LED brightness through both full-scale current and external PWM drive controls. Multiple devices easily connect together to drive more than four LED strings while maintaining optimum system efficiency. An active low fault output indicates detection and verification of either a string open circuit or an LED short circuit condition. The MSL2041/2 operate stand-alone with additional string control and monitoring through a 1MHz I2C/SMBus compatible serial interface. Use of the serial interface is not required. The MSL2041 uses four PWM inputs that directly control PWM dimming for the four LED strings, while the MSL2042 uses a single PWM input signal and automatically, progressively phase spreads the four LED PWM on times. A ¼ PWM period is progressively applied to strings 1, 2 and 3. Phase spreading reduces both the transient load on the LED power supply, and the power supply output capacitor size. The Efficiency Optimizer (EO) outputs control a wide range of different architectures of external DC/DC and AC/DC converters. Multiple drivers in a system communicate with each other in real time to select an optimized operating voltage for the LEDs. The EO allows design of the power supply for the worst case Forward Voltage (Vf) of the LEDs without worrying about excessive power dissipation issues, while ensuring that the LED drive system is operating at optimum efficiency. During start-up the EO automatically reduces the string power supply voltage to the minimum value required to maintain the LED current regulation. The EO periodically performs re-optimization to compensate for changes of the LED's forward voltage, and to assure continued optimum power savings. All string drivers are continually monitored for LED current regulation, and if the LED voltage is insufficient to maintain regulation the Efficiency Optimizer automatically increases the string power supply voltage to return current regulation. 7.1 Setting the Default LED String Current with the FET source Resistor RS The default string current, ILED, for each string is set by a current sense resistor, RS, connected to ground from the source terminal of the string drive MOSFET (Figure 4-1 on page 13). Determine the resistor value using: 127 0.502 RS 255 I LED (where 127 is the default value of ISTR, String Current Control register 0x0E). For example, a default LED current of 350mA returns RS = 0.715 (to the nearest 1% resistor value). When using the serial interface for current control determine RS by following the guidelines in the “String Current Control Register (ISTR, 0x0E)” on page 32. 7.2 LED String Fault Response The MSL2041/2 monitor the LED strings to detect LED short-circuit and string open-circuit faults (Figure 7-1 on page 19). When verified, all string faults force the open drain fault output FLTB low. After power-up, when shorted LEDs are verified in a string the string is disabled and no longer monitored by the efficiency optimizer. The short circuit threshold is 5.9V. To ensure a fault is detected, make sure the additive voltage drop lost from the shorted LEDs, plus the headroom required for the external FET, is equal to or greater than the 5.9V threshold. In most cases, two LEDs in a string must be shorted to cause a short circuit fault, but because LED VF differ, the number of shorted LEDs required to generate a fault varies. The current fold-back option, which is available through the serial interface, reduces LED current immediately in response to detection of an LED short circuit fault. This prevents overstress while the MSL2041/2 is validating the fault before disabling the LED string. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 18 See “Configuration Register (CONFIG, 0x02)” on page 29 for information about current fold-back. When an open circuit occurs, the efficiency optimizer detects a loss of current regulation. In this case the efficiency optimizer increases the LED voltage until the voltage is at the maximum level. At that time the MSL2041/2 determine that any LED strings that are not regulating current are open circuit faults. It then disables those strings and recalibrates the LED power supply voltage for optimum efficiency. See “Typical Operating Characteristics” on page 8, for oscilloscope photos that detail the open and short circuit fault responses. Toggling EN low and then high clears all previously latched faults and the MSL2041/2 returns to controlling and monitoring all strings. Fault conditions that persist re-establish fault responses. Faulty strings are flagged in the fault registers. When using the serial interface, read fault conditions in response to FLTB pulling low. See “Control Registers” on page 28 for information about using the serial interface to monitor faults. Figure 7-1. Open-Circuit and Short-Circuit Detection Block Diagram. STRSCFEN (BIT D3 of 0x02) + - SCREF LED SHORT CIRCUIT MONITOR MSL2041 MSL2042 SHORT CIRCUIT STATUS REGISTER 0x09 4 FAULT STATUS REGISTER 0x03 FLTB FLTDET 4 STRING FAULT MASK REGISTER 0x08 STRSCDET STROCDET 4 4 OPEN CIRCUIT STATUS REGISTER 0x0A STRING OPEN CIRCUIT MONITOR STROCFEN (BIT D2 OF 0x02) + - OCREF Dx FROM PWM DRIVE CONTROL + - RD Gx Sx DGND 7.3 RS Over Temperature Shutdown The MSL2041/2 include automatic over-temperature shutdown. If the die temperature exceeds 135°C, the device turns off and is held in reset until the die temperature drops below 120°C at which time the device turns back on. While MSL2041/2 is in reset the onboard regulators are off, register values reset and the serial interface is disabled. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 19 7.4 Efficiency Optimizer The MSL2041/2 provide two Efficiency Optimizer (EO) outputs, FBO1 and FBO2, to control up to two external string power supplies. Each EO includes an input, used to cascade EOs to control a single power supply. The EO improves power efficiency by dynamically adjusting the power supply's output to the minimum voltage required by the LED strings to maintain current regulation (Figure 7-2 on page 20). This ensures that there is sufficient voltage available for LED current control, and good power supply noise rejection, while minimizing power dissipation. Use a power supply with nominal feedback voltage of no more than 3.5V - VD (where VD is the forward voltage drop of the diode connecting FBOn and the power supply feedback node), and accessible voltage setting resistors. (sizing the resistors is covered in the next section). The diode between the FBOn output and the power supply feedback input prevents reverse current when the MSL2041 is off while the power supply is on. Leave unused FBO outputs unconnected. At power-up, and when EN is taken high, the EO begins an initial calibration cycle by monitoring the external MOSFETs. If the LED current is in regulation the FBOn output current is increased slightly to reduce the power supply voltage. After the power supply delay time the current regulation is again checked and the process repeats until it detects a LED current regulation error. The EO then slightly increases the power supply voltage, giving the MOSFET enough headroom to maintain LED current with sufficient margin, yet maintain minimum power dissipation. The captured oscilloscope picture Figure 7-2 on page 20 shows this procedure. The default values of the EO parameters are suitable for most power supplies. These parameters are set through the serial interface. For more information see “Efficiency Optimizer Control Register (FBOCTRL, 0x11)” on page 33 Minimize string voltage transients which may cause false current regulation errors that in turn causes the EO to raise the supply voltage. Figure 7-2. Efficiency Optimizer Initial Calibration, Showing VLED voltage. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 20 7.5 Connecting the Efficiency Optimizer to an LED String Power Supply and Selecting Resistors The MSL2041/2 control LED string power supplies that use a voltage divider (RTOP and RBOTTOM in Figure 7-3 on page 21) to set output voltage, and whose regulation feedback voltage is not more than 3.5V - VD. The Efficiency Optimizer improves power efficiency by injecting a current of between 0µA and 280.5µA into the voltage divider of the external power supply, dynamically adjusting the power supply's output to the minimum voltage required maintain LED current regulation. Each of the two EOs monitors two LED strings. Strings zero and one are assigned to FBO1, and strings two and three are assigned to FBO2 (Table 7-1 on page 21). When a single supply is used for all four strings connect FBO2 to FBI1 (Figure 7-3 on page 21), as explained in “Using Multiple Efficiency Optimizers to Control a Common Power Supply” on page 23. The MSL2041/2 automatically maximizes efficiency for all strings. When two supplies are used, connect FBO1 to the supply powering strings zero and one, and connect FBO2 to the supply powering strings two and three (Figure 7-4 on page 22). For clarity, Figure 7-3 on page 21 and Figure 7-4 on page 22 do not show the Source and Drain connections between the devices and the MOSFETs. Table 7-1. String EO Assignment. STRING # EO ASSIGNMENT 0, 1 FBO1 2, 3 FBO2 Figure 7-3. EO Configuration When Using a Single String Power Supply. VOUT POWER SUPPLY RTOP COUT FB 1N4148 RBOTTOM RS0 RS1 RS2 RS3 MSL2041 MSL2042 FBO1 G0 FBI1 G1 FBO2 G2 FBI2 G3 MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 21 Figure 7-4. EO Configuration When Using Two String Power Supply. VOUT POWER SUPPLY TWO FB COUT RTOP 1N4148 RBOTTOM VOUT POWER SUPPLY ONE FB COUT RTOP 1N4148 RBOTTOM MSL2041 MSL2042 RS0 FBO1 G0 FBI1 G1 FBO2 G2 FBI2 G3 RS1 RS2 RS3 To select RTOP and RBOTTOM first determine VOUT(MIN) and VOUT(MAX), the minimum and maximum string supply voltage limits, using: 1 VOUT ( MAX ) V f ( MAX ) # ofLEDs 0.5 1 TOL and VOUT ( MIN) V f ( MIN ) # ofLEDs 0.5 VOUT ( MAX ) TOL where Vf(MIN) and Vf(MAX) are the LED's minimum and maximum forward voltage drops at the full-scale current set by RS (page 18) and TOL is the power supply voltage tolerance. For example, if the LED data are Vf(MIN) = 3.5V and Vf(MAX) = 3.8V, 10 LEDs are used in a string and the supply tolerance is 5%, then the total minimum and maximum voltage drop across a string is 35V and 38V. Adding an allowance of 0.5V for the string drive MOSFET headroom and adjusting for supply tolerance brings VOUT(MAX) to 40.53V and VOUT(MIN) to 33.47V. Then determine RTOP using RTOP VOUT ( MAX ) VOUT ( MIN ) I FBOn ( MAX ) where IFBOn(MAX) is the 210µA minimum guaranteed output current of the FBOn outputs. Finally, determine RBOTTOM using: RBOTTOM RTOP VFB VOUT ( MAX ) VFB MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 22 where VFB is the regulation feedback voltage of the power supply. Place a diode (1N4148 or similar) between FBOn and the supply's feedback node because FBO provides a low impedance path to GND when the MSL2041/42 is disabled or not energized, causing excessive VLED voltage when the supply comes up before the MSL2041/42. Determine the change in power supply output voltage in response to a change in FBOn output current using: VOUT I FBOn RTOP Assure that the power supply output voltage settles within the default 4ms EO step-hold duration time for a voltage step size of 1.1µA*RTOP (Figure 7-2 on page 20). See “Efficiency Optimizer Control Register (FBOCTRL, 0x11)” on page 33 for information about the step size. 7.6 Using Multiple Efficiency Optimizers to Control a Common Power Supply Cascade multiple Efficiency Optimizers (EOs), either within the same device or across multiple devices, into a cascade configuration (Figure 7-5 on page 24), with the FBOn of one EO connected to the FBIn of the next. Connect the last FBOn to the power supply feedback resistor node through a diode (1N4148 or similar) placed close to the power supply feedback node, and unused FBIn inputs to ground as close to the MSL2041/2 as possible. The cascaded EOs work together to ensure that all strings maintain LED current regulation while maintaining optimum efficiency. Note that the accuracy of the feedback chain degrades through each link of the FBIn/FBOn chain by 2% (typical). Derate the maximum FBOn current using: I FBOn ( MAX / MIN ) 280 .5 A * 0.98 N 1 where N is the number of EOs connected in series. Use IFBOn(MAX/MIN) in the above RTOP resistor equation for the term IFBOn(MAX) instead of using 280.5µA. Take care in laying out the traces for the Efficiency Optimizer connections. Minimize the FBIn/FBOn trace lengths as much as possible. Do not route the signals close to traces with large variations in voltage or current, because noise may couple into FBIn. If these traces must be routed near noisy signals, shield them from noise by using ground planes or guard traces. For clarity, Figure 7-5 on page 24 omits some connections. Note that because of the interplay between EOs and the automatic fault response behavior, when both strings monitored by a single EO fault and turn off, the string supply is forced to its maximum value and all remaining active strings may erroneously detect short circuit faults and turn off. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 23 Figure 7-5. EO Cascade Configuration of Two Devices, Six Strings and a Single String Power Supply. VOUT POWER SUPPLY RTOP COUT FB 1N4148 RBOTTOM RS0 MSL2041 MSL2042 FBO1 G0 FBI1 G1 FBO2 G2 FBI2 G3 RS1 RS2 RS3 RS4 RS5 DEVICE ONE MSL2041 MSL2042 G0 FBO1 FBI1 G1 VDD FBO2 D2 FBI2 G2 2.2μF S2 D3 G3 S3 DEVICE TWO 7.7 Choosing the Drain Resistor RD The drain resistor RD connects the MSL2041/2 drain input to the drain of the external MOSFET. Choose RD () using: VOUT ( MAX ) N VF ( DARK ) 22.5 1 10 5 RD I DARK where VOUT(MAX) is the value calculated above in “Connecting the Efficiency Optimizer to an LED String Power Supply and Selecting Resistors” on page 21, N is the number of LEDs in the string, IDARK is the maximum allowable string off current (dark current) and VF(DARK) is the LED forward voltage drop at IDARK. When the value calculated for RD < 0 use 0. If values for IDARK and VF(DARK) are not known, determine these numbers using the following method. Set up the test circuit of Figure 7-6 on page 25. Adjust R1 until the current meter indicates IDARK (choose IDARK < 1mA). Use a volt meter to measure the voltage at the anode of the LED (A), and then at the cathode of the LED (B). Subtract MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 24 the voltage measured at B from that measured at A to determine VF(DARK). Some typical values determined using this method are listed in Table 7-2 on page 25. Figure 7-6. Test Circuit for Determining VF(DARK). CURRENT METER I VSOURCE 2.6V A + B R1 200k Table 7-2. Some Typical IDARK and VF(DARK) Values Determined Using Figure 7-6. LED type LED part # IDARK (µA) VF(DARK) (V) Low power LW Y1SG 1.72 2.285 Medium power LW G6SP 1.67 2.276 High power LXLW-PWC1 1.72 2.195 Large values of RD cause false LED short circuit faults. Discharge of the parasitic capacitance at the Dn node through a large RD holds the node voltage above the string fault threshold for longer than the LED short circuit verification time. The addition of a feed-forward capacitor, CFF in Figure 7-7 on page 25, mitigates this issue. The value for CFF depends upon the amount of parasitic capacitance at the Dn node and the size of RD, but CFF = 15pF is an appropriate first approximation. Figure 7-7. Feed Forward Capacitor. CFF Dn RD MSL2041 MSL2042 Gn Sn RS MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 25 7.8 Direct PWM Control of the LED Strings Apply an external PWM signal to the inputs PWM0 - PWM3 (MSL2041) or PWM0 (MSL2042) to directly control the string PWM dimming frequency and duty cycle. The PWM inputs recognize signals of DC to 50kHz, and 0% to 100% duty cycle. The MSL2042, which uses a single PWM input, calculates and applies a progressive delay of 1/4th the PWM period successively to strings one through three, while string zero follows the PWM input directly. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 26 8. Register Map Summary Control the MSL2041/2 using the registers in the range 0x00 through 0x18. Register bit values always revert to their default values (Table 8-2 on page 28) when EN is driven low to high. Write only to registers listed in Table 8-1 on page 27. Table 8-1. Register Map ADDRESS AND REGISTER NAME 0x00 STRINGEN REGISTER DATA FUNCTION D7 D6 D5 D4 D3 D2 D1 D0 LED String Enable - - - - STR3EN STR2EN STR1EN STR0EN 0x01 UNUSED 0x02 CONFIG Configuration FLDBKEN I2CTOEN – – STRSCFEN STROCFEN FBOEN SLEEP 0x03 FLTSTATUS(1) Fault Status – – – – STRSCDET STROCDET – FLTBDRV 0x04 - 0x07 UNUSED 0x08 FLTMASK String Fault Mask – – – – FLTMASK3 FLTMASK2 FLTMASK1 FLTMASK0 0x09 SCSTAT(1) LED Short Circuit Fault – – – – SC3 SC2 SC1 SC0 0x0A OCSTAT(1) String Open Circuit Fault – – – – OC3 OC2 OC1 OC0 0x0B - 0x0D UNUSED ISTR 8-Bit Global String Current 0x10 RESERVED Must Be 0x04 0x11 FBOCTRL Efficiency Optimizer Control 0x0E ISTR[7:0] 0x0F UNUSED 0 0 DOWNSTEP[1:0] 0 0 0 1 0 0 UPSTEP[1:0] – – ACALEN ICHKDIS – – – 0x12 - 0x13 UNUSED 0x14 FBODAC1(1) 0x15 FBODAC2(1) Efficiency Optimizer DAC Readback FBODAC1[7:0] FBODAC2[7:0] 0x16 - 0x17 UNUSED FBISTAT(1) 0x18 Note: 1. FBI Status – – FBIGNDSTAT[1:0] – Read Only Registers MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 27 8.1 Register Power-Up Defaults Register power-up default values are shown in the Table 8-2 on page 28. Table 8-2. Register Power-Up Defaults REGISTER NAME AND ADDRESS 0x00 POWER- UP CONDITION REGISTERS INITIALIZED FROM E²PROM All Four LED String Drive Outputs Enabled STRINGEN REGISTER DATA PAGE D7 D6 D5 D4 D3 D2 D1 D0 HEX 28 0 0 0 0 1 1 1 1 0x0F 29 0 1 0 0 1 1 1 0 0x4E Device Awake Efficiency Optimizer Outputs Enabled 0x02 String Open Circuit Detection Enabled CONFIG LED Short Circuit Detection Enabled I2C Timeout Enabled String Current Fold-Back Disabled 0x08 FLTMASK All Four Strings Monitored for Faults 31 0 0 0 0 1 1 1 1 0x0F 0x0E ISTR Global String Current is ½ its Full-scale Resistor Set Value 32 0 1 1 1 1 1 1 1 0x7F 0x10 RESERVED 0x04 32 0 0 0 0 0 1 0 0 0x04 33 0 0 0 1 0 0 1 0 0x12 MOSFET Current Sink Error Detection Enabled Efficiency Optimizer Auto-Recalibration Enabled 0x11 FBOCTRL Efficiency Optimizer Initial Calibration Step Size = 1 LSBs Efficiency Optimizer Headroom Correction Step Size = 1 LSBs 8.2 Control Registers 8.2.1 Master String Enable Register (STRINGEN, 0x00) The Master String Enable register individually enables/disables the string drive outputs G0 - G3. Disabled outputs are held low and disabled strings are not monitored by the Efficiency Optimizer. Table 8-3. Master String Enable Register (STRINGEN, 0x00) REGISTER DATA REGISTER NAME ADDRESS D7 D6 D5 D4 D3 D2 D1 D0 STRINGEN 0x00 – – – – STR3EN STR2EN STR1EN STR0EN DEFAULT = 0x0F 0 0 0 0 1 1 1 1 LED Strings Disabled – – – – 0 0 0 0 LED Strings Enabled – – – – 1 1 1 1 MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 28 8.2.2 Register 0x01 Registers 0x01 is unused. 8.2.3 Configuration Register (CONFIG, 0x02) The Configuration register controls device sleep condition, enables the Efficiency Optimizer outputs, enables string open- and short-circuit detection, enables the I2C bus timeout feature, and enables the current fold-back feature. Set the SLEEP bit D0 to 1 to put the MSL2041/2 to sleep. When sleeping, the G0 through G3 outputs are forced low and the serial interface remains active; all registers remain unchanged unless re-programmed. Clear SLEEP to 0 to exit sleep mode. Clearing SLEEP initiates an Efficiency Optimizer initial calibration cycle when FBOEN (bit D1) is set to 1. Set FBOEN (FeedBack Out Enable) bit D1 to 1 to allow the FBO1 and FBO2 outputs to exert control over the LED string power supplies. To ensure the Efficiency Optimizer monitors LED string currents clear ICHKDIS (bit D0 of FBO Control register 0x11) to 0 (it default value). Set the STROCFEN (String Open Circuit Fault Enable) bit D2 to 1 to allow reporting of string open circuit conditions in String Open Circuit Fault Status register 0x09, in Fault Status Register 0x03, and on the FLTB output. Set the STRSCFEN (String Short Circuit Fault Enable) bit D3 to 1 to allow reporting of string short circuit conditions in LED Short Circuit Fault Status register 0x0A, in Fault Status Register 0x03 and on the FLTB output. Set the I2CTOEN (I2C Timeout Enable) bit D6 to 1 to enable I²C bus timeout detection. If either SDA or SCL remain low for more than 30ms the serial interface resets and waits for a new start condition. Clear I2CTOEN to 0 to disable I²C bus timeout detection (“I2C Bus Timeout” on page 37). Set FLDBKEN (Current Fold Back Enable) bit D7 to 1 to have the MSL2041/2 respond to a suspected LED short circuit fault by automatically reducing the current of the suspect string to 1/10th its normal value, on a pulse by pulse basis, while short circuit verification occurs. When verification fails, the string current returns to its set value. When a short circuit is verified the string is disabled, the appropriate bits set in the Short Circuit Status and Fault Status registers 0x0A and 0x03, and FLTB pulls low. PWM on-times less than 4ms do not trigger current foldback. For additional information see “Typical Operating Characteristics” on page 8. Table 8-4. Configuration Register (CONFIG, 0x02), defaults highlighted REGISTER DATA REGISTER ADDRESS D7 D6 D5 D4 D3 D2 D1 D0 CONFIG 0x02 FLDBKEN I2CTOEN – – STRSCFEN STROCFEN FBOEN SLEEP DEFAULTS = 0x4E 0 1 0 0 1 1 1 0 Device Not Asleep x x x x x x x 0 Device Asleep x x x x x x x 1 FBO Outputs Disabled x x x x x x 0 x FBO Outputs Enabled x x x x x x 1 x String Open Circuit Detect Disabled x x x x x 0 x x String Open Circuit Detect Enabled x x x x x 1 x x String Short Circuit Detect Disabled x x x x 0 x x x MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 29 Table 8-4. Configuration Register (CONFIG, 0x02), defaults highlighted String Short Circuit Detect Enabled x x x x 1 x x x I2C Timeout Disabled x 0 x x x x x x I2C Timeout Enabled x 1 x x x x x x Current Fold-back Disabled 0 x x x x x x x Current Fold-back Enabled 1 x x x x x x x 8.2.4 Fault Status Register (FLTSTATUS, 0x03) The read only Fault Status register reports when string open circuit and LED short circuit conditions are identified in Open- and Short-Circuit Status registers 0x09 and 0x0A, if these conditions are allowed to propagate up to this register by the settings in Fault Mask register 0x08. When faults are reported in FLTSTATUS, determine details about the fault by reading the Open- and Short-Circuit Status registers 0x09 and 0x0A. For additional information on how these registers work together see Figure 7-1 on page 19. The FLTBDRV (Fault Bar output Drive) bit D0 sets to 1 when one or more of the fault bits D2 and D3 set. The FLTB output pulls low when FLTBDRV sets. When FLTB is detected as low, query FLTBDRV to verify that FLTB is being pulled low, by the MSL2041/2. The STROCFLT (String Open Circuit Fault) bit D2 sets to 1 when one or more of the bits in Open Circuit Status register 0x09 sets, when the associated bits in Fault Mask register 0x08 allow the fault to propagate to this register. The STRSCFLT (String Short Circuit Fault) bit D3 sets to 1 when one or more of the bits in Short Circuit Status register 0x0A set, when the associated bits in Fault Mask register 0x08 allow the fault to propagate to this register. Table 8-5. Fault Status Register (FLTSTATUS, 0x03) REGISTER DATA REGISTER ADDRESS D7 D6 D5 D4 D3 D2 D1 D0 0x03 – – – – STRSCFLT STROCFLT – FLTBDRV x x x x x x x 0 x x x x x x x 1 No Strings Report an Open Circuit Fault x x x x x 0 x x One or More Strings Report an Open Circuit Fault x x x x x 1 x 1 No Strings Report a Short Circuit Fault x x x x 0 x x x One or More Strings Report a Short Circuit Fault x x x x 1 x x 1 FLTSTATUS (Read Only) FLTB Output is not Pulled Low FLTB Output is Pulled Low Because bits D2 and/or D3 are High 8.2.5 Registers 0x04 through0x07 Registers 0x04 - 0x07 are unused. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 30 8.2.6 Fault Mask Register (FLTMASK, 0x08) The Fault Mask register selects which string faults indicated in registers 0x09 and 0x0A are allowed to change the Fault Status register 0x03, and thus activate the open drain fault output FLTB. For additional information on how these register work together see Figure 7-1 on page 19. Table 8-6. Fault Mask Register (FLTMASK, 0x08), defaults highlighted REGISTER DATA REGISTER ADDRESS D7 D6 D5 D4 D3 D2 D1 D0 FLTMASK 0x08 – – – – FLTMASK3 FLTMASK2 FLTMASK1 FLTMASK0 DEFAULTS = 0x0F 0 0 0 0 1 1 1 1 Strings 0 thru 3 Faults Masked x x x x 0 0 0 0 Strings 0 thru 3 Faults UnMasked x x x x 1 1 1 1 8.2.7 Open and Short Circuit Status Registers (OCSTAT, 0x09 and SCSTAT, 0x0A) The read only Open and Short Circuit Status register bits set when fault conditions are verified for the indicated strings. Reading these registers clears them, but the bits reassert if the fault conditions persist. Set STROCFEN and STRSCFEN (bits D1 and D2 of the Configuration register 0x02) to ‘1’, for open and short circuit faults to be recorded in these registers. Open circuit fault detection is automatically disabled, independent of STROCFEN, when current sink error detection is disabled via ICHKDIS (bit D0 in the Efficiency Optimizer Control register 0x11). For additional information on how these register work together see Figure 7-1 on page 19. Table 8-7. Open Circuit Status Register (OCSTAT, 0x09) REGISTER DATA REGISTER ADDRESS D7 D6 D5 D4 D3 D2 D1 D0 OCSTAT (Read Only) 0x09 – – – – OC3 OC2 OC1 OC0 No Open Circuit String Fault Detected for Strings 0 - 3 x x x x 0 0 0 0 Open Circuit String Fault Detected for Strings 0 - 3 x x x x 1 1 1 1 Table 8-8. Short Circuit Status Register (SCSTAT 0x0A) REGISTER DATA 8.2.8 REGISTER ADDRESS D7 D6 D5 D4 D3 D2 D1 D0 SCSTAT (Read Only) 0x0A – – – – SC3 SC2 SC1 SC0 No Short Circuit String Fault Detected for Strings 0 - 3 x x x x 0 0 0 0 Short Circuit String Fault Detected for Strings 0 - 3 x x x x 1 1 1 1 Registers 0x0B through 0x0D Registers 0x0B - 0x0D are unused. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 31 8.2.9 String Current Control Register (ISTR, 0x0E) The global String Current Control register ISTR scales down the resistor set string regulation current, for all strings. ISTR offers 8-bit resolution, and allows 255 even current steps with each step equal to IILED / 255. When using ISTR to adjust global string current determine the value of RS (in ) using: ISTR 0.502 RS 255 I LED where ISTR = 255, its maximum value, and ILED is the full scale string current. The simplified formula on page 15, uses the default value 0x7F (127 decimal) for ISTR. Setting ISTR < 0x05 will result in diminished current accuracy and phantom LED short circuit faults, and is not recommended. Table 8-9. String LED Current Control Register (ISTR, 0x0E), defaults highlighted REGISTER DATA REGISTER ADDRESS ISTR 0x0E D7 D6 D5 D4 D3 D2 D1 D0 ISTR[7:0] DEFAULTS = 0x7F 0 1 1 1 1 1 1 1 ISTRING = IILED * (5 / 255) 0 0 0 0 0 1 0 1 ISTRING = IILED * (6 / 255) 0 0 0 0 0 1 1 0 ISTRING = IILED * (7 / 255) 0 0 0 0 0 1 1 1 1 1 1 1 ... etc ... ... etc ... ISTRING = IILED * (127 / 255) 0 1 1 1 ... etc ... ... etc ... ISTRING = IILED * (253 / 255) 1 1 1 1 1 1 0 1 ISTRING = IILED * (254 / 255) 1 1 1 1 1 1 1 0 ISTRING = IILED * (255 / 255) 1 1 1 1 1 1 1 1 8.2.10 Register 0x0F Registers 0x0F is unused. 8.2.11 Reserved Register (RESERVED, 0x10) The reserved register default value is 0x04. Reading this register does not change its value. When writing to this register always write a value of 0x04. Table 8-10. Reserved Register (RESERVED, 0x10), defaults highlighted REGISTER DATA REGISTER ADDRESS RESERVED 0x10 DEFAULTS = 0x04 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 Reserved 0 0 0 0 0 MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 32 8.2.12 Efficiency Optimizer Control Register (FBOCTRL, 0x11) The Efficiency Optimizer Control register 0x11 configures various functions associated with the Efficiency Optimizer (EO) circuits. Read the “Efficiency Optimizer” on page 20, for more information about these EO Control register bits. Configure all EO controls while SLEEP (bit D0 in the Configuration register 0x02) is 1, or while the FBOEN (bit D1 in 0x02) is 0, to avoid perturbations of the string power supplies. The MSL2041/2 always perform an initial power supply voltage calibration (Figure 7-2 on page 20) when the EO is started. The EO is started when either taking SLEEP from 1 to 0 while FBOEN is set to 1, or when taking FBOEN bit from 0 to 1 while the SLEEP bit is set to 0. Additionally, when the MSL2041/42 is powered up while EN is high, or when EN is taken high while the MSL2041/42 is powered up, an initial calibration is automatically performed. Set ICHKDIS (FET Current Check Disable) bit D0 to 1 to disable current sink error detection for the EOs. Clear FBOEN (bit D1 in register 0x02) to 0 before setting ICHKDIS to 1. If ICHKDIS = 1 when FBOEN = 1 then the FBO1 and FBO2 outputs increment to their maximum output currents, forcing the string power supplies to their minimum output voltage. Open circuit fault detection of all LED strings is disabled when ICHKDIS = 1. Use ICHKDIS as a debugging and testing tool that allows for checking of power supply connectivity and range of control not for device or system control in a finished product. Set ACALEN (Automatic Calibration Enable) bit D1 to 1 to enable automatic power supply voltage recalibration for the EOs. With ACALEN = 1, the MSL2041/2 periodically optimizes the power supply output voltages through the FBO1 and FBO2 outputs after initial calibration. This is done to maintain optimal efficiency as the LED VF changes with time, current or temperature. The time between consecutive EO auto-recalibration cycles is one second. The UPSTEP (Up Steps) bits D4 and D5 control the size of the current steps, in LSBs, that the EO takes when raising the string power supply voltage after detecting a current sink error (Figure 7-2 on page 20). Each LSB equates to a 1.1µA change in FBO current. The affect UPSTEP has on the size of the output voltage step depends on the value of RTOP (see page 22) per the equations: I FBO 1.1A UPSTEP and VOUT I FBO RTOP where each steps current change DIFBO = 1.1µA * UPSTEP, and where UPSTEP is the LSB value selected using UPSTEP[1:0]. The EO stops adjusting when IFBO ≥ IFBO0 + 3µA, where IFBO0 is the FBO current when a FET current sink error is detected (Figure 7-2 on page 20 and Figure 8-1 on page 34). Assure that, given the maximum step size, the power supply settles in less than the 4ms EO step-hold duration. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 33 Figure 8-1. Headroom Adjustment Voltage Waveform Details. See Figure 7-2 on page 20 for Full Waveform. D 4ms D C C B A A (a) B (b) A: CURRENT SOURCE ERROR DETECTED B: THREE LSBs ABOVE A (1 LSB = 1.1µA CHANGE IN FBOn CURRENT) C: STEP SIZE PER UPSTEP[1:0] IN FBOCTRL REGISTER 0x11 (a) UPSTEP = 0b01 (1 LSB PER STEP – DEFAULT VALUE) (b) UPSTEP = 0b10 (2 LSBs PER STEP) D: FINAL VALUE; ADJUSTMENT STOPS WHEN IFBOD = IFBOA + 3µA The DOWNSTEP (Down Step) bits D6 and D7 control the size of the initial calibration steps of the EO (Figure 72 on page 20). DOWNSTEP sets the number of LSBs for each step, with one LSB equal to 1.1µA change in FBOn current. The affect this setting has on the size of the output voltage step depends on the value of RTOP (see page 22) per the equations: I FBO 1.1A DOWNSTEP and VOUT I FBO RTOP where each step’s current change DIFBO = 1.1µA * DOWNSTEP, and where DOWNSTEP is the LSB value selected using DOWNSTEP[1:0]. Table 8-11. Efficiency Optimizer Control Register (FBOCTRL, 0x11), defaults highlighted REGISTER DATA REGISTER ADDRESS FBOCTRL 0x11 D7 D6 DOWNSTEP[1:0] D5 D4 UPSTEP[1:0] D3 D2 D1 D0 - - ACALEN ICHKDIS DEFAULTS = 0x12 0 0 0 1 0 0 1 0 Efficiency Optimizer Current Sink Error Detection Enabled x x x x x x x 0 Efficiency Optimizer Current Sink Error Detection Disabled x x x x x x x 1 Efficiency Optimizer Auto-Recalibration Disabled x x x x x x 0 x Efficiency Optimizer Auto-Recalibration Enabled x x x x x x 1 x Up Step Size = 3 LSBs x x 0 0 x x x x MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 34 Table 8-11. Efficiency Optimizer Control Register (FBOCTRL, 0x11), defaults highlighted (Continued) Up Step Size = 1 LSB x x 0 1 x x x x Up Step Size = 2 LSBs x x 1 0 x x x x Up Step Size = 4 LSBs x x 1 1 x x x x Down Step Size = 1 LSB 0 0 x x x x x x Down Step Size = 2 LSB 0 1 x x x x x x Down Step Size = 3 LSB 1 0 x x x x x x Down Step Size = 4 LSB 1 1 x x x x x x 8.2.13 Registers 0x12 and 0x13 Registers 0x12 - 0x13 are unused. 8.2.14 Efficiency Optimizer DAC Readback Registers (FBODAC1, 0x14, FBODAC2, 0x15) The read only Efficiency Optimizer (EO) DAC Readback registers 0x14 and 0x15 contain the 8-bit DAC settings of the FBO1 and FBO2 EO outputs. These read-only registers return internal status; it is not possible to preset the DACs. Caclulate each FBOn output current, IFBOn (in µA), as a function of the DAC setting using: I FBOn 1.1 FBODACn µA where FBODACn is the decimal value of the associated EO DAC Readback register. The LSB value of the FBODAC is 1.1µA. The EO current outputs FBO1 and FBO2 are voltage compliant from 0V to 3.5V. Set FBOEN (bit D1 in Configuration register 0x02) to 1 to globally enable the EO circuits, and to command the FBO1 and FBO2 outputs to control the LED string power supply voltages. When either FBOEN is cleared to 0 or SLEEP (bit D0 of Configuration register 0x02) is set to 1, the EO is disabled. When disabled, EO outputs FBO1 and FBO2 decrement to zero, causing the LED string power supplies to increment up to their maximum voltages. Monitor this process by repeated reads of these DAC Readback registers, which all read zero when the DACs ramp-downs (Voltages ramp ups) are complete. Do not re-enable the EOs until both DACs read zero. When current sink error detection is disabled by setting the ICHKDIS (bit D0 in the FBO Control register 0x11) to 1 while the EO circuit is enabled (FBOEN bit is 1 in Configuration register 0x02), the EOs increment the FBO1 and FBO2 outputs up to 0xFF. This decrements the LED string power supply voltages down to their minimum controllable voltage. Monitor this process by repeated reads of these DAC Readback registers, which all read 0xFF when the DACs ramp-ups (Voltages ramp downs) are complete. Table 8-12. Efficiency Optimizer DAC Readback Registers (FBODAC1, 0x14 through FBODAC2, 0x15) REGISTER DATA REGISTER ADDRESS D7 D6 D5 D4 D3 FBODAC1 (READ-ONLY) 0x14 FBODAC1[7:0] FBODAC2 (READ-ONLY) 0x15 FBODAC2[7:0] D2 D1 MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 D0 35 8.2.15 Registers 0x16 through 0x17 Registers 0x16 - 0x17 are unused. 8.2.16 FBI Status Register (FBISTATUS, 0x18) FBIGNDSTAT (FBI Grounded Status) bits D4 and D5 report if the FBI inputs are shorted to ground. Table 8-13. FBI Status Register (FBISTAT, 0x18) REGISTER DATA REGISTER ADDRESS D7 D6 D5 FBISTATUS (Read Only) 0x18 – – Neither FBI Input is Grounded x x 0 FBI1 is Grounded x x FBI2 is Grounded x FBI1 and FBI2 are Grounded x D4 D3 D2 D1 D0 – – – – 0 x x x x 0 1 x x x x x 1 0 x x x x x 1 1 x x x x FBIGNDSTAT[1:0] MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 36 9. I²C/SMBus Serial Interface The MSL2041/2 operate as slaves that send and receive data through an I²C/SMBus compatible 2-wire serial interface. The interface is not needed, but is provided to allow control and monitoring over some device functions and advanced features. These functions include Efficiency Optimizer behavior and status, the disabling of individual strings, putting the device to sleep without losing the register settings (as happens when EN is toggled) and fault response behavior and status. The MSL2041/2 I²C/SMBus compatible interface is suitable for 100kHz, 400kHz and 1MHz communication. The interface uses bi-directional data line SDA and clock input SCL to achieve bidirectional communication between master and slaves. The FLTB fault output optionally alerts the host system to faults detected by the MSL2041/2 (Figure 9-1 on page 37). During over temperature shutdown the serial interface is disabled. The master, typically a microcontroller, initiates all data transfers, and generates the clock that synchronizes the transfers. SDA operates as both an input and an open-drain output. SCL operates only as an input, and does not perform clock-stretching. Pull-ups are required on SDA, SCL and FLTB. Figure 9-1. I2C Interface Connections. VI2C 2 x 2.2k TYPICAL 100k MASTER SDA SCL INT (μC) SDA SCL FLTB MSL2041 MSL2042 A transmission consists of a START condition sent by a master, a 7-bit slave address plus one R/W bit, an acknowledge bit, none or many data bytes each separated by an acknowledge bit, and a STOP condition (Figure 9-2, Figure 9-4 and Figure 9-5 on page 38). Figure 9-2. I2C serial interface timing details. SDA tBUF tSU:DAT tSU:STA tHD:STA tHD:DAT tSU:STO tLOW SCL tHIGH tHD:STA tR START CONDITION 9.1 tF REPEATED START CONDITION START STOP CONDITION CONDITION I2C Bus Timeout The bus timeout feature allows the MSL2041/42 to reset the serial bus interface if a communication ceases before a STOP condition is sent. If SCL or SDA is low for more than 30ms (typical), then the MSL2041/42 terminates the transaction, releases SDA and waits for another START condition. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 37 9.2 I2C Bit Transfer One data bit is transferred during each clock pulse. SDA must remain stable while SCL is high. Figure 9-3. I2C bit transfer. SDA SCL 9.3 SDA ALLOWED TO CHANGE LEVEL SDA LEVEL STABLE SDA DATA VALID I2C START and STOP Conditions Both SCL and SDA remain high when the interface is free. The master signals a transmission with a START condition (S) by transitioning SDA from high to low while SCL is high. When the master has finished communicating with the slave, it issues a STOP condition (P) by transitioning SDA from low to high while SCL is high. The bus is then free. Figure 9-4. I2C START and STOP conditions. SDA S P START CONDITION STOP CONDITION SCL 9.4 I2C Acknowledge Bit The acknowledge bit is a clocked 9th bit which the recipient uses to handshake receipt of each byte of data. The master generates the 9th clock pulse, and the recipient holds SDA low during the high period of the clock pulse. When the master is transmitting to the MSL2041/42, the MSL2041/42 pulls SDA low because the MSL2041/42 is the recipient. When the MSL2041/42 is transmitting to the master, the master pulls SDA low because the master is the recipient. Figure 9-5. I2C acknowledge. SCL 1 2 8 9 1 SDA TRANSMITTER S A START CONDITION ACKNOWLEDGE BY RECEIVER SDA RECEIVER MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 38 I2C Slave Address 9.5 The MSL2041/42 has a 7-bit long slave address, 0b0100000, followed by an eighth bit, the R/W bit. The R/W bit is low for a write to the MSL2041/42, high for a read from the MSL2041/42. All MSL2041/42 devices have the same slave address; when using multiple devices and communicating with them through their serial interfaces, make external provision to route the serial interface to the appropriate device. Note that development systems that use I2C often leftshift the address one position before they insert the R/W bit, and so expect a default address of 0x20 (not 0x40). Figure 9-6. I2C slave address. A7 = 1 SDA A6 = 0 A5 = 1 A4 = 1 A5 =0 A6 = 0 A7 = 0 R/W A 2 3 4 5 6 7 8 9 MSB 1 SCL I2C Message Format for Writing to the MSL2041/42 9.6 A write to the MSL2041/42 contains the MSL2041/42’s slave address, the R/W bit cleared to 0, and at least 1 byte of information (Figure 9-7 on page 39). The first byte of information is the register address byte. The register address byte is stored as a register pointer, and determines which register the following byte is written into. If a STOP condition is detected after the register address byte is received, then the MSL2041/42 takes no further action beyond setting the register pointer. Figure 9-7. I2C writing a register pointer. ACKNOWLEDGE FROM MSL2041/2 START SDA 1 0 1 0 0 0 0 0 A D7 . SLAVE ADDRESS, WRITE ACCESS ACKNOWLEDGE STOP FROM MSL2041/2 . . . . . D0 A SET REGISTER POINTER TO X THE REGISTER POINTER NOW POINTS TO X; A SUBSEQUENT READ ACCESS READS FROM REGISTER ADDRESS X When no STOP condition is detected, the byte transmitted after the register address byte is a data byte, and is placed into the register pointed to by the register address byte (Figure 9-8). To simplify writing to multiple consecutive registers, the register pointer auto-increments during each following acknowledge period. Further data bytes transmitted before a STOP condition fill subsequent registers. I2C writing two data bytes. Figure 9-8. ACKNOWLEDGE FROM MSL2041/2 START SDA 1 0 1 0 0 0 SLAVE ADDRESS, WRITE ACCESS 0 0 A D7 . ACKNOWLEDGE FROM MSL2041/2 . . . . SET REGISTER POINTER TO X . D0 A D7 . ACKNOWLEDGE FROM MSL2041/2 . . . . . DATA WRITES TO REGISTER X D0 A D7 . ACKNOWLEDGE FROM MSL2041/2 . . . . . D0 STOP A DATA WRITES TO REGISTER X + 1 THE REGISTER POINTER NOW POINTS TO X + 2; A SUBSEQUENT READ ACCESS BEGINS READING FROM REGISTER ADDRESS X + 2 MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 39 9.7 I2C Message Format for Reading from the MSL2041/42 The first technique begins the same way as a write, by setting the register address pointer as shown in Figure 9-7, including the STOP condition (note that even though the final objective is to read data, the R/W bit is first sent as a write because the address pointer byte is being written into the device). Follow the Figure 9-7 transaction by what shown in Figure 9-9, with a new START condition and the slave address, this time with the R/W bit set to 1 to indicate a read. Then, after the slave initiated acknowledge bit, clock out as many bytes as desired, separated by master initiated acknowledges. The pointer auto-increments during each master initiated acknowledge period. End the transmission with a not-acknowledge followed by a stop condition. I2C reading register data with preset register pointer. Figure 9-9. ACKNOWLEDGE FROM MSL2041/2 START SDA 1 0 1 0 0 0 0 1 A . D7 SLAVE ADDRESS, READ ACCESS ACKNOWLEDGE FROM MASTER . . . . . D0 A D7 NOT ACKNOWLEDGE FROM MASTER . READ REGISTER ADDRESS X . . . . . STOP D0 A READ REGISTER ADDRESS X + 1 THE REGISTER POINTER NOW POINTS TO X + 2; A SUBSEQUENT READ ACCESS READS FROM REGISTER ADDRESS X + 2 The second read technique is illustrated in Figure 9-10. Write to the MSL2041/42 to set the register pointer, send a repeated START condition after the second acknowledge bit, then send the slave address again with the R/W bit set to 1 to indicate a read. Then clock out the data bytes separated by master initiated acknowledge bits. The register pointer auto-increments during each master initiated acknowledge period. End the transmission with a notacknowledge followed by a stop condition. This technique is recommended for buses with multiple masters, because the read sequence is performed in one uninterruptible transaction. I2C reading register data using a repeated START Figure 9-10. ACKNOWLEDGE FROM MSL2041/2 START SDA 1 0 1 0 0 0 SLAVE ADDRESS WRITE ACCESS 9.8 0 0 A D7 ACKNOWLEDGE FROM MSL2041/2 . . . . . . SET REGISTER POINTER D0 REPEATED START A 1 ACKNOWLEDGE FROM MSL2041/2 0 1 0 0 0 0 1 A SLAVE ADDRESS READ ACCESS D7 NOT ACKNOWLEDGE STOP FROM MASTER . . . . . . D0 A READ REGISTERS I2C Message Format for Broadcast Writing to Multiple devices With a broadcast write to MSL2041/42, a master broadcasts the same register data to all MSL2041/42s on the bus. First send the broadcast write slave address of 0x00, followed by the MSL2041/42 broadcast device ID of 0x42. These two bytes are followed by the register address in the MSL2041/42s that the following data are to be written into, and finally the data byte(s) to be written into all devices. A broadcast write example is shown in Figure 9-11. Here, the same register address in every MSL2041/42 is written to with identical data. If further data bytes are transmitted before the STOP condition, they are stored in subsequent internal registers of each MSL2041/42. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 40 Figure 9-11. I2C broadcast writing a data byte. ACKNOWLEDGE FROM MSL2041/2 START SDA 0 0 0 0 0 0 0 0 A 0 BROADCAST WRITE SLAVE ADDRESS 1 ACKNOWLEDGE FROM MSL2041/2 0 0 0 0 1 0 A D7 . ACKNOWLEDGE FROM MSL2041/2 . . . . . D0 A D7 SETS ALL REGISTER POINTERS TO X MSL2041/2 BROADCAST ID . ACKNOWLEDGE FROM MSL2041/2 . . . . . D0 STOP A DATA WRITES TO ALL REGISTER Xs ALL REGISTER POINTERS NOW POINT TO X + 1; THE FIRST SUBSEQUENT READ ACCESS OF EACH MSL2041/2 READS FROM REGISTER ADDRESS X + 1 There is no broadcast read. However, use a broadcast write to set up the internal register pointers of all the MSL2041/2s in a system to speed up the subsequent individual reading, for example, all the status registers. Figure 912 illustrates a broadcast write that sets all the register pointers, and issues a STOP. Figure 9-12. I2C broadcast writing a register pointer. ACKNOWLEDGE FROM MSL2041/2 START SDA 0 0 0 0 0 0 0 BROADCAST WRITE SLAVE ADDRESS 0 A 0 1 ACKNOWLEDGE FROM MSL2041/2 0 0 0 0 1 0 MSL2041/2 BROADCAST ID A D7 . ACKNOWLEDGE FROM MSL2041/2 . . . . . D0 STOP A SETS ALL REGISTER POINTERS TO X ALL REGISTER POINTERS NOW POINT TO X; THE FIRST SUBSEQUENT READ ACCESS OF EACH MSL2041/2 BEGINS READING FROM REGISTER ADDRESS X MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 41 Packaging Information (SIDE VIEW) (TOP VIEW) 0.1 C 0.1 C 10. D 28 d d 0.08 C SEATING PLANE 0.1 C 1 2 PIN 1 ID E A1 (A3) A D2 C e COMMON DIMENSIONS (UNIT OF MEASURE=MM) E2 PIN 1 ID SYMBOL 2 1 K - 0.85 0.90 0.00 - 0.05 D2 2. Dimension "b" applies to metalized terminal and is measured between 0.15mm and 0.30mm from the terminal tip. If the terminal has the optional radius on the other end of the terminal, the dimension should not be measured in that radius area. E2 0.25 0.30 2 5.00 BSC 3.60 3.70 3.80 5.00 BSC E 1. Refer to JEDEC Drawing MO-220 viaration VHHD-3 (SAW SINGULATION) NOTE 0.203 REF 0.20 D (BOTTOM VIEW) MAX A b 28X b NOM A1 A3 28 28X L MIN 3.60 e 3.70 3.80 0.50 BSC L 0.35 0.40 0.45 K 0.20 - - 7/12/2011 Package Drawing Contact: [email protected] TITLE GPC DRAWING NO. REV. 28M2, 28-pad, 5x5x0.9mm Body, 0.50mm pitch, 3.70x3.70mm ePAD, Sawn Very-thin, Fine-pitch Quad Flat No Lead Package (VQFN) ZMH 28M2 A MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 42 11. Datasheet Revision History Doc. Rev. Date 42225A 02/2014 Comments Initial document release. MSL2041/2042 [Preliminary Datasheet] Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014 43 XXXXXX Atmel Corporation 1600 Technology Drive, San Jose, CA 95110 USA T: (+1)(408) 441.0311 F: (+1)(408) 436.4200 | www.atmel.com © 2014 Atmel Corporation. / Rev.: Atmel-42225A-AVR-LED Driver-MSL2041/2042-Datasheet_02/2014. Atmel®, Atmel logo and combinations thereof, and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others. DISCLAIMER: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN THE ATMEL TERMS AND CONDITIONS OF SALES LOCATED ON THE ATMEL WEBSITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS AND PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and products descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life. SAFETY-CRITICAL, MILITARY, AND AUTOMOTIVE APPLICATIONS DISCLAIMER: Atmel products are not designed for and will not be used in connection with any applications where the failure of such products would reasonably be expected to result in significant personal injury or death (“Safety-Critical Applications”) without an Atmel officer's specific written consent. Safety-Critical Applications include, without limitation, life support devices and systems, equipment or systems for the operation of nuclear facilities and weapons systems. Atmel products are not designed nor intended for use in military or aerospace applications or environments unless specifically designated by Atmel as military-grade. Atmel products are not designed nor intended for use in automotive applications unless specifically designated by Atmel as automotive-grade.