Чи мультиплексування коли-небудь перевершує Charlieplexing?


17

Я переглянув два способи, і у мультиплексування дійсно є лише одна перевага, що було б легше відстежити невдалий світлодіод, ніж у масиві Charlieplex.

Чи може хтось більш обізнаний пояснити будь-які інші компроміси?

Відповіді:


26

Так, мультиплексування та шарліплексинг мають і свої переваги, і кожен найкраще підходить для різних завдань.

Основна перевага charlieplexing полягає в тому, що це можна зробити на мікроконтролері середнього розміру, приводячи більше світлодіодів із меншим розміром штифтів вводу / виводу, і, можливо, немає зовнішнього обладнання крім світлодіодів.

Тепер перевага "відсутність зовнішнього обладнання" застосовується лише до відносно невеликої кількості світлодіодів, до тих пір, поки ви не досягнете межі потоку мікроконтролера, і це накладе межу яскравості, якої не мають мультиплексовані масиви. Якщо ви вирішите не використовувати зовнішнє обладнання, ви, як правило, обмежуєтесь керуванням лише одним світлодіодом у матриці в будь-який момент - на відміну від мультиплексованого масиву, де ви одночасно ведете повний рядок.

Щойно ви додасте зовнішнє обладнання для управління світлодіодами з більшою яскравістю, що відповідає яскравості мультиплексованого масиву, шарліплекс втрачає блиск.

По-перше, мультиплексований масив адресовано строго по рядку та стовпцю; зробити це дуже просто. Увімкніть рядок 1, увімкніть усі стовпці для рядка 1, вимкніть рядок 2, увімкніть усі стовпці для рядка 2 тощо. Навпаки, масив, що має Чарліплекс, набагато менш простий. Завжди є діагональний рядок, який є марним, і я особисто використовую таблиці перегляду для співвідношення між моїми масивами та прямокутним масивом, де зберігаю свої дані.

По-друге, і вбивцею є те, що чарліплексування, як правило, вимагає водіїв три стану. Однак мультиплексування виконується із суворою бінарною логікою вимкнення. Якщо у вас мікроконтроллер з низьким числом контактів і хочете керувати великим масивом світлодіодів, використовувати керування зовнішніми логічними мікросхемами (наприклад, реєстр змін та / або драйвери світлодіодів) нескладно для управління як осями X, так і Y. Більшість мікросхем типу shift-register не підтримують тестування, необхідне для того ж, щоб зробити те ж саме у масиві, що має Чарліплекс. Виділені спеціалізовані драйвери charlieplexed доступні, але майже не такі універсальні.

По-третє, у масиві, що має Чарліплекс, кожен штифт, який щось не робить, все ще підключається до світлодіодів через слабкий ("високий опір") з'єднання. І хоча зв’язок слабкий, це ненульовий стан. Припустимо, у вас 25 штифтів вводу / виводу, підключених до сітки світлодіодів. Якщо ви підсвічуєте один світлодіод - беручи одну з цих 25 ліній у висоту і одну з цих 25 ліній низькою, це залишає 23 лінії з високим опором. Кожне місце, де висока лінія вводу / виводу проходить через світлодіод до нейтральної лінії, є певна можливість витікати струму. Не багато. Можливо, мікромпампа тут чи там. Але з сучасними, ефективними світлодіодами, цього досить часто, щоб створити видимий привид.

По-четверте, важче керувати яскравістю світлодіодів у масиві, що збільшується у чарлі. У мультиплексованому масиві ви можете використовувати будь-яку кількість загальнодоступних «потопаючих» світлодіодних мікросхем драйвера, що регулюють струм, які регулюють яскравість кожної колонки окремо, використовуючи поточне регулювання у поєднанні з драйвером ШІМ. У міру того, що місця розташування матриць з шарліплексовою формою адресовані окремо і використовують лише резистор на рядок чи стовпець, набагато складніше виконати корекцію яскравості крапки та повну анімацію сірого / кольорового кольорів у масиві, що відрізняється чарлі.


1
Добре читати. Дає деяке розуміння ваших пеггі-дизайнів ...
NickHalden

Щойно придбані тьмяні звичайні світлодіоди, але привид все ще залишається проблемою. Чи краще використовувати резистор для кожного світлодіода замість кожного рядка? Я використовую 6 світлодіодів з використанням Attiny85. Раніше я використовував 330 Ом резисторів для кожної лінії, а зараз я використовую 1K. З 1K вибірка менша, але все ж є, також світлодіодні не такі яскраві, як, звичайно, 330 Ом. Тож чи краще, щоб кожен світлодіод мав власний резистор для усунення цього?
Codebeat

3

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

Щодо перемикачів Charlieplexing, у статті Вікіпедії не згадується найбільший недолік: Charlieplexing не дозволяє контролеру пасивно чекати натискання кнопки. З іншого боку, він надто песимістично ставиться до вимог до компонентів. У 1997 році я створив пристрій, який сканує вісім кнопок за допомогою трьох штифтів вводу / виводу та одного штифта тільки для входу на PIC12C508, не потребуючи жодних зовнішніх діодів та інших компонентів, крім IIRC, підтягувача для штифта PIC, який не мати вбудований; підхід міг обробляти десять кнопок з додаванням ще одного підтягуючого резистора (для іншого штифта вводу / виводу, у якого його не було), але замовнику потрібно лише вісім кнопок, тому не було потреби.


У вас є схема цього десь у мережі?
Codebeat

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