stringtranslate.com

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

На этой схеме показано, как восемь входов на решетчатом сенсорном экране или клавиатуре создают 28 уникальных пересечений, в отличие от 16 пересечений, создаваемых с помощью стандартного мультиплексного сенсорного экрана x/y.
Шесть диагональных линий ввода-вывода Charlieplexed объединены в очень простую и масштабируемую светодиодную матрицу.
Цифровые часы Charlieplexed, которые управляют 90 светодиодами с помощью 10 контактов микроконтроллера PIC 16C54 .

Charlieplexing (также известный как мультиплексирование с тремя состояниями , мультиплексирование светодиодов с уменьшенным количеством выводов , дополнительный привод светодиодов и кроссплексирование ) — это метод доступа к большому количеству светодиодов , переключателей , микроконденсаторов или других объектов ввода-вывода с использованием относительно небольшого количества логических проводов с тремя состояниями от микроконтроллера . Эти объекты ввода-вывода могут быть подключены как дискретные компоненты, [1] [2] массивы x/y, [3] [4] или сплетены в диагонально пересекающийся рисунок для формирования диагональных массивов. [5]

Самый простой способ адресовать отдельный пиксель (или кнопку ввода) — это протянуть к нему провод и еще один провод обратно к земле, но это требует много проводов. Небольшое улучшение — вернуть все на общую землю, но это все равно требует одного провода (и одного контакта на микроконтроллере) для каждого пикселя или кнопки. Для массива X на Y требуются контакты X*Y.

С тремя логическими выводами (высокий, низкий, отключенный) для матричной разводки требуются только выводы и провода X+Y. Каждый X и каждый Y по очереди включаются и отключаются; недостатком является то, что каждый индикатор запитан не более 1/(X*Y) времени. Если есть достаточно разветвления , выводы Y можно оставить всегда включенными, и все они будут проверяться параллельно. Затем обновление может происходить каждые 1/X времени, но каждый провод X должен пропускать достаточно тока, чтобы зажечь Y индикаторов одновременно.

Charlieplexing — это дальнейшее усовершенствование матричной разводки. Вместо того, чтобы X горизонтальных проводов встречались с Y вертикальными проводами, каждый провод встречался с каждым другим проводом. Если предположить, что для соединений используются диоды (чтобы различать провод 3, встречающийся с проводом 5, и провод 5, встречающийся с проводом 3), Charlieplexing требует всего лишь около половины контактов, чем обычное матричное расположение, за счет более сложного отображения. В качестве альтернативы, то же количество контактов будет поддерживать дисплей почти в четыре раза больше (удваиваясь в обоих направлениях).

Это позволяет подключать эти объекты ввода-вывода (светодиоды, переключатели и т. д.) между любыми двумя вводами-выводами микроконтроллера - например, при 4 вводах-выводах каждый ввод-вывод может быть сопряжен с 3 другими вводами-выводами, что приводит к 6 уникальным парам (1/2, 1/3, 1/4, 2/3, 2/4, 3/4). При стандартном мультиплексировании x/y возможны только 4 пары (1/3, 1/4, 2/3, 2/4). Кроме того, благодаря способности микроконтроллера менять полярность 6 пар ввода-вывода, количество светодиодов (или диодов), которые имеют уникальную адресацию, может быть удвоено до 12 - путем добавления светодиодов 2/1, 3/1, 4/1, 3/2, 4/2 и 4/3.

Хотя он более эффективен в использовании ввода-вывода, при попытке вписать Чарлиплексирование в стандартный массив x/y требуется небольшое количество манипуляций с адресами.

Другие проблемы, которые влияют на стандартное мультиплексирование, но усугубляются Чарлиплексированием:


Источник

Метод Чарлиплексинга был представлен [6] компанией Maxim Integrated в 2001 году [7] как схема мультиплексирования светодиодов с уменьшенным количеством выводов в их драйвере светодиодного дисплея MAX6951. [7] [6] Однако название «Чарлиплексинг» впервые появилось в заметке по применению 2003 года. [6] Он был назван в честь Чарльза «Чарли» М. Аллена, инженера-разработчика MAX232 , [8] [9] [10], который предложил этот метод внутри компании. [ когда? ]

Также в 2001 году Дон Ланкастер проиллюстрировал этот метод как часть своих размышлений о проблеме « N-связности » [11], ссылаясь на Microchip Technology [11] , которая уже обсуждала его как «дополнительный метод управления светодиодами» в заметке по применению 1998 года [12] и позже включила его в буклет с советами и рекомендациями. [13]

Хотя Microchip не упомянул о происхождении идеи, они могли подхватить ее в PICLIST, списке рассылки по микроконтроллерам Microchip PIC , где также в 1998 году Грэм Дэниел [14] [15] предложил ее сообществу как метод управления рядами и столбцами двунаправленных светодиодов . Дэниел в то время создал простые схемы с чипами PIC 12C508, управляющими 12 светодиодами с 5 выводов с помощью мини-набора команд для приведения в движение различных световых дисплеев. [14] [15]

Однако этот метод был известен и использовался различными сторонами гораздо раньше, в 1980-х годах, и был подробно описан еще в 1979 году в патенте Кристофера В. Малиновского, Хайнца Риндерле и Мартина Зигл из Департамента исследований и разработок AEG-Telefunken , Хайльбронн, Германия, на то, что они назвали «трехуровневой сигнальной системой». [16]

Сообщается, что подобные методы уже использовались еще в 1972 году для сигнализации на путях в моделировании железных дорог . [17] [ необходима цитата ]

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

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

Трехуровневое мультиплексирование (Чарлиплексирование)

Симметричная схема светодиодов Charlieplexed. Слева 3 контакта управляют 6 светодиодами, расположенными в треугольнике. Справа 4 контакта управляют 12 светодиодами, расположенными в тетраэдре .

