Conference System of NULES of Ukraine, GLOBAL AND REGIONAL PROBLEMS OF INFORMATIZATION IN SOCIETY AND NATURE USING 2021

Font Size: 
ПРОГРАМНИЙ ПЕРЕТВОРЮВАЧ КОДІВ ШКАЛЬНОЇ ІНДИКАЦІЇ
Андрій Валерійович Турукало, Олександр Володимирович Бушма

Last modified: 08-05-2021

Abstract


1. ВСТУП
Для формування символів на семисегментних, матричних та шкальних індикаторах (ШІ) використовують різні перетворювачі коду (ПК), які формують однозначний зв'язок між вхідними та вихідними змінними. ПК в практичних реалізаціях здебільшого будуються апаратно на основі інтегральних схем. Серійно випускаються мікросхеми для багатьох ПК: двійкового коду в десятковий, шістнадцятковий, в код Грея або зворотний. Але в сучасних розробках доречно реалізовувати перетворювачі програмно, особливо у вбудованих системах на основі мікроконтролерів (МК). Алгоритми обробки цифрової інформації перетворення даних дозволяють створювати програмовані ПК, що є дуже гнучким і технологічним методом з низькою собівартістю, тому що він реалізується наявним в системі МК. Відмова від логічних елементів у схемі ШІ дозволяє спростити схемотехнічну реалізацію, а отже і тестування, так як внесення змін до програми у випадку помилки набагато простіше, ніж переробка готової схеми.
Особливо цікавою є розробка алгоритмів програмних ПК для ШІ, які мають високий рівень ергономічних параметрів та забезпечують безпомилкове зчитування інформації зі шкали в складних умовах експлуатації.
Метою роботи є оптимізація будови програмних ПК для шкального виводу інформації у технічних засобах на основі МК.
2. ТЕОРЕТИЧНІ ОСНОВИ ДОСЛІДЖЕННЯ
Підсистема індикації на основі МК отримує ззовні інформацію у вигляді двійкового нормального коду (ДНК), яка підлягає обробці та відображенню. Одним із найбільш розповсюджених кодів для візуалізації вихідних даних у системах шкальної індикації  є позиційний одиничний код (ПОК) [1]. Згідно діючого ГОСТу 26.014-81 ПОК є числом, яке подається позицією (порядковим номером) символу "1" в ряду символів "0". При обміні інформацією у формі ДНК число розрядів в кодових комбінаціях повинно бути кратним 8 або 9, причому в 8-му (9-му) розряді при наявності контролю записується сума по модулю 2 або її інверсія попередніх 7 (8) розрядів. Також для збудження елементів інформаційного поля (ІП) ШІ використовують одиничний нормальний код (ОНК), в якому числа подаються кількістю одиниць [1]. Нижче наведено таблицю відповідності десяткового, ДНК, ОНК та ПОК без контрольного розряду.
Таблиця 1
Таблиця відповідності десяткового, ДНК, ОНК та ПОК

Дясятковий код

ДНК

ОНК

ПОК

0

00000000

00000000

00000000

1

00000001

00000001

00000001

2

00000010

00000011

00000010

7

00000111

01111111

01000000

8

00001000

11111111

10000000


