"Расширенная" ASCII-клавиатура

 

Через некоторое время эксплуатации возможностей первоначально собранной ASCII-клавиатуры, способной выдавать на-гора всего 64 символа, стало не хватать. Поэтому было решено немного её модернизировать, чтобы была возможность использовать практически всю таблицу ASCII-символов, включая кириллические в альтернативной кодировке.

 

 

По сравнению с первоначальной версией внесены следующие изменения:

- несколько изменены функции клавиш;

- транзисторный дешифратор перемонтирован в простой преобразователь уровней;

- клавиши "Shift" и "Ctrl" отключены от дешифрации;

- введены новые клавиши "Caps" и "Рус/Lat" с триггером памяти;

- дешифрация символов осуществляется с помощью ПЗУ, к адресным входам которой подключены все клавиши через транзисторные преобразователи уровней;

- сигнал КР (Key Pressed) теперь инверсный и требует внешнего формирователя TTL-уровня.

Токовые ключи и диодные шифраторы/дешифраторы остались на месте для уменьшения количества проводников и прочих работ, связанных с переделкой. Корпус также остался от первоначально собранного в нём терминала.

Причины, по которым было решено собрать именно этот вариант:

- подобную конструкцию возможно подключить к любому 8/16-битному контроллеру как устройство ввода/вывода, причём общение с этим устройством для контроллера будет аналогично общению с любым аналогичным: опрос наличия символа - ввод в систему при наличии - иначе выход. Всего три операции, если сравнивать с распространёнными клавиатурами со сканированием матрицы клавиш;

- по предыдущей причине контроллер не особо напрягает свой и без того слабый процессор, не тратит время на бестолковое сканирование матрицы, либо не требуется ещё один контроллер клавиатуры;

- к большому сожалению чипы, реализующие аналогичную ASCII-клавиатуру со сканированием матрицы уже не выпускаются, и они не позволяли выводить вторую половину кодовой таблицы, где обычно располагаются национальные символы (кириллица в нашем случае).

В схеме имеется свой узел первоначальной установки триггера ТМ2, работающий параллельно с сигналом сброса, приходящим с внешнего контроллера. При включении включается режим ввода прописных латинских символов (тот же "Аюша" не понимает команд, вводимых с помощью строчных букв). Присутствует выход светодиодной индикации режимов работы. В принципе, если применить клавиши с фиксацией, триггер ТМ2 можно убрать.

Линии данных ПЗУ притянуты к питанию через резисторы 10 кОм, поскольку выходы ПЗУ имеют открытый коллектор. Потребляемый конкретным экземпляром собранной схемы ток не превышает 75 мА (хотя ПЗУ и находится постоянно в активном режиме).

Как обычно, описываемый узел был собран на макетной плате небольшого размера,

 

 

и, как обычно, с использованием МГТФ.

 

 

Прошивка ПЗУ типа 537РФ2/5 или 2716 прилагается (только первые 1024 байта, остаток микросхемы прошивается символами FF).

UPD июнь 2018: обновлённая прошивка ПЗУ содержит возможность отправки кода ESC путём нажатия клавиш Ctrl+"`" (на ней также расположёны символы ~/ё/Ё). Это может потребоваться при работе с некоторыми СР/М-программами, к примеру, WordStar.

Также в состав клавиатуры введён одновибратор на таймере 555 (1006ВИ1) для уменьшения "звона" клавиш, дабы не занимать память компьютера программной задержкой. Далее, в клавиатурном блоке дисплейного модуля, по спаду импульса /КР происходит запись символа в буфер, а по фронту, после задержки, - взводится запрос прерывания.

Корпус клавиатуры немного изменился (новые надписи на клавиши пока ещё не нанесены, но они будут аналогичны стандартным современным), сверху уже четыре светодиода (слева направо: Caps, Рус/Lat, Активность диска, Питание) и две кнопки сброса ("холодная" и "горячая"). Переключатель "0/1" пока не используется, хотя и планировался под режим "Турбо".

Две дополнительные кнопки "Caps" и "Рус/Lat" размещены по сторонам от "Shift'ов". К сожалению установить клавиши аналогичного типа не получилось по конструктивным причинам.

 

Каким же образом вышеописанная схема взаимодействует с контроллером? Для этого необходим небольшой блок согласования, который в авторском варианте входит в состав дисплейного модуля.

 

 

На главную/Index