Комп'ютери та сучасні гаджети

Незважаючи на широке поширення сучасних кольорових дисплеїв, існує велика кількість приладів, в яких використання чорно-білих РК-індикаторів залишається дуже популярним. Для таких програм, як правило, найбільш важливо отримати мале споживання та низьку вартість. У цій статті оцінюється перспективність спільного використання РК-індикаторіві мікроконтролерів STM8Lвиробництва з інтегрованим РК-контролером для створення малоспоживаючих та недорогих пристроїв.

Сучасна електроніка має величезну кількість засобів відображення інформації: від елементарних світлодіодів до складних TFT-панелей. Здавалося б, час монохромних РК-індикаторів (ЖКІ) залишився в минулому, але це далеко не так. Існує велика кількість додатків, в яких РКІ залишаються затребуваними. Мікроконтролери малоспоживаючого сімейства STM8L із вбудованим драйвером РКІ (модуль LCD) дозволяють реалізувати всі переваги даного типу дисплеїв.

Області застосування чорно-білих РК-індикаторів

Для того, щоб було зрозуміло, чому чорно-білі РКІ утримують свої позиції, необхідно підкреслити їх головні конкурентні переваги: ​​низьку споживану потужність, низьку вартість, високу наочність.

Чорно-білі РК-дисплеї, що використовують відбите світло, мають мінімальне споживання. По суті, це споживання визначається лише динамічними втратами при перезаряді ємності РК-осередків. Чим нижча частота роботи екрану, тим менше споживання.

Питання низької вартості може бути не таким очевидним з першого погляду. Але якщо мати на увазі стандартні РК-дисплеї без вбудованого контролера або дисплеї замовлення, що випускаються великими партіями, то вартість екрану буде дуже низькою (менше 1 долара).

Під високою наочністю слід розуміти таке: у спеціалізованих та рекомендованих РК-дисплеях сегменти індикації виконані у вигляді графічних зображень. Яскравим прикладом можуть стати екрани тонометрів. Крім цифр, на ньому будуть міститися спеціалізовані значки ("серце" як індикатор режиму вимірювання частоти серцевих скорочень, індикатор заряду батареї, написи). Такі зображення інтуїтивно зрозумілі для користувача, а це дуже важливо. Очевидно, що створення аналогічних світлодіодних індикаторів можливе, але утруднене через низку технологічних причин.

Нескладно визначити ті програми, в яких позиції чорно-білих РК-дисплеїв залишаються впевненими.

  • Портативні медичні прилади (глюкометри, тонометри, градусники та ін.). Це прилади з батарейним живленням, для них дуже важливий фактор споживаної потужності. Наприклад, для людини, яка страждає на діабет, глюкометр повинен мати мінімальне споживання від батарей, щоб перебувати в постійній готовності, особливо під час тривалих поїздок. Важливим чинником є ​​й наочність відображення показань приладів, оскільки користувачами переважно є люди похилого віку.
  • Системи сигналізації та побутові вимірювальні прилади (газові лічильники, лічильники споживання електрики та води). Ці пристрої використовують батарейне живлення та повинні тривалий час працювати без зміни елемента живлення.
  • Побутова техніка (пральні машини, холодильники, мікрохвильові печі, кава-машини, годинник та ін.). Ці прилади вимагають низького споживання і водночас низької вартості індикаторів.
  • Промисловість. РК-індикатори ідеально підходять для портативних вимірювальних приладів (мультиметри, вимірювачі імпедансу).
  • Автомобільні програми. Як поширені пристрої, що використовують РК-дисплеї, можна назвати автомобільний годинник, радіоприймачі, індикатори зарядки акумулятора та ін.

Важливо розуміти, що не лише РК-дисплей визначає вартість та економічність кінцевого виробу. Для керування РК-дисплеєм потрібен спеціальний контролер та керуючий мікроконтролер. Якщо вони будуть обрані невдало, то всі переваги РКІ не матимуть жодного значення.

Ця стаття присвячена спільному використанню мікроконтролерів STM8L та РК-індикаторів. Чому саме STM8L? Ці контролери мають інтегрований РК-контролер (модуль LCD), дуже низьке споживання та вартість. Тобто саме ті якості, які допомагають додатково наголосити на перевагах РКІ. Крім того, використовуючи STM8L, ми отримуємо потужний процесор із розвиненою периферією, доступ до налагоджувальних засобів у вигляді готових оціночних наборів та безкоштовного програмного забезпечення.

Втім, щоб зробити висновки щодо перспективності спільного використання, необхідно послідовно розглянути характеристики РКІ, особливості мікроконтролерів STM8L з інтегрованим РК-контролером та особливості самого РК-контролера.

Загальна характеристика роботи РК-індикаторів

