KEEN SIDE успешно заменяет аналогичные продукты таких известных брендов, как Phoenix Contact, Weidmueller, Degson, Winstar, Hsuan Mao, KLS, G-NOR, Mean Well и др.

Простой способ управления несколькими светодиодами с помощью одного вывода процессора

Texas Instruments CD74HC74

Технологии управления несколькими светодиодами с помощью одного вывода микроконтроллера давно и хорошо известны. Как правило, эта задача решается путем формирования импульсных последовательностей с разными длительностями и периодами повторения и разделением каналов с помощью нескольких RC-цепочек. Описанная здесь конструкция намного проще.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Вывод микропроцессора подключен к тактовому входу последовательного счетчика, имеющего выходы промежуточных каскадов (Рисунок 1). В своей простейшей форме этот конечный автомат состоит из двух D-триггеров, соединенных каскадно, чтобы образовать двухразрядный счетчик со сквозным переносом. Старший значащий бит счетчика (MSB) также подключен к тактовому входу через резистор R1.

Этот простой последовательный счетчик с несколькими выходами, в котором используются два D-триггера, позволяет одному универсальному входу/выходу микропроцессора управлять несколькими светодиодами.
Рисунок 1. Этот простой последовательный счетчик с несколькими выходами, в котором используются
два D-триггера, позволяет одному универсальному входу/выходу микропроцессора управлять
несколькими светодиодами.

Рассмотрим случай, когда счетчик меняет состояние по переднему фонту входного импульса. Если вывод микропроцессора сконфигурирован как выход, он может использоваться для тактирования, чтобы установить все возможные состояния счетчика. Но непонятно, как процессор вообще узнает, в каком состоянии находится счетчик. Однако если процессор сможет распознать одно состояние счетчика, он будет знать, сколько тактовых импульсов нужно подать на него, чтобы достичь любого другого желаемого состояния.

Процессор может начать определение начального состояния счетчика с выполнения цепочки действий, которую назовем HighClockRead. HighClockRead состоит из последовательной установки на выводе состояний «лог. 1», «лог. 0», «лог. 1» с последующим переключением вывода на ввод и ожиданием порядка микросекунды стабилизации заряда емкости вывода через резистор R1. Затем считывается состояние MSB.

Если считанное состояние соответствует «лог. 1», запускается еще один цикл HighClockRead. Если считан низкий уровень, начинается выполнение последовательности LowClockRead. Для этого на выводе устанавливается «лог. 0», затем «лог. 1», после чего процессор переходит к ожиданию чтения MSB, как в случае с HighClockRead. (Выполнение в зависимости от ситуации последовательности LowClockRead или HighClockRead гарантирует, что в каждой цепочке ClockRead происходит только одна смена уровня тактового сигнала (от низкого уровня к высокому) и что счетчик продвигается только на одно состояние). Процессор продолжает выполнение последовательностей HighClockRead или LowClockRead. Он останавливается, когда обнаруживает в MSB счетчика состояние «лог. 1», которому предшествовало состояние «лог. 0».

Поскольку схема счетчика такова, что при прохождении всех возможных его состояний уровень MSB меняется с низкого на высокий только один, процессор теперь знает точное состояние счетчика. Это означает, что для перевода счетчика в желаемое состояние всегда можно сформировать нужное количество переходов от низкого уровня к высокому (без промежуточных считываний).

Эта схема работает, потому что микропроцессор может считывать состояние счетчика и изменять его настолько быстро, что глаз не в состоянии увидеть какие-либо промежуточные состояния светодиодов. Единственные временные требования состоят в том, чтобы задержка в счетчике и время установления RC учитывались процессором. Это требование легко выполняется.

Если состояние счетчика известно и его необходимо изменить, нет необходимости считывать его после каждого тактового импульса. Вместо этого, чтобы обеспечить синхронизацию счетчика может быть предпочтительнее считывать только два состояния, в которых ожидается, что за низким уровнем последует высокий.

Чтобы свести к минимуму рассеивание мощности на резисторе когда счетчик не тактируется, чтобы определить конкретное состояние светодиода, вывод процессора нужно сконфигурировать как выход или установить на нем тот же логический уровень, в котором находится MSB.

Материалы по теме

  1. Datasheet Texas Instruments CD74HC74

Electronic Design

Перевод: AlexAAN по заказу РадиоЛоцман

На английском языке: Simple Technique Drives Multiple LEDs From One Processor Pin

52 предложений от 27 поставщиков
Стандартная логика DUAL D-TYPE FLIP-FLOP WITH SET AND RESET -55/+125 C
CD74HC74M96
Texas Instruments
3.51 ₽
T-electron
Россия и страны СНГ
CD74HC74M96
Texas Instruments
8.54 ₽
AiPCBA
Весь мир
CD74HC74EG4
Texas Instruments
19 ₽
CD74HC74M96
Texas Instruments
от 57 ₽
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Зачем такие сложности, когда можно просто хранить состояние счетчика во внутренней памяти микропроцессора.
  • Можно на вход сбросов триггеров поставить RC цепочку, конденсатор - к общему проводу, а резистор - к питанию. Тогда при подаче напряжения триггеры первоначально будут установлены в состояние низкого уровня, а состояние регистра можно хранить в памяти процессора. Это проще.