Авторы исследовали ЖКИ, снятый с неисправной платы промышленного электронного прибора, и применили его в часах собственной разработки.
В наше распоряжение попали несколько списанных электронных плат, входивших в состав импортных приборов, предназначенных для управления технологическими процессами. На платах имелись ЖКИ M269 фирмы Clover Display Ltd. Такие ЖКИ имеют значительную площадь экрана, отображают большое число символов, надписей и мнемоник и всего четыре внешних вывода. Захотелось попробовать применить эти ЖКИ в радиолюбительской практике.
Поиск описания ЖКИ этого типа в Интернете ничего не дал, запрос на фирму- изготовитель привёл лишь к отписке о частной собственности на запрашиваемую информацию. Поэтому пришлось действовать самостоятельно. Выводы питания ЖКИ удалось найти, подав напряжение 3 В на соответствующие выводы микроконтроллера, установленного на той же плате. После этого прошёл начальный тест индикатора, и на его экране появилось изображение, показанное на рис. 1.
В центре экрана — пять знакомест 7×5 пкс для больших семиэлементных символов с десятичными запятыми (точками) и подчёркиванием. Внизу — девять аналогичных знакомест для символов среднего размера с подчёркиванием и только двумя запятыми. Справа — две строки по пять знакомест для маленьких символов.
Всё управление ЖКИ происходит по двум проводам, что навело на мысль о шине I2C. Подтвердить это помог двухканальный запоминающий осциллограф. С его помощью информация, посылаемая микроконтроллером в индикатор, была расшифрована. Она состоит из шести кодовых слов W1—W6,
приведённых в таблице. Каждое слово, согласно протоколу I2С, начинается с условия «Старт» (S) и заканчивается условием «Стоп» (Р). Эта группа слов записывается в индикатор по несколько раз в секунду. При их отсутствии индикатор отображает ранее введённую информацию до отключения питания.
W1 — S | 76 | 80 | 34 | 80 | 0c | 80 | 06 | 80 | 35 | 80 | FF | 80 | 9d | 80 | 03 | 80 | 04 80 08 80 34 P |
W2 — S | 76 | 80 | 80 | 40 | 20 | 20 | 20 | 20 | 30 | 07 | 53 | 2F | 63 | 6d | 20 | 20 | P |
w3 — S | 76 | 80 | CO | 40 | 20 | 33 | 32 | 2C | 20 | 30 | 20 | 20 | 20 | 20 | CO | 46 | P |
W4 — S | 76 | 80 | 80 | 80 | 40 | 40 | 10 | 05 | 00 | 01 | 00 | 00 | 00 | 00 | P | ||
W5 — S | 76 | 80 | 80 | 80 | 60 | 40 | 10 | 01 | 00 | 01 | 00 | 00 | 00 | 00 | P | ||
w6 — S | 76 | 80 | 35 | 80 | OA | 00 | 34 | 00 | 00 | P |
Анализ кодовых слов привёл к выводу, что W1 отвечает за инициализацию и контрастность ЖКИ, W2 — за отображение пяти больших и семи малых символов, W3 — за отображение девяти средних и трёх малых символов, W4 и W5 — за включение и фазу мигания мнемонических символов, надписей, отображение десятичных запятых и подчёркивание больших и средних символов. Кодовое слово W6 несёт служебную информацию и на экране ЖКИ не отображается.
Методом проб и ошибок удалось выяснить соответствие байтов кодовых слов знакоместам экрана ЖКИ и содержимое знакогенератора индикатора. На рис. 2 для каждого из символьных знакомест указаны номера кодового слова (Wx) и байта в нём (By), Например, передача числа 30Н в девятом байте кодового слова W2 приведёт к появлению цифры 0 в крайнем правом знакоместе больших символов. Знакогенератор для цифр и букв латинского алфавита оказался таким же, как у индикаторов с контроллером HD44780. Русские буквы отсутствуют. Мнемонические символы и надписи (кроме слова «SETUP») использовать не планировалось.
Элементная база для разработанных часов, схема которых показана на рис. 3, была выбрана исходя из напряжения питания индикатора +3 В, наличия интерфейса I2С и доступности. Особенность устройства — работа микроконтроллера DD2 PIC16F628A от внутреннего тактового генератора без кварцевого резонатора. Счёт времени ведёт микросхема часов реального времени (RTC) DD1 типа ISL1208IB8Z [1], температуру измеряет датчик ВК1 AD7414ARTZ-0 [2]. В процессе работы RTC формируют запросы прерывания микроконтроллера, следующие с частотой 1 Гц. По каждому запросу микроконтроллер считывает информации о времени и температуре, формирует и отправляет кодовую посылку на ЖКИ HG1, после чего «засыпает». Далее процесс бесконечно повторяется.
Литиевый элемент G1 — резервный источник питания для RTC. Он помещён в специальный держатель, выпаянный вместе с кварцевым резонатором на 32768 Гц из негодной материнской платы компьютера. Часы собраны на макетной плате и помещены в подходящую по размерам пластмассовую коробку.
Программа для микроконтроллера написана на языке microC for PIC 5.6.0 . Работа с интерфейсом I2С рассмотрена в [3].
При первоначальном включении часов следует отрегулировать контрастность индикатора, выбрать число градусов коррекции температуры, далее установить начальные значения времени и календаря. Входят в режим «Установка» и выбирают изменяемый параметр кнопкой SB1, перебирают его возможные значения кнопкой SB2 или SB3.
Предусмотрены два режима устройства: часы с секундомером и календарём (рис. 4) и часы с термометром и календарём (рис. 5). Переход между режимами осуществляется нажатиями на любую из кнопок SB2 или SB3.
Для изготовления часов при соответствующей корректировке программы можно использовать почти любые микросхемы RTC и цифровые датчики температуры с напряжением питания 3 В, оснащённые шиной I2С. Наиболее интересны микросхемы RTC со встроенным кварцевым резонатором. Дополнив описанные часы датчиками влажности и атмосферного давления, можно превратить их в домашнюю метеостанцию.
ЛИТЕРАТУРА
- . ISL1208IB8Z I2C® Real Time Clock/ Calendar. — URL: http://www.intersil.com/content/dam/intersil/documents/isll/isl1208.pdf (08.12.14)
- AD7414ARTZ-0 ±0.5 °C Accurate, 10-Bit Digital Temperature Sensors in SOT-23. — URL: http://www.analog.com/static/imported-files/data_sheets/AD741 4_741 5.pdf (08.12.14).
- Семёнов Б. Ю. Шина I2C в радиотехнических конструкциях. — М.: Солон-Р, 2002.
Автор: А. АБАКУМОВ, Ю. КУЗИН, г. Тула
Источник: Радио №8, 2015