Розглянемо структуру монохромної РК-комірки з прикладу TN (Twisted Nematic) (рисунок 1). Шар «рідких кристалів» розташований між двома скляними основами. На ці підстави нанесені прозорі електроди та поляризаційні шари (поляризаційні фільтри). На задній скляній основі нанесено дзеркальне покриття.

На поверхні скла формуються напрямні, які вирівнюють молекули РК паралельно поверхні скла. Просторово молекули закручені у спіраль (рисунок 2).

На зовнішній стороні основ розташовані поляризаційні фільтри. Напрями поляризації верхнього та нижнього фільтрів перпендикулярні. Очевидно, що якби молекули ЖК були відсутні, то екран здавався б чорним.

За відсутності зовнішнього електричного поля осередок залишається прозорим (рисунок 2а). Справді, неполяризоване світло, проходячи через верхній поляризатор, виявляється поляризованим (наприклад, осі X). Переміщаючись по спіралі з молекул РК, за рахунок відображення світло змінює напрямок поляризації на 90 градусів. Тому він проходить через нижній поляризатор без поглинання.

Таблиця 1. Характеристики мікроконтролерів STM8L із модулем LCD

Найменування Корпус Робоча частота (макс), МГц Flash, кБайт ОЗУ, кБайт EEPROM, байт 12-біт АЦП, у каналів 12-біт ЦАП Інтерфейси Uпіт, В Iпотр (режим RUN), мкА/МГц ЖК
LQFP 48 16 32 2 256 25 SPI; I2C; USART (IrDA, ISO 7816) 1,8…3,6 180 4×28
LQFP 64 64 4 256 28 200 4×28/8×24
LQFP 48 UFQFPN 48 16 2 1024 25 1 1,65…3,6 195 4×28
LQFP 48 UFQFPN 48 32 2 1024 25 1 180 4×28
LQFP 48 UFQFPN 48 64 4 2048 28 2 200 4×32/8×28
LQFP 32 UFQFPN 32 16 2 1024 21 1 180 4×17
LQFP 32 UFQFPN 32 32 2 1024 21 1 180 4×17
LQFP 80 64 4 2048 28 2 200 4×44/8×40
LQFP 64 32 2 1024 28 2 200 4×40/8×36
LQFP 64 64 4 2048 28 2 200 4×40/8×36
LQFP 80 64 4 2048 28 2 200 4×44/8×40
LQFP 64 64 4 2048 28 2 200 4×44/8×40

Таблиця 2. Контролери РКІ у мікроконтролерах STM8L різного ступеня інтеграції

Найменування Кількість пікселів Режими мультиплексування (duty) Режими усунення (bias) ОЗУ
4×28 Статичне;
1/2; 1/3; 1/4
1/2; 1/3 до 14 x 8-біт
4×28
4×28
4×28
4×28
4×17
4×17
4×28/8×24 Статичне;
1/2; 1/3; 1/4; 1/8
1/2; 1/3; 1/4 до 18 x 8-біт
4×32/8×28 Статичне;
1/2; 1/3; 1/4; 1/8
1/2; 1/3; 1/4 до 22 x 8-біт
4×44/8×40
4×40/8×36
4×40/8×36
4×44/8×40
4×44/8×40

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

Важливим показником РК-екрана є контраст, який визначається різницею у ступені прозорості між світлою та темною комірками.

Не важко здогадатися, що ступінь прозорості осередку змінюється в залежності від величини прикладеного поля (напруги). Відповідно, керувати прозорістю можна за допомогою ШІМ напруги, що подається або зміни амплітуди сигналу.

Є ще одна важлива особливість. При застосуванні постійної напруги структура кристалів деградує. Тому необхідно формувати керуючі сигнали таким чином, щоб уникати постійної складової напруги. Розмір постійного усунення понад 100 мВ неприпустима.

Щоб визначити, з якою частотою варто змінювати полярність, розглянемо еквівалентну електричну схему РК-комірки (рисунок 3). Вона являє собою послідовну R-C-ланцюжок. Опір R обмежує швидкість перезаряджання ємності і, відповідно, максимальну частоту сигналу управління. Якщо амплітуда сигналу буде збільшена, зросте швидкість перезаряджання і, як наслідок, може бути збільшена частота.

З іншого боку видно, що така схема має на увазі лише динамічну споживану потужність. Відповідно, що вище робоча частота, то вище споживання.

Розібравшись з особливостями окремих осередків, розглянемо особливості управління РК-дисплеями, що складаються з багатьох осередків.

Існує кілька різновидів РК-дисплеїв, що відрізняються типом з'єднання електродів, що управляють. У найпростішому випадку кожен сегмент підключається до загального (COM) і до індивідуального (SEG) електродів, що управляють. Така схема називається статичною без мультиплексування. Вона проста керувати, але має один недолік – кількість керуючих висновків велике й одно (N+1), де N – число осередків.

