Съдържание:

Как да направите статичен LCD драйвер с I²C интерфейс: 12 стъпки
Как да направите статичен LCD драйвер с I²C интерфейс: 12 стъпки

Видео: Как да направите статичен LCD драйвер с I²C интерфейс: 12 стъпки

Видео: Как да направите статичен LCD драйвер с I²C интерфейс: 12 стъпки
Видео: как сделать видео передатчик, альтиум дизайнер 2024, Юли
Anonim
Как да направите статичен LCD драйвер с I²C интерфейс
Как да направите статичен LCD драйвер с I²C интерфейс

Дисплеите с течни кристали (LCD) се използват широко за търговски и промишлени приложения поради техните добри визуални свойства, ниска цена и ниска консумация на енергия. Тези свойства правят LCD дисплея стандартно решение за устройства, работещи с батерии, като преносими инструменти, калкулатори, часовници, радиостанции и др.

Въпреки това, за да се контролира правилно това, което LCD показва, електронният драйвер на LCD дисплея трябва да генерира подходящи форми на напрежение към щифтовете на LCD. Формите на вълните трябва да бъдат с променлив ток (променлив ток), тъй като напреженията с постоянен ток (постоянен ток) ще увредят трайно устройството. Подходящият драйвер ще изпраща тези сигнали към LCD при минимална консумация на енергия.

Съществуват два типа LCD дисплеи, Static, само с една задна платка и един щифт за управление на отделни сегменти, и Мултиплексиран, с множество задни платки и множество сегменти, свързани за всеки щифт.

Тази инструкция ще представи дизайна на един статичен LCD драйвер с устройство SLG46537V GreenPAK ™. Проектираният LCD драйвер ще управлява до 15 LCD сегмента, използвайки няколко микроампера ток от захранването и предлагащ I²C интерфейс за управление.

В следните раздели ще бъдат показани:

● основна информация за LCD дисплеите;

● подробно дизайна на драйвера за LCD монитор SLG46537V GreenPAK;

● как да управлявате седемсегментен, 4-цифрен статичен LCD дисплей с две GreenPAK устройства.

По -долу описахме необходимите стъпки, за да разберете как решението е програмирано за създаване на статичен LCD драйвер с I²C интерфейс. Ако обаче просто искате да получите резултат от програмирането, изтеглете софтуера GreenPAK, за да видите вече завършения файл за проектиране GreenPAK. Включете GreenPAK Development Kit към вашия компютър и натиснете програма, за да създадете статичния LCD драйвер с I²C интерфейс.

Стъпка 1: Основи на дисплеите с течни кристали

Основи на дисплеите с течни кристали
Основи на дисплеите с течни кристали
Основи на дисплеите с течни кристали
Основи на дисплеите с течни кристали

Дисплеите с течни кристали (LCD) са технология, която не излъчва светлина, а само контролира как преминава външен източник на светлина. Този външен източник на светлина може да бъде наличната околна светлина, в отразяващ тип дисплей, или светлината от LED подсветка или лампа, в пропускащ тип дисплей. LCD дисплеите са конструирани с две стъклени плочи (горна и долна), тънък слой течен кристал (LC) между тях и два светлинни поляризатора (Забележка за приложение AN-001-Основи на LCD технологията, Hitachi, Забележка за приложение AN-005-Дисплей Режими, Hitachi). Поляризаторът е светлинен филтър за светлинното електромагнитно поле. Само леките компоненти в дясната посока на електромагнитното поле преминават през поляризатора, докато останалите компоненти са блокирани.

Течният кристал е органичен материал, който върти електромагнитното поле на светлината на 90 градуса или повече. Въпреки това, когато към LC се приложи електрическо поле, светлината вече не се върти. С добавянето на прозрачни електроди в горното и долното стъкло на дисплея е възможно да се контролира кога светлината преминава, а когато не, с външен източник на електрическо поле. Фигура 1 (виж Забележка за приложение AN-001-Основи на LCD технологията, Hitachi) по-горе илюстрира този контрол на работата. На фигура 1 дисплеят е тъмен, когато няма електрическо поле. Това е така, защото и двата поляризатора филтрират светлината в една и съща посока. Ако поляризаторите са ортогонални, тогава дисплеят ще бъде тъмен, когато има електрическо поле. Това е най -често срещаната ситуация за отразяващи дисплеи.

Минималното електрическо поле или напрежение за управление на LCD дисплея се нарича праг на ВКЛ. LC се влияе само от напрежението и едва ли има ток в LC материала. Електродите в LCD образуват малък капацитет и това е единственото натоварване за водача. Това е причината LCD да е устройство с ниска мощност, което да показва визуална информация.

