IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Transcript of IS31FL3736 12×8 DOTS MATRIX LED DRIVER
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 1 Rev. B, 04/20/2017
DESCRIPTION
The IS31FL3736 is a general purpose 12×8 LEDs matrix driver with 1/12 cycle rate. The device can be programmed via an I2C compatible interface. Each LED can be dimmed individually with 8-bit PWM data which allowing 256 steps of linear dimming.
IS31FL3736 features 3 Auto Breathing Modes which are noted as ABM-1, ABM-2 and ABM-3. For each Auto Breathing Mode, there are 4 timing characters which include current rising / holding / falling / off time and 3 loop characters which include Loop-Beginning / Loop-Ending / Loop-Times. Every LED can be configured to be any Auto Breathing Mode or PWM mode individually.
FEATURES
Supply voltage range from 2.7V to 5.5V Programmable 12×8 (32 RGBs) matrix size with
de-ghost function 3 Auto Breath Modes and PWM Mode Auto breath offers 128 steps gamma current,
interrupt and state look up registers 256 steps global current setting Individual PWM control 256 steps Individual open and short error detect function QFN-40 (5mm×5mm)
QUICK START
Figure 1: Photo of IS31FL3736 Evaluation Board
RECOMMENDED EQUIPMENT
5.0V, 2A power supply
ABSOLUTE MAXIMUM RATINGS
≤ 5.5V power supply
Caution: Do not exceed the conditions listed above, otherwise the board will be damaged.
PROCEDURE
The IS31FL3736 evaluation board is fully assembled and tested. Follow the steps listed below to verify board operation.
Caution: Do not turn on the power supply until all connections are completed.
1) Short J3 to connect 3VO and VIO. 2) Short J4 to connect PVCC and U1VCC. 3) Connect the 5VDC power to the connector
(J1&J2). 4) Turn on the power supply/Plug in the Micro USB
Pay attention to the supply current. If the current exceeds 1A, please check for circuit fault.
ORDERING INFORMATION
Part No. Temperature Range Package
IS31FL3736-QFLS4-EB -40°C to +125°C (Industrial) QFN-40, Lead-free
Table 1: Ordering Information
For pricing, delivery, and ordering information, please contacts ISSI’s analog marketing team at [email protected] or (408) 969-6600.
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 2 Rev. B, 04/20/2017
EVALUATION BOARD OPERATION
The IS31FL3736 evaluation board has three animation display modes. Press K1 to switch configurations.
1) Line-shaded animation 2) Heart animation 3) Dot-shaded line animation 4) All LED turn on Note: IS31FL3736 solely controls the FxLED function on the evaluation board.
SOFTWARE CONTROL
J4 default setting is closed (short). If it is set to open, the U1 (LDO) will stop working and all the 3V, including the supply of MCU will be cut off, all the MCU's IO will be high impedance (open-drain) and external control is allowed.
The IS31FL3736 can set its I2C bus interface logic threshold based on the voltage on the VIO pin. An external VIO voltage in the range of 1.8V≤VIO≤VCC can be applied after removing (open) the J4 jumper.
The board comes with J4 default setting closed (short). If it is set to open, the user can connect an external VIO voltage supply, the external VIO voltage is recommended to equal to ex-IIC’s high logic.
Follow the steps listed below for external control.
1) Open J4 to disconnect the power of U1, disable the 3V0 (3.0V).
2) Open J3 to disconnect the VIO to 3V0, and connect an external MCU VCC to VIO.
3) Pull-up or short the SDB to VIO (Can short by the jumper cap from J3 or J4).
4) Connect the 5VDC power to the connector (J1&J2, skip this step if use micro-USB as the power).
5) Turn on the power supply/Plug in the Micro USB Pay attention to the supply current. If the current exceeds 1A, please check for circuit fault.
6) Start external IIC control. Caution: If J4 is closed (shorted), user can’t connect the user’s MCU VCC to VIO directly, otherwise the user’s MCU (maybe 1.8V) will connect to evaluation bard’s VIO (3.0V) and maybe damaged.
Figure 2: Photo of Arduino connect to Evaluation Board
Follow the steps listed below for external Arduino control.
The Arduino hardware consists of an Atmel microcontroller with a bootloader allowing quick firmware updates. First download the latest Arduino Integrated Development Environment IDE (1.6.12 or greater) from www.arduino.cc/en/Main/Software. Then download the latest IS31FL3736 test firmware (sketch) from the ISSI website http://www.issi.com/US/product-analog-fxled-driver.shtml.
1) Open J4 and J3. 2) Pull-up or short the SDB of Con3 to VIO (Use the
jumper cap from J3 or J4). 3) Connect the 5 pins from Arduino board to
IS31FL3736 EVB: a) Arduino VCC5V to IS31FL3736 EVB PVCC
(Con3 or J2). b) Arduino GND to IS31FL3736 EVB GND
(Con3 or J1). c) Arduino SDA to IS31FL3736 EVB SDA. d) Arduino SCL to IS31FL3736 EVB SCL. e) If Arduino use 3.3V MCU VCC, connect
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 3 Rev. B, 04/20/2017
3.3V to IS31FL3736 EVB VIO, if Arduino use 5.0V MCU VCC, connect 5.0V to EVB VIO. (Arduino UNO is 3.3V, so VIO=3.3V)
4) Use the test code in appendixⅠor Download the test firmware (sketch) form ISSI website, a .txt file and copy the code to Arduino IDE and download to Arduino.
5) Run the Arduino code and initial mode is change the brightness every second.
6) Default 31FL3736 device address is 0xA0 (ADDR1=LOW, ADDR2=GND), if user want to change the device address, use the AD1 in Con3 a) AD1=VIO or PVCC, device address=0xA6. b) AD1=SCL, device address=0xA2. c) AD1=SDA, device address=0xA4. ADDR2 pin is fixed to GND so user can’t change it.
Please refer to the datasheet to get more information about IS31FL3736.
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 4 Rev. B, 04/20/2017
VBAT1
PC13-ANTI_TAMP2
PC14-OSC32_IN3
PC15-OSC32_OUT4
OSC_IN5
OSC_OUT6
NRST7
VSSA8
VDDA9
PA0-WKUP/ADC_IN0/TIM2_CH1_ETR10
PA1/ADC_IN1/TIM2_CH211
PA2/USART2_TX/ADC_IN2/TIM2_CH312
PA3/USART2_RX/ADC_IN3/TIM2_CH413
PA4/SPI1_NSS/ADC_IN414
PA5/SPI1_SCK/ADC_IN515
PA6/SPI1_MISO/ADC_IN6/TIM3_CH116
PA7/SPI1_MOSI/ADC_IN7/TIM3_CH217
PB0/ADC_IN8/TIM3_CH318
PB1/ADC_IN9/TIM3_CH419
PB2/BOOT120
PB10/I2C2_SCL/USART3_TX21
PB11/I2C2_SDA/USART3_RX22
VSS_123
VDD_124
PB12/SPI2_NSS/TIM1_BKIN25PB13/SPI2_SCK/TIM1_CH1N 26PB14/SPI2_MISO/TIM1_CH2N27PB15/SPI2_MOSI/TIM1_CH3N 28
PA8/TIM1_CH1/MCO 29PA9/USART1_TX/TIM1_CH2 30PA10/USART1_RX/TIM1_CH3 31PA11/CANRX/USBDM/TIM1_CH4 32
PA12/CANTX/USBDP/TIM1_ETR 33PA13/JTMS/SWDIO34VSS_2 35VDD_236PA14/JTCK/SWCLK 37
PA15/JTDI 38PB3/JTDO 39PB4/JNTRST 40PB5 41
PB6/I2C1_SCL/TIM4_CH1 42PB7/I2C1_SDA/TIM4_CH243BOOT0 44PB8/TIM4_CH345PB9/TIM4_CH4 46
VSS_3 47VDD_3 48U2
STM32F103C8T6
OSC_INOSC_OUT
GND
3V
SDASCL
INTB
USB_DMUSB_DPDIOGND3V
GND
Y18M
33P
C7
33P
C6
OSC_IN
OSC_OUT
10nF
C2
VDD1
GND2
SD3
BP4
VOUT 5
U1
LDO
1uFC1
3V
CLK
GND
1uFC3
3V0.1uF
C9
0.1uF
C8
MCU
3V Power
100KR11
20KR5
OSC
LED Array
100KR8
4.7KR6
4.7KR12
K1
GND
1uFC5
GND
0.1uF
C10
10KR1
100KR7
100KR10
1234567891011121314151617181920
CON3
12
J112
J2
12
J3
Header 2H12
J4
Header 2H
GNDPVCC
VIO
U1 VCC
U1 VCC
GNDGNDCLKDIO3.3VIICRST
INTBSDASCLAD1AD1GNDSCLSDAPVCCVIOSDBGNDGND
PVCC3V
NCR9
3V
0.1uF
C11
SDB
91KR13
10KR14
3V
Micro USB
VCC1
USB_DM2
USB_DP3
NC4
GND5
Con4
10uF
C4
PVCC
GND
22R
R4
22R
R2
USB_DM
USB_DP
1.5K
R33V
USB_DMUSB_DP
10uF
C12
D1
DFL240
GND
11 22
33 4455 6
6
778 8
9 910 1011 1112
12Con2
1 1
2 2
33
4 4
55
6 6
7 7
8 8
99
1010
1111
1212
1313
1414
1515
1616
Con1
CS1CS2CS3CS4CS5CS6CS7CS8CS9CS10CS11CS12CS13CS14CS15CS16
SW1 SW2SW3 SW4SW5 SW6SW7 SW8SW9 SW10SW11 SW12
IO
PVCC
GND
GND
GND
VIO
GND
GND
GND
SW1SW2SW3SW4SW5SW6SW7SW8SW9SW10SW11SW12
CS1CS2CS3CS4CS5CS6CS7CS8
VIO
SDASCLINTBSDB
RSET
AD
IICRST
3V
SW1 1SW2 2SW3 3
PGND4
SW4 5SW5 6SW6 7SW7
8SW8 9SW910
PGND11
SW10 12SW11 13SW12 14
CS115CS2 16
CS3 18CS4 19
PVCC17
CS5 21CS622CS7 24CS825
PVCC23
AGND26
RSET30
AVCC28
DVCC27
VIO 31
SDA33
SCL34
ADDR135
ADDR236
INTB37
SDB38
IICRS39
GND40
SYNC32
U3
IS31FL3736
SYNC
SYNC
CS1
CS2
CS3
CS4
CS5
CS6
CS7
CS8
SW1
SW2
SW3
SW4
2SW5
SW6
2SW7
SW8
SW9
SW10
SW11
SW12 LD89 LD90 LD91 LD92 LD93 LD94 LD95 LD96
LD81 LD82 LD83 LD84 LD85 LD86 LD87 LD88
LD73 LD74 LD75 LD76 LD77 LD78 LD79 LD80
LD65 LD66 LD67 LD68 LD69 LD70 LD71 LD72
LD57 LD58 LD59 LD60 LD61 LD62 LD63 LD64
LD49 LD50 LD51 LD52 LD53 LD54 LD55 LD56
LD41 LD42 LD43 LD44 LD45 LD46 LD47 LD48
LD33 LD34 LD35 LD36 LD37 LD38 LD39 LD40
LD25 LD26 LD27 LD28 LD29 LD30 LD31 LD32
LD17 LD18 LD19 LD20 LD21 LD22 LD23 LD24
LD9 LD10 LD11 LD12 LD13 LD14 LD15 LD16
LD1 LD2 LD3 LD4 LD5 LD6 LD7 LD8
Figure 3: IS31FL3736 Application Schematic
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 5 Rev. B, 04/20/2017
BILL OF MATERIALS
Name Symbol Description Qty Supplier Part No.
LDO U1 Reduced voltage 1 SGMICRO SGM2019-3.3V
MCU U2 Microcontroller 1 STM STM32F103C8T6
LED Driver U3 Matrix LED Driver 1 ISSI IS31FL3736
Diode LD1~LD96 Blue LED, SMD 96 Everlight 9-217/BHC-ZL1M2RY/3T
Diode D1 Diode, SMD 1 DIODES DFLS240
Crystal Y1 Crystal, 8MHz 1 JB HC-49S
Resistor R1,R14 RES,10k,1/16W,±5%,SMD 2 Yageo RC0603JR-0710KL
Resistor R2,R4 RES,22R,1/16W,±5%,SMD 2 Yageo RC0603JR-0722RL
Resistor R3 RES,1.5k,1/16W,±5%,SMD 1 Yageo RC0603JR-071K5L
Resistor R5 RES,20k,1/16W,±5%,SMD 1 Yageo RC0603JR-0720KL
Resistor R6,R12 RES,1k,1/16W,±5%,SMD 2 Yageo RC0603JR-0701KL
Resistor R7,R8,R10,R11 RES,100k,1/16W,±5%,SMD 4 Yageo RC0603JR-07100KL
Resistor R9 NC 0
Resistor R13 RES,91k,1/16W,±5%,SMD 1 Yageo RC0603JR-07910KL
Capacitor C1,C3,C5 CAP,1µF,16V,±20%,SMD 3 Yageo CC0603KKX7R9BB105
Capacitor C2 CAP,10pF,16V,±20%,SMD 1 Yageo CC0603KKX7R9BB100
Capacitor C4,C12 CAP,10µF,16V, ±20%,SMD 2 Yageo CC0603KKX7R9BB106
Capacitor C6,C7 CAP,33pF,16V,±20%,SMD 2 Yageo CC0603KKX7R9BB330
Capacitor C8,C9,C10,C11 CAP,0.1µF,16V,±20%,SMD 3 Yageo CC0603KKX7R9BB104
Button K1 Button 1
Bill of Materials, refer to Figure 3 above.
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 6 Rev. B, 04/20/2017
Figure 4: Board Component Placement Guide - Top Layer
Figure 5: Board PCB Layout - Top Layer
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 7 Rev. B, 04/20/2017
Figure 6: Board Component Placement Guide - Bottom Layer
Figure 7: Board PCB Layout - Bottom Layer
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 8 Rev. B, 04/20/2017
Figure 8: LED Board Component Placement Guide - Top Layer
Figure 9: LED Board PCB Layout - Top Layer
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 9 Rev. B, 04/20/2017
Figure 10: LED Board Component Placement Guide - Bottom Layer
Figure 11: LED Board PCB Layout - Bottom Layer
Copyright © 2017 Integrated Silicon Solution, Inc. All rights reserved. ISSI reserves the right to make changes to this specification and its products at any time without notice. ISSI assumes no liability arising out of the application or use of any information, products or services described herein. Customers are advised to obtain the latest version of this device specification before relying on any published information and before placing orders for products. Integrated Silicon Solution, Inc. does not recommend the use of any of its products in life support applications where the failure or malfunction of the product can reasonably be expected to cause failure of the life support system or to significantly affect its safety or effectiveness. Products are not authorized for use in such applications unless Integrated Silicon Solution, Inc. receives written assurance to its satisfaction, that: a.) the risk of injury or damage has been minimized; b.) the user assume all such risks; and c.) potential liability of Integrated Silicon Solution, Inc is adequately protected under the circumstances
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 10 Rev. B, 04/20/2017
REVISION HISTORY
Revision Detail Information Date
A Initial release 2016.07.26
B 1 Update schematic/Bom table 2 Add external Arduino control guide
2017.04.20
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 11 Rev. B, 04/20/2017
APPENDIX Ⅰ: IS31FL3736 Arduino Test Code V01A
#include<Wire.h>
#include<avr/pgmspace.h> #define Addr_GND_GND 0xa0//AD1 open (R7 pull-low), ADDR2=GND #define Addr_GND_VCC 0xa6//AD1 = VIO, ADDR2=GND #define Addr_GND_SCL 0xa2//AD1 = SCL, ADDR2=GND #define Addr_GND_SDA 0xa4//AD1 = SDA, ADDR2=GND void setup() { Wire.begin(); Wire.setClock(800000);//I2C 800kHz IS31FL3736_init(); } void loop() { IS31FL3736_Test_mode1();//breath mode } void IS_IIC_WriteByte(uint8_t Dev_Add,uint8_t Reg_Add,uint8_t Reg_Dat) { Wire.beginTransmission(Dev_Add/2); // transmit to device address Wire.write(Reg_Add); // sends register address Wire.write(Reg_Dat); // sends register data Wire.endTransmission(); // stop transmitting } void IS31FL3736_init(void)//white LED { uint8_t i; IS_IIC_WriteByte(Addr_GND_GND,0xFE,0xc5);//Unlock FDh IS_IIC_WriteByte(Addr_GND_GND,0xFD,0x03);//Turn to page 3: function registers IS_IIC_WriteByte(Addr_GND_GND,0x00,0x00);//Enable software shutdown IS_IIC_WriteByte(Addr_GND_GND,0xFE,0xc5);//Unlock FDh IS_IIC_WriteByte(Addr_GND_GND,0xFD,0x00);// Turn to page 0: control registers for(i=0;i<0x18;i=i+1)IS_IIC_WriteByte(Addr_GND_GND,i,0xff);//open all LED //can use buffer write type as figure 7 in datasheet IS_IIC_WriteByte(Addr_GND_GND,0xFE,0xc5);//unlock FDh IS_IIC_WriteByte(Addr_GND_GND,0xFD,0x01);//Turn to page 1: PWM registers for(i=0;i<192;i++)IS_IIC_WriteByte(Addr_GND_GND,i,0x00);//Set PWM data to 0 //can use buffer write type as figure 7 in datasheet IS_IIC_WriteByte(Addr_GND_GND,0xFE,0xc5);//unlock FDh IS_IIC_WriteByte(Addr_GND_GND,0xFD,0x03);//Turn to page 3: function registers IS_IIC_WriteByte(Addr_GND_GND,0x00,0x01);//Release software shutdown to normal operation IS_IIC_WriteByte(Addr_GND_GND,0x01,0xff);//global current
IS31FL3736 12×8 DOTS MATRIX LED DRIVER
Integrated Silicon Solution, Inc. – www.issi.com 12 Rev. B, 04/20/2017
} void IS31FL3736_Test_mode1(void)//white LED { uint8_t i; while(1) { IS_IIC_WriteByte(Addr_GND_GND,0xFE,0xc5);//unlock FDh IS_IIC_WriteByte(Addr_GND_GND,0xFD,0x01);//Turn to page 1: PWM registers for(i=0;i<192;i++)IS_IIC_WriteByte(Addr_GND_GND,i,0x10);//update all PWM with 0x10 delay(1000); // wait for a second IS_IIC_WriteByte(Addr_GND_GND,0xFE,0xc5);//unlock FDh IS_IIC_WriteByte(Addr_GND_GND,0xFD,0x01);//Turn to page 1: PWM registers for(i=0;i<192;i++)IS_IIC_WriteByte(Addr_GND_GND,i,0x80); //update all PWM with 0x80 delay(1000); // wait for a second } }