Для скорочення числа висновків застосовують різні схеми матричного з'єднання. Так для схеми з двома загальними висновками COM потрібно лише (N/2)+2 ліній управління (рисунок 4). Однак форма сигналів управління ускладнюватиметься зі зростанням ступеня мультиплексування (1/2, 1/3, 1/4, 1/8).

У цьому прикладі (рисунок 4) сегменти S00 та S11 – будуть темними, а сегменти S01 та S10 – прозорими.

Аналіз сигналів управління показує, що мають місце кілька особливостей:

  • до всіх сегментів прикладається змінна напруга без постійної складової;
  • період сигналів розбитий на частини. Перша частина періоду (непарний кадр) для висновків COM характеризується активним низьким рівнем напруги, а SEGn – високим. Під час другого напівперіоду (парного кадру) – навпаки;
  • сигнали мають різні рівні напруги (різні зсуви). У цьому прикладі використовується зміщення 1/2 з трьома рівнями напруги VLCD, VLCD/2, VSS.

Висновок цього розділу є вимоги до РК-контролера. Він повинен формувати необхідні часові інтервали (у тому числі для РК з кількома лініями COM), генерувати необхідні рівні напруги, мати необхідну кількість керуючих висновків. Всім цим вимогам відповідає інтегрований модуль LCD-мікроконтролерів STM8L.

Короткий огляд мікроконтролерів STM8L із вбудованим контролером РКІ

До складу малоспоживаючого сімейства STM8L входять чотири лінійки мікроконтролерів, що мають контролер РКІ (модуль LCD) (рисунок 5, таблиця 1). У лінійці STM8L05 на даний момент модуль LCD присутній тільки у контролерів STM8L052C6 та STM8L052R8 (таблиця 1).

