Чарлиплексинг - Charlieplexing

Чарлиплексинг это техника для вождения мультиплексный дисплей в которых относительно мало Контакты ввода / вывода на микроконтроллер используются, например, управлять массивом Светодиоды.

Метод использует логика трех состояний возможности микроконтроллеров для повышения эффективности по сравнению с традиционным мультиплексированием. Хотя он более эффективно использует ввод-вывод, существуют проблемы, которые усложняют его проектирование и делают непрактичным для больших дисплеев. Эти проблемы включают рабочий цикл, текущие требования и прямое напряжение светодиодов.

Цифровые часы Charlieplexed, управляющие 90 светодиодами с 10 контактов микроконтроллера PIC16C54.

Происхождение

Чарлиплексинг был предложен в начале 1995 года Чарли Алленом в Максим Интегрированный[1] после того, как Грэм Дэниел (в то время g.daniel.invent.design) опубликовал в PICLIST свой проект, использующий микросхемы PIC для управления рядами и столбцами двунаправленных светодиодов. После некоторого обсуждения PICLIST идея была принята сообществом PICLIST и позже была включена в буклет с хитростями Microchip, но без указания авторства. В то время Грэм создал простые схемы с микросхемами PIC 12C508, управляющими 12 светодиодами с 5 контактов с помощью мини-команды, установленной для приведения в движение различных световых дисплеев. Как и в случае любого мультиплексирования, существует требование быстро переключаться между используемыми светодиодами, чтобы человеческий глаз воспринимал дисплей как единое целое. Мультиплексирование обычно можно увидеть по стробирующему эффекту и перекосу, если точка фокусировки глаза быстро перемещается мимо дисплея. Однако этот метод был известен и использовался различными сторонами намного раньше, в 1980-х годах, и был подробно описан еще в 1979 году в патенте Кристофера В. Малиновского, Хайнца Риндерле и Мартина Зигле из Департамента исследований и разработок. , AEG-Telefunken, Хайльбронн, Германия, за то, что они назвали «системой сигнализации с тремя состояниями».[2][3][4]

Традиционное мультиплексирование

БулавкиСветодиоды
10
22
36
412
520
630
742
856
972
1090
20380
401560
пп2 - п

Мультиплексирование дисплея сильно отличается от мультиплексирования, используемого при передаче данных, хотя оно имеет те же основные принципы. При мультиплексировании дисплеев линии данных дисплеев * подключаются параллельно к общему шина данных на микроконтроллере. Затем дисплеи включаются и обрабатываются индивидуально. Это позволяет использовать меньше контактов ввода / вывода, чем обычно требуется для непосредственного управления таким же количеством дисплеев. * Здесь каждый "дисплей" может, например, быть одной цифрой калькулятора, а не полным массивом цифр.

При использовании Charlieplexing п приводные пальцы могут двигаться п цифры с п - 1 сегмент. В упрощенном виде это приравнивается к п штифты, способные управлять п2 - n сегментов или светодиодов. Традиционное мультиплексирование требует гораздо большего количества выводов для управления тем же количеством светодиодов; 2п штифты должны использоваться для привода п2 Светодиоды (хотя один изп Микросхема декодера может использоваться для уменьшения количества контактов ввода / вывода микроконтроллера до ).

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

Дополнительный привод

Charlieplexing в его простейшей форме работает с использованием диодная матрица дополнительных пар светодиодов. Простейшая матрица с уплотнением по Чарли могла бы выглядеть так:

Минимальная 2-контактная конфигурация для одинаковых светодиодов
2-контактная конфигурация для разных светодиодов

При подаче положительного напряжения на контакт X1 и заземляющий контакт X2 загорится LED1. Поскольку ток не может течь через светодиоды в обратное направление при таком низком напряжении LED2 не горит. Если напряжения на контактах X1 и X2 поменять местами, LED2 загорится, а LED1 погаснет.

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

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

Расширение: логика трех состояний

Если бы схему выше нужно было расширить, чтобы разместить 3 контакта и 6 светодиодов, это выглядело бы так:

3-контактная конфигурация для одинаковых светодиодов
3-контактная конфигурация для разных светодиодов

Однако это представляет проблему. Чтобы эта схема работала как предыдущая, один из контактов должен быть отключен перед подачей заряда на оставшиеся два. Если, например, LED5 должен был гореть, X1 должен быть заряжен, а X3 должен быть заземлен. Однако, если X2 также заряжен, LED3 также загорится. Если бы X2 был заземлен, LED1 загорелся бы, а это означает, что LED5 не может загореться сам по себе. Это может быть решено путем использования логических свойств трех состояний выводов микроконтроллера. Контакты микроконтроллера обычно имеют три состояния: «высокий» (5 В), «низкий» (0 В) и «вход». Режим ввода помещает контакт в высокоомный состояние, которое, с точки зрения электричества, «отключает» этот вывод от схемы, что означает, что через него будет протекать небольшой ток или совсем не ток. Это позволяет схеме видеть любое количество контактов, подключенных в любое время, просто путем изменения состояния контакта. Чтобы управлять шестисветодиодной матрицей выше, два контакта, соответствующие горящему светодиоду, подключены к 5 В (контакт ввода / вывода "высокий" = двоичное число 1) и 0 В (вывод «низкий» = двоичный 0), в то время как третий вывод установлен в свое входное состояние.

Таким образом предотвращается утечка тока из третьего контакта, гарантируя, что светодиод, который должен загореться, будет гореть единственным. Поскольку желаемый светодиод снижает напряжение, доступное после резистора, ток не будет течь по альтернативным путям (например, альтернативный путь с двумя светодиодами существует для каждой пары контактов на 3-контактной схеме), пока падение напряжения желаемый путь светодиода меньше, чем полное падение напряжения на каждой цепочке альтернативных светодиодов. Однако в варианте с отдельными резисторами этот эффект регулирования напряжения не влияет на альтернативные пути, поэтому вы должны убедиться, что все используемые светодиоды не будут гореть при половинном напряжении питания, потому что в этом варианте не используется эффект регулирования напряжения от источника питания. светодиод желаемого пути.

Используя логику с тремя состояниями, матрицу теоретически можно расширить до любого размера, пока доступны выводы. Для п булавки, п(п - 1) Светодиоды могут быть в матрице. Любой светодиод можно зажечь, подав 5 В и 0 В на соответствующие контакты и установив все остальные контакты, подключенные к матрице, в режим входа. При тех же ограничениях, о которых говорилось выше, до п - 1 светодиоды, имеющие общий положительный или отрицательный путь, могут гореть параллельно.

Расширение

Трехпроводную схему можно преобразовать в эту почти эквивалентную матрицу (резисторы были перемещены).

3-контактная конфигурация для одинаковых светодиодов; любое количество светодиодов в одном ряду может быть запитано одновременно
3-контактная конфигурация для разных светодиодов; любое количество светодиодов в одном ряду может быть запитано одновременно

Это подчеркивает сходство между обычным сеточным мультиплексором и Charlieplex и демонстрирует образец, который приводит к " п-квадратный минус п"правило.

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

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

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

Проблемы с Charlieplexing

Частота обновления

Поскольку только один набор светодиодов, имеющих общий анод или катод, может зажигаться одновременно без включения непредусмотренных светодиодов, Charlieplexing требует частых изменений мощности с помощью метода, известного как мультиплексирование. Когда мультиплексирование выполнено, не все светодиоды загораются одновременно, а скорее один набор светодиодов загорается на короткое время, затем другой набор, и в конечном итоге цикл повторяется. Если это будет сделано достаточно быстро, человеческому глазу будет казаться, что все они постоянно включены из-за постоянство зрения. Чтобы на дисплее не было заметного мерцания, Частота обновления для каждого светодиода должно быть больше 50 Гц.[сомнительный ]

