Возможности современных КПК соответствуют персональным компьютерам выпускаемым несколько лет назад, но их размеры не позволяют полностью реализовать эти возможности. В частности большинство КПК имеют только виртуальную или очень маленькую аппаратную клавиатуру, скорость набора на ней в 3..10 раз меньше чем на обычной полноразмерной клавиатуре.
Описываемое здесь устройство предназначено для подключения стандартной клавиатуры к карманному компьютеру.
Существуют специальные клавиатуры подключаемые к КПК через Bluetouth/IrDA/COM, но их выбор очень ограничен, а цена начинается от 1300 рублей. Это же устройство позволяет пользоваться любой понравившейся клавиатурой (с разъемом PS/2 или DIN) и имеет себистоимость около 200..300 рублей.
Устройство работает следующим образом. Данные, поступающие с клавиатуры преобразуются в звуковой сигнал и передаются на КПК через микрофонный вход или вход для подключения гарнитуры. На КПК запущена в фоновом режиме специальная программа (“драйвер клавиатуры”), которая принимает этот звук и эмулирует нажатия клавиш.
Если на КПК нет микрофонного входа или разъема для гарнитуры, то можно передавать звук через обычный динамик, но такой вариант крайне не желательный, во-первых появляются дополнительные помехи, ухудшающие качество передачи данных, во-вторых, просто неудобно работать, набирать текст, если рядом что то постоянно жужит.
Driving device
Схема состоит из микроконтроллера AVR (ATTINY2313) и нескольких дополнительных элементов. В микроконтроллер необходимо записать программу и установить режим работы от внешнего кварцевого генератора. На вывод 20 микроконтроллера подается плюс от блока питания, а на вывод 10 общий провод. Прямо к этим выводам необходимо подключить конденсатор 0,1 мкФ (на схеме не показано). Блок питания так же не показан на схеме, он должен выдавть 5 вольт и ток достаточный для питания клавиатуры (500 мА). Например я использую зарядное устройство от КПК.
Отладка и настройка устройства
К сожалению не всегда возможно добиться качественной работы схемы на конкретном устройстве. Причина в том что в КПК входной сигнал подвергается разнообразным преобразованиям на аппаратном и программном уровнях. Например усилению с регулировкой коэффициента, фильтрование нижних/верхних частот, удаление эха и т.д.
В программе предусмотрен вывод следующей отладочной информации.
Levels | Первое число показывает минимальный уровень, потом средний, и последнее — максимальный. Средний уровень должен быть равен 127±8, минимальный должен быть около 33±32, а максимальный около 222±32. Уровни настраиваются подбором резистора R4. |
BitCount/BadBits | Общее число полученых бит и сколько из них получено с ошибкой, первое примерно постоянное, второе в нормальном режиме равно нулю. |
PassLevel | Состояние связи: 0 — нет сигнала, 3 — связь с микроконтроллером есть, 1 и 2 — промежуточные состояния. |
PhaseShift | - |
Recieved | Содержимое приемного буфера, показывает последние принятые от клавиатуры данные. Сдвигается при нажатии на клавиши. |
Программа для КПК
Программа не требует установки, ее достаточно скопировать в любую удобную папку PDA и оттуда запускать. Для работы программы требуются минимальные ресурсы (загрузка 200 МГц процессора 1..2 процента). Поддерживаются версии ОС начиная с PocketPC 4.2 (Windows Mobile 2003) до Windows Mobile 6.5.
Source: http://safonnikov.name