Особливості використання графічних індикаторів fordata з контролером s6b0108 в

За останні кілька років на російському ринку комплектуючих для мікропроцесорних систем значно збільшилася кількість виробників, що пропонують пристрої відображення на базі рідких кристалів. Найбільш відомі ЖК-індикатори фірм Powertip Technology Corporation (www.powertip.com.tw), Winstar Display Co. (Www.winstar.com.tw), Microtips Company (www.microtips.com.tw), Fordata Electronic (www.fordata.cn).

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

Кількість моделей графічних індикаторів у кожного виробника досягає багатьох десятків. Але за багато років склався досить вузьке коло найбільш поширених типів контролерів для графічних індикаторів. Це Toshiba T6963C. Epson SED1520. SED1530, SED1335. Samsung S6B0107 / 0108. деякі інші. Індикаторні модулі на їх основі будують багато виробників. Кожен з перерахованих контролерів має свою область найбільш ефективного застосування.

Samsung S6B0107 / 0108 - це дві мікросхеми:

S6B0107 / 0108 здатний управляти зображенням від 64x64 до 512x128. Для побудови зображення 64x64 точки використовується по одній мікросхемі S6B0107 і S6B0108. Для створення за допомогою функції «майстер-помічник» матриць більшої розрядності (аж до 512x128), необхідна більша їх кількість. В продукції більшості виробників контролер Samsung S6B0107 / 0108 застосовується для індикаторів з організацією графічного поля 128x64 точки. Такі ЖК-модулі характеризуються відносно низькими цінами (від $ 10) при високих технічних характеристиках:

Індикатори 128x64 дозволяють виводити алфавітно-цифрову (до 8 рядків по 21 символу) або графічну інформацію. Цього виявляється цілком достатньо в невеликих вбудованих пристроях. Однак при початковому знайомстві з пристроєм РКІ розробнику доводиться подолати певну кількість труднощів, що пов'язано з відсутністю опису деяких істотних деталей у фірмовій технічної документації.

Відмінною особливістю S6B0108 є відсутність апаратного знакогенератора. Для графічних РКІ це аж ніяк не недолік з двох причин:

Функціональні вузли контролерів графічних індикаторів

Для управління матричної ЖК-панеллю необхідно формувати напруги досить складної форми з розмахом, зазвичай перевищує напруга живлення системи. Навіть при невеликій розмірності панелі (наприклад, 16x32 точки) кількість керуючих сигналів виявляється значним. Функція їх формування є головним завданням контролера РК-індикатора. Крім неї контролер може виконувати ще ряд функцій по формуванню і управлінню відображенням. Багато з них реалізуються апаратно вузлами контролера. Серед них:

  • цифрові схеми формування тимчасових діаграм сигналів потрібної форми;
  • вихідні «драйвери», що забезпечують потрібний розмах змінної напруги на численних електродах рядків і стовпців матричної ЖК-панелі;
  • пристрій об'ємом, достатнім для зберігання інформації про зображення (або перевищує цю ємність) -для зберігання статичних і динамічних елементів;
  • підсистема генерації набору алфавітно-цифрових символів, іноді з можливістю визначати деякі символи користувача;
  • інтерфейс до керуючої системі (майже завжди сумісний зі стандартними інтерфейсами поширених МКС);
  • апаратно-програмна підтримка функцій управління зображенням, наприклад, зсув зображення, накладення декількох шарів зображення, інверсія і т. п.

В одній з робіт [1] наведені найбільш поширені мікросхеми контролерів РКІ-панелей. Деякі параметри контролерів графічних дисплеїв наведені в таблиці 1.

Таблиця 1. Параметри контролерів графічних дисплеїв

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

  • 64 драйвера рядків РКІ-матриці (формувачі рівнів сигналів);
  • 64-бітний зсувний регістр сканування рядків матриці;
  • вбудований тактовий генератор для циклічного сканування (регенерації) РКІ-матриці (працює тільки в режимі Master на частоті 215 або 430 кГц);
  • схемотехнику каскадирования, що дозволяє включати дві мікросхеми S6B0107 «каскадно»: одну в режимі ведучого (Master), другу в режимі веденого (Slave).

Основні функціональні вузли контролера S6B0108 [3]:

  • 64 драйвера стовпців РКІ-матриці (формувачі рівнів сигналів);
  • пам'ять дисплея об'ємом 512 байт (4096 біт = 64x64), про організацію цієї пам'яті буде сказано далі);
  • 8-бітний паралельний інтерфейс до МКС, що дозволяє записувати / зчитувати вміст пам'яті дисплея, передавати контролеру S6B0108 команди і зчитувати з нього слово стану.