Конфигурацию Charlieplexing можно рассматривать как направленный граф , где управляющие штыри являются вершинами, а светодиоды - направленными ребрами; есть направленное наружу ребро, соединенное от каждой вершины к каждой другой вершине, следовательно, при n управляющих штырях есть ( n )( n -1) общих ребер. Это равносильно тому, что n штырей могут управлять n 2  − n сегментами или светодиодами.

Если известно количество светодиодов ( L ), то количество контактов ( n ) можно найти из уравнения: , округлив результат до ближайшего целого числа.

Пример: если L = 57, то √L = 7,549, а 1 + √L = 8,549; ближайшее целое число к этому числу — 9, поэтому для управления 57 светодиодами требуется 9 контактов (9 контактов могут управлять до 72 светодиодов, но 8 контактов могут управлять максимум 56 светодиодами).

Происхождение уравнения ( n 2  −  n ) в Чарлиплексинге
Шесть проводников позволяют индивидуально управлять девятью светодиодами в стандартной мультиплексной матрице x/y и 30 светодиодами в матрице «Чарлиплекс».

В отличие от традиционной мультиплексированной матрицы x/y, где подмножество проводящих элементов пересекает другое подмножество проводящих элементов, в мультиплексированной матрице «полностью Чарлиплексированной» каждый проводящий элемент пересекает каждый другой проводящий элемент.

Шесть ( n ) проводящих элементов в стандартной мультиплексированной решетке x/y образуют максимум девять (( n  / 2) 2 ) уникальных пересечений (см. рисунок слева).

На других схемах также показано шесть ( n ) проводящих элементов, но здесь все шесть элементов пересекаются, образуя мультиплексный массив из 36 ( n2 ) пересечений. Светодиоды показаны размещенными на каждом пересечении. Однако каждый проводник также пересекает себя по диагонали. Горизонтальный проводник 1 пересекает вертикальный проводник 1, горизонтальный проводник 2 пересекает вертикальный проводник 2 и т. д. Это означает, что шесть из этих светодиодов замкнуты накоротко (например, D1 и D5 замкнуты накоротко). Следовательно, шесть ( n ) диагональных светодиодов никогда не загорятся, потому что на них никогда не может возникнуть напряжение, поэтому ( n ) нужно вычесть из общего числа. Нет смысла устанавливать эти светодиоды (они просто включены сюда для наглядности).

Остается 30 светодиодов ( n 2  − n ), которые можно адресовать по отдельности и зажигать независимо.

Проводник "a", пересекающий проводник "b", отличается от проводника "b", пересекающего проводник "a", поскольку полярность светодиода обратная. Например, когда проводник 3 положительный, а проводник 2 отрицательный, ток течет через него и зажигает светодиод D8, но когда проводник 3 отрицательный, а проводник 2 положительный, ток течет через него и зажигает светодиод D9.

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

n входов/выходов формируют n ( n  - 1) Чарлиплексированную «смещенную» x/y светодиодную матрицу.

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

Изменяя по диагонали форму горизонтальных и вертикальных разъемов вдоль закороченной главной диагонали исходной матрицы, ее можно легко преобразовать в массив из 5 × 6 или 6 × 5 светодиодов, расположенных в регулярной сетке.

Аналогичный шаблон можно использовать для матрицы 10 × 11, которая может использоваться для управления до 110 клавишами (включая несколько светодиодных индикаторов) на современной клавиатуре ПК , где каждый клавишный переключатель включает в себя небольшой последовательный диод или светодиод, так что для индивидуального управления всеми из них потребуется всего 11 контактов (эти отдельные диоды или светодиоды внутри каждого клавишного переключателя также позволят избежать всех распространенных и нежелательных эффектов «фантомных нажатий», которые трудно полностью устранить, когда произвольное количество клавиш в любой позиции нажимается одновременно).

Charlieplexing также можно использовать для значительного сокращения количества управляющих выводов для гораздо больших матриц, таких как современные цифровые дисплеи с высоким разрешением. Например, для дисплея 4K RGB с разрешением 3840 × 2160 это требует более 8 миллионов индивидуально адресуемых пикселей, каждый из которых имеет не менее 3 цветных светодиодов или ячеек ЖК-дисплея, что в общей сложности составляет около 25 миллионов светодиодов или ячеек ЖК-дисплея. Использование обычного мультиплексирования x/y потребовало бы не менее (3840 + 2160 × 3) = 10320 управляющих выводов и множества микросхем выбора для управления строками и столбцами по всей панели светодиодов или ячеек ЖК-дисплея. Но с помощью Charlieplexing это можно сократить всего до 63 управляющих выводов для затвора выбора столбцов дисплея, плюс 46 × 3 управляющих выводов для выбора и активации питания строк дисплея RGB, с помощью одного транзистора для каждой строки или столбца (возможно, с дополнительным общим экранирующим заземлением для ограничения их взаимной связи); Эти управляющие выводы можно легко разместить вокруг выходных выводов одной или двух микросхем контроллера, даже если мы добавим несколько дополнительных выводов, необходимых на контроллере для питания, заземления, тактовых импульсов и шин ввода-вывода, смонтированных на поверхности с высокой плотностью и низкой стоимостью на однослойной печатной плате , и без необходимости сложной маршрутизации и отверстий для соединения между слоями; двухслойный нужен только для базовой матрицы Чарлиплексинга, установленной на границах самой панели.

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

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

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

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

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

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

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

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

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

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

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

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

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

Расширяющийся

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

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

Это подчеркивает сходство между обычным сеточным мультиплексом и Чарлиплексом и демонстрирует закономерность, которая приводит к правилу « n в квадрате минус n ».

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

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

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

Проблемы с Чарлиплексингом

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

Частота обновления не является проблемой, если используется адресация активной матрицы Charlieplexed с массивом светодиодов Charlieplexed. [18]

Однако, как и в случае с мультиплексированием x/y, при использовании пассивной матричной адресации могут возникнуть проблемы с частотой обновления .

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