Предположим, что 8 выводов с тремя состояниями используются для управления 56 светодиодами через Charlieplexing, что достаточно для 8 7-сегментные дисплеи (без десятичных знаков). Обычно 7-сегментные дисплеи делаются с общим катодом, иногда с общим анодом, но без потери общности предположим, что это общий катод. Все светодиоды на всех 8 7-сегментных дисплеях не могут быть включены одновременно в любой желаемой комбинации с помощью Charlieplexing. Невозможно получить 56 бит информации непосредственно из 8 тритов (термин для символа с основанием-3, так как контакты имеют 3 состояния) информации, поскольку 8 тритов в основном составляют 8 логарифмов.23 или около 12,7 бит информации, что намного меньше 56 битов, необходимых для включения или выключения всех 56 светодиодов в любой произвольной комбинации. Вместо этого человеческий глаз должен быть обманут с помощью мультиплексирования.

Только один 7-сегментный дисплей, один набор из 7 светодиодов может быть активен в любое время. Это будет сделано для 8 общих катодов 8 дисплеев, каждому из которых будет назначен свой уникальный вывод среди 8 портов ввода / вывода. В любой момент один и только один из 8 управляющих выводов ввода / вывода будет находиться в активном низком состоянии, и, таким образом, только 7-сегментный дисплей с общим катодом, подключенным к этому активно низкому выводу, может иметь любой из его светодиодов. Это активный 7-сегментный дисплей. Аноды 7 светодиодных сегментов в активном 7-сегментном индикаторе затем могут быть включены в любой комбинации, если остальные 7 портов ввода / вывода находятся в режиме высокого или высокого импеданса в любой комбинации. Они подключены к оставшимся 7 контактам, но через резисторы (общее катодное соединение подключается к самому контакту, а не через резистор, потому что в противном случае ток через каждый отдельный сегмент будет зависеть от общего количества включенных сегментов, поскольку они все должны будут использовать один резистор). Но чтобы показать желаемое число с использованием всех 8 цифр, одновременно может отображаться только один 7-сегментный дисплей, поэтому все 8 необходимо циклически перебирать отдельно и за 50-ю долю секунды в течение всего периода 8. Таким образом, дисплей должны обновляться с частотой 400 Гц для цикла период-8 через все 8 сегментов, чтобы светодиоды мигали не медленнее 50 раз в секунду. Это требует постоянного прерывания любой дополнительной обработки, выполняемой контроллером, 400 раз в секунду.

Пиковый ток

В связи с уменьшением рабочий цикл, то текущий Требования к дисплею с Charlieplexed растут намного быстрее, чем с традиционным мультиплексированным дисплеем. По мере того, как дисплей становится больше, средний ток, протекающий через светодиод, должен быть (примерно) постоянным, чтобы он поддерживал постоянную яркость, что требует пропорционального увеличения пикового тока. Это вызывает ряд проблем, которые ограничивают практический размер дисплея Charlieplexed.

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

Требование для трехстороннего состояния

Все выходы, используемые для управления дисплеем Charlieplexed, должны быть трехсторонними. Если ток достаточно низкий, чтобы управлять дисплеями напрямую через контакты ввода / вывода микроконтроллера, это не проблема, но если необходимо использовать внешние три состояния, то для каждого трех состояний обычно требуется две выходные линии для управления, что устраняет большую часть преимущество отображения Charlieplexed. Поскольку ток от выводов микроконтроллера обычно ограничен 20 мА или около того, это серьезно ограничивает практический размер дисплея с функцией Charlieplexed. Однако это можно сделать, включив по одному сегменту за раз.[5]

Сложность

Матрицы Charlieplex значительно сложнее как с точки зрения требуемой компоновки печатной платы, так и с точки зрения программирования микроконтроллера, чем использование предварительно созданных мультиплексных матриц. Это увеличивает время проектирования. Пайка компонентов также может занять больше времени, чем для мультиплексных светодиодных матриц. Баланса между сложностью и использованием выводов можно достичь, объединив несколько предварительно созданных мультиплексированных светодиодных матриц вместе.[6]

Прямое напряжение

При использовании светодиодов с разным передним напряжения, например, при использовании светодиодов разного цвета, некоторые светодиоды могут гореть, когда этого не требуется.