Управління індикатором здійснюється через інтерфейсний порт S6B0108. Програмна модель S6B0108 містить два програмно доступних регістра: регістр команд (IR) і регістр даних (DR).

Функції основних сигналів інтерфейсу мікросхеми S6B0108 із зовнішнім мікропроцесором дані в таблиці 2.

Таблиця 2. Функціональне призначення інтерфейсних висновків S6B0108

Запис команди в регістр команд S6B0108

Читання слова стану з S6B0108

Звернення до регістрів S6B0108 здійснюється протягом дії стрибає даних E. Дані при записі запам'ятовуються у вбудованому буферном регістрі по спаду сигналу на вході Е. При читанні регістрів контролера дані на шині з'являються, коли рівень сигналу на вході E знаходиться в високому стані. Рівні сигналів для операцій обміну наведені в таблиці 3.

Таблиця 3. Рівні сигналів шини управління в операціях обміну

Опис функції сигналу

Двонаправлені лінії даних. Використовуються для запису / читання команд або даних

Вхід стрибає даних, що визначає рівнем «1» інтервал часу, всередині якого відбувається передача

Вхідний сигнал вибору кристала ІМС S6B0108 (активний рівень низький)

Вхідний сигнал вибору кристала ІМС S6B0108 (активний рівень низький)

Вхідний сигнал вибору кристала ІМС S6B0108 (активний рівень високий)

Вхід скидання S6B0108 в початковий стан (активний рівень низький)

Проста і ефективна система команд контролера S6B0108 приведена в таблиці 4.

Таблиця 4. Система команд контролера S6B0108

Виконується читанням регістра команд (див. Табл. 3). Читання повертає слово стану, формат якого описаний далі

У слові стану біти 0-3 та 6 завжди читаються як нульові.

Біт 4: «1» - показує виконання початкової установки (Reset), «0» - робочий стан.

Біт 5: «1» - секція дисплея вимкнена, «0» секція включена.

Біт 7: «1» - контролер зайнятий (відпрацьовується команда), «0» - контролер вільний.

Пам'ять S6B0108 має обсяг 64x8 = 512 байт = 64x64 бітів і організована як вісім сторінок по 64 байта. Відповідність між пікселями панелі і вмістом пам'яті дисплея пояснює рис. 1.

Природна система координат при такій організації розташована в лівому верхньому кутку панелі РК. Таким чином, якщо в цій системі координат потрібно «запалити» в стовпці L (вважаючи стовпці зліва, починаючи з нуля) піксель з номером N (вважаючи пікселі в стовпці зверху, починаючи з 0), то слід виконати дії, перелічені далі.

Зауважимо, що порядок дій пп. 1 і 2 може бути і зворотним.

Деякі деталі управління індикаторами більшої розмірності

На рис. 2 показана структурна схема включення двох мікросхем S6B0107 і чотирьох S6B0108, які спільно утворюють контролер для управління панеллю розміром 128x128 пікселів.

Особливості використання графічних індикаторів fordata з контролером s6b0108 в

Мал. 2. Принцип з'єднання ІМС S6B0108 і S6B0108 для управління панеллю розміром 128x128 пікселів

Магістраль мікросистеми, до якої підключений РКІ (на малюнку - ліворуч), повинна забезпечувати формування сигналів 8-бітної двобічної шини даних, сигнали управління: D / I #, R / W #, E, Reset, а також чотири сигналу вибору кристалів CS- 1, CS-2, CS-3, CS-4.

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

Якщо використаний один з входів CS1B, CS2B, включення виробляється низьким рівнем, якщо використовується вхід CS3, включення виробляється високим рівнем. При цьому подача дозволяють рівнів на входи CS декількох мікросхем дозволить їм одночасно виконати одну і ту ж операцію. Саме так і зроблено в описуваних моделях РКІ.

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

Ланцюг сигналу Reset на рис. 2 не відображено. Цей сигнал подається паралельно на входи скидання всіх ІМС S6B0108.

Сигнали шини даних D0 ... D7 і сигнали управління R / W # і E можна також сформувати, використовуючи стандартні паралельні порти мікропроцесора (мікроконтролера). У разі використання мікроконтролера сімейства MSC51 (52) в якості сигналу R / W # можна використовувати канальний сигнал W # «запис», а в якості сигналу E - стрибає R # даних.