При апаратній реалізації засобів індикації на МК для її надійного функціонування між його портами та ШІ необхідно використовувати додаткові ключі (буферні підсилювачі), щоб уникнути перегріву та руйнування кристалу МК через підвищення вихідного струму або напруги на відповідних лініях. У типовому випадку зміна зображення на  ІП відбувається в обробнику переривання часу, ініційованому таймером МК. В якості апаратної платформи доцільно використати МК сімейства MCS-51 завдяки його універсальності та низької собівартості.
3. РЕЗУЛЬТАТИ ДОСЛІДЖЕННЯ
Основою побудови ПК є таблиця відповідності, в якій записується повний набір вхідних і вихідних кодів у вигляді масиву з усіх варіантів значень, які  потрібні для збудження ШІ [2]. Програмна реалізація ПК зводиться до знаходження для кожного  вхідного слова певного вихідного коду керування підсистемою індикації.
Відповідно до застосування ШІ ІП може мати різний розмір. Типовими варіантами матриці елементів ІП є індикатори з кількістю рядків або стовпців в діапазоні 6…15 [3]. Слід зауважити, що перетворення коду буде відрізнятися в залежності від кількості шин, що комутуються. Типова розрядність портів МК дорівнює восьми, тому при кількості шин, що не перевищує 8, реалізується простіший ПК.  Найбільш актуальними на практиці є розмірності матриці ІП 8х8 та 10х10 [3].
При керуванні ІП розмірністю 8х8 або менше не виникає жодних функціональних проблем, тому що усі регістри типових МК мають регістри та порти розрядністю у байт. Але при матриці 10х10 необхідно  використати по 10 ліній для збудження її молодших і старших шин (розрядів). При цьому у типового МК один порт має лише 8 ліній, тому потрібно задіяти по дві додаткові лінії з іншого порту. Для формування символів і збудження матриці ІП зазвичай використовуються дані у формі ОНК та ПОК. Перетворення вхідного коду у потрібні вихідні двійкові комбінації відбувається через таблицю відповідності, яка є складовою ПК та програмно реалізується у вигляді масиву. Для створення  різниці потенціалів на анодах і катодах застосовується «бітова логіка» MCS-51 при формуванні кодів на відповідній групі шин матриці. Після перетворення вхідного коду результат завантажується у порти МК, а далі через ключі посилений сигнал подається на шини матриці ІП для формування відповідного символу.
При матричному з’єднанні елементів ІП їх статичне збудження неможливе. Тому використовується динамічне формування зображення на індикаторі. При двотактній реалізації адитивного шкального подання інформації потрібно сформувати 4 коди по два для кожного такту [1]. Такий ПК будується на основі табл. 2, де х – розряди, які не використовуються при матриці 8х8, а у виділених останніх двох рядках міститься перетворення для матриці 10х10, яке потребує 2 додаткові розряди та відповідні лінії портів для керування ІП.
Таблиця 2
Таблиця істинності ПК для керування ШІ розмірністю 8х8 та 10х10

Формування кодів старших розрядів для 1-го такту

Формування кодів молодших роз­ря­дів для 1-го такту

Формування кодів старших розрядів для 2-го такту

Формування кодів молодших розря­дів для 2-го такту

0001

хх00000000

0001

хх11111111

0001

хх00000001

0001

хх00000001

0010

хх00000001

0010

хх11111111

0010

хх00000010

0010

хх00000011

0011

хх00000011

0011

хх11111111

0011

хх00000100

0011

хх00000111

0100

хх00000111

0100

хх11111111

0100

хх00001000

0100

хх00001111

0101

хх00001111

0101

хх11111111

0101

хх00010000

0101

хх00011111

0110

хх00011111

0110

хх11111111

0110

хх00100000

0110

хх00111111

0111

хх00111111

0111

хх11111111

0111

хх01000000

0111

хх01111111

1000

хх01111111

1000

хх11111111

1000

хх10000000

1000

хх11111111

1001

0011111111

1001

1111111111

1001

0100000000

1001

0111111111

1010

0111111111

1010

1111111111

1010

1000000000

1010

1111111111


Бачимо, що при формування зображення в першому такті застосовано перетворення у ОНК старших розрядів, а у другому – перетворення в ПОК та ОНК для старших та молодших розрядів матриці, відповідно.
4. ВИСНОВКИ ТА ПЕРСПЕКТИВИ ПОДАЛЬШИХ ДОСЛІДЖЕНЬ
Представлений програмний ПК для шкального виводу інформації є гнучким та універсальним. Він дозволяє працювати з матричними ІП довільної розмірності, які на практиці використовують від 6 до 15 ліній керування. Розробники вбудованих систем зі ШІ можуть на основі представлених результатів програмно реалізувати потрібні засоби візуалізації, оскільки модельний ряд МК MCS-51 містить вироби з різноманітною конфігурацією.


Keywords


перетворювач кодів; мікроконтролер; дискретно-аналогова індикація; шкала; бітова логіка