Например, 8 трехстабильных выводов используются для управления 56 светодиодами через Чарлиплексинг, чего достаточно для 8 7-сегментных дисплеев (без десятичных точек). Обычно 7-сегментные дисплеи изготавливаются с общим катодом, иногда с общим анодом, но без потери общности общий катод предполагается в следующем: Все светодиоды во всех 8 7-сегментных дисплеях не могут быть включены одновременно в любой желаемой комбинации с помощью Чарлиплексинга. Невозможно получить 56 бит информации непосредственно из 8 тритов (термин для символа с основанием 3, поскольку выводы являются трехстабильными) информации, поскольку 8 тритов по сути содержат 8 log 2 3, или около 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.

Требование к трем государствам

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

Сложность

Диагонально «связанные» массивы Charlieplex очень просты в компоновке и сканировании.

Матрица сенсорного экрана с проекционной емкостью ввода/вывода и 28 уникальными пересечениями.

При использовании в качестве проекционно-емкостного сенсорного экрана с поддержкой мультитач (см. рисунок слева) первый ввод/вывод можно настроить как выход, а все остальные вводы/выводы — как входы. Все эти вводы можно считывать одновременно, если позволяют ресурсы процессора — эквивалент ввода Chipiplexing . Когда вывод 1 «прочитан» всеми этими вводами, второй ввод/вывод можно настроить как выход, а вводы/выводы 1, 3, 4, 5 и т. д. — как входы.

n диагонально соединенных светодиодов Чарлиплекса образуют правильный массив n  ( n  - 1).

Эта последовательность повторяется до тех пор, пока не будет просканирован весь экран. Этот процесс повторяется до бесконечности для последующих сканирований. [20]

Очень простая диагональная компоновка может быть использована для создания обычной масштабируемой матрицей диодов Чарлиплекса, где n линий ввода-вывода управляют ( n  - 1) 2 диодами, все из которых направлены в одну сторону (см. схему справа). [20]

На этой схеме показано n ( n  - 1) диодов, но диоды в последнем столбце обращены в разные стороны.

Матрицы X/y Charlieplexed обычно значительно сложнее, как в требуемой компоновке печатной платы, так и в программировании микроконтроллера, чем готовые стандартные матрицы x/y multiplex. Это увеличивает время проектирования. Пайка компонентов также может быть более трудоемкой. Было высказано предположение, что баланс между сложностью и использованием выводов может быть достигнут путем Charlieplexing нескольких готовых мультиплексированных светодиодных матриц вместе. [21]

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

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

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

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

Неисправность светодиода

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

Разрыв цепи диода в частично «Чарлиплексированной» диодной матрице позволяет току проходить по альтернативному маршруту.

В стандартной матрице x/y обрыв цепи светодиода (D1) приводит к прекращению его работы без каких-либо дальнейших последствий.

Однако в частично "Charlieplexed" массиве, если неисправный светодиод (D1) становится разомкнутым, напряжение между 2 электродами светодиода может нарастать до тех пор, пока он не найдет путь через, по крайней мере, три других светодиода. Если напряжение достаточно высокое, это может привести к тому, что эти другие светодиоды (такие как D2, D3 и D4) неожиданно загорятся.

Однако, при изменении полярности не наблюдается никакого вредного эффекта, поскольку D1 в любом случае не проводил бы ток при таких обстоятельствах, поскольку он смещен в обратном направлении. Ток проходит через дополнительный диод D1 (D5) как обычно.

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

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

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

Неисправность светодиода в диагональной матрице:

Выход из строя одного светодиода может привести к перенаправлению тока через другие светодиоды.

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

На схеме показана 6-входовая матрица Чарлиплекса, в которой один светодиод (L1) становится разомкнутой цепью.

Если один светодиод размыкается, и если напряжение достаточно высокое, то ток, который должен был пройти через этот светодиод, теоретически может найти альтернативный путь через другие светодиоды. Например, если светодиод 1 (L1) размыкается, то ток все равно может течь от клеммы 3 к клемме 2 через L2 последовательно с L3. Другие пути проходят через L4/L5, L6/L7 и L8/L9. Это может привести к мерцанию этих светодиодов.

If LED 1 goes short circuit, then both its terminals will always be at the same potential, and so will those of its inverted complementary LED. Therefore, neither LED will light up, even though one of them may still be fully functional.

If terminal 2 or terminal 3 is negative, then both the red and brown tracks will be negative at the same time. Therefore, some LEDs connected to these tracks could light up un-intentionally when terminals 1, 4, 5 or 6 are positive.

Similarly, if terminal 2 or terminal 3 is positive, then both the red and brown tracks will be positive at the same time. Therefore, some LEDs connected to these tracks could light up un-intentionally when terminals 1, 4, 5 or 6 are negative.

It has been shown that the failure of one LED can cause other consequences.

If a complementary pair of LEDs are not working, then it is most likely that only one of them is shorting, and a meter may be used to test which one it is. Otherwise, if one or more LEDs never light up, then they are probably all faulty and should be replaced. Their replacement will, hopefully, make any spurious artefacts disappear.[20]

Alternative use cases and variants

Input data multiplexing

Charlieplexing can also be used to multiplex digital input signals into a microcontroller. The same diode circuits are used, except a switch is placed in series with each diode. To read whether a switch is open or closed, the microcontroller configures one pin as an input with an internal pull-up resistor. The other pin is configured as an output and set to the low logic level. If the input pin reads low, then the switch is closed, and if the input pin reads high, then the switch is open.[22]