Особливості роботи з графічними індикаторами Fordata FDCG12864H і Powertip PG12864-B

Обидві моделі РКІ для програміста практично ідентичні. Індикатори використовують для управління панеллю одну ІМС S6B0107 і дві S6B0108 і мають розмірність 128 стовпців і 64 рядки. Така структура відповідає «верхній половині» схеми, зображеної на рис. 2 (присутні два контролера S6B0108).

Це означає, що логічно матриця РКІ складається з двох частин (секторів), кожній з яких незалежно управляє свій контролер S6B0108. Відповідно, для управління індикатором потрібно формувати чотири сигналу управління: два сигнали вибору кристалів CS1, CS2, сигнал вибору регістра D / I # і стрибає даних E, а також сигнал початкового скидання Reset. Програма повинна «пам'ятати», з якою половиною індикатора вона працює, і звертатися до відповідного контролера S6B0108, попередньо опитуючи готовність ( «незайнятість» виконанням внутрішньої операції) саме того контролера S6B0108, до якого передбачається звертатися.

Особливо слід сказати про властивості входу Reset графічного індикатора PG12864ARS-BNN-G фірми Powertip. В описі контролера S6B0108 наводяться певні вимоги до сигналу Reset (рис. 3).


Мал. 3. Тимчасова діаграма подачі сигналу «Скидання»

Однак в модулі графічного індикатора PG12864ARS-BNN-G входи Reset мікросхем S6B0108 шунтовані резистором 10 кОм на лінію живлення +5 В (позиційне позначення R10 на платі модуля РКІ) і конденсатором 100 нФ на лінію Gnd (позначення C2). Постійна часу RC-ланцюга становить близько 1 мс. Цей ланцюг на вході Reset, мабуть, встановлена ​​виробниками модуля графічного дисплея з метою забезпечити «автоматичний» скидання (присутність на вході Reset низького рівня, поки конденсатор С2 зарядиться) при подачі на модуль напруги харчування.

Порядок програмування виведення графічних даних на ЖК-індикатор з контролером S6B0108

Особливості використання графічних індикаторів fordata з контролером s6b0108 в

Мал. 4. Приклад підключення РКІ Fordata FDCG12864H-FLYYBW до 8051-сумісного микроконтроллеру

Шина даних модуля РКІ підключена до порту Р2, лінії управління підключені до ліній Р3.0 ... Р3.4. Підключення до порту дозволяє використовувати швидкодіючі версії МКС (наприклад ADuC841 / 842/843), які мають тривалість циклу зовнішньої магістралі істотно менше тривалості циклу читання / запису 1 мкс, зазначеної для мікросхеми S6B0108 (див. [3], стр. 15). Для виконання будь-якої операції запису / читання в МК слід реалізувати таку послідовність дій:

  1. початковий стан ліній управління: D / I # = довільно; R / W # = низький рівень (для того, щоб лінії шини РКІ були в стані «вхід»); CS1 = CS2 = E = низький рівень;
  2. встановити стан порту Р2 (0FFh для читання з РКІ, або записується байт для запису в РКІ);
  3. встановити необхідну комбінацію сигналів D / I #, R / W #, CS1, CS2 (P3.0 ... P3.3) в залежності від виконуваної операції;
  4. встановити сигнал Е (Р3.4) в стан «1» (затримка після включення на кроці 2 не менше 140 нс [3], стор.15);
  5. якщо виконується читання з РКІ - прочитати Р2 (якщо виконується запис, крок 4 відсутній);
  6. встановити сигнал Е (Р3.4) в стан «0»;
  7. встановити інші сигнали управління в початковий стан (затримка після виключення Е не менше 10 нс).

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

Якщо в цій групі провести порівняння індикаторів, заснованих на різних контролерах, то виявиться, що найбільш масове застосування знайшли саме індикатори, засновані на S6B0107 / 0108. Визнання вони отримали за найбільш ефективне співвідношення основних економічних і технічних характеристик: вартість, доступність, достатність функціональних можливостей і простота впровадження. Компанія Fordata Electronic в лінії графічних індикаторів з масивом точок 128x64, заснованих на контролері S6B0107 / 0108, пропонує 5 серій в різному конструктивному виконанні. Додатково до описаних переваг, модулі цих серій мають вбудований генератор негативного напруги, необхідний для формування в ланцюзі регулювання контрастності потрібного розмаху напруги на виході драйверів дисплея.