Лінійка STM8L152x- Це перша лінійка сімейства STM8L. Вона має високу продуктивність і багату периферію:

  • 12-бітовий АЦП 1 Msps до 28 каналів;
  • два 12-бітових ЦАП з вихідним буфером;
  • модуль LCD-контролера;
  • DMA на чотири канали для ЦАП, АЦП, SPI, I2C, USART, таймерів, один канал передачі з пам'яті в пам'ять;
  • два малоспоживаючі компаратори;
  • три 16-бітових двоканальних таймери з квадратурним енкодером;
  • один 16-бітовий таймер з комплементарними виходами для керування двигунами;
  • один 8-бітний таймер із 7-бітним дільником частоти;
  • один незалежний сторожовий таймер (IWDT);
  • блок генерації для зовнішніх звукових пристроїв (наприклад, п'єзоелементи) на 1,2 та 4 кГц;
  • безліч комунікаційних інтерфейсів: SPI, I2C, USART;
  • до 67 входів/виходів загального призначення;
  • до 16 каналів підключення сенсорних кнопок;
  • 96-бітний унікальний номер.

STM8L162x– продуктивна лінійка, що має інтегрований блок криптографії AES, що дозволяє зашифровувати та розшифровувати дані щодо AES-алгоритму.

STM8L052x "Value Line"є бюджетним варіантом виконання STM8L. Ця лінійка призначена для додатків, де ціна та енергоспоживання є визначальним фактором. Склад периферії та обсяг пам'яті скорочено щодо наведених вище лінійок. Однак FLASH до 64 Кбайт та ОЗУ до 2 Кбайт дозволяють реалізовувати досить складні програми.

Однією з головних особливостей представлених лінійок є низьке споживання та наявність інтегрованого модуля LCD.

Особливості інтегрованого контролера РКІ

Щоб внести ясність, слід зазначити, що є кілька різновидів модулів LCD для мікроконтролерів STM8L різного ступеня інтеграції (таблиця 2).

З таблиці 2 видно, що найбільш розвиненими здібностями володіють контролери РКІ мікроконтролерів STM8L152xx/STM8L162xx високого ступеня інтеграції. Розглянемо їхню структуру докладніше (рисунок 6). Вона містить три основні блоки: генератор тактових імпульсів, драйвери РКІ, блок керування контрастом.

генератор тактових імпульсів.Як видно з назви, основне завдання блоку – формування тактових імпульсів. Вхідним сигналом для генератора є тактовий імпульс, частота якого дорівнює частоті годинника реального часу (RTC), поділеної на 2, і повинна знаходитися в рамках діапазону 16,384 ... 500 кГц. Для отримання нижчих частот використовуються два дільники. 16-бітний дільник з коефіцієнтом розподілу 1...65535 і, якщо потрібна плавна підстроювання - додатковий дільник (коефіцієнт розподілу - 16...31).

Таблиця 3. Режими зниженого споживання STM8L

* – Струм споживання наведено для STM8L052x у разі відключеної периферії та програми, що виконується з FLASH, якщо не вказано інше.

Отриманий тактовий сигнал fLCD визначає основну частоту кадрів з урахуванням ступеня мультиплексування (duty): fLCD = fLCD x duty. Як зазначалося вище, можна вибирати частоту з діапазону 30...100 Гц. При вищій частоті споживання буде значним, а якість зображення залишиться незмінним.

Модуль LCD дозволяє організовувати апаратне миготіння, для цього у складі генератора є спеціальний блок формування частоти миготіння 0,5 Гц, 1 Гц, 2 Гц, 4 Гц.

Драйвери РКІ.Два драйвери РКІ використовуються для створення сигналів COMn та SEGn. Блок містить часові ланцюги, необхідні для формування необхідних тимчасових інтервалів.

Крім того, блок має у своєму складі інтегровану ОЗП, в якому зберігається інформація про те, які з пікселів мають бути активними.

Блок керування контрастом.Цей блок відіграє ключову роль. Він управляє контрастом, знаходячи компроміс між споживаною потужністю та значенням самого розмаїття.

Як було зазначено вище, контраст залежить від напруги живлення VLCD. Формувати цю напругу може інтегрований перетворювач, і зовнішній джерело. При використанні інтегрованого перетворювача існує можливість програмного підстроювання значення напруги VLCD. Для мікроконтролерів середнього ступеня інтеграції (таблиця 2) діапазон підстроювання становить 2,6...3,3 В. Для мікроконтролерів вищого ступеня інтеграції діапазон становить 2,6...3,5 Ст.

Допустима підстроювання контрасту за допомогою апаратного формування "мертвого часу" в керуючих сигналах. Протягом «мертвого часу» сигнали COMn і SEGn притягнуті до землі, і споживання у разі мінімально.

Ще одне завдання блоку – формування рівнів напруги сигналів керування. Так, наприклад, у режимі зі зміщенням 1/4 необхідно генерувати сигнали п'яти рівнів напруги: 0, VLCD /4, VLCD /2, VLCD /4 та VLCD.

Для вирішення цього завдання реалізовано два резистивні дільники (рисунок 7). Один із них – низькоомний, використовується для збільшення швидкості перемикання при перезаряді ємності РК комірки. Як тільки перемикання відбулося, цей дільник може бути вимкнений, щоб зменшити споживання. Включеним залишається другий дільник - високоомний, він підтримує рівень напруги протягом частини фази імпульсу, що залишилася.

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

Як висновок до цього розділу назвемо переваги та особливості інтегрованого модуля LCD у STM8L:

  • Модуль здатний керувати РКІ з великою кількістю пікселів, з різними рівнями мультиплексування та різними рівнями зсувами (таблиця 2).
  • Контролер РКІ має інтегровану ОЗУ для пікселів, що відображаються.
  • Інтегрований перетворювач дозволяє формувати всі необхідні рівні напруги та програмно регулювати напругу живлення VLCD, вимагаючи всього одного зовнішнього конденсатора.
  • Можливість використання апаратного ефекту миготіння із частотою 0,5 Гц, 1 Гц, 2 Гц, 4 Гц.

Розглянувши особливості STM8L і РКІ, можна оцінити переваги їх спільного використання з погляду зниження споживаної потужності.

Оптимізація споживаної потужності при спільному використанні STM8L та РКІ

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

Мал. 7. Формування рівнів напруги
вихідних сигналів драйверів

Оптимізація споживання РКІ. Як було описано вище, основною для РКІ є динамічна потужність споживання. Знизити її можна кількома способами. По-перше, зменшувати частоту оновлення пікселів. При цьому нижній поріг становитиме близько 30 Гц. При подальшому зниженні частоти буде помітне мерехтіння. По-друге, якщо параметри РКІ дозволяють, то можна знизити напругу живлення.

Інтегрований модуль LCD дає додаткову гнучкість під час керування живленням, додаючи ще кілька шляхів зниження потужності. По-перше, контролер РКІ дозволяє керувати величиною напруги програмно. По-друге – з'являється можливість використання "мертвого часу" у фазах сигналів управління. По-третє, контролер управляє часом використання резистивних дільників, що задають (рисунок 4). Зменшуючи час використання низькоомного дільника, можна скоротити споживання.

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

Надзвичайно важливою перевагою інтегрованого модуля РКІ є повна сумісність з режимами зниженого споживання STM8L (таблиця 3). Оскільки модуль LCD тактується тим же сигналом, що і годинник реального часу, управління РК-дисплеєм можливе у всіх режимах, за винятком режиму HALT.

Оптимізація потужності споживання STM8L. Мікроконтролери STM8L можуть динамічно змінювати величину споживаної потужності та досягати наднизького споживання за рахунок використання своїх можливостей:

  • гнучка система живлення має у своєму складі два регулятори напруг і може працювати при напругах живлення до 1,65 (1,8 В для STM8L052x);
  • гнучка система тактування дозволяє використовувати широкий вибір джерел тактового сигналу, робити розподіл частоти, індивідуально тактувати інтегровану периферію. У потрібний момент мікроконтролер може збільшити власну частоту для вирішення будь-якої задачі, після чого зменшити її до допустимого мінімуму;
  • є режими зниженого споживання.

Крім малого споживання, пристрої на базі зв'язки РКІ + STM8L мають перспективу швидкої розробки. Це можливо завдяки традиційному для мікроконтролерів виробництва компанії ST Microelectronics наявності оціночних наборів та безкоштовного програмного забезпечення.

Оціночні набори та ПЗ для STM8L

Щоб швидко освоїти STM8L, можна використовувати оціночні набори виробництва компанії ST Microelectronics. Їх досить багато: STM8L-Discovery, STM8L1526-EVAL, STM8L1528-EVAL, STM8L15LPBOARD, STM8L101-EVAL. Головна їхня особливість – у тому, що всі вони мають у своєму складі РК-дисплей та комплект безкоштовного ПЗ. Набори відрізняються типом мікроконтролера, встановленим зовнішньою периферією та типом РК-дисплея.

Оціночний набір STM8L-Discovery (рисунок 8) відмінно підходить як для цілей ознайомлення з STM8L, так і для освоєння роботи в зв'язці STM8L + РКІ.

Набір STM8L-Discovery має можливість живлення від USB та відрізняється такими особливостями:

  • мікроконтролер STM8L152C6T6 (32 Кбайт FLASH, 2 Кбайт ОЗП, 1 Кбайт EEPROM, корпус 48-pin LQFP);
  • вбудований відладчик ST-LINK USB;
  • користувальницькі світлодіоди та кнопки;
  • схема вимірювання струму споживання;
  • всі 48 ніжок контролера виведено на контактні майданчики;
  • SPI РК-дисплей (122×32 пікселів) із вбудованим контролером;
  • цифро-літерний знакосинтезуючий РК-дисплей (24×4 сегментів).

Особливості РКІ:

  • 24×4 сегменти;
  • метод управління: мультиплексування 1/4, усунення 1/3;
  • напруга живлення: 3;
  • робоча температура: 0…50°C.

Кожен із комплектів супроводжується безкоштовним ПЗ stsw-stm8008. Цей набір містить дві папки.

У папці Library знаходиться Стандартна бібліотека периферійних пристроїв STM8L, яка містить заголовні файли (наприклад, stm8l15x_lcd.h – заголовний файл для модуля LCD) та файли реалізації (наприклад, stm8l15x_lcd.с) для кожного інтегрованого периферійного блоку. Вона дозволяє працювати з периферією без необхідності ретельного ознайомлення з регістрами керування.

Так, замість пам'ятати, які біти потрібно встановлювати в регістрах для ініціалізації РК-контролера, достатньо буде використовувати функцію LCD_Init (stm8l15x_lcd.с), заповнивши всі необхідні поля:

LCD_Prescaler_TypeDef LCD_Prescaler, //розподіл вхідної частоти 16-бітним дільником

LCD_Divider_TypeDef LCD_Divider, //поділ вхідної частоти додатковою дільником

LCD_Duty_TypeDef LCD_Duty, // визначення тривалості кадру

LCD_Bias_TypeDef LCD_Bias, // визначення зсуву

LCD_VoltageSource_TypeDef LCD_VoltageSource //Вибір джерела напруги.

Допустимі значення параметрів описані в stm8l15x_lcd.h. Наприклад, тривалість кадру визначається за допомогою перерахування LCD_Duty_TypeDef:

LCD_Duty_Static=(uint8_t)0x00, /*!< Static duty */

LCD_Duty_1_2=(uint8_t)0x02, /*!<1/2 duty */

LCD_Duty_1_3=(uint8_t)0x04, /*!<1/3 duty */

LCD_Duty_1_4=(uint8_t)0x06, /*!<1/4 duty */

LCD_Duty_1_8=(uint8_t)0x20/*!<1/8 duty */

LCD_Duty_TypeDef;

Робота з цією бібліотекою значно полегшує розробку власного ПЗ.

У папці Project Project_template розміщено шаблон для створення проектів на основі STM8L у середовищах EWSTM8 та STVD.

Приклади проектів розташовані там – у папці Project. Представлено два проекти: Discovery та WavesGenerator. Ціль цих прикладів – показати можливості безпосередньо плати STM8L. Однак заголовні файли, що описують платформу (папка inc) - stm8l_discovery_lcd.h, stm8l-discovery.h, discover_board.h, а також відповідні С-реалізації (папка src) можуть бути корисні і у власних додатках.

Висновок

Мікроконтролери STM8L мають найширші можливості з оптимізації співвідношення потужність споживання/продуктивність, при цьому мають багатий набір периферії і зберігають низьку вартість.

Інтегрований модуль LCD здатний керувати РКІ з числом пікселів до 320 при використанні восьми загальних ліній. Вбудований перетворювач напруг вимагає лише одного зовнішнього конденсатора.

Спільне використання РК-дисплеїв та мікроконтролерів STM8L з інтегрованим модулем LCD є перспективним при створенні низькобюджетних малоспоживаючих пристроїв з дуже доброзичливим інтерфейсом завдяки можливості використання готових оціночних наборів та безкоштовного фірмового програмного забезпечення виробництва компанії ST Microelectronics, часу на розробку таких пристроїв знадобиться небагато.

Література

  1. RM0031. Reference manual STM8L05xx, STM8L15xx, STM8L162x, STM8AL31xx та STM8AL3Lxx microcontroller family. Rev 10. ST Microelectronics, 2012.
  2. AN3114. Application note. Наскільки можна використовувати STM8AL3Lxx, STM8L152xx і STM8L162xx LCD controllers. Rev 3. ST Microelectronics, 2012.
  3. UM0684. User manual STM8L1526-EVAL evaluation board. Rev 1. ST Microelectronics, 2010.
  4. UM1037. User manual STM8L1528-EVAL evaluation board. Rev 1. ST Microelectronics, 2010.
  5. UM0970. User Manual STM8L-DISCOVERY. Rev 2. ST Microelectronics, 2011.
  6. Документація на мікроконтролери та ПЗ.

Компанія STMicroelectronics випустила на ринок нову лінійку низьких споживань мікроконтролерів STM8L05x «Value Line». Головною відмінністю лінійки в порівнянні зі старшими представниками є співвідношення ціни і функціоналу. Бюджетний мікроконтролер STM8L051F3P6 вартістю менше $0,5 надає розробнику 16 MIPS обчислювальної потужності (16 МГц) і повний набір периферії - починаючи від 12-бітного АЦП (10 ліній) і закінчуючи чотириканальним DMA для організації простої взаємодії з швидкого доступу до АЦП на швидкостях до 1 Msps.

Обчислювальної потужності мікроконтролера достатньо для вирішення різного кола завдань – набір команд включає 8-бітне множення та 16-бітне поділ, а загальний лінійний адресний простір спрощує написання «швидкого» коду. Споживання струму в режимі зупинки з працюючим годинником реального часу становить не більше 1,3 мкА; під час роботи на низькій тактовій частоті – 5,1 мкА; на максимальній тактовій частоті 16 МГц ядро ​​споживає менше 5 мА (код виконується з Flash-пам'яті з вимкненою периферією). Додатковий вузол (PVD) контролює живлення та інформує основну програму про зниження напруги батареї до попереднього порога (сім рівнів 1,85…3,05 В). Периферія мікроконтролера STM8L051F3P6 має майже ту саму структуру, що й у лінійки STM32, що значно полегшує подальший перехід на 32-бітове сімейство мікроконтролерів.

Особливості STM8L05x "Value Line":

  • Зовнішній кварц від 1…16 МГц; 32 кГц;
  • До 64 Kбайт Flash, до 1 Kбайт RAM, 256 байт EEPROM;
  • 5 режимів зниженого споживання, 400 нА в режимі STANDBY;
  • Вбудовані генератори 16 МГц та 38 кГц;
  • Календар (RTC) з точністю до ±0,5 ppm;
  • Таймери 2×16-біт + 1×8-біт; квадратурний енкодер.

Зайнявся одного разу ідеєю підключити зовнішній LCD дисплей від мобільного телефону Motorola V-180до мікроконтролера. Готових бібліотек для роботи з ним у мережі не знайшов. Але дуже добре мати такий дисплей у своєму арсеналі для розробок схем. Було ухвалено рішення написати їх самому, добре, що вже деякий досвід роботи в цьому напрямку є. Таким досвідом є. Вся бібліотека заточена для роботи в AVR Studio 6- Нещодавно на неї перейшов.

Загалом, враження різні. Писати там трохи важче, ніж CodeVision, Але код виходить більш компактним за обсягом займаної пам'яті. Тут головне розуміти що звідки потрібно брати, та й доводиться щільніше працювати з датішит. Кому потрібні бібліотеки під CodeVision, той може звернутися на форум. На даний момент вона ще не дороблена – потрібно дописати функцію виведення рядка.

Повернімося до дисплея. Його можна придбати, або виколупати з телефону у вигляді шлейфу з двома дисплеями. Кольоровий поки що відкладемо убік. Можливо, пізніше ми до нього повернемося. Нас цікавить зовнішній монохромний екран розподілом 32 на 96 пікселів. На жаль вбудованого підсвічування в ньому немає. Розпинання висновків дисплея можна переглянути на схемі.

Конденсатор є на шлейфі, його ємність 1 мікрофарад.

Виведення CS підключено до 0. Він відповідає за включення контролера дисплея. Теоретично можна керувати кількома дисплеями паралельно, просто висновок CS підключити до окремих ніг МК. Залежно від стану виведення CS дисплея можна перемикатися між ними.

Приступимо до аналізу самої бібліотеки. У файлі MOTOV180.h можна призначити порт для роботи та номери виведення портів під дисплей. Окремо налаштовувати висновки на вихід не потрібно. У бібліотеці це все передбачено.

  • void MOTOV180_send_byte(int8_t mode, uint8_t d); можна надіслати в дисплей байт даних, або команду.
  • void MOTOV180_init(void); - Функція для ініціалізації дисплея.
  • void MOTOV180_clear(void); - функція очищення дисплея.
  • void MOTOV180_gotoxy(int8_t x,int8_t y); - даною функцією можна перейти у вказану точку координат.
  • void MOTOV180_Putc(uint8_t c); функція для виведення однієї змінної із програмної пам'яті.
  • void MOTOV180_Print (char * message); - Використовується для виведення рядка.

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

Блок-схема T-con

Таймінг контролер включає в себе

  • Процесор для обробки вхідних конвеєрів даних LVDS у незалежні конвеєри R, G, B та сигнали синхронізації для горизонтальних та вертикальних драйверів матриці. Процесор обмінюється інформацією з оперативною пам'яттю ОЗП та Eeprom ПЗУ. Фіксована напруга живлення 5 або 12 вольт, що подається з системної плати, перетворюється на кілька вторинних напруг, необхідних для роботи контролера, за допомогою DC/DC перетворювачів.
  • Формувач опорної напруги для ЦАП драйверів, які забезпечують необхідну кривизну гістограми зображення. Інакше цей процес називають гамма корекція.
  • Вузол формування напруги для живлення драйверів, виконаний зазвичай на ШІМ-контролері і ключовому польовому транзисторі.

Діагностика та ремонт T-con

Діагностувати несправність у таймінг котролер буває часом надзвичайно важко. Справа в тому, що зв'язок цього блоку з основною платоюі жк матрицею настільки велика, що візуально визначити, що є джерелом дефекту іноді неможливо. Тільки вимірювання у контрольних точках T-con можуть опосередковано говорити про його непрацездатність. При самостійному ремонті контролера матриці необхідно мати великий обсяг інформації, яку при уважному і копіткому пошуку може надати Інтернет. Сам контролер вважається невід'ємною частиною ЖК панелі, а електричні схеми на цей блок виробники не надають. Ця ситуація змушує телемайстра при ремонті цього вузла керуватися насамперед своїм професійним чуттям і досвідом подібних ремонтів.

Якщо ваш телевізор став показувати слабоконтрастне, негативне, білі зображення з муарами різних відтінків на світлих або темних ділянках картинки, велика ймовірність у тому, що блок контролера матриці працює некоректно. Щоб виключити вплив материнської плати та провести діагностику, багато виробників РК матриць передбачають включення T-con в автономний режим. При цьому знімається шлейф, що з'єднує ці плати, на контролер подається тільки напруга живлення і замикання сервісних контактів панель вводиться в тестовий режим. При справності ЖК панелі і таймінг контролера на екрані спостерігається самодіагностика панелі у вигляді кольорових полів і смуг, що чергуються, як з генератора випробувального телевізійного сигналу. У кожного найменування ЖК панелі спосіб входження в режим тесту свій.

Щоб виключити вплив РК панелі на контролер матриці при проведенні вимірювань напруги живлення драйверів або опорної напруги для ЦАП драйверів, застосовують короткочасне від'єднання шлейфів, одного або двох, на РК панель. За характером зміни показань приладів та візуального сприйняття зображення на екрані можна робити певні висновки про причини несправності. Для достовірного контролю працездатності вузла під час проведення вимірів необхідний контроль наявності, форми, амплітуди, частоти та шпаруватості імпульсів, який можна здійснити за допомогою осцилографа. Наявність осцилографа полегшує пошук дефекту і застосовується для діагностики в стаціонарному сервісному центрі.

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

Ремонт таймінг контролера не передбачений виробником ЖК матриць, тільки його заміна. Тому і не надається технічна інформація щодо відновлення блоку та відсутні схеми на нього. Проте, у нас у майстерні використовується Рейтинг 4.33 /5 (20 Голосів)

І його аналоги, наприклад, такі як S6A0069, KS0066 і т.д. Дані РК індикатори – текстові та вміють відображати текст та псевдографічні символи. Розмір знайомства у них складає 5x8 пікселів, ЖК індикатори бувають різних розмірів і з різними роздільними здатностями, наприклад: 8 символів на 2 рядки - 8x2, 16x2, 20x2, 40x2, 16x4, 20x4 і т.д.

У цьому уроці ми розглянемо 4 бітне підключення РК індикатора до мікроконтролера AVR, і написання програми в середовищі.

У таких РК індикаторів існують висновки:
VSS – Gnd (Мінус харчування)
VDD - Vcc (Плюс харчування 5v)
VO – Встановлення контрастності РК матриці
RS – Лінія керування RS
RW (Read/Write) – Лінія керування RW
E (Enable) – Лінія керування E
D0 – Лінія даних D0 (Не використовується у 4-бітному режимі)
D1 – Лінія даних D1 (Не використовується у 4-бітному режимі)
D2 – Лінія даних D2 (Не використовується у 4-бітному режимі)
D3 – Лінія даних D3 (Не використовується у 4-бітному режимі)
D4 – Лінія даних D4
D5 – Лінія даних D5
D6 – Лінія даних D6
D7 – Лінія даних D7
A – Анод світлодіода підсвічування дисплея
K – Катод світлодіода підсвічування дисплея

Увага! У різних РК індикаторів своє розташування висновків, точне розташування висновків ви можете дізнатися в технічній документації (Даташіть) на ваш РК індикатор.

Висновок РК індикатора VO управляє контрастністю РК матриці залежно від напруги живлення, що подається на цей висновок. Висновок RW якщо не потрібно зчитувати з дисплея, інформацію підключається до мінусу живлення.

Приклад 4 бітного підключення РК індикатора до мікроконтролера Attiny2313:

Підрядковий резистор RV1 регулює яскравість РК індикатора.
У BASCOM-AVR перед роботою ЖК індикатора необхідно вказати, які висновки дисплея підключені, до яких портів мікроконтролера, для цього є команда Config Lcdpin, приклад застосування цієї команди: Config Lcdpin = Pin, Db4 = Portb.4, Db5 = Portb.5, Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 і вказати дозвіл РК індикатора командою Config Lcd, приклад: Config Lcd = 16 * 2 і проініціалізувати РК індикатор командою Initlcd, після цього РК-індикатор буде готовий до роботи.

Ось список команд для роботи з РК індикатором у BASCOM-AVR:
ConfigLcdpin– Встановлення конфігурації висновків РК індикатора та мікроконтролера
Config Lcd– Встановлення роздільної здатності РК індикатора
Initlcd– Ініціалізація ЖК індикатора
Lcd– Виведення тексту на РК індикатор, приклад: Lcd ”Hello”
Cls– Очищення РК індикатора
Locatey,x– Встановити курсор у позицію x, y
Lowerline– Перемістити курсор на нижній рядок
Upperline– Перемістити курсор на верхній рядок
Shiftlcd Right– Зрушити зображення РК індикатора вправо на одне знайоме місце
Shiftlcd Left– Зсунути зображення РК індикатора вліво на одне знайоме місце
Cursor Off– Вимкнути курсор
Cursor On– Включити курсор
Cursor On Blink– Включити мерехтливий курсор
Cursor On Noblink– Вимкнути мерехтливий курсор

Увага! При використанні РК індикатора з роздільною здатністю 8x2 у BASCOM-AVR конфігуруйте його як 16x2, тому що в BASCOM-AVR немає конфігурації на РК індикатор з роздільною здатністю 8x2.

Приклад програми BASCOM-AVR для вищевикладеної схеми:

$regfile = "attiny2313.dat" $crystal = 8000000 Config Lcdpin = Pin, Db4 = Portb.4, Db5 = Portb.5, Db6 = Portb.6, Db7 = Portb.7, E = Portb.3, Rs = Portb .2 Config Lcd = 16 * 2 Initlcd Cls Locate 1 , 1 Lcd "Hello," Lowerline Lcd "world!" End

Ось як все це працює з РК індикатором 8x2:

Фьюз біти для прошивки:

Завантажити файли для уроку (проект у , вихідник, прошивка) ви можете нижче

Якщо помітили помилку, виділіть фрагмент тексту та натисніть Ctrl+Enter
ПОДІЛИТИСЯ:
Комп'ютери та сучасні гаджети