Может и баян но вот сегодня наткнулся на проектик - может кому пригодится.
http://megajohn.embedders.org/mjproj...w0=1&w1=1&w2=1
Вид для печати
Может и баян но вот сегодня наткнулся на проектик - может кому пригодится.
http://megajohn.embedders.org/mjproj...w0=1&w1=1&w2=1
Удаление в знак протеста против действий MM
Удаление в знак протеста против действий MM
Это крайне рискованные эксперименты. Если в комплекте с USB клавой такого переходника не было - клава может и не понимать PS/2. Тут нужно разбирать USB-приемник клавы и смотреть мануал на м/с в нем.
Разберусь с Гонбесом, распотрошу Майскрософтовую клаву - все равно никто покупать/менять ее не хочет.
А вообще, чтобы подключить USB HID Only клаву (в том числе и беспроводную), адаптер надо клепать не на АТмеге, а на чем-то посерьезнее, вроде STM32 со встроенным USB OTG, у них в примерах программ, вроде-бы, есть подключение к нему USB HID.
Впрочем, на мой взгляд, беспроводная клавиатура - лишняя сущность. Вот беспроводная мышка - бесспорное благо, а зачем клавиатура? Ее место перед экраном, один раз пристроил, и забыл о ее проводе...
- - - Добавлено - - -
Ни разу не видел. В смысле USB-шных фитюлек с двумя PS/2 портами для мышки и клавы валом, а наоборот, ИМХО, не бывает.
Удаление в знак протеста против действий MM
Удаление в знак протеста против действий MM
Удаление в знак протеста против действий MM
И не должно.
Крайне сомнительно. Зачем USB-шному гаджету, который держит связь с клавиатурой, сочинять универсальный интерфейс USB/PS2 ? Это же не сама клавиатура, к которой можно по выбору припаять шнурок PS/2 или USB и, поэтому, встраивание универсального интерфейса оправдано...
- - - Добавлено - - -
Увы, скорее всего, для подключения нормальной беспроводной клавиатуры придется озаботиться USB-хостом (либо ставить МК с USB OTG, например, какой-нибудь STM32, либо эмулировать на обычном МК хост USB 1.1) и сочинять для него хостовый драйвер USB HID. То есть много работы с которой не каждый справится.
Удаление в знак протеста против действий MM
А не поделится ли кто-нибудь из повторявших конвертер из 1-го поста опытом, какие выставлять fuse биты при прошивке atmega162 ?
Вроде так:
FUSES=11001111
Это из файла проекта IAR Embedded Workbench.
Вот что есть в логе:
Fuses
OSCCAL = 54
CKDIV = 1
CKOUT = 1
SUT = 0
CKSEL = F
BLB1 = 3
BLB0 = 3
OCDEN = 1
JTAGEN = 1
WDTON = 1
EESAVE = 1
BOOTSZ = 0
BOOTRST = 1
M161C = 1
BODLEVEL = 7
Сейчас система, где все это делалось, на другом диске и где еще можно глянуть - не знаю. Плюс я в программировании МК то еще дерево ...
Спасибо большое!
Просто сегодня прошивал МК и после того, как воспользовался калькулятором фьюзов, "ушатал" его, хотя SPIEN и другие критичные вроде не трогал...
В программировании МК тоже не разбираюсь. Обычно выполняю рекомендации разработчиков...
:(
Кстати, а русские буквы эта клава обрабатывает? А то здесь есть одна проблема, о которой, обычно, не задумываются.
Нормальные отечественные клавы имеют раскладку jcukeng. И когда нажимаешь клавишу J/Й, клавиатура посылает какой-то скан-код - на обычных терминалах - 112, на УКНЦ/Э-85/КСМ/КЦГД - какой-то свой, который после преобразования превращается с тот же 112. Ну, или в 142, если еще нажат Shift или включен CapsLock (ФВР). И этот код без дальнейшей обработки отдается в центр. И только потом, когда из центра этот код возвращается для эхоотображения, аппаратура и/или программа дисплея смотрит индикатор РУС/ЛАТ и рисует Й или J, в зависимости от его состояния.
Но на писюшной клаве НЕТ клавиши J/Й!.. У нас есть клавиши Q/Й и J/О, так, что где-то надо помнить, какой язык набора сейчас включен, и, соответственно, какой код отсылать при нажатии клавиши, допустим, Q/Й - 112 (й) или 121 (Q).
Решений этой проблемы ровно два.
Первое - забить. Забыть о том, что есть русские буквы, отдавать всё, "как есть". В этом случае попытка набрать что-то по-русски превращается в очень увлекательное занятие, сопровождаемое каскадами ненормативной лексики. Впрочем, большинству игрушек русские тексты не нужны и даром, а нормальной работы на наших любимых машинках не предвидится, так, что это вполне терпимое решение.
Ну, и второе решение - завести отдельный индикатор РУС/ЛАТ для клавиатуры, который будет помнить, какой вариант клавиатуры включил оператор. В предложенном варианте адаптера для сабжевого подключения его надо размещать внутри программы микроконтроллера.
Так вот, вопрос, как решили эту проблему здесь? (Подозреваю, первым способом...)
P.S.
Эта же проблема вылезла и на эмуляторе Патрона. Там, конечно, проще, эмулятору доступен индикатор РУС/ЛАТ терминала и Патрон сделал по-простому: если этот индикатор стоит в РУС, клавиатура включается русская, если в ЛАТ - английская. В большинстве случаев это годится, но есть несколько программок и одна ОСь (целая ОСь - ДИАМС), где это не работает.
Впрочем, Патрон грозился свой эмулятор подправить, а УКНЦ-шке ДИАМС не грозит никоим образом - там нужен ВМ3, так, что первый способ для УКНЦ - действительно терпимое решение...
Обрабатывает. Задумывался. Тем более, что проблема ГОРАЗДО обширнее чем кажется. Т.к. на клавиатуре УКНЦ есть символы и кнопки которых просто нет на клавиатуре IBM. Например - НАДчеркивание и АЛФ. Поэтому текстового поля PS/2 клавиатуры тупо маловато и пришлось извращаться.
Мы не ищем легких путей, поэтому соответствие раскладок было в ТЗ изначально.
Не нужно забывать, что на клавиатуре УКНЦ присутствует клавиша РУС-ЛАТ (она же АЛФ), которую тоже надо обрабатывать. Поэтому нужно было просто привести раскладки в соответствие. Хотя это тот еще гемор...
Проблему - решили, буквы - распихали. Получилось, наверное, так себе, но тут уж - как умею.
В общем, как-то так получилось:
https://img-fotki.yandex.ru/get/5501...346_af64489a_S
Удаление в знак протеста против действий MM
Помогите пожалуйста.
Собрал переходник, но он почему-то не работает.
Клавиатура запускается, переключается NumLock, CapsLock, ScrollLock.
Подключился серийным интерфейсом к 5 ноге Atmega. скорость порта 9600
при нажатии на клавиши выдает:
кнопка: 1 - 89FD09FF
2 - 88FD08FE
3 - 89FD09FF
4 - 8AFD0AFE
5 - 8BFC0AFF
6 - 8BFD0AFF
7 - 8BFD0BFF
8 - 8CFD0CFE
9 - 8CFC0DFE
0 - 88FD08FF
В общем скан коды неправильные выдает.
Частота вроде правильная 20Мгц(по частотомеру),(но осциллографом посмотреть не могу не берет такую частоту).
Fuse прошивал lowbyte 0xCF highbyte 0xD9 и пробовал lowbyte 0xFF, без отличий.
Куда копать не понятно?
Странно. Та же вроде 14745600Hz должно быть?
Попробуй вот эту прошивку: Вложение 61343
Я имел в виду частота на Atmega162 - 20мгц кварц стоит по схеме.
Прошил вашу прошивку, картина изменилась. Но сканкоды все ровно не правильные:
1 - 88 42 FE 08 82 01 09 F9
2 -88 62 FF 08 82 00 89 FA
3 - 08 4A FE 08 82 00 09 F9
4 - 08 6A FF 08 82 00 89 F9
5 - 08 6B FF 08 82 00 89 FA
6 - 88 4A FF 08 82 01 09 F9
7 - 88 4A FF 08 82 00 09 FA
8 - 88 6B FF 08 82 01 89 FA
9 - 08 A1 FE 08 82 01 0A F9
0 - 08 91 FE 08 82 00 8A F9
Мда пригляделся я к первой фото (на сайте) собранной платы и там видно кварц 14.7456мгц, а на схеме 20мгц!
Поставил кварц на 14.7456мгц и все заработало. Надо на схеме поменять частоту кварца!
Удаление в знак протеста против действий MM
Да, сканкоды пошли правильно. Подключил к Укнц плате, клавиатура работает.
А что не должно было заработать?
- - - Добавлено - - -
Подключил через 5см шлейф, резисторы подтяжки поставил(R4-R11), диоды не ставил, все делал по схеме.
http://storage6.static.itmages.ru/i/...4cd7add6ab.jpg
http://storage7.static.itmages.ru/i/...bf08c23a8e.jpg
Хм ... Забавная хренотень получилась.
Прошивка нужна только для обработки PS/2 кодов - обычные замыкания можно вешать прямо на контакты клавиатуры (матрица клавиатуры именно на замыкание и работает). Проблема при "привинчивании" джойстика будет в следующем: у джойстика кнопки, обычно, замыкаются на один общий провод, а тут могут потребоваться раздельные не только выходные, но и входные линии.
Или цеплять джойстик на контроллер, но тогда требуется изменять прошивку под него.
MacBuster, а почему принтерный порт для джойстика не использовать, учитывая, что есть практически готовая программа поддержки под RT-11 и как минимум 1-я леталка под него готовая уже. Хотя я не видел ни одного в реале рычага к УК-НЦ подключенного (поскольку все игры под клавиатуру написаны!).
в архиве на дискетах Арсения (образ game.dsk - в разделе УК-НЦ (папка arsUKNC).Код:JOIST .SAV 20 10'240
JOIST .LST 5 2'560
.TYPE JOIST.LST
ПРОГРАММИРОВАНИЕ ДЖОЙСТИКА НА УК-НЦ
РУКОВОДСТВО ОПЕРАТОРА
1. НАЗНАЧЕНИЕ
Программа JOIST.SAV предназначена для программирования
последовательностей кодов, выдаваемых джойстиком.
2. МЕТОДИКА РАБОТЫ.
Программа JOIST.SAV имеет два режима работы:
1) программирование (редактирование)
последовательностей кодов, выдаваемых
джойстиком.
2) запись на периферийный процессор подпрограммы,
посылающей на экран при работе с джойстиком
последовательности кодов, заданные в режиме 1.
Для хранения нескольких вариантов программируемых последо-
вательностей кодов можно задавать программе другие имена.
(1) РАБОТА В РЕЖИМЕ ПРОГРАММИРОВАНИЯ
--------------------------------
Запуск: R[U] JOIST Z либо
R[U] JOIST
Джойстик, режим P или Z?Z
На экране прорисовываются 2 таблицы кодов (для левого и
правого джойстиков). Перемещаться по таблице можно
при помощи клавиш-стрелок (вверх, вниз, влево, вправо).
В строках таблицы указаны направления перемещения ручки
джойстика и названия его кнопок, а также соответствующие
им последовательности кодов, выдаваемые при работе с
джойстиком на экран. Каждая последовательность содержит
не более 4-х кодов.
Установите курсор в нужную позицию таблицы. При нажатии
клавиши "Z" курсор переходит в строку с кодами. Задайте
нужную последовательность символов (нажатием соответст-
вующих клавиш). Не алфавитно-цифровые символы заменяются
на экране их восьмеричным кодом. В конце последоватьности
нужно нажать ВК или ПС. Если набраны 4 кода, то ввод пре-
кращается автоматически.
Для выхода нажмите клавишу "К".
(2) РАБОТА В РЕЖИМЕ УСТАНОВКИ.
--------------------------------
Запуск: R[U] JOIST P либо
R[U] JOIST
Джойстик, режим P или Z?Р
В этом режиме на периферийном процессоре запускается
подпрограмма, посылающая на экран при работе с джойстиком
заданные в режиме 1 последовательности кодов .
- - - Добавлено - - -
я так понимаю на дисплей (терминал?) ???
Ссылка уже не работающая, но удалось восстановить данные с помощью сайта webarchive.org
Вложение 70347
Вложение 70343
Вложение 70344
Вложение 70345
Вложение 70346
проще было искать тут
https://mirrors.pdp-11.ru/search.php...s2+uknc&page=1
Никак не могу найти схему стандартной клавиатуры от УКНЦ и как она подключается. Киньте доку или ссылку, у кого есть.
паспорт со схемой
https://forum.maxiol.com/index.php?s...ndpost&p=52179
Подскажите пожалуйста, какие префиксные ( в основном отмеченные голубым цветом - АР2, УПР и др.) клавиши могут нажиматься одновременно ?
https://pic.maxiol.com/thumbs2/15718...ddxuaauuo5.gif
Пока вот прикидываю - может сделать переходник на Н1806ВМ2 ?
Коммутаторы кнопок - 12 шт. ЭКФ1561КП2В, СОЗУ - КР537РУ11, 1801РР1, мелкота ЭКФ1564.
Тактовая ВМ2 - 5.5 мгц. Регистры для управления КП2 - ЭКФ1564ИР37, програмное декодирование PS/2 посылок.
Какой может быть размер платы, штоб влезло в УКНЦ ?
*
Еще вопрос - автозагрузка с диска в УКНЦ не предусмотрена ?