One potential application for this is to read a standard (4 × 3) 12-key numeric keypad using only 4 I/O lines. The traditional row-column scan method requires 4 + 3 = 7 I/O lines. Thus Charlieplexing saves 3 I/O lines; however it adds the expense of 12 diodes, (since the diodes are only free when LEDs are used). A variation of the circuit with only 4 diodes is possible,[22] however this reduces the rollover of the keyboard. The microcontroller can always detect when the data is corrupt, but there is no guarantee it can sense the original key presses, unless only one button is pressed at a time. (However, it is probably possible to arrange the circuit so that if at most any two adjacent buttons are pressed, then no data loss will occur.)[vague] The input is only lossless in the 4-diode circuit if only one button is pressed at a time, or if certain problematic multiple key presses are avoided. In the 12-diode circuit, this is not an issue, and there is always a one-to-one correspondence between button presses and input data. However, there are so many diodes that are required to use the method (especially for larger arrays) that there is generally no cost savings over the traditional row-column scan method, unless the cost of a diode is only a fraction of the cost of an I/O pin, where that fraction is one over the number of I/O lines.

Projected capacitance touchscreens and keypads.

Single wire plot for 32 input, diagonally wired, projected capacitance touchscreen film.
32 input diagonally wired touchscreen

These do not use diodes but rely on the change in capacitance between crossing conductive tracks to detect the proximity of one or more fingers through non-conducting materials such as plastic overlays, wood, glass, etc. - even double glazing.

These tracks can be made from a wide range of materials, such as printed circuit boards, transparent Indium Tin oxide, insulation coated fine wire, etc.

The technology can range in size from very small, as in "fingerprint detectors",[23] to very large, as in "touch interactive video walls". Usually, a limit is imposed on the maximum width of an x/y wired touchscreen, because the horizontal track resistance gets too great for the product to function properly. However, a diagonally wired touchscreen (as described later in this section) does not have this problem.

Charlieplexing is ideal for diagonally wired projected capacitance keypads and touchscreens. It almost doubles the number of cross-over points when compared to standard x/y multiplexing, and all I/O tracks come from just one edge.[20]

The left image (above) shows the diagonal wiring arrangement of a 32 I/O projected capacitance touchscreen, manufactured using 10 micron diameter wire. The video shows the same touchscreen in action.

There are no LEDs or diodes and, at any one time, only one I/O line is set as an output, the remaining I/O lines being set as high-impedance inputs or "grounded". This means that power requirements are very small.

GuGaplexing

In 2008, Dhananjay V. Gadre devised Gugaplexing, which is like Charlieplexing with multiple drive voltages.[24][25]

Chipiplexing

In 2008, Guillermo Jaquenod's so called Chipiplexing adds emitter followers to boost the strength of the row drive allowing rows wider than a single microcontroller port could drive to be lit simultaneously.[26][27]

Cross-plexing

In 2010, the Austrian chip manufacturer austriamicrosystems AG (named ams AG[nb 1] since 2012, and ams-OSRAM AG since 2020) introduced the multiplexing LED driver IC AS1119,[28][29] followed by the AS1130 in 2011.[30][31]

Also, the analog & mixed signal (AMS)[nb 1] division (named Lumissil Microsystems since 2020) of Integrated Silicon Solution Inc. (ISSI) introduced the IS31FL3731 in 2012[32][33] and the IS31FL3732 in 2015.[34][35][36]They all use a technique they call cross-plexing, a variant of Charlieplexing with automatic detection of open or shorted connections and anti-ghosting measures.[37]

Diagonal arrays

Folding 6 (n) conductors forms a triangular array of 15 ((n2 − n) / 2) unique intersections.
Double folding 6 (n) parallel conductors over each other forms a square array, in the central region, composed of 15 ((n2 − n) / 2) unique intersections.
Diagonal conductive elements form a cylindrical, Charlieplexed LED display.

In 2015, a diagonal Charlieplex array was invented by Ron Binstead of Binstead Designs Ltd, while searching for a simplified projected capacitance touchscreen design.[38][39][40] This greatly simplified the layout of large Charlieplexed arrays which, until then, used some very complex arrangements.[41][42][43]

Triangular array - A triangular Charlieplexed array of (n2 − n) LEDs can be formed simply by folding a group of n parallel conductors at right angles over themselves, and placing a complementary pair of LEDs at each of the resulting unique intersections - see diagram on left. I/O connections can be made at the ends of the conductors, or at the fold positions - forming split conductors.

Rectangular array - A square/rectangular diagonal array can be formed by double folding the parallel conductors - see diagram on right. Unsplit I/O conductors enter from the end of the array.

Cylindrical array - Split and unsplit diagonal conductors can also be formed into a seamless cylindrical array.

The diagram on the right shows a 6 I/O, split Charlieplexed cylindrical display layout, with 30 intersections, each with a uniquely addressable LED. All the I/Os connect at the bottom edge of the cylinder (standard x/y cylindrical arrays would require the horizontal I/Os to enter from the side, or be "bussed" up a seam in one side).

In the top image, the North-West orientated branch of a split I/O conductor is sometimes used as a current source (logic 1). At other times, the North-East orientated branch of the same conductor, is used as a current sink (logic 0). When not being used to power any LEDs, the I/O is "turned off" (tristate). This prevents other LEDs from being lit unintentionally.

The red and blue LEDs are both connected to the same two conductors, but with reversed polarity, forming a complementary pair. This means that it is not possible to turn on both LEDs at exactly the same time.

The red LED in the display is turned on by: a) setting all the I/Os to "off", b) setting I/O 2 to logical 0, and c) setting I/O 4 to logical 1. The blue LED does not light up because, under these conditions, it is a diode that is reverse biased.

The blue LED in the display is turned on by: a) setting all the I/Os to "off", b) setting I/O 2 to logical 1, and c) setting I/O 4 to logical 0. The red LED does not light up because, under these conditions, it is reverse biased.

This illustrates how Charlieplexing requires all I/Os to be capable of three states (tri-state) - "off", logical 0, or logical 1.

The conductive elements can be formed into a loop - as shown in the top image. This allows current to flow to the LEDs via two routes - similar to a Domestic Ring Main.

The LEDs could alternatively be arranged as vertical or horizontal complementary pairs, at the intersections - vertical being shown in the lower image.

