Мультиплексирование когда-либо превосходит Чарлиплексирование?


17

Я рассмотрел два метода, и мультиплексирование действительно имеет только одно преимущество: легче отследить неисправный светодиод, чем в массиве Charlieplex.

Может ли кто-нибудь более знающий объяснить другие компромиссы?

Ответы:


26

Да, мультиплексирование и чарлиплексирование имеют свои преимущества и лучше всего подходят для различных задач.

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

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

Как только вы добавите внешнее оборудование для управления светодиодами с более высокой яркостью, чтобы соответствовать яркости мультиплексированного массива, charlieplexing теряет свой блеск.

Во-первых, мультиплексированный массив адресован строго по строке и столбцу; это очень просто сделать. Включите строку 1, включите все столбцы для строки 1, выключите строку 2, включите все столбцы для строки 2 и т. Д. Напротив, массив Чарлиплекса гораздо менее прост. Всегда есть диагональная строка, которая бесполезна, и я лично использую справочные таблицы для связи между моими массивами и прямоугольным массивом, где я храню свои данные.

Во-вторых, убийцей является то, что для чарлиплексирования обычно требуются драйверы с тремя состояниями. Однако мультиплексирование выполняется со строгой двоичной логикой включения-выключения. Если у вас микроконтроллер с низким числом выводов и вы хотите управлять большим количеством светодиодов, то просто использовать внешние логические микросхемы (например, сдвиговый регистр и / или драйверы светодиодов) для управления осями X и Y. Большинство микросхем регистра сдвигового регистра не поддерживают тристатирование, необходимое для того же действия в массиве Чарлиплекса. Доступны специальные драйверы Charlieplexed, но они не так универсальны.

В-третьих, в массиве Charlieplexed каждый вывод, который не активно что-то делает, все еще подключается к светодиодам через слабое («высокое сопротивление») соединение. И хотя соединение слабое, оно ненулевое. Предположим, что у вас есть 25 выводов ввода / вывода, подключенных к сетке светодиодов. Если вы зажжете один светодиод - взяв одну из этих 25 линий высотой и одну из этих 25 линий низко, это оставит 23 линии с высоким импедансом. В каждом месте, где высокая линия ввода / вывода проходит через светодиод к нейтральной линии, есть некоторая возможность утечки тока. Немного. Может быть, микроампер здесь или там. Но с современными, эффективными светодиодами этого часто достаточно, чтобы создать видимые побочные эффекты.

В-четвертых, управлять яркостью светодиодов в массиве Чарли сложно. В мультиплексированном массиве вы можете использовать любое количество общедоступных микросхем светодиодов драйвера для регулирования тока, которые регулируют яркость каждого столбца в отдельности, используя регулировку тока в сочетании с драйвером ШИМ. В той степени, в которой местоположения матрицы Чарлиплекса адресуются индивидуально и используют только резистор на строку или столбец, гораздо труднее выполнить точечную коррекцию яркости и полную анимацию градаций серого / цвета в массиве Чарлиплекс.


1
Хорошо читать. Обеспечивает некоторое понимание ваших пегги дизайнов ...
— NickHalden

Просто купил тусклые обычные светодиоды, но ореолы все еще являются проблемой. Лучше ли использовать резистор для каждого светодиода вместо каждой линии? Я вожу 6 светодиодов с использованием Attiny85. Раньше я использовал резисторы 330 Ом для каждой линии, а теперь я использую 1K. В 1K нагрузка меньше, но все же есть, также светодиоды не такие яркие, как при 330 Ом, конечно. Так лучше ли, чтобы у каждого светодиода был собственный резистор, чтобы устранить это?
— Codebeat

3

Наиболее существенным недостатком светильников "Charlieplexing" является то, что он ограничивает количество светодиодов, которые можно использовать с n-way мультиплексированием, до n (n-1). Я не вижу требования к драйверу с тремя состояниями как большую проблему с техникой в ​​целом. Конечно, необходимость использования двух обычных драйверов вместо драйвера с тремя состояниями уменьшит выгоду от CharliePlexing, но в некоторых случаях преимущества все же могут остаться (например, это может уменьшить количество соединительных проводов между панелью с драйверами и панелью с огни или выключатели).

Что касается коммутаторов Charlieplexing, в статье Википедии не упоминается самый большой недостаток: Charlieplexing не позволяет контроллеру пассивно ожидать нажатия кнопки. С другой стороны, он слишком пессимистичен в отношении требований к компонентам. В 1997 году я выпустил устройство, которое сканирует восемь кнопок с использованием трех выводов ввода-вывода и одного вывода только для ввода на PIC12C508, без необходимости в каких-либо внешних диодах или других компонентах, кроме IIRC, подтягивания для вывода PIC, который не иметь один встроенный; При таком подходе можно было бы обработать десять кнопок с добавлением другого подтягивающего резистора (для другого вывода ввода / вывода, у которого его нет), но клиенту нужно всего восемь кнопок, поэтому в этом не было необходимости.


У вас есть схема этого где-то в сети?
— Codebeat

@ Erwinus: Все провода от процессора получают подтягивание. Подключите переключатель к каждой возможной паре проводов (так, если есть четыре провода, это будет шесть переключателей; если пять проводов, 10; если шесть, семь или восемь, 15, 21 или 28). Подключите переключатель между каждым проводом и землей (один дополнительный переключатель на провод).
— суперкат
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.