Контроллер технологической клавиатуры

Цели

Необходимость создания нового контроллера технологической клавиатуры возникла в процессе реализации проекта SCADA системы "Complex2". Причиной тому явилось то, что SCADA "Complex2", технологическая клавиатура и говорящая система являются ключевыми элементами Унифицированного Программно-Технического Комплекса (УПТК) "ДIЯ", следовательно существенные ограничения одного узла могут значительно ограничить функции системы в целом.

Старый контроллер контроллер клавиатуры имел следующие существенные недостатки:

генерация только сканкодов нажатия;

генерация только однобайтных последовательностей сканкода;

невозможность, и даже опасность для контроллера, одновременного нажатия нескольких клавиш;

невозможность простой модификации алгоритма микропрограммы;

несогласованность сканкодов данного контроллера с сканкодами стандартной офисной клавиатуры. Как следствие проблемы с некоторыми современными ОС;

зависимость яркости отдельного светодиода от общего количества зажженных;

техническая избыточность.

Исходя из вышеперечисленных ограничений предыдущей разработки формировались цели новой разработки:

генерация как сканкодов нажатия, так и сканкодов отпускания;

поддержка многобайтовых последовательностей сканкода;

поддержка нажатий с удержанием одной или нескольких клавиш;

доступность простой модификации алгоритма микропрограммы;

согласование сканкодов с офисной клавиатурой и возможность простой смены таблицы последовательностей сканкодов;

независимость яркости свечения светодиодов от общего количества зажженых;

поддержка аутентификации ключом;

устранение технической избыточности.

Разработка

Проект разработки нового контроллера технологической клавиатуры основан в июле 2001г.

Первоочередной задачей было получение исходной микропрограммы имеющегося контроллера. Задачу удалось решить благодаря наличию версий контроллера использующего внешнюю ПЗУ на основе микросхемы КР573РФ2. Дизассемблированная микропрограмма послужила основой для новой разработки. Исходя из принципа открытых исходников (Open Source) исходные тексты модифицированной программы публикуются под открытой лицензией GPL.

Дальнейшая разработка шла в области схемотехники. В рамках проекта контроллера клавиатуры были приняты следующие схемотехнические решения:

В качестве микропроцессорного ядра разработки был выбран однокристальный микропроцессор фирмы ATMEL AT89C4051. Основанием для выбора данного микропроцессора послужило:

совместимость с микропроцессорами семейства MCS®51

встроенная флеш памяти объёмом 4кб;

два порта ввода/вывода (15 бит);

компактность исполнения: 20pin DIP;

Благодаря встроенной 4кб флеш памяти совместно с установкой микропроцессора на панель удалось достичь простой модификации, а за счёт компактного исполнения исключить избыточность.

Для обвязки микропроцессора использованы отечественные микросхемы серии КР1533.

Для обеспечения возможности одновременного нажатия нескольких клавиш добавлена диодная развязка.

Управление светодиодами выполнено на основе транзисторов КТ817Г в ключевом режиме с подпором прямосмещённым диодом в эмиторе.

Разработка завершена в феврале 2002г. В качестве результатов разработки предоставлен комплект документации и полностью функционирующий опытный образец:

Материалы

Использованные программно-технические средства

Для разработки микропрограммы контроллера использован компилятор с ассемблера процессоров 51 серии: asm51.exe . Компилятор работает в среде DOS или любого DOS-эмулятора, например DosEmu.

Сборка образа микропрограммы выполнялась утилитой: hex2bin.exe . Утилита работает в среде DOS или любого DOS-эмулятора, например DosEmu.

Программирование AT98C4051 выполнялось программатором Unipro из его программы UniPro v4.2. Утилита работает в среде DOS или любого DOS-эмулятора, например DosEmu.

В процессе проектирования печатной платы использовался пакет PCAD8.

В процессе разработки конструкторский чертежей использовано программу QCAD. QCAD является свободным и кроссплатформенным приложением.

Документация по проекту выполнена в офисном пакете OpenOfiice. OpenOfiice является свободным и кроссплатформенным приложением.

Техническая документация

Техническое задание на разработку;

Схема электрическая принципиальная;

Сборочный чертёж;

Спецификация компонентов;

Руководство пользования технологической клавиатурой;

Исходный код микропрограммы;

Исходный код утилиты тестирования светодиодов в среде ОС Linux;

Все материалы проекта доступны на CVS сервере НИП “ДIЯ”. Архивы срезов CVS можно загрузить с ftp-сервера НИП “ДIЯ”.

2005-03-02T20:05:02