Администрирование Железо TLC59116: 16-канальный драйвер светодиодов Sun, October 18 2026  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

TLC59116: 16-канальный драйвер светодиодов Печать
Добавил(а) microsin   

Микросхема TLC59116 это управляемый через шину I2C драйвер светодиодов на 16 каналов. Драйвер оптимизирован для работы на светодиоды красного/зеленого/синего/желтого цвета (red/green/blue/amber, RGBA), с возможностью микширования. Каждый выход на светодиод (LED ~OUT) обладает разрешающей способностью установки яркости 8 бит (256 градаций). Каждый выход индивидуально управляется ШИМ (PWM) контроллером, который работает на частоте 97 кГц, обеспечивая скважность выхода от 0% до 99.6%.

Функциональные возможности TLC59116:

● 16 драйверов LED, выход каждого программируется на состояния Off (выключено), On (включено), Blinking (мигание). Индивидуально для каждого выхода программируется яркость. Есть режимы программируемого группового изменения яркости (Programmable Group Dimming. Частота мигания устанавливается одинаковой для группы.
● Яркость каждого канала определяется программируемы значением яркости (256 уровней, 8-Bit Linear Programmable Brightness), позволяя изменять яркость от полностью включенного светодиода до полностью выключенного.
● Групповое управление яркостью (256-Step Group Brightness Control), групповое мигание (256-Step Group Blinking), осуществляемое с помощью ШИМ 190 Гц. Частота мигания группы может программироваться от периода 24 Гц (быстрое мигание) до периода 10.73 сек (очень медленное мигание), с яркостью от 0% до 99.6%.
● 4 аппаратных входа установки адреса I2C позволяют подключить до 14 микросхем TLC59116 к одной шине I2C, что позволяет программировать каждую из этих микросхем индивидуально.
● 4 программно конфигурируемых адреса I2C (один для LED Group Call Address, и три LED Sub Call Address) позволяют группе устройств быть адресованными одновременно в любой комбинации.
● Функция программного сброса (Software Reset, SWRST Call) позволяет сбросить состояние устройства через шину I2C.
● Функции детектирования открытого выхода (Open-Load) и перегрева (Overtemperature Detection Mode) для определения ошибок на отдельном выходе (Detect Individual LED Errors).
● Программируемые варианты изменения состояния выхода - по подтверждению (Acknowledge) или по команде Stop, чтобы обновлять выходы побайтно или все выходы одновременно (по умолчанию обновление одновременно, по команде Stop).
● Выходной ток настраивается внешним резистором REXT.
● Диапазон постоянного выходного тока: от 5 mA до 120 mA.
● Максимальное выходное напряжение 17V.
● Внутренний генератор 25 МГц, не требующий внешних компонентов.
● Режим совместимости с быстрой шиной (1-MHz Fast-mode Plus I2C, FMT), с высокой нагрузочной способностью сигнала SDA (30-mA High-Drive Capability), позволяющей работать на шине с большой паразитной емкостью.
● Внутренний сброс по питанию (Power-On Reset).
● Фильтр помех на входах SCL и SDA.
● Отсутствие паразитных импульсов при подаче питания (Power-Up).
● Сброс по импульсу лог. 0 на входе ~RESET.
● Поддерживается горячее к шине I2C и питанию.
● Низкий ток потребления в режиме приостановки (Low Standby Current).
● Напряжение питания 3.3V или 5V.
● Входы, допускающие уровни логики 5.5V (5.5-V Tolerant Inputs).
● Выпускаются в корпусах TSSOP28 (PW) и VQFN32 (RHB).
● Диапазон рабочих температур –40°C .. 85°C.

Области применения:

● Игрушки.
● Небольшие матричные индикационные панели.
● Промышленное оборудование.

Варианты поставки(1):

PART NUMBER Корпус Размер корпуса
TLC59116 TSSOP (28) 9.70 mm × 4.40 mm
VQFN (32) 5.00 mm × 5.00 mm

Примечание (1): информацию обо всех доступных вариантах корпуса (package) смотри в приложении "Orderable Addendum" оригинального даташита [1].

Типовое применение TLC59116:

TLC59116 Typical Application

Индивидуальный PWM-контроллер позволяет задать каждому светодиоду (LED) собственное значение яркости. Дополнительный групповой PWM-контроллер с 8-битным разрешением (256 шагов) имеет как фиксированную частоту 190 Гц, так и регулируемую частоту в диапазоне от 24 Гц до одного раза каждые 10.73 секунды, при этом коэффициент заполнения (скважность) регулируется от 0% до 99,6%. Групповой ШИМ-контроллер выполняет диммирование или мигание всех светодиодов одновременно с одним и тем же значением.

Каждый выход LED может быть выключен, включен (без управления PWM), или установлен на определенную яркость PWM как индивидуально, так и на значения группового PWM-контроллера.

TLC59116 работает от напряжения питания в диапазоне от 3V до 5.5V, и выходы светодиодов могут получать ток от источника напряжения до 17V. Светодиоды могут напрямую подключаться к выходам ~OUTn без дополнительных резисторов.

Определяемые программно групповой адрес (LED Group) и три подадреса (Sub Call) на шине I2C позволяют всем устройствам TLC59116 или их определённым группам отвечать на общий адрес шины I2C. Это даёт возможность, например, одновременно включать или выключать все светодиоды одного цвета или создавать эффект "бегущей строки" (marquee chasing), тем самым минимизируя количество команд на шине I2C.

4 входа микросхемы TLC59116 позволяют аппаратно задавать адрес шины, что дает возможность подключить к одной шине I2C до 14 микросхем одновременно.

Команда программного сброса (Software Reset, SWRST) позволяет мастеру шины выполнить сброс TLC59116 через шину I2C, что идентично аппаратному сбросу по питанию Power-On Reset (POR). Сброс инициализирует все регистры в состояние по умолчанию, при этом все выходы переходят в состояние высокого сопротивление (LED off). Это позволяет легко и быстро переконфигурировать регистры устройства.

[Цоколевка корпусов и назначение выводов]

Корпус TSSOP28 (PW), вид сверху:

TLC59116 package TSSOP28 PW

Корпус VQFN32 (RHB), вид сверху:

TLC59116 package VQFN32 RHB

NC означает "NO internal connection", вывод не используется и никуда не подключен. Нижнюю контактную площадку Exposed Thermal Pad следует использовать как вторичное заземление.

Функциональное назначение выводов:

Имя TSSOP28 VQFN32 I/O(1) Описание
REXT 1 30 I Вход, используемый для подключения внешнего резистора, определяющего все выходные токи.
A0 2 31 I Вход адреса I2C
A1 3 32 I
A2 4 1 I
A3 5 2 I
~OUT0 6 3 O Выход постоянного тока
~OUT1 7 4 O
~OUT2 8 5 O
~OUT3 9 6 O
GND 10 7   Земля, общий провод
~OUT4 11 8 O Выход постоянного тока
~OUT5 12 8 O
~OUT6 13 10 O
~OUT7 14 11 O
~OUT8 15 14 O
~OUT9 16 15 O
~OUT10 17 16 O
~OUT11 18 17 O
GND 19 18   Земля, общий провод
~OUT12 20 19 O Выход постоянного тока
~OUT13 21 20 O
~OUT14 22 21 O
~OUT15 23 22 O
GND 24 23   Земля, общий провод
~RESET 25 24 I Вход сброса, активный уровень 0
SCL 26 25 I Вход тактов I2C
SDA 27 26 I/O Данные I2C
VCC 28 27   Напряжение питания
NC - 12, 13,
28, 29
  Нет внутреннего соединения

Примечание (1): I означает вход (Input), O выход (Output).

Absolute Maximum Ratings (предельные допустимые значения1). Параметры приведены для работы у условиях нормальной температуры окружающего воздуха (если специально не указано что-то иное).

  TSSOP28 VQFN32 Ед.
VCC Напряжение питания 0 7 V
VI Входное напряжение –0.4 VCC +0.4
VO Выходное напряжение –0.5 20
IO Выходной ток на канал   120 mA
TJ Температура перехода (кристалла) –40 150 °C

Примечание 1: воздействие нагрузок, превышающих указанные в разделе “Absolute Maximum Ratings”, может привести к необратимому повреждению устройства. Эти номиналы являются только предельными нагрузками и не подразумевают функционирование устройства при таких или любых других условиях, выходящих за пределы, указанные в разделе “Рекомендуемые рабочие условия”. Длительное воздействие условий, соответствующих Absolute Maximum Ratings, может повлиять на надёжность устройства.

Параметры обращения с устройством

  min MAX Ед.
V(ESD) Воздействие статического электричества Human body model (HBM), ANSI/ESDA/JEDEC JS-001, все выводы1   1500 V
Charged device model (CDM), JEDEC спецификация JESD22-C101, все выводы2   500
Tstg Температура хранения –55 150 °C

Примечания:

1. В документе JEDEC JEP155 указано, что 500V по модели человеческого тела (HBM) позволяет безопасно изготавливать устройства при использовании стандартного процесса контроля электростатического разряда (ESD).
2. В документе JEDEC JEP157 указано, что 250V по модели заряженного устройства (CDM) позволяет безопасно изготавливать устройства при использовании стандартного процесса контроля электростатического разряда (ESD).

Рекомендуемые рабочие условия. Для обеспечения правильной работы устройства все не используемые входы устройства должны находится под напряжением уровня VCC или GND.

  min MAX Ед.
VCC Напряжение питания 3 5.5 V
VIH Входное напряжение лог. 1 SCL, SDA, ~RESET, A0, A1, A2, A3 0.7 × VCC VCC
VIL Входное напряжение лог. 0 0 0.3 × VCC
VO Напряжение на выводах выходов ~OUT0 .. ~OUT15   17
IOL Выходной ток стока при низком уровне SDA VCC = 3V   20 mA
VCC = 5V   30
IO Выходной ток на канал ~OUT0 .. ~OUT15     120
TA Температура окружающей среды     –40 85 °C

Информация о тепловых режимах

Температурные метрики1 TSSOP28 VQFN32 Ед.
RθJA Тепловое сопротивление «кристалл – окружающая среда» 78 34.3 °C/Вт
RθJC(top) Тепловое сопротивление «кристалл – корпус (верх)» 18.8 26.3
RθJB Тепловое сопротивление «кристалл – плата» 36 8.3
ψJT Характеризационный параметр «кристалл – верх корпуса» 0.5 0.4
ψJB Характеризационный параметр «кристалл – плата» 35.5 8.2
RθJC(bot) Тепловое сопротивление «кристалл – корпус (низ)» - 3.3

Примечание 1: дополнительную информацию о традиционных и новых тепловых метриках см. в отчёте по применению IC Package Thermal Metrics, SPRA953 (сайт Texas Instruments).

Электрические характеристики. VCC = 3V .. 5.5V, TA = –40°C .. 85°C (если специально не указано нечто иное).

  min Typ1 MAX Ед.
II Входной/выходной ток утечки SCL, SDA, A0, A1, A2, A3, ~RESET   VI = VCC или GND     ±0.3 μA
  Выходной ток утечки ~OUT0 .. ~OUT15 VO = 17V, TJ = 25°C     0.5
VPOR Напряжение сброса при подаче питания         2.5 V
IOL Выходной ток низкого уровня SDA VCC = 3V, VOL = 0.4V 20     mA 
VCC = 5V, VOL = 0.4V 30    
IO(1) Выходной ток 1 ~OUT0 .. ~OUT15 VO = 0.6V, Rext = 720Ω, CG = 0.9922   26   mA 
  Выходной ток ошибки IO = 26 mA, VO = 0.6V, Rext = 720Ω, TJ = 25°C     ±8%  
  Выходной ток ошибки между каналами     ±6%  
IO(2) Выходной ток 2 VO = 0.8V, Rext = 360Ω, CG = 0.9922   52   mA
  Выходной ток ошибки IO = 52 mA, VO = 0.8V, Rext = 360Ω, TJ = 25°C       ±8%  
  Выходной ток ошибки между каналами     ±6%  
IOUT vs VOUT Регулировка выходного тока в зависимости от выходного напряжения VO = 1V .. 3V, IO = 26 mA   ±0.1   %/V
VO = 3V .. 5.5V, IO = 26 mA .. 120 mA   ±1    
IOUT,Th1 Пороговый ток 1 для детектирования ошибки IOUT,target = 26 mA   0.5 × ITARGET%    
IOUT,Th2 Пороговый ток 2 для детектирования ошибки IOUT,target = 52 mA      
IOUT,Th3 Пороговый ток 3 для детектирования ошибки IOUT,target = 104 mA      
TSD Выключение при перегреве3     150 175 200 °C
THYS Гистерезис повторного запуска       15  
Ci Входная емкость SCL, A0, A1,  A2, A3, ~RESET VI = VCC или GND   5   пФ
Cio Входная/выходная емкость SDA   8  
ICC Ток потребления VCC = 5.5V ~OUT0 .. ~OUT15 = OFF, Rext = Open     25 mA
~OUT0 .. ~OUT15 = OFF, Rext = 720Ω     29
~OUT0 .. ~OUT15 = OFF, Rext = 360Ω     32
~OUT0 .. ~OUT15 = OFF, Rext = 180Ω     37
~OUT0 .. ~OUT15 = ON, Rext = 720Ω     29
~OUT0 .. ~OUT15 = ON, Rext = 360Ω     32
~OUT0 .. ~OUT15 = ON, Rext = 180Ω     37

Примечания:

1. Все типовые значения при TA = 25 °C.
2. CG означает Current Gain (усиление тока), и это определено в таблице 12.
3. Указано в соответствии с дизайном.

Требования к интервалам времени. TA = –40°C .. 85°C.

  Стандартный
режим I2C
FAST MOD
I2C
FAST MODE
PLUS I2C
Ед.
min MAX min MAX min MAX
Интерфейс I2C
fSCL Тактовая частота SCL1 0 100 0 400 0 1000 кГц
tBUF Время свободного состояния шины I2C между Stop и Start 4.7   1.3   0.5   мкс
tHD;STA Время удержания (повторного) Start 4   0.6   0.26  
tSU;STA Время установки для повторного Start 4.7   0.6   0.26  
tSU;STO Время установки для Stop 4    0.6   0.26  
tHD;DAT Время удержания данных 0   0   0  
tVD;ACK Время действия данных при подтверждении (ACK)2 0.3 3.45 0.1 0.9 0.05 0.45
tVD;DAT Время действия данных3 0.3 3.45 0.1 0.9 0.05 0.45
tSU;DAT Время установки данных 250   100   50   нс
tLOW Длительность лог. 0 сигнала тактов SCL 4.7   1.3   0.5   мкс
tHIGH Длительность лог. 1 сигнала тактов SCL 4   0.6   0.26  
tf Время спада сигналов SDA и SCL4,5   300 20+0.1Cb6 300   120 нс
tr Время нарастания сигналов SDA и SCL   1000 20+0.1Cb6 300   120
tSP Длительность импульса (ширина) выбросов, которые должны подавляться входным фильтром   50   50   50
RESET
tW Длительность импульса сброса 10   10   10   нс
tREC Время восстановления после сброса 0   0   0  
tRESET Время сброса8,9 400   400   400  

Примечания:

1. Минимальная тактовая частота SCL ограничена функцией тайм-аута шины, которая выполняет сброс последовательного интерфейса шины, если линия SDA или SCL удерживается в низком уровне в течение минимум 25 мс. Для работы на постоянном токе (DC) функцию тайм-аута шины следует отключить.
2. tVD;ACK — время от перехода SCL в низкий уровень до перехода SDA (выход) в низкий уровень для сигнала ACK.
3. tVD;DAT — минимальное время, в течение которого выходные данные на линии SDA должны стать действительными после перехода SCL в низкий уровень.
4. Мастер шины должен внутренне обеспечивать время удержания сигнала SDA не менее 300 нс (относительно VIL сигнала SCL), чтобы перекрыть неопределённую область спадающего фронта SCL.
5. Максимальное время спада (tf) для шинных линий SDA и SCL указано равным 300 нс. Максимальное время спада (tf) для выходного каскада SDA указано равным 250 нс. Это позволяет подключать последовательные защитные резисторы между выводами SDA и SCL и шинными линиями SDA/SCL, не превышая указанное максимальное значение tf.
6. Cb = общая емкость одного сигнала шины в пФ.
7. Входные фильтры входов сигналов SDA и SCL подавляют иголки помех длительностью менее 50 нс.
8. Сброс устройства во время активного обмена данными на шине может вызвать выбросы (помехи) или ошибочные Stop.
9. После сброса полная задержка будет равна сумме tRESET и RC-постоянной времени шины SDA.

Типовые характеристики

TLC59116 IOUTtarget vs Rext fig01

Рис. 1. Зависимость IOUT,target от Rext.

TLC59116 Output Current vs Output Voltage fig02

Рис. 2. Зависимость выходного тока от выходного напряжения.

Информация по измерению параметров

TLC59116 Reset Timing fig03

Рис. 3. Временные интервалы сигналов при сбросе.

TLC59116 Definition of Timing fig04

Рис. 4. Терминология интервалов времени.

TLC59116 I2C Bus Timing fig05

Рис. 5. Интервалы времени I2C. Времена нарастания и спада отсчитываются относительно V_IL и V_IH.

TLC59116 Test Circuit for Switching Characteristics fig06

Рис. 6. Схема тестирования характеристик переключения.

Примечания:

• RL = сопротивление нагрузки для SDA и SCL; оно должно быть >1 кОм при токе 3 mA или меньшем токе.
• CL = емкость нагрузки; она включает емкость схемы стенда и емкость пробника.
• RT = сопротивление согласующего резистора (терминатора); должно быть равно выходному импедансу (ZO) генератора импульсов.

[Подробное описание TLC59116]

TLC59116 это управляемый по шине I2C 16-канальный драйвер светодиодов, оптимизированный для смешивания цветов RGBA (красный/зелёный/синий/янтарный). Каждый выход для светодиода имеет собственный индивидуальный ШИМ-контроллер с 8-битным разрешением (256 шагов) и фиксированной частотой 97 кГц, с коэффициентом заполнения, регулируемым от 0% до 99.6%. Индивидуальный ШИМ-контроллер позволяет задать каждому светодиоду собственное значение яркости. Дополнительный групповой ШИМ-контроллер с 8-битным разрешением (256 шагов) имеет как фиксированную частоту 190 Гц, так и регулируемую частоту в диапазоне от 24 Гц до одного раза каждые 10.73 секунды, при этом коэффициент заполнения регулируется от 0% до 99.6%. Групповой ШИМ-контроллер выполняет диммирование или мигание всех светодиодов одновременно с одним и тем же значением.

Функциональная блок-схема TLC59116:

TLC59116 Functional Block Diagram

Open-Circuit Detection. Обнаружение обрыва цепи светодиода (LED open-circuit detection) в TLC59116 сравнивает фактический (действующий) уровень тока IOUT с пороговым током обнаружения обрыва нагрузки IOUT,Th. Если IOUT ниже порога IOUT,Th, TLC59116 определяет состояние обрыва нагрузки (open load condition). Этот статус ошибки можно считать как флаг ошибки через регистры EFLAG1 и EFLAG2.

Для детектирования open-circuit error канал должен быть включен, и ШИМ должна быть выключена.

Таблица 1. Open-Circuit Detection.

Состояние вых. порта Вых. ток ERROR STATUS CODE Что это значит
Off IOUT = 0 mA 0 Детектирование невозможно
On IOUT < IOUT,Th(1) 0 На выходе обрыв
IOUT ≥ IOUT,Th(1) Бит 1 состояния ошибки канала n Нормальное состояние

Примечание (1): IOUT,Th = 0.5 × IOUT,target (типовое значение).

Overtemperature Detection и Shutdown. TLC59116 оснащён глобальным датчиком перегрева и 16 индивидуальными датчиками перегрева, избирательно по каждому каналу.

● Когда глобальный датчик достигает температуры срабатывания (trip temperature), все выходные каналы отключаются, а статус ошибки сохраняется во внутреннем регистре Error Status каждого канала. После отключения каналы автоматически перезапускаются после остывания, если управляющий сигнал (выходная защёлка) остаётся включённым. Сохранённый статус ошибки не сбрасывается после остывания и может быть считан как код статуса ошибки в регистрах EFLAG1 и EFLAG2.
● Когда один из канальных датчиков достигает температуры срабатывания, отключается только затронутый выходной канал, и статус ошибки сохраняется только во внутреннем регистре Error Status затронутого канала. После отключения и после остывания канал автоматически перезапускается, если управляющий сигнал (выходная защёлка) остаётся включённым. Сохранённый статус ошибки не сбрасывается после остывания и может быть считан как код статуса ошибки в регистрах EFLAG1 и EFLAG2.

Для канального детектирования перегрева соответствующий канал должен быть включен.

Флаги ошибки обрыва выхода и перегрева складываются по ИЛИ для установки регистров EFLAG1 и EFLAG2.

Код статуса ошибки из-за перегрева сбрасывается, когда ведущее устройство (host) записывает 1 в бит 7 регистра MODE2. Ведущее устройство должно записать 0 в бит 7 регистра MODE2, чтобы разрешить (включить) работу флага ошибки перегрева.

Таблица 2. Overtemperature Detection(1).

Состояние вых. порта Условие ERROR STATUS CODE Что это значит
On Tj < Tj,trip глобально 1 Нормальное состояние
On → все каналы Off Tj > Tj,trip глобально Все биты ошибки = 0 Глобальный перегрев
On Tj < Tj,trip 
канала n
1 Нормальное состояние
On → Off Tj > Tj,trip
канала n
Бит 1 состояния ошибки канала n Перегрев канала n

Примечание (1): глобальный порог температуры для выключения от перегрева (global shutdown threshold temperature) составляет приблизительно 170°C.

Power-On Reset (POR). Когда на VCC подаётся питание, внутренняя схема сброса при включении питания (power-on reset) удерживает TLC59116 в состоянии сброса до тех пор, пока VCC не достигнет VPOR. В этот момент состояние сброса снимается, и регистры TLC59116, а также конечный автомат шины I2C инициализируются в свои состояния по умолчанию (все нули), что приводит к отключению (desеlect) всех каналов. В дальнейшем, чтобы сбросить устройство, VCC должен быть опущен ниже 0.2V.

External Reset. Сброс может быть осуществлен подтяжкой к лог. 0 входа ~RESET на время не менее tW. Регистры TLC59116 и машина состояний I2C остаются в своих умолчаниях до тех пор, пока на входе ~RESET не появится снова лог. 1.

Этот вход требует внешнего резистора верхней подтяжки к VCC (pullup), если не используется активное подключение к управляющему микроконтроллеру.

Software Reset. Программный сброс, Software Reset Call (SWRST Call) позволяет сбросить одновременно все устройства на шине I2C с помощью специальной команды шины I2C.

Функция SWRST Call определена следующим образом:

1. Мастер шины посылает команду Start шины I2C.

2. На шину посылается зарезервированный адрес SWRST шины I2C 1101011 с битом R/W, установленным в 0 (write).

3. Устройство (устройства) TLC59116 посылает подтверждение (acknowledge) после того, как увидит адрес только SWRST Call 11010110 (D6h). Если бит R/W установлен в 1 (read), то мастеру не посылается I2C acknowledge.

4. Как только адрес SWRST Call был отправлен и подтвержден, мастер посылает 2 байта с определенными значениями (SWRST data byte 1 и byte 2):

(a) Byte 1 = A5h: TLC59116 подтвердит только это значение байта. Если byte 1 не равен A5h, то TLC59116 не подтвердит его.
(b) Byte 2 = 5Ah: TLC59116 подтвердит только это значение байта. Если byte 2 не равен 5Ah, то TLC59116 не подтвердит его.

Если будет отправлено большее количество байт, чем два, то TLC59116 никакой из них не подтвердит.

5. Как только два правильные байта (только байты SWRST data byte 1 и byte 2) были отправлены и корректно подтверждены, мастер посылает команду Stop для завершения SWRST Call. После этого TLC59116 сбрасывает свое состояние в default (состояние power-up), и может быть снова адресована в указанное время свободного состояния шины (bus free time, tBUF).

Мастер шины I2C может интерпретировать отсутствие подтверждения от TLC59116 (на любом шаге) как SWRST Call Abort. TLC59116 в таком случае не инициирует сброс своих регистров. Это происходит только когда был некорректен формат последовательности Start Call.

Индивидуальное управление яркостью вместе с Group Dimming/Blinking. Сигнал с фиксированной частотой 97 кГц, с программируемой скважностью (8 бит, 256 градаций) используется для индивидуального управления яркостью каждого отдельного LED.

Поверх этого сигнала может быть наложен один из следующих сигналов (этот сигнал может быть подан на четыре выхода светодиодов):

• Более низкочастотный сигнал с фиксированной частотой 190 Гц и программируемым коэффициентом заполнения (8 бит, 256 шагов) обеспечивает глобальное управление яркостью (групповое диммирование).
• Сигнал с программируемой частотой, период от 1/24 до 1/10.73 сек (8 бит, 256 шагов), что обеспечивает глобальное управление миганием группы светодиодов.

Формирование конечной яркости (индивидуальная яркость + групповое диммирование):

TLC59116 Brightness and Group Dimming Signals fig07

Рис. 7.  Яркость и сигналы группового диммирования (Group Dimming Signals).

Примечания:

• Минимальная ширина импульса для управления яркостью LEDn составляет 40 нс.
• Минимальная ширина импульса для группового диммирования составляет 20.48 мкс (20.48 мкс / 40 нс = 512).
• Когда M = 1 (значение регистра GRPPWM), результирующий сигнал "Управление яркостью LEDn + Групповое диммирование" получает два импульса сигнала управления яркостью LED (ширина импульса = n × 40 нс, где n определено в регистре PWMx).
• Этот результирующий сигнал «Яркость + Групповое диммирование» представляет собой итоговый управляющий сигнал при M = 4 (8 импульсов).

[Функциональные режимы TLC59116]

Active. Режим активного состояния действует, когда разрешена работа одного или большего количества каналов.

Standby. Режим приостановки действует, когда запрещены все выходные каналы. В режим Standby можно войти по команде I2C или подачей импульса лог. 0 на вывод ~RESET.

Карта регистров. В следующей таблице перечислены регистры TLC59116.

Таблица 3. Краткое описание регистров.

№ рег.
(HEX)
Имя Доступ(1) Описание
00 MODE1 R/W Mode 1
01 MODE2 R/W Mode 2
02 PWM0 R/W Управление яркостью LED0
03 PWM1 R/W Управление яркостью LED1
04 PWM2 R/W Управление яркостью LED2
05 PWM3 R/W Управление яркостью LED3
06 PWM4 R/W Управление яркостью LED4
07 PWM5 R/W Управление яркостью LED5
08 PWM6 R/W Управление яркостью LED6
09 PWM7 R/W Управление яркостью LED7
0A PWM8 R/W Управление яркостью LED8
0B PWM9 R/W Управление яркостью LED9
0C PWM10 R/W Управление яркостью LED10
0D PWM11 R/W Управление яркостью LED11
0E PWM12 R/W Управление яркостью LED12
0F PWM13 R/W Управление яркостью LED13
10 PWM14 R/W Управление яркостью LED14
11 PWM15 R/W Управление яркостью LED15
12 GRPPWM R/W Group duty cycle control (групповое управление скважностью)
13 GRPFREQ R/W Групповая частота
14 LEDOUT0 R/W LED output state 0
15 LEDOUT1 R/W LED output state 1
16 LEDOUT2 R/W LED output state 2
17 LEDOUT3 R/W LED output state 3
18 SUBADR1 R/W I2C bus subaddress 1
19 SUBADR2 R/W I2C bus subaddress 2
1A SUBADR3 R/W I2C bus subaddress 3
1B ALLCALLADR R/W Адрес шины LED All Call I2C
1C IREF R/W Конфигурация IREF
1D EFLAG1 R Флаги ошибок 1
1E EFLAG2 R Флаги ошибок 2

Примечание (1): R означает чтение (read), W запись (write).

Mode Register 1 (MODE1). В следующей таблице приведено описание регистра MODE1.

Таблица 4. Назначение бит регистра MODE1 – Mode Register 1 (адрес 00h).

Бит Имя Доступ(1) Знач. Описание
7 AI2 R 0(2) Автоинкремент регистра запрещен
1 Автоинкремент регистра разрешен
6 AI1 R 0(2) Auto-increment bit 1 = 0
1 Auto-increment bit 1 = 1
5 AI0 R 0(2) Auto-increment bit 0 = 0
1 Auto-increment bit 0 = 1
4 OSC R/W 0 Normal mode(3)
1(2) Генератор выключен
3 SUB1 R/W 0(2) Устройство не отвечает на I2C subaddress 1 шины.
1 Устройство отвечает на I2C subaddress 1 шины.
2 SUB2 R/W 0(2) Устройство не отвечает на I2C subaddress 2 шины.
1 Устройство отвечает на I2C subaddress 2 шины.
1 SUB3 R/W 0(2) Устройство не отвечает на I2C subaddress 3 шины.
1 Устройство отвечает на I2C subaddress 3 шины.
0 ALLCALL R/W 0 Устройство не отвечает на LED All Call I2C адрес шины.
1(2) Устройство отвечает на LED All Call I2C адрес шины.

Примечания:

(1) R = read, W = write.
(2) Значение по умолчанию.
(3) Требуется не более 500 мкс, чтобы запустился и заработал внутренний генератор после того, как бит OSC установлен в лог. 1. Временные характеристики на выходах светодиодов не гарантируются, если к регистрам PWMx, GRPPWM или GRPFREQ происходит обращение в течение этого 500 мкс окна.

Бит OSC (бит 4) должен быть установлен в 0 перед включением любого выхода. Для правильного функционирования необходимо, чтобы этот бит был установлен в 0. Установка этого бита в 1 выключит все каналы.

Mode Register 2 (MODE2). В следующей таблице приведено описание регистра MODE2.

Таблица 5. Назначение бит регистра MODE2 – Mode Register 2 (адрес 01h).

Бит Имя Доступ(1) Знач. Описание
7 EFCLR R/W 0(2) Разрешение флага статуса ошибки
1 Очистка флага статуса ошибки
6   R 0(2) Зарезервировано
5 DMBLNK R/W 0(2) Group control = dimming
1 Group control = blinking
4   R 0(2) Зарезервировано
3 OCH R/W 0(2) Значение выхода меняется на Stop шины(3)
1 Значение выхода меняется на ACK шины.
2:0   R 000(2) Зарезервировано

Примечания:

(1) R = read, W = write.
(2) Значение по умолчанию.
(3) Изменение выходов по команде Stop позволяет синхронизировать друг с другом несколько устройств TLC59116. Это применимо только к регистрам от 02h (PWM0) до 17h (LEDOUT3).

Brightness Control Registers 0 .. 15 (PWM0 .. PWM15). В следующей таблице перечислены регистры управления яркостью.

Таблица 6. Описание бит регистров PWM0 .. PWM15 – Brightness Control Registers 0 .. 15 (адреса от 02h до 11h).

Адр.
(HEX)
Рег. Биты Имя Доступ(1) Значение
Описание
02 PWM0 7:0 IDC0[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM0
03 PWM1 7:0 IDC1[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM1
04 PWM2 7:0 IDC2[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM2
05 PWM3 7:0 IDC3[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM3
06 PWM4 7:0 IDC4[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM4
07 PWM5 7:0 IDC5[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM5
08 PWM6 7:0 IDC6[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM6
09 PWM7 7:0 IDC7[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM7
0A PWM8 7:0 IDC8[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM8
0B PWM9 7:0 IDC9[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM9
0C PWM10 7:0 IDC10[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM10
0D PWM11 7:0 IDC11[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM11
0E PWM12 7:0 IDC12[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM12
0F PWM13 7:0 IDC13[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM13
10 PWM14 7:0 IDC14[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM14
11 PWM15 7:0 IDC15[7:0] R/W 0000 0000(2) Индивидуальная скважность PWM15

Примечания:

(1) R = read, W = write.
(2) Значение по умолчанию.

Для каждого выхода используется сигнал фиксированной частоты 97 кГц. Коэффициент заполнения (duty cycle) управляется 256 линейными шагами от 00h (0% коэффициент заполнения = выход светодиода выключен) до FFh (99.6% коэффициент заполнения = выход светодиода на максимальной яркости). Это применимо к выходам светодиодов, запрограммированным с LDRx = 10 или 11 (регистры LEDOUT0, LEDOUT1, LEDOUT2 и LEDOUT3).

Коэффициент заполнения = IDCn[7:0] / 256

Group Duty Cycle Control Register (GRPPWM). В следующей таблице приведено описание регистра управления групповым коэффициентом заполнения (GRPPWM).

Таблица 7. Описание бит GRPPWM – Group Brightness Control Register (адрес 12h).

Адр.
(HEX)
Рег. Биты Имя Доступ(1) Значение Описание
12 GRPPWM 7:0 GDC0[7:0] R/W 1111 1111(2) Регистр GRPPWM

Примечания:

(1) R = read, W = write.
(2) Значение по умолчанию.

Когда бит DMBLNK (регистр MODE2) запрограммирован значением логический 0, сигнал с фиксированной частотой 190 Гц накладывается на индивидуальный сигнал управления яркостью с частотой 97 кГц. В этом случае GRPPWM используется как глобальное управление яркостью, позволяя диммировать выходы светодиодов одним и тем же значением. Значение в GRPFREQ при этом не имеет значения (Don't care).

Общая яркость для 16 выходов управляется через 256 линейных шагов от 00h (0% коэффициент заполнения = выход светодиода выключен) до FFh (99.6% коэффициент заполнения = максимальная яркость). Это применимо к выходам светодиодов, запрограммированным с LDRx = 11 (регистры LEDOUT0, LEDOUT1, LEDOUT2 и LEDOUT3).

Когда бит DMBLNK запрограммирован значением лог. 1, регистры GRPPWM и GRPFREQ задают глобальный шаблон мигания, где GRPFREQ определяет период мигания (от периода 24 Гц до периода 10.73 сек), а GRPPWM определяет коэффициент заполнения (соотношение ВКЛ/ВЫКЛ в %).

Коэффициент заполнения = GDC0[7:0] / 256

Group Frequency Register (GRPFREQ). В следующей таблице приведено описание регистра управления частотой группы.

Таблица 8. Описание бит GRPFREQ – Group Frequency Register (адрес 13h).

Адр.
(HEX)
Рег. Биты Имя Доступ(1) Значение Описание
13 GRPFREQ 7:0 GFRQ[7:0] R/W 0000 0000(2) Регистр GRPFREQ

Примечания:

(1) R = read, W = write.
(2) Значение по умолчанию.

GRPFREQ используется для программирования глобального периода мигания, когда бит DMBLNK (регистр MODE2) равен 1. Значение в этом регистре не имеет значения (Don't care), когда DMBLNK = 0. Это применимо к выходам светодиодов, запрограммированным с LDRx = 11 (регистры LEDOUT0, LEDOUT1, LEDOUT2 и LEDOUT3).

Период мигания управляется 256 линейными шагами от 00h (41 мс, частота 24 Гц) до FFh (10.73 сек).

Глобальный период мигания (секунды) = (GFRQ[7:0] + 1) / 24

LED Driver Output State Registers 0 .. 3 (LEDOUT0 .. LEDOUT3). В следующей таблице описаны регистры управления состоянием выхода драйвера светодиодов.

Таблица 9. Описание бит регистров LEDOUT0 .. LEDOUT3 – LED Driver Output State Registers 0 .. 3 (адреса от 14h до 17h).

Адр.
(HEX)
Рег. Биты Имя Доступ(1) Значение Описание
14 LEDOUT0 7:6 LDR3[1:0] R/W 00(2) Управление состоянием выхода LED3
5:4 LDR2[1:0] R/W 00(2) Управление состоянием выхода LED2
3:2 LDR1[1:0] R/W 00(2) Управление состоянием выхода LED1
1:0 LDR0[1:0] R/W 00(2) Управление состоянием выхода LED0
15 LEDOUT1 7:6 LDR7[1:0] R/W 00(2) Управление состоянием выхода LED7
5:4 LDR6[1:0] R/W 00(2) Управление состоянием выхода LED6
3:2 LDR5[1:0] R/W 00(2) Управление состоянием выхода LED5
1:0 LDR4[1:0] R/W 00(2) Управление состоянием выхода LED4
16 LEDOUT2 7:6 LDR11[1:0] R/W 00(2) Управление состоянием выхода LED11
5:4 LDR10[1:0] R/W 00(2) Управление состоянием выхода LED10
3:2 LDR9[1:0] R/W 00(2) Управление состоянием выхода LED9
1:0 LDR9[1:0] R/W 00(2) Управление состоянием выхода LED8
17 LEDOUT3 7:6 LDR15[1:0] R/W 00(2) Управление состоянием выхода LED15
5:4 LDR14[1:0] R/W 00(2) Управление состоянием выхода LED14
3:2 LDR13[1:0] R/W 00(2) Управление состоянием выхода LED13
1:0 LDR12[1:0] R/W 00(2) Управление состоянием выхода LED12

Примечания:

(1) R = read, W = write.
(2) Значение по умолчанию.

LDRx = 00: LED driver x выключен, off (состояние power-up по умолчанию).
LDRx = 01: LED driver x полностью включен, on (индивидуальная яркость и групповое диммирование / мигание не управляется).
LDRx = 10: LED driver x индивидуальная яркость может управляться через его регистр PWMx.
LDRx = 11: LED driver x индивидульная яркость и групповое диммирование / мигание может управляться через его регистр PWMx и регистры GRPPWM.

I2C Bus Subaddress Registers 1 .. 3 (SUBADR1 .. SUBADR3). В следующей таблице приведено описание регистров субадреса I2C 1 .. 3.

Таблица 10. Описание бит регистров SUBADR1 .. SUBADR3 – I2C Bus Subaddress Registers 1 .. 3 (адреса от 18h до 1Ah).

Адр.
(HEX)
Рег. Биты Имя Доступ(1) Значение Описание
18 LEDOUT0 7:1 A1[7:1] R/W 1101 001(2) I2C subaddress 1 шины
0 A1[0] R 0(2) Зарезервировано
19 LEDOUT1 7:1 A2[7:1] R/W 1101 010(2) I2C subaddress 2 шины
0 A2[0] R 0(2) Зарезервировано
1A LEDOUT2 7:1 A3[7:1] R/W 1101 100(2) I2C subaddress 3 шины
0 A3[0] R 0(2) Зарезервировано

Примечания:

(1) R = read, W = write.
(2) Значение по умолчанию.

Субадреса программируются через шину I2C. Значения по умолчанию при включении питания (power-up) D2h, D4h, D8h. TLC59116 не подтверждает эти адреса немедленно после power-up (соответствующий бит SUBx в регистре MODE1 равен 9).

После того как подадреса запрограммированы в допустимые значения, необходимо установить биты SUBx (регистр MODE1) в 1, чтобы разрешить устройству распознавать (подтверждать acknowledge) эти адреса.

Только 7 старших битов (MSB), представляющих субадрес шины I2C, являются значащими. Младший бит (LSB) в регистре SUBADRx — это бит только для чтения (read-only), равный 0.

Когда SUBx установлен в 1, соответствующий подадрес шины I2C может быть использован как при чтении, так и при записи по шине I2C.

LED All Call I2C Bus Address Register (ALLCALLADR). В следующей таблице приведено описание бит регистра адреса LED All Call I2C.

Таблица 11. Описание бит ALLCALLADR – LED All Call I2C Bus Address Register (адрес 1Bh).

Адр.
(HEX)
Рег. Биты Имя Доступ(1) Значение Описание
1B ALLCALLADR 7:1 AC[7:1] R/W 1101 000(2) All Call I2C адрес шины
0 AC[0] R 0(2) Зарезервировано

Примечания:

(1) R = read, W = write.
(2) Значение по умолчанию.

Адрес All Call шины I2C позволяет всем устройствам TLC59116 на шине быть запрограммированными одновременно (бит ALLCALL в регистре MODE1 должен быть равен 1, что является состоянием по умолчанию при включении питания). Этот адрес программируется через шину I2C и может быть использован как при чтении, так и при записи по шине I2C. Адрес регистра также может быть запрограммирован как Sub Call.

Только семь старших битов (MSB), представляющих адрес All Call шины I2C, являются значащими. Младший бит (LSB) в регистре ALLCALLADR — это бит только для чтения (read-only), равный 0.

Если ALLCALL = 0, устройство не распознаёт (не подтверждает) адрес, запрограммированный в регистре ALLCALLADR.

Output Gain Control Register (IREF). В следующей таблице приведено описание бит регистра управления усилением выхода.

Таблица 12. Описание бит IREF – Output Gain Control Register (адрес 1Ch).

Адр.
(HEX)
Рег. Биты Имя Доступ(1) Значение Описание
1C IREF 7 CM R/W 1(2) Множитель тока high/low current multiplier
6 HC R/W 1(2) Subcurrent
5:0 CC[5:0] R/W 11 1111(2) Множитель тока

Примечания:

(1) R = read, W = write.
(2) Значение по умолчанию.

IREF определяет коэффициент усиления по напряжению (VG), который влияет на напряжение на выводе REXT и косвенно на опорный ток (Iref), протекающий через внешний резистор на выводе REXT. Бит 0 — это бит множителя тока (CM, Current Multiplier), который определяет соотношение IOUT,target/Iref. Каждая комбинация VG и CM задаёт коэффициент усиления тока (CG, Current Gain).

• VG: соотношение между {HC, CC[0:5]} и коэффициентом усиления по напряжению рассчитывается по формуле:

VG = (1 + HC) × (1 + D/64) / 4
D = CC0 × 25 + CC1 × 24 + CC2 × 23 + CC3 × 22 + CC4 × 21 + CC5 × 20

Здесь HC равно 1 или 0, а D — это двоичное значение CC[0:5]. Таким образом, VG можно рассматривать как число с плавающей запятой, где HC — это 1-битный порядок (экспонента), а CC[0:5] — 6-битная мантисса. {HC, CC[0:5]} делит программируемый коэффициент усиления по напряжению (VG) на 128 шагов и два поддиапазона:

Низковольтный поддиапазон (HC = 0): VG = 1/4 … 127/256, линейно разделённый на 64 шага.
Высоковольтный поддиапазон (HC = 1): VG = 1/2 … 127/128, линейно разделённый на 64 шага.

• CM: помимо определения соотношения IOUT,target/Iref, CM также ограничивает диапазон выходного тока.

Высокий множитель тока (CM = 1): IOUT,target/Iref = 15, подходит для диапазона выходного тока IOUT = 10 мА .. 120 мА.
Низкий множитель тока (CM = 0): IOUT,target/Iref = 5, подходит для диапазона выходного тока IOUT = 5 мА .. 40 мА.

• CG: общее текущее усиление (Current Gain) определяется следующим образом:

VREXT = 1.26 V × VG
Iref = VREXT/Rext, если внешний резистор (Rext) соединен с землей.
IOUT,target = Iref × 15 × 3CM–1 = 1.26 V/Rext × VG × 15 × 3CM–1 = (1.26 V/Rext × 15) × CG
CG = VG × 3CM–1

Таким образом, CG = от (1/12) до (127/128), с 256 шагами.

Примеры:

• IREF Code {CM, HC, CC[0:5]} = {1,1,111111}
VG = 127/128 = 0.992 and CG = VG × 30 = VG = 0.992

• IREF Code {CM, HC, CC[0:5]} = {1,1,000000}
VG = (1 + 1) × (1 + 0/64)/4 = 1/2 = 0.5, and CG = 0.5

• IREF Code {CM, HC, CC[0:5]} = {0,0,000000}
VG = (1 + 0) × (1 + 0/64)/4 = 1/4, and CG = (1/4) × 3–1 = 1/12

После включения питания значение по умолчанию Configuration Code {CM, HC, CC[0:5]} равно {1,1,111111}. Таким образом, VG = CG = 0.992. Взаимосвязь между Configuration Code и Current Gain показана на рис. 8.

TLC59116 Current Gain vs Configuration Code fig08

Рис. 8. Зависимость усиления тока (Current Gain) от кода конфигурации (Configuration Code).

Error Flags Registers (EFLAG1, EFLAG2). В следующей таблице приведено описание регистров флагов ошибок.

Таблица 13. Описание бит регистров EFLAG1, EFLAG2 – Error Flags Registers (адреса 1Dh и 1Eh).

Адр.
(HEX)
Рег. Биты Имя Доступ(1) Значение(2) Описание
1D EFLAG1 0 EFLAG1[0] R 0 1 показывает ошибку - канал 0
1 EFLAG1[1] R 0 1 показывает ошибку - канал 1
2 EFLAG1[2] R 0 1 показывает ошибку - канал 2
3 EFLAG1[3] R 0 1 показывает ошибку - канал 3
4 EFLAG1[4] R 0 1 показывает ошибку - канал 4
5 EFLAG1[5] R 0 1 показывает ошибку - канал 5
6 EFLAG1[6] R 0 1 показывает ошибку - канал 6
7 EFLAG1[7] R 0 1 показывает ошибку - канал 7
1E EFLAG2 0 EFLAG2[0] R 0 1 показывает ошибку - канал 8
1 EFLAG2[1] R 0 1 показывает ошибку - канал 9
2 EFLAG2[2] R 0 1 показывает ошибку - канал 10
3 EFLAG2[3] R 0 1 показывает ошибку - канал 11
4 EFLAG2[4] R 0 1 показывает ошибку - канал 12
5 EFLAG2[5] R 0 1 показывает ошибку - канал 13
6 EFLAG2[6] R 0 1 показывает ошибку - канал 14
7 EFLAG2[7] R 0 1 показывает ошибку - канал 15

Примечания:

(1) R = read, W = write.
(2) Значение по умолчанию.
(3) После включения питания (power-up), чтобы инициализировать регистры Error Flags, хост должен записать 1 в бит 7 регистра MODE2, и затем записать 0 в бит 7 регистра MODE2.

Control Register. После успешного подтверждения (acknowledgment) slave-адреса, адреса LED All Call или адреса LED Sub Call, мастер шины отправляет байт в TLC59116, который сохраняется в регистре управления (Control register). Младшие пять битов используются как указатель. Он определяет, к какому регистру происходит обращение (D[4:0]). Старшие три бита используются как флаг автоинкремента и опции автоинкремента (AI[2:0]).

TLC59116 Control Register fig09

Рис. 9. Control Register (регистр управления).

Когда флаг автоинкремента установлен (AI2 = лог. 1), пять младших битов регистра управления автоматически инкрементируются (увеличиваются) после чтения или записи. Это дает возможность пользователю программировать регистры последовательно. Возможны четыре различных типа автоинкремента, в зависимости от значений AI1 и AI0.

Таблица 14. Опции автоинкремента.

AI2 AI1 AI0 Описание
0 0 0 Нет автоинкремента
1 0 0 Автоинкремент для всех регистров. D[4:0] возвращаются к 0 0000 (roll over) после доступа к последнему регистру 1 1011.
1 0 1 Автоинкремент только для индивидуальных регистров яркости. D[4:0] возвращаются к 0 0010 после доступа к последнему регистру 1 0001.
1 1 0 Автоинкремент только для регистров глобального управления. D[4:0] возвращаются к 1 0010 после доступа к последнему регистру 1 0011.
1 1 1 Автоинкремент только для индивидуальных регистров и регистров глобального управления. D[4:0] возвращаются к 0 0010 после доступа к последнему регистру 1 0011.

Замечание: другие комбинации в таблице 14 не показаны. (AI[2:0] = 001, 010, and 011) зарезервированы и не должны использоваться, чтобы обеспечить правильную работу устройства.

AI[2:0] = 000 используется, когда к одному и тому же регистру необходимо обратиться несколько раз в течение одной коммуникации по шине I2C, например, для изменения яркости одного светодиода. Данные перезаписываются каждый раз при обращении к регистру во время операции записи.

AI[2:0] = 100 используется, когда необходимо последовательно обратиться ко всем регистрам, например, при программировании при включении питания.

AI[2:0] = 101 используется, когда четыре драйвера светодиодов должны быть индивидуально запрограммированы различными значениями в течение одной коммуникации по шине I2C, например, для изменения цветовой настройки на другую цветовую настройку.

AI[2:0] = 110 используется, когда драйверы светодиодов должны быть глобально запрограммированы различными настройками в течение одной коммуникации по шине I2C, например, для изменения глобальной яркости или мигания.

AI[2:0] = 111 используется, когда индивидуальные и глобальные изменения должны быть выполнены в течение одной коммуникации по шине I2C, например, для одновременного изменения цвета и глобальной яркости.

Только пять младших битов D[4:0] подвержены влиянию битов AI[2:0].

Когда регистр управления записан, точка входа регистра, определяемая D[4:0], — это первый регистр, к которому будет произведено обращение (операция чтения или записи), и она может находиться в любом месте от 00000 до 11011 (как определено в таблице 3). Когда AI[2] = 1, флаг автоинкремента установлен, и значение перехода (rollover value), при котором точка инкремента регистра останавливается и переходит к следующей, определяется AI[2:0], см. таблицу 14 для значений перехода. Например, если регистр управления = 1111 0100 (F4h), то последовательность адресации регистров будет (в шестнадцатеричном виде):

14 → ... → 1B → 00 → ... → 13 → 02 → ... → 13 → 02 → ... до тех пор, пока ведущее устройство продолжает отправлять или читать данные.

[Информация по применению]

Адрес устройства. После Start на шине I2C мастер должен вывести адрес подчиненного устройства на шине, к которому происходит доступ.

Slave Address - обычный адрес на шине I2C. Адрес ведомого (slave address) устройства TLC59116 на шине I2C показан на рис. 10. Для экономии энергии внутренние подтягивающие резисторы (pullup) на аппаратных выводах выбора адреса не встроены в кристалл TLC59116, их необходимо подтянуть к высокому или низкому уровню. В целях управления буфером должен быть сохранён набор данных информации секторов.

TLC59116 Slave Address fig10

Рис. 10. Slave Address TLC59116.

Последний бит байта адреса R/~W определяет выполняемую операцию (чтение/запись). Когда этот бит установлен в лог. 1, выполняется операция чтения (read), а когда он установлен в лог. 0, выбрана операция записи (write).

Адрес всех светодиодов (LED All Call I2C Bus Address)

• Значение по умолчанию после подачи питания, power-up (регистр ALLCALLADR): D0h (1101000b).
• Адрес в этом регистре программируется по шине I2C (volatile, он сохраняется только до выключения питания или сброса).
• При включении питания/сбросе (power-up) адрес LED All Call I2C разрешается. TLC59116 пошлет ACK, когда мастер пошлет адрес D0h (R/~W = 0) или D1h (R/~W = 1).

Для дополнительной информации см. выше описание регистра "LED All Call I2C Bus Address Register (ALLCALLADR)".

Примечание: Адрес LED All Call по умолчанию на шине I2C (D0h или 1101000b) не должен использоваться в качестве обычного адреса ведомого устройства на шине I2C, поскольку этот адрес включён при подаче питания. Все устройства TLC59116 на шине I2C подтвердят (acknowledge, ACK) этот адрес, если он будет отправлен мастером шины I2C.

LED Sub Call I2C Bus Address

• Можно использовать 3 различных адреса шины I2C.

• Значения по умолчанию после power-up/сброса:

– Регистр SUBADR1: D2h или 1101001b
– Регистр SUBADR2: D4h или 1101010b
– Регистр SUBADR3: D8h или 1101100b

• Эти адреса программируются через шину I2C (volatile, адреса сохраняются только до выключения питания или сброса).

• После power-up/сброса адрес Sub Call I2C запрещен. TLC59116 не пошлет ACK, когда мастер пошлет D2h (R/~W = 0), или D3h (R/~W = 1), или D4h (R/~W = 0), или D5h (R/~W = 1), или D8h (R/~W = 0), или D9h (R/~W = 1).

Для дополнительной информации см. выше описание регистров "I2C Bus Subaddress Registers 1 .. 3 (SUBADR1 .. SUBADR3)".

Примечание: адреса LED Sub Call на шине I2C могут использоваться как обычные адреса ведомых на шине I2C, если их соответствующие биты разрешения установлены в лог. 0 регистра MODE1.

Software Reset I2C Bus Address. Адрес, показанный на рис. 11, используется, когда мастер выполняет сброс (reset) TLC59116. Адрес программного сброса (SWRST Call) должен использоваться с R/~W = 0. Если R/~W = 1, TLC59116 не подтверждает (not ACK) SWRST. Подробнее см. выше раздел "Software Reset".

TLC59116 Software Reset Address fig11

Рис. 11. Адрес Software Reset.

Примечание: адрес Software Reset на шине I2C является зарезервированным адресом и не может использоваться как обычный адрес ведомого устройства на шине I2C, а также как адрес LED All Call или адрес LED Sub Call.

Характеристики шины I2C. Шина I2C позволяет реализовать обмен данными в двух направлениях между различными устройствами или модулями. Для этого используются две линии: последовательные данные SDA и последовательные такты SCL. Оба этих сигнала должны быть подтянуты pullup-резисторами к положительному полюсу источника питания. Передача данных может быть инициирована только когда шина не занята.

Примечание: используется стандартный протокол шины I2C, поэтому в этом переводе опущена соответствующая часть оригинального даташита [1], где объясняется передача бита, сигналы START, STOP, ACK, not ACK, физическая организация шины I2C.

Постоянный ток на выходе. В применениях светодиодных (LED) дисплеев TLC59116 обеспечивает практически полное отсутствие разброса тока от канала к каналу и от устройства к устройству. При IOUT ≤ 52 mA максимальный разброс тока между каналами составляет менее ±6%, а между устройствами — менее ±8%.

TLC59116 Typical Application fig21

Рис. 21. Типовое применение TLC59116.

Установите ток через светодиод 20 mA с помощью резистора REXT.

Настройка выходного тока. TLC59116 масштабирует опорный ток (Iref), задаваемый внешним резистором (Rext), чтобы обеспечить выходной ток (Iout) на каждом выходном порту ~OUTn. Таблица 12 показывает конфигурационный код (Configuration Code) и описывает биты CM, HC и CC[5:0]. Для расчёта целевого выходного тока IOUT,target в области насыщения можно использовать следующие формулы:

VREXT = 1.26 V × VG
Iref = VREXT/Rext, если другой конец внешнего резистора Rext соединен с GND
IOUT,target = Iref × 15 × 3^CM–1

В этих формулах Rext это сопротивление внешнего резистора, подключенного между выводом REXT и землей, и VREXT это напряжение REXT, которое управляется программируемым усилением напряжения (voltage gain, VG), который в свою очередь определяется Configuration Code.

Бит множителя тока (Current Multiplier, CM) устанавливает соотношение IOUT,target/Iref равным 15 или 5 (устанавливает показатель степени CM–1 равным 0 или –1). После power-on/сброса значение VG по умолчанию равно 127/128 = 0.992, а значение CM по умолчанию равно 1, так что соотношение IOUT,target/Iref = 15. На основе VG и CM по умолчанию:

VREXT = 1.26V × 127/128 = 1.25V
IOUT,target = (1.25V / Rext) × 15

Таким образом, ток по умолчанию приблизительно 20 mA при сопротивлении Rext = 931 Ом. По умолчанию после power-on/сброса взаимоотношение между IOUT,target и Rext показано на рис. 1.

Рис. 2 показывает зависимость выходного напряжения от выходного тока при нескольких различных значениях сопротивления резистора REXT. Это показывает минимальное напряжение, необходимое устройству, чтобы обеспечить полное падение напряжения VF на светодиоде. Напряжение VLED должно быть выше, чем VF плюс VOL драйвера. Если VLED слишком высокое, больше мощности будет рассеиваться в драйвере. В этом случае можно включить резистор последовательно со светодиодом, чтобы рассеять избыточную мощность и снизить тепловые нагрузки на драйвер.

Если со светодиодами используется один драйвер, и у светодиодов разные значения VF (например, они разного цвета, или разной яркости), то резисторы также могут быть использованы последовательно со светодиодом, чтобы снять избыточную мощность с драйвера и/или подобрать одинаковую яркость свечения. В случаях, когда используются не все выходы ~OUTn, неиспользуемые выходы можно оставить неподключенными без каких-либо проблем.

На рис. 22 показаны осциллограммы тока 20 mA LED вместе с использованием программируемого димминга PWM.

TLC59116 LED Current Set to 20mA Through REXT fig22

Рис. 22. Резистором REXT установлен ток LED 20 mA.

Рекомендуемое напряжение питания. TLC59116 разработан с учетом питающего напряжения VCC в диапазоне от 3V до 5.5V.

Разводка печатной платы. Сигналы I2C (SDA/SCL) должны прокладываться дальше от потенциальных источников помех. Проводники, переносящие ток светодиодов LED должны быть достаточной ширины для соответствующего тока. Все токи LED проходят через микросхему и попадают в узел земли. Необходимо обеспечить хорошее соединение между землей микросхемы и землей печатной платы. Для корпуса RHB контактная термоплощадка на донышке должна быть соединена с землей, чтобы лучше рассеивать тепло.

TLC59116 PW Layout Example fig23

Рис. 23. Пример разводки для корпуса PW (TSSOP28).

TLC59116 RHB Layout Example fig24

Рис. 24. Пример разводки для корпуса RHB (VQFN32).

Расчет рассеиваемого тепла. Максимальная температура перехода (junction temperature) микросхемы должна быть ограничена 150°C при нормальных условиях эксплуатации. Для расчёта максимально допустимой рассеиваемой мощности PD(max) при заданной температуре окружающей среды используйте следующее уравнение в качестве руководства:

         TJ(max) - TA
PD(max) = ------------
              ΘJA

PD(max) максимально допустимая рассеиваемая мощность.
TJ(max) максимально допустимая температура кристалла (junction temperature, 150°C для TLC59116).
TA = температура окружающего воздуха для устройства.
ΘJA = тепловое сопротивление между кристаллом и воздухом (junction to air thermal impedance).

См. секцию "Информация о тепловых режимах" во врезке с таблицами параметров выше. Тепловые параметры могут значительно зависеть от разводки печатной платы. Рассеиваемая мощность устройства определяется по току LED и напряжению на выводах OUTx. Например, если непрерывный ток LED 50 mA на каждом канале, и выходное напряжение на каждом канале 1V, то общая рассеиваемая мощность составит 50mA x 1V x 16 = 0.8 ватт.

[Пример управления TLC59116]

Ниже показан пример управления микросхемой TLC59116 от хоста I2C на микроконтроллере STM32F103C8T6 (платка BluePill), реализованный с помощью Zephyr RTOS. Проект полностью, инструкции по компиляции и прошивке можно скачать в архиве по ссылке [2].

Файл src/main.c:

#include < zephyr/kernel.h>
#include < zephyr/device.h>
#include < zephyr/drivers/i2c.h>
#include < zephyr/drivers/gpio.h>

/* Подключаем заголовочный файл с вашим публичным API.
* Он должен лежать в include/ вашего модуля. */
#include < tlc59116.h>

/* Получаем указатель на устройство TLC59116 из Devicetree.
* "tlc59116" — это лейбл (label), который мы задали в оверлее.
* Убедитесь, что в файле tlc59116_app.overlay он называется так же. */
#define TLC59116_NODE DT_NODELABEL(tlc59116)

/* Отладочный светодиод платы BluePill: PC13, активный низкий уровень.
* Узел led/led0 берётся из devicetree платы stm32_min_dev. */
static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(DT_ALIAS(led0), gpios);

/* Управление светодиодом: LED(true) — зажечь, LED(false) — погасить.
* Логика active-low учитывается драйвером GPIO автоматически. */
#define LED(on) gpio_pin_set_dt(&led, (on) ? 1 : 0)

int main(void) {
/* 1. Получаем устройство по лейблу из Devicetree */
const struct device *tlc_dev = DEVICE_DT_GET(TLC59116_NODE);

/* 2. Проверяем, что драйвер инициализировался корректно.
* Если I2C шина не готова или драйвер не собрался, device_is_ready вернет false. */
if (!device_is_ready(tlc_dev)) {
printk("Error: TLC59116 device not ready\n");
return -ENODEV;
}

printk("TLC59116 initialized successfully.\n");

/* 3. Инициализируем пин отладочного светодиода как выход.
* GPIO_OUTPUT_INACTIVE для active-low означает "погашен". */
if (!gpio_is_ready_dt(&led)) {
printk("Error: LED device not ready\n");
return -ENODEV;
}
gpio_pin_configure_dt(&led, GPIO_OUTPUT_INACTIVE);

/* 4. Основной цикл — простой "бегущий огонь" по 16 каналам */
while (1) {
for (uint8_t ch = 0; ch < 16; ch++) {
/* Зажигаем текущий канал на полную яркость */
int rc = tlc59116_set_brightness(tlc_dev, ch, 255);
//printk("ch%u rc=%d\n", ch, rc);

LED(true);
/* Небольшая задержка, чтобы увидеть эффект */
k_msleep(100);

/* Гасим канал перед переходом к следующему */
LED(false);
tlc59116_set_brightness(tlc_dev, ch, 0);
}
}
return 0; }

[Ссылки]

1. TLC59116 16-Channel I2C Constant-Current LED Sink Driver site:ti.com.
2. 261002tlc59116_app.zip - пример проекта Zephyr.
3. Zephyr: быстрый старт.

 

Добавить комментарий


Защитный код
Обновить

Top of Page