Важно е обаче да се отбележи, че LCD дисплеят не може да работи с източник на напрежение с постоянен ток (DC) твърде дълго. Прилагането на DC напрежение ще доведе до химични реакции в LC материал, което ще го повреди трайно (Забележка за прилагане AN-001-Основи на LCD технологията, Hitachi). Решението е да се приложи променливо напрежение (AC) в електродите на LCD дисплеите.

В статичните LCD дисплеи задна платка електрод е вграден в едно стъкло, а отделните сегменти или пиксели на LCD са поставени в другото стъкло. Това е един от най -простите видове LCD и този с най -доброто съотношение на контраст. Този тип дисплей обаче обикновено изисква твърде много щифтове за контрол на всеки отделен сегмент.

Като цяло, контролер на водача източник на квадратен вълнов сигнал за задната платка и тактов сигнал за сегментите в предната равнина заедно. Когато часовникът на задната платка е във фаза с часовника на сегмента, средноквадратичното (RMS) напрежение между двете равнини е нула и сегментът е прозрачен. В противен случай, ако RMS напрежението е по -високо от прага на LCD ON, сегментът става тъмен. Формите на вълните за гръбната платка, сегмента за включване и изключване са показани на фигура 2. Както може да се види на фигурата, сегментът ON е извън фаза по отношение на сигнала на задната платка. Изключеният сегмент е във фаза по отношение на сигнала на задната платка. Приложеното напрежение може да бъде между 3 и 5 волта за евтини дисплеи с ниска мощност.

Сигналът на часовника за задната платка и сегментите на LCD обикновено е в диапазона от 30 до 100 Hz, минималната честота, за да се избегне визуален ефект на трептене върху LCD. Избягват се по -високи честоти, за да се намали консумацията на енергия на цялата система. Системата, съставена от LCD и драйвери, ще консумира малко ток в реда на микроампера. Това ги прави идеално подходящи за приложения с източник на захранване с ниска мощност и батерия.

В следващите раздели е подробно представен дизайнът на LCD статичен драйвер с GreenPAK устройство, който може да генерира сигнал на часовника на задната платка и сигнала на часовника на отделния сегмент за търговски LCD.

Стъпка 2: Основна блокова диаграма на GreenPAK Design

Основна блокова диаграма на GreenPAK Design
Основна блокова диаграма на GreenPAK Design
Основна блокова диаграма на GreenPAK Design
Основна блокова диаграма на GreenPAK Design

Блокова диаграма, която илюстрира дизайна на GreenPAK, е показана на фигура 3. Основните блокове на дизайна са интерфейсът I²C, драйверът на изходния сегмент, вътрешният осцилатор и селекторът за източник на часовник на задната платка.

Интерфейсният блок I²C контролира всеки отделен сегментен изход и източника на часовник на задната платка на LCD. Интерфейсният блок I²C е единственият системен вход за управление на сегментния изход.

Когато е зададена линия за управление на вътрешния сегмент (високо ниво), съответният LCD сегмент е тъмно непрозрачен. Когато линията за управление на вътрешния сегмент е нулирана (ниско ниво), съответният LCD сегмент е прозрачен.

Всяка вътрешна линия за управление на сегмента е свързана към изходен драйвер. Блокът на драйвера на изходния сегмент ще генерира сигнал на фаза на тактовата честота с отношение към часовника на задната платка за прозрачни сегменти. За тъмните сегменти този сигнал е извън фаза в зависимост от часовника на задната платка.

Източникът на часовника на задната платка също е избран с I²C интерфейс. Когато е избран източник на часовник на вътрешната платка, вътрешният осцилатор се включва. Вътрешният осцилатор ще генерира тактова честота от 48Hz. Този сигнал ще бъде използван от блока на драйвера на изходния сегмент и е адресиран към изходния щифт на тактовата линия на задната платка (GreenPAK щифт 20).

Когато е избран източник на часовник на външната платка, вътрешният осцилатор се изключва. Референтният драйвер на изходния сегмент е входът на часовника на външната платка (извод 2 на GreenPAK). В този случай изходният щифт на задната платка може да се използва като допълнителна линия за управление на сегмента, сегментът OUT15.

