Чарліплексинг (англ. Charlieplexing) — конструкція світлодіодної індикації, коли до кожної пари виводів мікроконтролеру підключено два зустрічно-паралельні світлодіоди. Така конструкція дозволяє підключити багато світлодіодів до невеликої кількості виводів мікроконтролера.
Також відома як тристабільне мультиплексування, мультиплексування світлодіодів зі зменшеною кількістю контактів, комплементарне керування світлодіодами та кросплексування.
Цей метод користується тим, що цифрові виводи мікроконтролерів здатні на тризначну логіку: приєднано до живлення, приєднано до «землі» і не під'єднано ні до чого. Незважаючи на ефективність, цей метод має й недоліки, що не дають використовувати його на великих індикаторах: шпаруватість, відмовостійкість, вимоги до струму і прямі напруги світлодіодів.
Метод названий на честь Чарлі Аллена з Maxim Integrated. Хоча ним користувалися і в 1980-х, і він описаний у патенті AEG-Telefunken 1979 під назвою «тризначна сигнальна система»
Етимологія Хоча цей метод був представлений у 2001 році компанією Maxim Integrated, назва «Чарліплексинг» вперше з'явилася в заявці 2003 року. Він був названий на честь Чарльза «Чарлі» М. Аллена, який запропонував цей метод для внутрішнього використання в команії Maxim Integrated.
Матрична схема підключення Основна стаття: Матричний індикатор
Зазвичай індикацію підключають за матричною схемою: є m шин-рядків і n шин-стовпців, між кожним рядком і кожним стовпцем підключений світлодіод. Рядки скануються по одному (на одному негативна напруга, на всіх інших — позитивний або Z-стан), на стовпці подається напруга (позитивна, якщо діод запалений, негативна або Z-стан — якщо ні). Струм проходитиме лише через ті світлодіоди, які з'єднують позитивний стовпець і негативний рядок.
Коли потрібно зекономити виводи, бажано зробити m і n гранично близькими, в ідеальному варіанті — рівними. Без використання малого дешифратора з 2n висновків можна отримати n² світлодіодів.
Якщо напруги такі, що світлодіодам потрібні струмообмежуючі резистори, їх треба підключати не на скануючі виводи (рядки), а на виводи даних (стовпці).
Два зустрічно-паралельних діода
Інша конструкція, що широко розповсюджена, але все ще не є чарліплексингом - зустрічно-паралельні діоди.
Якщо подати «+» на вивід X1 і «−» на X2, загориться 1-й світлодіод. Якщо навпаки — то другий. Якщо швидко змінювати напрям струму, горітимуть обидва.
Такі діоди часто поєднують в одному корпусі (зазвичай червоний і зелений; якщо запалити обидва відразу, вийде помаранчевий колір). Їх також можна поєднувати в матричні схеми. Але якщо для матриці звичайних діодів Z-стан бажаний, то для зустрічно-паралельних він обов'язковий.
Чарліплексинг Чарліплексинг починається, коли ми відходимо від матричної схеми і підключаємо до будь-якої пари виводів по два зустрічно-паралельні світлодіоди. Якщо нам треба запалити світлодіоди 1, 2 і 3, спочатку ми подаємо «+» на X1, «−» на X2 і ні до чого не підключаємо X3 (горить LED1). Потім подаємо «+» на X2, а «−» — на X1 і X3 (горять LED2 і LED3).
Можна побачити, що сканування чарліплексованих діодів відбувається таким чином: на один із виводів циклічно подається «+», на інші або «−», або нічого, залежно від того, запалений діод чи ні. Можна і навпаки, сканувати негативною напругою, а залежно від того, чи горять діоди, подавати «+» або нічого:
«−» на X1; «+» на X2; нічого на X3 (горить LED2); «−» на X2; «+» на X1; нічого на X3 (горить LED1); «−» на X3, «+».
Важливий нюанс цієї конструкції — як підключати загальні струмообмежуючі резистори: їх підключати треба так, щоб із виводом діоди, що сканується, були з'єднані безпосередньо, без резистора. В іншому випадку два діоди горітимуть тьмяніше, ніж один.
Коли поданий струм X1 → X2, струм проходитиме і шляхом X1 → X3 → X2, тому треба подбати, щоб падіння напруги на світлодіодах було досить велике, щоб половинна напруга не запалила зайвих діодів.
Комбінаторика каже, що n штирів дозволяють підключити n(n−1) = n²−n світлодіодів.
Недоліки чарліплексінгу
Частота оновлення та скважність Як і в матричній системі усі діоди не горять одночасно. Для кожного діоду відведено 1/m доля часу. Якщо перемикати діоди достатньо швидко, то людині буде здаватись що декілька діодів світиться одночасно. Щоб ці перемикання були непомітні, частота переключення має бути як мінімум 50Гц. Відповідно чим більше світлодіодів в матриці, тим вища має бути швидкість перемикання, що часто може бути обмежена швидкістю мікроконтролеру.
Обов'язкова тризначна логіка Усі виводи в матриці зробленої по технологіх чарліплексінгу мають бути трьохзначними (тобто приймати на вхід як мінус так і плюс живлення, а також бути нікуди не підключеними т.з. Z-стан). Якщо мікроконтролер здатний керувати напряму матрицею, тоді проблем немає, але якщо треба задіяти, наприклад, зовнішні драйвери керування - тоді ніякої економії пінів не досягти, і чарліплексінг втрачає сенс.
Складність Через складну для сприйняття схему підключення світлодіодів, розробка, програмування та макетування таких пристроїв значно складніша. І хоча кожен виробник подібних матриць додає схему включення і розпіновку, розробнику програми керування все рівно необхідно перенести схему в зрозумілу для контролеру, що досить непросто.
Напруга на світлодіодах Якщо використовувати світлодіоди розраховані на різну напругу (наприклад різнокольорові), то складно досягти рівномірного їх світіння. В крайніх випадках в матриці починають світитись світлодіоди які не мають світитися.
Відмова світлодіодів У напівпровідникових діодів бувають три типи несправностей: обрив (перестав проводити струм), пробій (почав проводити в обох напрямках) та частковий пробій (з’являється паралельний опір, що проводить в обох напрямках, при цьому світлодіод продовжує світитися).
У матричній схемі відносно небезпечним є лише пробитий діод: частково пробитий не впливає на працездатність, а той, що згорів, просто перестає світитися сам, не заважаючи роботі іншої частини схеми. У схемі чарліплексингу (Charlieplexing) небезпечними є всі три типи відмов, оскільки будь-яка з них призводить до повної непрацездатності всього індикатора. Без ґрунтовного знання схеми складно визначити, який саме діод вийшов з ладу, особливо якщо відмов декілька.
Якщо світлодіод «згоряє» (обрив), струм шукатиме собі шлях між іншими діодами; таких шляхів існує n-2. Через це можуть засвітитися два або більше світлодіодів, які жодним чином не пов'язані з несправним. У разі пробою між виводами X та Y буде засвічуватися будь-який діод, суміжний із X або Y. Тому замість відмови одного сегмента вийде з ладу більша частина індикатора — а то й увесь. Це необхідно враховувати під час дослідження пристрою, що розробляється, на відмовостійкість.