Страница 1 из 1
преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Пн фев 03, 2014 10:21:24
WatchCat
Случилось у меня несчастье - издох китайский преобразователь интерфейса PS/2->USB. Там внутри бескорпусная микросхема в виде капли - она и умерла. Теперь не могу пользоваться своей любимой клавиатурой редкой модели так как в компе нет порта PS/2. Добыть такой переходник в сельской местности где я живу - не реально,его и в Питере-то несколько лет назад изрядно поискать пришлось,несколько дней по магазинам бегал.
Но дома есть Атмеги - на них можно реализовать такой преобразователь интерфейса. Только вот если с интерфейсом PS/2 проблемы нет,он очень простой, то в USB сам черт ногу сломит,запрограммировать эмуляцию HID-клавиатуры я затрудняюсь.
Однако если мне память ни с кем не изменяет - видел я где-то в сети описание такого преобразователя с исходником программы. Если кому-то из присутутвующих попадалось - дайте пожалуйста ссылку,а то у меня что-то не получается найти через мой медленный радиомодем.
Re: ищу преобразователь интерфейса PS/2->USB на микроконтрол
Добавлено: Пн фев 10, 2014 01:36:28
WatchCat
Отвечаю сам себе:)
Нашел изделие некоего японца - целый комплект программ для подключения всяких клавиатур к USB,в том числе ps/2,что мне и требовалось.
http://geekhack.org/index.php?topic=14618.0Сделан он под всякие продвинутые модели микроконтроллеров от Atmel.
А у меня в сельской местности только Atmega8 на чердаке нашлась.
Нарисовал схему,собрал на макетке.
Переделал программу: во-первых японец похоже давно не проверял собирается ли оно у него с VUSB после очередных правок. Так вот могу ему сказать - не собирается:) Поправил. Добавил в конфиг функции и настройки для работы на Atmega8. Повыключал ненужные мне возможности создания клавиатурных макросов - а то код в память не влезал.
Теперь влезает и даже несколько сотен байтов свободных осталось.
Зашил,подключил - кажется работает. За ночь тестирования видел только один глюк при переключении на русский в Xorg - ничего не набиралось. Пара переключений туда-обратно и заработало. Возможно виноваты помехи. Я на подтягивающих резисторах со стороны клавы сэкономил.
Если будет глючить - припаяю.
Прилагаю свою схему и diff к японским исходникам. Если кто-то умеет писать по-японски или хотябы по-английски - отправьте пожалуйста этот diff японцу.
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Пт фев 14, 2014 17:46:17
WatchCat
Понял в каком случае возникает редкий глюк клавиатуры.
У меня в XOrg запоминается состояние рус/лат для каждого окна.
А индикация выведена на светодиод ScrollLock на клавиатуре.
И если быстро переключать окна,то комп быстро посылает клавиатуре команды на переключение светодиода. И в некоторых(редких) случаях по всей видимости микроконтроллер не успевает обрабатывать пакеты USB - обработка ведь программная.
Вот тогда он и взглючивает.
Так что рекомендуется в случае использования этого преобразователя интерфейса отказаться от индикации рус/лат светодиодом на клавиатуре,а пользоваться экранным индикатором.
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Чт фев 20, 2014 14:22:27
WatchCat
После отказа от индикации состояния переключателя рус/лат светодиодом ScrollLock на клавиатуре - глюки исчезли,за несколько дней пользования - ни единого сбоя. Доволен изделием как слонЪ. Можно повторять и пользоваться:)
Тем более что там в исходниках можно накопать варианты для подключения к компу всяких экзотических клавиатур(а то и свой дописать) - отличный вариант для "моддинга".
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Пн апр 28, 2014 12:10:13
Valentin_N
Спасибо! очень помогли с адаптацией для atmega8. Реально работает

есть несколько вопросов
После отказа от индикации состояния переключателя рус/лат светодиодом ScrollLock на клавиатуре - глюки исчезли
А где отключали? (может в будущем пригодится)
В Вашей схеме есть светодиод на PC0 - для чего? (не нашел где он используется)
И еще один вопрос, файл diff какой программой создавали?
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Ср май 07, 2014 15:04:30
WatchCat
Valentin_N писал(а):Реально работает
Рад что хорошему человеку пригодилось!
Еще бы найти кого-нибудь кто японский знает чтобы diff автору софта отправить.
ScrollLock на клавиатуре - глюки исчезли
А где отключали?
В файле xorg.conf естественно.
В Вашей схеме есть светодиод на PC0 - для чего?
использовался для отладочных целей,да так и остался.
вещь не обязательная.
И еще один вопрос, файл diff какой программой создавали?
Программа так и называется - diff.
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Ср янв 21, 2015 15:06:38
WatchCat
Откопал причину редких (пару раз в месяц) глюков,причем не только этого устройства,а и китайской мышки тоже.
Оказалось что в линуксе стоит слишком маленький таймаут на активацию устройства после выхода из спящего режима.
Баг этот старый,2013 года,но в ядрах для архитектуры ARM по сей день присутствует.
Краткое описание тут:
https://xakep.ru/2013/08/23/61125/Ищем TRSMRCY и рядом меняем цифирку 10 на 20. Нашлось в пяти местах,не знаю все ли используются,но поменял все. Вроде как с тех пор больше мой конвертор не отваливался.
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Пт мар 11, 2016 00:26:20
wild1675
Приветствую!
Не сочтите за наглость - можете поделиться скомпилированным файлом прошивки? Не смог разобраться в исходниках и diff на винде далек от совершенства, а линукс для меня - темный лес...
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Пн мар 28, 2016 11:57:50
WatchCat
Специально порылся в старом ноутбуке,кажется прошивка была вот эта
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Вс апр 08, 2018 01:11:37
nikfel
В схеме STK200 что означает - гнездо подключения программатора или что?
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Вс апр 08, 2018 23:56:30
Valentin_N
[uquote="nikfel",url="/forum/viewtopic.php?p=3349035#p3349035"]В схеме STK200 что означает - гнездо подключения программатора или что?[/uquote]
Все верно, разъем для подключения программатора
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Пн авг 27, 2018 19:36:23
SergLi
Данный преобразователь только с клавиатурой работает или с мышкой тоже?
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Пн авг 27, 2018 21:52:38
musor
глупо сейчас делать такое проще взять другой клаф илит другой мыш ну или тупо перепаять штекер нынешние клавы умеют работать по 2 протоколам автоматом распознавая интерфэйс
иногда даже пасивный переходник прилагался в комплекте но даже если его нет то 99% b[ поддерживают просто перпаять штекер
Re: преобразователь интерфейса PS/2->USB на микроконтроллере
Добавлено: Вт сен 18, 2018 02:26:20
WatchCat
Преобразователь работает только с клавиатурой.
А про глупость изготовления скажу что предназначен он для подключения экзотических клавиатур в целях например моддинга или по причине личных пристрастий к какому-то определенному типу или даже экземпляру клавиатуры. Например немало любителей старых клавиатур от IBM. Model M в частности.
Впрочем - "взять другую клавиатуру" тоже не всегда проще. Я живу на острове посреди Финского залива и тут имеет место быть такое незнакомое типичным горожанам явление как распутица. И вот у меня дома оказалось штук пять ps/2 клав и умерла последняя usb. А основной комп - одноплатник на ARM (в целях энергоэффективности ибо полная автономка) и имеет только usb разъемы. Вот и сделал преобразователь из того что дома нашлось чтобы месяц без компа не сидеть. А нашлась естественно мелкая атмега.