На приведенной выше диаграмме можно увидеть, что если светодиод 6 имеет прямое напряжение 4 В, а светодиоды 1 и 3 имеют прямое напряжение 2 В или меньше, они загораются, когда предназначен светодиод 6, поскольку их путь тока короче. Этой проблемы можно легко избежать, сравнив прямое напряжение светодиодов, используемых в матрице, и проверив проблемы совместимости. Или, проще говоря, использовать светодиоды с одинаковым прямым напряжением.[1][7]

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

Отказ светодиода

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

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

Если есть 8 контактов ввода / вывода, управляющих массивом, это означает, что будет 6 паразитных путей через пары из 2 светодиодов, и 12 светодиодов могут непреднамеренно загореться, но, к счастью, это произойдет только тогда, когда должен появиться один плохой светодиод. горит, что может длиться небольшую часть времени и не будет проявлять никаких вредных симптомов, если не предполагается, что индикатор неисправности должен гореть. Если проблема в коротком замыкании между узлами Икс и y, то каждый раз, когда любой светодиод U либо с Икс или y как его анод или катод и некоторый узел z поскольку предполагается, что его другой электрод должен включиться (без ограничения общности предположим, что U 'катод подключен к Икс), светодиод V с катодом y и анод z также будет гореть, поэтому в любое время ЛИБО узел Икс или y активируется как анод ИЛИ катод, вместо одного загораются два светодиода. В этом случае он непреднамеренно зажигает только один дополнительный светодиод, но делает это гораздо чаще; не только тогда, когда должен загореться неисправный светодиод, но и когда Любые Предполагается, что светодиод, имеющий общий вывод с неисправным светодиодом, должен загореться.

Проблемные элементы особенно сложно определить, если неисправны два или более светодиода. Это означает, что в отличие от большинства методов, в которых потеря одного светодиода вызывает просто перегоревание одного сегмента, при использовании Charlieplexing один или два перегоревших светодиода, независимо от режима отказа, почти наверняка вызовут катастрофические последствия. каскад непреднамеренных загораний светодиодов, которые все еще работают, очень вероятно, что все устройство будет полностью и немедленно непригодным для использования. Это необходимо учитывать при рассмотрении требуемого срока службы и характеристик отказов проектируемого устройства.

Мультиплексирование входных данных

Charlieplexing также может использоваться для мультиплексирования цифровых входных сигналов в микроконтроллер. Используются те же диодные схемы, за исключением того, что переключатель установлен последовательно с каждым диодом. Чтобы узнать, открыт или закрыт переключатель, микроконтроллер конфигурирует один вывод как вход с внутренним подтягивающим резистором. Другой вывод настроен как выход и установлен на низкий логический уровень. Если входной контакт показывает низкий уровень, то переключатель замкнут, а если входной контакт показывает высокий уровень, тогда переключатель разомкнут.[8]

Одно из возможных приложений для этого - чтение стандартной (4x3) 12-клавишной цифровой клавиатуры, используя только 4 линии ввода-вывода. Традиционный метод сканирования строки-столбца требует 4 + 3 = 7 строк ввода-вывода. Таким образом, Charlieplexing экономит 3 линии ввода / вывода; однако это добавляет затраты на 12 диодов (поскольку диоды свободны только при использовании светодиодов). Возможен вариант схемы всего с 4 диодами,[8] однако это снижает перекатывать клавиатуры. Микроконтроллер всегда может определить, когда данные повреждены, но нет никакой гарантии, что он сможет распознавать исходные нажатия клавиш, если за один раз не нажимается только одна кнопка. (Однако, вероятно, можно организовать схему так, чтобы при нажатии не более двух соседних кнопок не происходило потери данных.)[расплывчатый ] Вход без потерь в схеме с 4 диодами только в том случае, если одновременно нажимается только одна кнопка или если избегаются определенные проблемные нажатия нескольких клавиш. В схеме с 12 диодами это не проблема, и всегда существует однозначное соответствие между нажатиями кнопок и входными данными. Однако для использования этого метода требуется так много диодов (особенно для массивов большего размера), что, как правило, нет экономии затрат по сравнению с традиционным методом сканирования строк-столбцов, если только стоимость диода не составляет лишь часть стоимости вывод ввода / вывода, где эта доля равна единице по количеству линий ввода / вывода.

Tucoplexing

Мика Элизабет Скотт разработала метод использования 3 контактов для работы 4 светодиодов и 4 переключателей под названием Tucoplexing.[9]

GuGaplexing

Gugaplexing похож на Charlieplexing с несколькими напряжениями привода.[10]

Чипиплексирование

Chipiplexing добавляет эмиттерные повторители для повышения мощности привода строк, позволяя одновременно загораться рядам, шире, чем может приводить один порт микроконтроллера.

Широтно-импульсная модуляция

Charlieplexing можно использовать даже для широтно-импульсная модуляция для управления яркостью 12 светодиодов с 4-мя контактами.[11]

Пример кода

В следующем примере кода цепь[12] использует ATtiny 8-контактный микроконтроллер который имеет 5 контактов ввода / вывода для создания 7-сегментный дисплей. Поскольку для 7-сегментного дисплея требуется управление только 7 отдельными светодиодами, мы используем 4 контакта ввода-вывода ATtiny в качестве выходов с мультиплексированием (n * (n-1)). Оставьте пятый контакт ввода / вывода для использования в качестве цифрового или аналогового входа или другого выхода.

  1 // Код ATtiny  2 // Считывает аналоговый (или цифровой) вход с контакта 4 и каждый раз, когда вход опускается ниже установленного порога   3 // он считает один и отображает увеличение счетчика либо путем активации одного из четырех светодиодов (или транзисторов)  4 // или один из двенадцати светодиодов с чарлиплексом.  5   6 // УСТАНОВИТЕ ЭТИ ЗНАЧЕНИЯ:  7 int порог = 500;  8 int maxCount = 7;  9 //////////////////// 10 логический sensorTriggered = ложный; 11 int считать = 0; 12 int sensorValue = 0; 13 длинная lastDebounceTime = 0;  // последний раз, когда выходной контакт был переключен 14 длинная debounceDelay = 50;    // время дребезга; увеличивать, если вывод мерцает 15 //////////////////////////////////////////////////////////////////////////////// 16 пустота настроить() { 17   для (int штырь=0; штырь<4; штырь++) { 18     pinMode(штырь, ВЫВОД); 19     digitalWrite(штырь, НИЗКИЙ); 20   } 21   pinMode(4, ВВОД); 22   digitalWrite(4, ВЫСОКО);  // внутреннее подтягивание 23 } 24 //////////////////////////////////////////////////////////////////////////////// 25 пустота петля() { 26   testDigits(); 27 } 28 пустота testDigits() { 29   CharlieLoop(); 30 } 31 //////////////////////////////////////////////////////////////////////////////// 32 пустота readSensor() { 33   sensorValue = аналогЧитать(2);  // pin4! 34   задержка(100); 35   если (sensorValue < порог && sensorTriggered == ложный) { 36     sensorTriggered = правда; 37     считать++; 38     если (считать > maxCount) считать = 0; 39     CharlieLoop(); 40   } 41   если (sensorValue > порог) sensorTriggered = ложный; 42 } 43 //////////////////////////////////////////////////////////////////////////////// 44 пустота CharlieLoop() { 45   считать++; 46  47   для (int я=0; я<1000; я++) { 48     для (int c=0; c<считать; c++) { 49       charliePlexPin(c); 50     } 51   } 52   задержка(1000); 53   если (считать > maxCount) считать = 0; 54 } 55 //////////////////////////////////////////////////////////////////////////////// 56 пустота charliePlexPin(int myLed){ 57  58   // Убедитесь, что мы не подаем случайное напряжение на светодиоды 59   // за короткое время меняем режимы вывода и напряжения. 60   pinMode(0, ВВОД); 61   pinMode(1, ВВОД); 62   pinMode(2, ВВОД); 63   pinMode(3, ВВОД); 64  65   переключатель(myLed){ 66  67   кейс 0: 68     pinMode(0, ВЫВОД); 69     pinMode(2, ВЫВОД); 70     digitalWrite(2, НИЗКИЙ); 71     digitalWrite(0, ВЫСОКО); 72     перерыв; 73  74   кейс 1: 75     pinMode(3, ВЫВОД); 76     pinMode(2, ВЫВОД); 77     digitalWrite(2, НИЗКИЙ); 78     digitalWrite(3, ВЫСОКО); 79     перерыв; 80  81   кейс 2: 82     pinMode(3, ВЫВОД); 83     pinMode(1, ВЫВОД); 84     digitalWrite(1, НИЗКИЙ); 85     digitalWrite(3, ВЫСОКО); 86     перерыв; 87  88   кейс 3: 89     pinMode(1, ВЫВОД); 90     pinMode(0, ВЫВОД); 91     digitalWrite(0, НИЗКИЙ); 92     digitalWrite(1, ВЫСОКО); 93     перерыв; 94  95   кейс 4: 96     pinMode(0, ВЫВОД); 97     pinMode(1, ВЫВОД); 98     digitalWrite(1, НИЗКИЙ); 99     digitalWrite(0, ВЫСОКО);100     перерыв;101 102   кейс 5:103     pinMode(2, ВЫВОД);104     pinMode(0, ВЫВОД);105     digitalWrite(0, НИЗКИЙ);106     digitalWrite(2, ВЫСОКО);107     перерыв;108 109   кейс 6:110     pinMode(2, ВЫВОД);111     pinMode(1, ВЫВОД);112     digitalWrite(1, НИЗКИЙ);113     digitalWrite(2, ВЫСОКО);114     перерыв;115   }116 }117 ////////////////////////////////////////////////////////////////////////////////118 пустота spwm(int частота, int штырь, int зр) {119   // вызываем charlieplexing для установки правильных выводов:120   //на:121   digitalWrite(штырь, ВЫСОКО);122   delayMicroseconds(зр * частота);123   // выкл:124   digitalWrite(штырь, НИЗКИЙ);125   delayMicroseconds(зр * (255 - частота));126 }

использованная литература

  1. ^ а б "Charlieplexing - мультиплексирование светодиодных дисплеев с уменьшенным числом выводов". Максим Интегрированный. Архивировано из оригинал 7 июня 2017 г.. Получено 7 июн 2017. Чарли Аллен изначально отстаивал эту технику внутри компании Maxim, и поэтому для отличия мультиплексирования с уменьшенным количеством выводов от традиционного метода вошло сокращенное название «Charlieplexing».
  2. ^ US4319227, Малиновский, Кристофер В .; Хайнц Риндерле и Мартин Зигле, "Система сигнализации с тремя состояниями", выпущенный 1982-03-09, передан Департаменту исследований и разработок, AEG-Telefunken, Хайльбронн, Германия 
  3. ^ google.com/patents/US4319227
  4. ^ patentimages.storage.googleapis.com
  5. ^ 'Часы почти без запчастей' с использованием 7-сегментных светодиодных дисплеев Charlieplexed.
  6. ^ Майкл Э. Правило. Charlieplexing со светодиодными матричными модулями. Доступ 20 марта 2013 г..
  7. ^ Технические размышления Дона Ланкастера # 152 отсюда и возникло название Charlieplexing.
  8. ^ а б electronicdesign.com, Electronic Design Magazine, 1-страничная статья о Charlieplexing для входных данных
  9. ^ Статья "Tucoplexing: новый Charliplex для кнопок и переключателей" на Hackaday
  10. ^ Статья "Гугаплекс" на Makezine
  11. ^ "Двенадцать выходов PWM от ATtiny85" Статья о технологиях
  12. ^ «КАК ПОЛУЧИТЬ ТО, ЧТО ХОТИТЕ». www.kobakant.at. Получено 2017-11-13.