When using complementary LED pairs, an odd number of I/Os may be required in order to obtain full Charlieplexing capability. For example: 6 Charlieplexed I/Os can create an array of 15 unique intersections. One of the dimensions of the array will be 6. To obtain 15 unique intersections, the other dimension would have to be 15/6 or 2.5, which could be problematic. However, 7 I/Os can create 21 unique intersections, 21/7 = 3. Therefore, 7 I/Os create a 7 × 3 array, which does not cause issues.

Non-Charlieplexed diagonal arrays can also be formed into cylinders, but 6 I/Os would only create 9 unique intersections.

These cylinders can be physically transformed into complex 3 dimensional shapes, by a range of different methods - such as blow molding, vacuum forming, etc.

A similar layout is possible for a cylindrical touchscreen ( see Touchscreen#Diagonal_touchscreen_arrays).

Diagonal wiring allows touchscreen width to be increased indefinitely without increasing electrode resistance.

"Infinitely" wide array - The diagram on the right shows the layout for a multi-touch, projected capacitance, touchscreen of potentially "infinite" width. Diagonal conductor lengths never exceed 1.414 times the height of the touchscreen , meaning that the screen can be widened "indefinitely" without increasing conductor resistance.[44] This is reduced to 1.12 times the height of the touchscreen , if the sensing elements intersect at 60 degrees instead of 90 degrees.

Tucoplexing

In 2019, Micah Elizabeth Scott developed a method to use 3 pins to run 4 LEDs and 4 switches called Tucoplexing.[45]

Pulse-width modulation

Charlieplexing can even be used with pulse-width modulation to control the brightness of 12 LEDs with 4 pins.[46]

Code example

In the following Arduino code example, the circuit[47][48] uses ATtiny 8-pin microcontroller which has 5 I/O pins to create a 7-segment display. Since a 7-segment display only requires control of 7 individual LEDs, we use 4 of the ATtiny I/O pins as Charlieplexed outputs (n (n - 1)), i.e. the 4 pins could be used to control up to 12 individual LEDs (here we just use 7 of them). Leaving the fifth I/O pin to be used as digital or analog input or another output.

// ATtiny code.// Reads analog (or digital) input from pin 4 and every time the input goes below a set threshold.// It counts one and displays the increase in count either by activating up one of four LEDs (or transistors)// or one of twelve Charlieplexed LEDs.// SET THESE VALUES:int threshold = 500;int maxCount = 7;////////////////////boolean sensorTriggered = false;int count = 0;int sensorValue = 0;long lastDebounceTime = 0; // The last time the output pin was toggled.long debounceDelay = 50; // The debounce time; increase if the output flickers.////////////////////////////////////////////////////////////////////////////////void setup() { // Use pull-down for disabled output pins rather than pull-up to reduce internal consumption. for (int pin = 0; pin < 4; pin++) { pinMode(pin, INPUT), digitalWrite(pin, LOW); } // Internal pull-up for enabled input pin 4. pinMode(4, INPUT), digitalWrite(4, HIGH);}////////////////////////////////////////////////////////////////////////////////void loop() { testDigits();}void testDigits() { charlieLoop();}////////////////////////////////////////////////////////////////////////////////void readSensor() { sensorValue = analogRead(2); // pin4! delay(100); if (sensorValue < threshold && sensorTriggered == false) { sensorTriggered = true; count++; if (count > maxCount) count = 0; charlieLoop(); } if (sensorValue > threshold) sensorTriggered = false;}////////////////////////////////////////////////////////////////////////////////void charlieLoop() { count++; for (int i = 0; i < 1000; i++) { for (int c = 0; c < count; c++) { charliePlexPin(c); } } delay(1000); if (count > maxCount) count = 0;}////////////////////////////////////////////////////////////////////////////////void charliePlexPin(int myLed){ // Make sure we don't feed random voltages to the LEDs // during the brief time we are changing pin voltages and modes. // Use pull-down for disabled output pins rather than pull-up to reduce internal consumption. for (int pin = 0; pin < 4; pin++) { pinMode(pin, INPUT), digitalWrite(pin, LOW); } // With 4 pins we could lit up to 12 LEDs, we use only 7 here. // Make sure to set pin voltages (by internal pull-up or pull-down) // before changing pin modes to output.#if 1 // Reduced code using a static lookup table. typedef struct { // Two different pin numbers (between 0 and 3; order is significant), // otherwise no led will be lit. low, high: int: 2; } Pins; static Pins pinsLookup[] = { {2, 0}, {2, 3}, {1, 3}, {0, 1}, {1, 0}, {0, 2}, {1, 2}, // Other possible combinations for up to 12 LEDs: // {0, 3}, {2, 1}, {3, 0}, {3, 1}, {3, 2}, // Other unusable combinations that don't lit any LED with a significant voltage and current, // unless pull-up or pull-down resistances are very unbalanced: // {0, 0}, {1, 1}, {2, 2}, {3, 3} }; if (myLed >=0 && myLed <= sizeof(pinsLookup) / sizeof(Pins)) { register Pins &pins = pinsLookup[myLed]; // Note that the first digitWrite to LOW is commented out, // as it is already set above for all output pins. /* digitalWrite(pins.low, LOW), */ pinMode(pins.low, OUTPUT); digitalWrite(pins.high, HIGH), pinMode(pins.high, OUTPUT); }#else // Equivalent code using a long switch. switch(myLed) { case 0: /* digitalWrite(2, LOW), */ pinMode(2, OUTPUT); digitalWrite(0, HIGH), pinMode(0, OUTPUT); break; case 1: /* digitalWrite(2, LOW), */ pinMode(2, OUTPUT); digitalWrite(3, HIGH), pinMode(3, OUTPUT); break; case 2: /* digitalWrite(1, LOW), */ pinMode(1, OUTPUT); digitalWrite(3, HIGH), pinMode(3, OUTPUT); break; case 3: /* digitalWrite(0, LOW), */ pinMode(0, OUTPUT); digitalWrite(1, HIGH), pinMode(1, OUTPUT); break; case 4: /* digitalWrite(1, LOW), */ pinMode(1, OUTPUT); digitalWrite(0, HIGH), pinMode(0, OUTPUT); break; case 5: /* digitalWrite(0, LOW), */ pinMode(0, OUTPUT); digitalWrite(2, HIGH), pinMode(2, OUTPUT); break; case 6: /* digitalWrite(1, LOW), */ pinMode(1, OUTPUT); digitalWrite(2, HIGH), pinMode(2, OUTPUT); break; }#endif}////////////////////////////////////////////////////////////////////////////////void spwm(int freq, int pin, int sp) { // Call Charlieplexing to set correct pin outs: // on: digitalWrite(pin, HIGH); delayMicroseconds(sp * freq); // off: digitalWrite(pin, LOW); delayMicroseconds(sp * (255 - freq));}

See also

Notes

  1. ^ a b The ICs AS1119 and AS1130 were introduced by austriamicrosystems AG (formerly Austria Mikro Systeme), later named ams AG and ams-OSRAM AG. The ICs IS31FL3731 and IS31FL3732 were introduced by the AMS (analog & mixed signal) division (now called Lumissil Microsystems) of the fab-less chip manufacturer Integrated Silicon Solution Inc. (ISSI). Presumably, the fact that both manufacturers of cross-plexing LED driver ICs carry "AMS" in their name is coincidence only.

References

  1. ^ "Charlieplexing made easy". Retrieved 2024-01-08.
  2. ^ "Charlieplexed-Arduino-8x8-LED-Grid-Display". Retrieved 2024-01-08.
  3. ^ "Making Charlieplex arrays". Retrieved 2024-01-08.
  4. ^ "sparkfun-led-array-8x7-hookup-guide". Retrieved 2024-01-09.
  5. ^ "Touch sensor". Retrieved 2024-01-08.
  6. ^ a b c d "Charlieplexing - Reduced Pin-Count LED Display Multiplexing". Maxim Integrated Products, Inc. 2003-02-10. Application Note 1880. Archived from the original on 2016-08-13. Retrieved 2017-06-07. […] This unusual multiplex technique is used by the MAX6950, MAX6951, MAX6954, MAX6955, MAX6958, and MAX6959 LED display drivers. […] Charlie Allen originally championed this technique internally at Maxim, and so the shorthand name "Charlieplexing" came into use to distinguish reduced pin count multiplexing from the traditional method. The first Maxim product to use Charlieplexing is the Maxim MAX6951 LED driver, which drives 8 numeric digits with only 9 pins […] [1] (4 pages)
  7. ^ a b MAX6950/MAX6951 - Serially Interfaced, +2.7V to +5.5V, 5- and 8-Digit LED Display Drivers (PDF). Revision 1. Sunnyvale, California, USA: Maxim Integrated Products. December 2001. 19-2227. Archived (PDF) from the original on 2021-12-10. Retrieved 2021-12-10. (19 pages)
  8. ^ EDN Staff, ed. (1997-05-08). "EDN's 1996 Innovator / Innovation Competition". EDN. Archived from the original on 2021-12-10. Retrieved 2021-12-10.
  9. ^ Sherman, Len (2016-12-16). "Almost 30 years of the MAX232". BISinfotech. Archived from the original on 2021-12-10. Retrieved 2021-12-10. […] The MAX232's success was as much a tribute to the vision of its definer, Charlie Allen, as it was to the ingenuity of its designer, Dave Bingham. […]
  10. ^ Fox, Brett J. (2021). "What Makes Your Great Engineers Great?". Archived from the original on 2021-12-10. Retrieved 2021-12-10. […] The launch of the MAX232 family is particularly insightful. Charlie Allen, a brilliant, customer focused, applications engineer, noticed that our customers were using a product called the ICL7660, which Dave [Bingham] also designed, to provide the negative power supply for RS-232 line drivers and receivers. So, Charlie approached Dave, and asked Dave if he could design an IC that integrated the functionality of the ICL7660 with an RS-232 line driver and receiver. […]
  11. ^ a b c Lancaster, Don (August 2001). "N-Connectedness" (PDF). Tech Musings. No. 152. Thatcher, Arizona, USA: Synergetics. pp. 152.2–152.5. Archived (PDF) from the original on 2021-12-09. Retrieved 2021-12-09. (4 pages)
  12. ^ Rebic, Jean-Claude (1999-11-19) [1998-11-06]. "Complementary LED drive" (PDF). Pioneer-Standard, USA: Microchip Technology Inc. DS91029A. Application Note TB029. Archived (PDF) from the original on 2021-02-13. Retrieved 2021-12-09. (3+1 pages)
  13. ^ "TIP #2: Input/Output Multiplexing". Microchip Tips 'n Tricks - 8-pin FLASH PIC Microcontrollers - Outperform the Competition (PDF). Chandler, Arizona, USA: Microchip Technology Inc. 2003. p. DS40040B-page 3. DS40040B. Archived from the original (PDF) on 2007-01-28. (2+ii+38+2 pages)
  14. ^ a b Daniel, Graham (1998-07-19). "loads of flashing LEDs". piclist.com. 060918a. Archived from the original on 2021-12-11. Retrieved 2021-12-11. [2] (NB. With contributions by Paul B. Webster, Mark Willis, Dwayne Reid and Alan King.)
  15. ^ a b Daniel, Graham (1998-07-20). "12 LED hex file, 12c508". piclist.com. 045923a. Archived from the original on 2021-12-11. Retrieved 2021-12-11.
  16. ^ Malinowski, Christopher W.; Rinderle, Heinz; Siegle, Martin (1982-03-09) [1979-10-16]. "Three-state signaling system" (PDF). Heilbronn, Germany: Licentia Patent-Verwaltungs-G.m.b.H. / Telefunken Electronic GmbH. US Patent 4319227A. Archived (PDF) from the original on 2021-12-09. Retrieved 2021-12-09.
  17. ^ "unknown". Model Railroader. 1972. {{cite magazine}}: Cite uses generic title (help)
  18. ^ Lapedus, Mark (2019-03-29). "MicroLEDs: The Next Revolution In Displays? Technology offers improved brightness, colors, and lower power, but they're expensive and difficult to manufacture". Manufacturing, Packaging & Materials. SemiconductorEngineering. Sperling Media Group LLC. Archived from the original on 2023-04-25. Retrieved 2023-04-11. (NB. Micro-led array using active matrix.)
  19. ^ Pino, Jose (2009-08-25). "'Almost No Parts' 12/24hrs LED Clock". Jose Pino's Projects & Tidbits. Archived from the original on 2021-10-10. Retrieved 2021-12-10. (NB. Using Charlieplexed 7-segment LED displays.)
  20. ^ a b c d Binstead, Ronald Peter (2017-01-25) [2015-07-21]. "Touch sensor - A Touch Sensitive Device where the Sensing Elements are Oblique to the Edges of the Device". Espacenet.com. Nottingham, UK. Patent GB2540560A. Retrieved 2018-02-22. (NB. Diagonal Charlieplexed touchscreen.)
  21. ^ Rule, Michael E. (2013-03-19). "Charlieplexing with LED dot matrix modules". Archived from the original on 2021-02-24. Retrieved 2013-03-20.
  22. ^ a b Joshi, Kartik (2008-04-24). "Novel Switch Interface Scheme Reduces Microprocessor Pin Count". Electronic Design. Archived from the original on 2021-02-24. Retrieved 2021-12-10. (1 page) (NB. Charlieplexing for input data.)
  23. ^ Triggs, Robert (2023-03-25). "How fingerprint scanners work: Optical, capacitive, and ultrasonic explained. Fingerprint scanners are everywhere, but how do they work?". Mobile Technology. AndroidAuthority. Authority Media. Archived from the original on 2023-06-23. Retrieved 2023-06-23.
  24. ^ Gadre, Dhananjay V. (2008). "GuGaplexed Valentine LED Heart". instructables circuits. Archived from the original on 2021-02-28. Retrieved 2021-12-25. [3]
  25. ^ Jepson, Brian (2008-06-23). "Charlieplexing times two". Make:. Make Community LLC. Archived from the original on 2021-02-24. Retrieved 2021-12-10.
  26. ^ Jaquenod, Guillermo (2008-11-27). Rowe, Martin; Granville, Fran (eds.). ""Chipiplexing" efficiently drives multiple LEDs using few microcontroller ports" (PDF). Design Ideas. EDN. La Plata, Argentina. pp. 59–60. Archived from the original (PDF) on 2012-12-18. [4] (2 pages)
  27. ^ Staff writer, ed. (2008-12-09). "Chipiplexing LEDs". Electronics Weekly. Archived from the original on 2021-12-25. Retrieved 2021-12-25.
  28. ^ "austriamicrosystems announces new 144-channel dot matrix LED driver with industry's highest efficiency and smallest size". Company Newsfeed. LEDs Magazine. Vol. 7, no. 8. PennWell Corporation. 2010-08-23. ISSN 2156-633X. Archived from the original on 2022-05-12. Retrieved 2022-05-13. […] Only 18 lines are required to drive all 144 LEDs. This is accomplished with austriamicrosystems' multiplexing technique called cross-plexing. This allows reducing the line count on the PCB as well as fewer pins on the connectors, saving space & costs. […] Other features include […] open and shorted LED error detection […] (NB. Announcement of the AMS AS1119.)
  29. ^ "Application Note - Cross-Plexing - AS1119 - 144 LED Cross-Plexing Driver with 320mA Charge-Pump". 1.00. Unterpremstätten, Austria: austriamicrosystems AG. 2010. Archived from the original on 2022-05-13. Retrieved 2022-05-13. (5+1 pages); "Demo Board Manual - AS1119 - 144 LED, I²C Interfaced, Cross-Plexing Driver with a 320mA Charge-Pump" (PDF). 1.00. Unterpremstätten, Austria: austriamicrosystems AG. 2010. Archived (PDF) from the original on 2022-05-13. Retrieved 2022-05-13. (1+5+1 pages); "Application Note AN02 – SW Manual - AS1119 - 144 LED Cross-Plexing Driver with 320mA Charge-Pump". 1.00. Unterpremstätten, Austria: austriamicrosystems AG/ams AG. 2010. Archived from the original on 2022-05-13. Retrieved 2022-05-13. (6+1 pages)
  30. ^ "austriamicrosystems launches 132 LED driver featuring industry's highest efficiency and smallest size". Company Newsfeed. LEDs Magazine. Vol. 8, no. 10. PennWell Corporation. 2011-10-04. ISSN 2156-633X. Archived from the original on 2022-05-13. Retrieved 2022-05-13. […] Only 12 lines are required to drive all 132 LEDs. This is accomplished with austriamicrosystems' multiplexing technique called cross-plexing. It reduces line count on the PCB as well as pins on the connectors, saving space & costs. Other features include […] open and shorted LED error detection […] (NB. Announcement of the AMS AS1130.)
  31. ^ "AS1130 - 132-LED Cross-Plexing Driver with Scrolling Function" (PDF). 2.01. Unterpremstätten, Austria: ams AG. 2016-10-12 [2016-09-21]. Archived (PDF) from the original on 2021-08-14. Retrieved 2022-05-13. (66+1 pages); "Demo Kit Manual - AS1130 - Standard Board - AS1130-WL_DK_ST". 2.00. Unterpremstätten, Austria: ams AG. 2014-11-14 [2011-10-11]. Archived from the original on 2022-05-13. Retrieved 2022-05-13. (32 pages); "Application Note: 4 pin RGBs in a Cross-Plexing Matrix - AS1130 - 132 LED, I²C Interfaced, Cross-Plexing Driver with scrolling Function". 1.00. Unterpremstätten, Austria: austriamicrosystems AG. 2012. Archived from the original on 2022-05-13. Retrieved 2022-05-13. (6+1 pages)
  32. ^ "IS31FL3731 - Audio Modulated Matrix LED Driver" (PDF). Rev. F. Lumissil Microsystems/Integrated Silicon Solution Inc. (ISSI). 2019-11-04 [2012-03-14]. Archived (PDF) from the original on 2022-05-12. Retrieved 2022-05-13. (24+1 pages)
  33. ^ "IS31FL3731C - Audio Modulated Matrix LED Driver" (PDF). Rev. B. Integrated Silicon Solution Inc. (ISSI). 2014-04-01. Archived (PDF) from the original on 2022-05-13. Retrieved 2022-05-13. (22+1 pages)
  34. ^ "ISSI Expands FxLED Family with Audio Modulated LED Driver to drive 144 LEDs - IS31FL3732 supports special effect LED functions for automotive, gaming, white goods and IoT platforms" (PDF). San Jose, California, USA: Integrated Silicon Solution Inc. (ISSI). 2015-02-24. Archived (PDF) from the original on 2022-05-16. Retrieved 2022-05-16. (2 pages)
  35. ^ "IS31FL3732 - Audio Modulated Matrix LED Driver" (PDF). Rev. D. Lumissil Microsystems/Integrated Silicon Solution Inc. (ISSI). 2017-07-04 [2015-09-06]. Archived (PDF) from the original on 2022-05-13. Retrieved 2022-05-13. (27+1 pages)
  36. ^ "IS31FL3732A - Audio Modulated Matrix LED Driver" (PDF). Rev. C. Lumissil Microsystems/Integrated Silicon Solution Inc. (ISSI). 2017-07-04 [2016-11-03]. Archived (PDF) from the original on 2022-05-12. Retrieved 2022-05-13. (27+1 pages)
  37. ^ Rust, Peter (2013-04-10). "LED-Displays - Matrixtreiber-Topologien unter der Lupe" [LED displays - Matrix driver topologies in focus]. elektroniknet.de (in German). WEKA FACHMEDIEN GmbH [de]. Archived from the original on 2022-05-12. Retrieved 2022-05-13. […] Die möglichen Ghosting-Effekte und Probleme mit offenen LEDs haben die Verbreitung der Charlieplexing-Topologie in der Vergangenheit stark gebremst. Eine »Crossplexing« genannte Verbesserung des Verfahrens verspricht nun, die Nachteile des bisherigen Verfahrens zu eliminieren […] Die Kurzschluss- und Defekterkennung des ICs beruht […] auf der Vorwärtsspannung der in der Matrix verwendeten LEDs. Das Bauelement bestimmt eine optimale Spannungsschwelle für Defektsituationen und konfiguriert sie automatisch. Die Kenntnis der Position eines Kurzschlusses oder Defekts eliminiert natürlich noch nicht die Ghosting-Effekte. Wird jedoch eine Unterbrechung festgestellt, kann das System die Koordinaten des Defekts abspeichern. […] Jedes Mal, wenn der Treiber angewiesen wird, diese LED anzusteuern, wird diese Instruktion ignoriert. Diese Maßnahme vermeidet das unbeabsichtigte Aufleuchten von LEDs im Rest des Punktmatrixdisplays. […]
  38. ^ Binstead, Ronald Peter (2017-04-26) [2016-07-21]. "Touch sensor". Patent US10534487B2. Retrieved 2018-02-22.
  39. ^ Bush, Steve (2016-10-21). "Better touch screens, from Nottingham". News > Design. Electronics Weekly. Archived from the original on 2023-11-26. Retrieved 2023-11-27.
  40. ^ Brooks, Josh (2017-12-07). "Elektra Awards 2017 winner - Passive & Electromechanical Product of Year". News > Elektra Awards. Electronics Weekly. Archived from the original on 2023-12-27. Retrieved 2023-11-27.
  41. ^ Jense, Arvid (2020). "Charlieplexed Arduino 8×8 LED Grid Display Shield Made and Simulated in 123D Circuits". Circuits > Arduino. instructables.com. Eindhoven, Netherlands. Archived from the original on 2023-12-27. Retrieved 2023-11-28.
  42. ^ ptkrf (2021). "Charlieplexing Made Easy (and What It Even Means?!)". Circuits > Arduino. instructables.com. Archived from the original on 2023-12-27. Retrieved 2023-11-28. (NB. Offset xy array.)
  43. ^ rgbphil (2021). "Charlieplexing LEDs - the Theory". Circuits > LEDs. instructables.com. Sydney,Australia. Archived from the original on 2023-12-27. Retrieved 2023-11-28. (NB. Stepped arrays.)
  44. ^ Бинстед, Рональд Питер (2023-03-02) [2022-08-26]. "Расположение элементов и связанный с ним метод изготовления". WO2023026062A1 . Получено 2023-03-09 .(Примечание. Пример бесконечно широкого сенсорного экрана.)
  45. ^ Шарфгласс, Керри (2019-03-23). ​​"Tucoplexing: A New Charliplex for Buttons and Switches". Hackaday . Архивировано из оригинала 2021-12-10 . Получено 2021-12-10 .
  46. ^ Джонсон-Дэвис, Дэвид (2021-10-19) [2019-02-19]. "Двенадцать выходов ШИМ от ATtiny85". Technoblogy . Архивировано из оригинала 2021-12-10 . Получено 2021-12-10 .
  47. ^ "ATtiny - Charlieplexed 7-сегментный дисплей и 1 переключатель или датчик". 2017. Архивировано из оригинала 2021-05-11 . Получено 2021-12-10 .
  48. ^ Сатоми, Мика; Пернер-Уилсон, Ханна (2015) [2012]. "Схемы и код - ATtiny: 7-сегментный дисплей". Как получить то, что вы хотите . Архивировано из оригинала 2021-04-18 . Получено 2017-11-13 .

Дальнейшее чтение

Внешние ссылки