Повече от едно устройство GreenPAK може да се използва на една и съща линия I²C. За да направите това, всяко устройство трябва да бъде програмирано с различен I²C адрес. По този начин е възможно да се разшири броят на задвижваните LCD сегменти. Едно устройство е конфигурирано да генерира източник на часовник на задната платка, управлявайки 14 сегмента, а другите са конфигурирани да използват външен източник на часовник на задната платка. Всяко допълнително устройство може да управлява повече от 15 сегмента по този начин. Възможно е да се свържат до 16 устройства на една и съща I²C линия и след това е възможно да се контролират до 239 сегмента на LCD.

В тази инструкция тази идея се използва за управление на 29 сегмента на LCD с 2 GreenPAK устройства. Функционалността на извеждане на устройството е обобщена в Таблица 1.

Стъпка 3: Проектирайте текущото потребление

Важна грижа при този дизайн е текущото потребление, което трябва да бъде възможно най -ниско. Прогнозният ток на покой на GreenPAK устройството е 0,75 µA за работа с 3,3 V захранване и 1,12 µA за работа с 5 V захранване. Консумацията на ток на вътрешния осцилатор е съответно 7,6 µA и 8,68 µA за работа на захранване 3.3 V и 5 V. Не се очаква значително увеличение на консумацията на ток от загубите при превключване, тъй като този дизайн работи при ниска тактова честота. Приблизителният максимален консумиран ток за този дизайн е по -нисък от 15 µA, когато вътрешният осцилатор е включен, и 10 µA, когато вътрешният осцилатор е изключен. Измереният ток, консумиран и в двете ситуации, е показан в Раздел Резултати от теста.

Стъпка 4: Схема на устройството на GreenPAK

Схема на устройството GreenPAK
Схема на устройството GreenPAK

Проектът, проектиран в софтуера GreenPAK, е показан на фигура 4. Тази схема ще бъде описана, като се използват базовите блокови диаграми като референтни.

Стъпка 5: I²C интерфейс

I²C интерфейс
I²C интерфейс
I²C интерфейс
I²C интерфейс

Интерфейсният блок I²C се използва като основен контролен блок на контрола за работа на устройството. Близък изглед на блоковите връзки и конфигурираните свойства са показани на Фигура 5.

Този блок е свързан към PIN 8 и PIN 9, съответно I²C SCL и SDA щифтове. Вътре в устройството блокът I²C предлага 8 виртуални входа. Началната стойност за всеки виртуален вход е показана в прозореца със свойства (виж фигура 5). Виртуалните входове от OUT0 до OUT6 се използват като сегментни линии за управление. Тези управляващи линии съответстват на сегментния изход 1 към сегментния изход 7 и са свързани към драйвера за сегментния изход. Виртуалният вход OUT7 се използва като линия за управление на селекторния източник на табло, с нетно име BCKP_SOURCE. Тази мрежа ще бъде използвана от други блокове в дизайна. Контролният код I²C е конфигуриран с различна стойност за всяка интегрална схема в проекта.

Налични са още 8 линии за вътрешен сегмент за управление на изхода на асинхронната машина на състоянието (ASM), както е показано на фигура 6 по -горе. Изходният ред на сегмента 8 (SEG_OUT_8 в прозореца със свойства) през изходния ред на сегмента 15 (SEG_OUT_15) се контролира от изхода на ASM в състояние 0. Няма преход към състояние в блока ASM, той винаги е в състояние 0. Изходите на ASM са свързани към сегментни изходни драйвери.

Изходните драйвери на сегмента ще генерират изходния сигнал на устройството.

Стъпка 6: Драйвер за изходен сегмент

Драйверът на изходния сегмент е по същество таблица за търсене (LUT), конфигурирана като логически порт XOR. За всеки изходен сегмент той трябва да бъде XOR порт, свързан към контролната линия на сегмента и към часовника на задната платка (BCKP_CLOCK). Портът XOR е отговорен за генериране на фазов и извънфазов сигнал към изходния сегмент. Когато сегментът за управление на сегмента е на високо ниво, изходът на порта XOR ще обърне сигнала на часовника на задната платка и ще генерира сигнал извън фазата към сегментния щифт. Разликата в напрежението между задната платка на LCD и сегмента на LCD в този случай ще настрои сегмента на LCD като тъмен сегмент. Когато линията за управление на сегмента е на ниско ниво, изходът на порта XOR ще следва сигнала на часовника на задната платка и след това ще генерира фазов сигнал към сегментния щифт. Тъй като в този случай не се прилага напрежение между задната платка на LCD и сегмента, сегментът е прозрачен за светлина.

Стъпка 7: Управление на източника на часовник с вътрешен осцилатор и табло

Управление на източника на часовник с вътрешен осцилатор и табла
Управление на източника на часовник с вътрешен осцилатор и табла

Вътрешният осцилатор се използва, когато сигналът BCKP_CLOCK от интерфейса I²C е настроен на високо ниво. Отблизо схемата за управление на източника на часовник е показана на фигура 7 по -горе.

Осцилаторът е конфигуриран като 25 kHz RC честота, с най -високия делител на изхода, наличен при осцилатора OUT0 (8/64). Цялата конфигурация се вижда в прозореца със свойства, показан на Фигура 7. По този начин вътрешният осцилатор ще генерира тактова честота от 48 Hz.

Осцилаторът е активен само когато сигналът BCKP_SOURCE е на високо ниво заедно с POR сигнала. Това управление се осъществява чрез свързване на тези два сигнала към порта NAND на 4-L1 LUT. След това изходът на NAND се свързва към входа на контролния щифт за изключване на осцилатора.

Сигналът BCKP_SOURCE контролира MUX, изграден с 3-L10 LUT. Когато сигналът BCKP_SOURCE е на ниско ниво, източникът на часовник на задната платка идва от PIN2. Когато този сигнал е на високо ниво, източникът на часовник на задната платка идва от вътрешния осцилатор.

Стъпка 8: Изход за часовник на задната платка или 15 изходен контрол на изхода

Часовник на изходната пластина или сегмент 15 Управление на изходния щифт
Часовник на изходната пластина или сегмент 15 Управление на изходния щифт

Пин 20 в този дизайн има двойна функция, която зависи от избрания източник на часовник на задната платка. Работата на този щифт се контролира с един 4 входен LUT, както е показано на Фигура 8. С 4-битов LUT е възможно да се свърже работата на XOR порта с изходен MUX. Когато сигналът BCKP_SOURCE е на високо ниво, изходът LUT ще следва вътрешния часовник на осцилатора. Тогава щифт 20 работи като изходен часовник на задната платка. Когато сигналът BCKP_SOURCE е на ниско ниво, изходът LUT ще бъде операцията XOR между SEG_OUT_15, от изхода ASM и сигнала на часовника на задната платка. 4-битовата LUT конфигурация за извършване на тази операция е показана на фигура 8.

Стъпка 9: Прототип на LCD система

Прототип на LCD система
Прототип на LCD система
Прототип на LCD система
Прототип на LCD система

За да се демонстрира използването на проектното решение GreenPAK, прототип на LCD система беше сглобен на макет. За прототипа седем сегментен, 4-цифрен статичен LCD се управлява от две GreenPAK устройства на DIP платка. Едното устройство (IC1) използва вътрешния осцилатор за задвижване на задната LCD платка, а другото устройство (IC2) използва този сигнал като справочна информация за входната платка. И двете интегрални схеми се управляват през I²C интерфейс от микроконтролер STM32F103C8T6 (MCU) в минимална платка за разработка.

Фигура 9 показва схемата на връзките между двете GreenPAK IC, LCD дисплея и MCU платката. В схемата устройството GreenPAK с референтна U1 (IC1) управлява LCD цифра една и две (LCD лявата страна). Устройството GreenPAK с референтна U2 (IC2) задвижва LCD цифра три и четири, плюс сегмента COL (LCD дясната страна). Захранването за двете устройства идва от регулатора в платката за разработка на микроконтролера. Две сменяеми джъмпери между захранването и VDD щифтовете на всяко устройство GreenPAK са добавени за измерване на ток с мултицет.

Снимка на сглобения прототип е показана на фигура 10.

Стъпка 10: Команди I²C за LCD управление

Команди I²C за LCD управление
Команди I²C за LCD управление
Команди I²C за LCD управление
Команди I²C за LCD управление
Команди I²C за LCD управление
Команди I²C за LCD управление

Двете GreenPAK устройства на макета са програмирани със същия дизайн, освен от стойността на контролния байт. Контролният байт на IC1 е 0 (I²C адрес 0x00), докато управляващият байт I²C е 1 (I²C адрес 0x10). Връзките между сегментите на дисплея и драйверите на устройства са обобщени в горната таблица.

Връзките бяха избрани по този начин, за да се създаде по -ясна схема и да се опрости сглобяването на връзките на макета.

Контролът на изхода на сегмента се извършва чрез команди за запис I²C във виртуални входове I²C и изходни регистри на ASM. Както е описано в бележката за приложение AN-1090 Прости I²C IO контролери с SLG46531V (вижте бележка за приложението AN-1090 Прости I²C IO контролери с SLG46531V, диалогов полупроводник), командата за запис I²C е структурирана, както следва:

● Старт;

● Контролен байт (R/W битът е 0);

● Word адрес;

● Данни;

● Стоп.

Всички команди за запис на I²C са направени към Word Address 0xF4 (I²C Virtual Inputs) и 0xD0 (ASM Output за състояние 0). Командите за запис в IC1 и контролните LCD цифри 1 и 2 са обобщени в Таблица 3. В представяне на последователността на командите отворената скоба „[„ означава началния сигнал, а затварящата скоба „]“означава сигнала Стоп.

Двата байта над контролните сегменти на LCD цифра 1 и цифра 2 заедно. Тук подходът е да се използва индивидуална таблица за търсене (LUT) в софтуера за всяка цифра, като се вземат предвид сегментите в двата байта. Стойностите на байтовете от таблицата за търсене трябва да се смесят с помощта на операция побитово ИЛИ и след това да се изпратят до ИС. Таблица 4 показва стойностите Byte0 и Byte1 за всяка цифрова стойност, която трябва да бъде записана във всяка цифра на дисплея.

Например, за да напишете в цифра 1 числото 3, а в цифрата 2 числото 4, Byte0 е 0xBD (0x8D побитово ИЛИ с 0xB0) и байт 1 е 0x33 (0x30 побитово ИЛИ с 0x03).

Командата за запис в IC2 и контролите на цифри 3 и 4 са описани в таблица 5.

Логиката за управление на цифри 3 и 4 е като контрола на цифри 1 и 2. Таблица 6 показва LUT за тези две цифри.

Разликата в IC2 е сегментът COL. Този сегмент се управлява от Byte1. За да настроите този сегмент на тъмно, трябва да се извърши побитова операция ИЛИ между Byte1 и стойността 0x40.

Стъпка 11: Команди I²C за LCD тест

Команди I²C за LCD тест
Команди I²C за LCD тест

За LCD тест беше разработен фърмуер на език C за MCU платката. Този фърмуер ще изпрати последователност от команди към двете интегрални схеми на макета. Изходният код за този фърмуер е в раздела „Приложение“. Цялото решение е разработено с помощта на Atollic TrueStudio за STM32 9.0.1 IDE.

Последователността на командите и съответните стойности, показани на дисплея, са обобщени в Таблица 7 по -горе.

Стъпка 12: Резултати от теста

Резултати от тестовете
Резултати от тестовете
Резултати от тестовете
Резултати от тестовете

Прототипният тест се състои в проверка на показаните стойности след команда на MCU и измерване на текущото поглъщане от всяка IC по време на работа.

Снимки на LCD дисплея за всяка командна стойност са показани в Таблица 8 по -горе.

Токът за всяко устройство се измерва с мултицет в най -ниския токов диапазон от 200 µA. Снимки на измерения ток за всяко устройство, по време на стартиране и нормална работа, са показани в Таблица 9 по-горе.

Заключение и резултати Дискусия

Представен беше дизайнът на статичен LCD драйвер с ниска мощност с устройство GreenPAK. Този дизайн ясно показва една от най -големите характеристики на устройствата GreenPAK: ниският им ток на покой. Тъй като устройствата GreenPAK са хардуерно базирано решение, е възможно да се работи при нискочестотна работа, в този случай 48 Hz. Решение, базирано на MCU, ще изисква по -висока честота на работа, дори за периодично кратки периоди от време, и след това ще черпи повече енергия. И сравнявайки GreenPAK устройството с CPLD (сложно програмируемо логическо устройство), е ясно да се види, че обикновено CPLD има ток на покой над 20 µA.

Интересно е да се отбележи, че този дизайн може лесно да бъде променен, за да се впише по -добре в изискванията на конкретен проект. Добър пример е изваждането на контролите на сегмента. Те могат лесно да бъдат променени, за да се опрости печатната платка и разработката на софтуер едновременно. Това е интересна функция, когато устройството се сравнява с ASIC (интегрирана схема, специфична за приложението). Обикновено ASIC са проектирани да се поберат в широк спектър от приложения и трябва да бъде написана първоначална софтуерна рутина за правилно конфигуриране на IC преди операцията. Конфигурируемо устройство може да бъде проектирано да започне да се използва след включване на захранването. По този начин е възможно да се съкрати времето за разработка на софтуера за първоначалната конфигурация на IC.

Изходният код на приложението може да бъде намерен тук в Приложение А.

Препоръчано: