Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Описание PS/2 на русском
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
SergSit
Может кто находил в инете реализацию PS/2 клавиатуру на AVR? Может кто сам делал? Подкиньте ссылочку плиз. На крайней случай описание протокола PS/2 на русском , желательно полное.
Igor26
Здесь есть кое что.
h..p://kazus.ru/articles/9.html
TomaT
Вот еще:
http://www.platan.ru/shem/pdf/st44-50.pdf
SergSit
Спасибо. Это я нашел, читал, полезно. Но хотелось бы более подробное описание или все таки оно только на англицком?
Nanobyte
Цитата(SergSit @ Oct 4 2006, 11:18) *
Но хотелось бы более подробное описание или все таки оно только на англицком?

Вот есть весьма толковое и подробное описание PS/2 для мыши и клавиатуры, правда оно на английском, но всё понятно расписано. В крайнем случае, можно скормить программе-переводчику.

Нажмите для просмотра прикрепленного файла
Laptop
Цитата(SergSit @ Oct 4 2006, 09:10) *
Может кто находил в инете реализацию PS/2 клавиатуру на AVR? Может кто сам делал? Подкиньте ссылочку плиз. На крайней случай описание протокола PS/2 на русском , желательно полное.

Все что я находил было на английском и во многих не расписаны подводные камни. При неполной реализации может работать не на всех компах. Протокол устаревает. Может проще USB сделать? У меня получилось.
Nanobyte
Цитата(Laptop @ Oct 4 2006, 11:52) *
. . . При неполной реализации может работать не на всех компах. Протокол устаревает. Может проще USB сделать? У меня получилось.

А при чём здесь комп? Подразумевается подключение готовой PS/2 клавы или мыши к устройству на МК.
SasaVitebsk
Цитата(Laptop @ Oct 4 2006, 10:52) *
Цитата(SergSit @ Oct 4 2006, 09:10) *

Может кто находил в инете реализацию PS/2 клавиатуру на AVR? Может кто сам делал? Подкиньте ссылочку плиз. На крайней случай описание протокола PS/2 на русском , желательно полное.

Все что я находил было на английском и во многих не расписаны подводные камни. При неполной реализации может работать не на всех компах. Протокол устаревает. Может проще USB сделать? У меня получилось.


Какие подводные камни. Сам протокол примитивен до безобразия. Я его реализовывал в 92 году на однокристалке с <400 тыс. операций с сек. (48).
Charlie
Цитата(SergSit @ Oct 4 2006, 08:10) *
Может кто находил в инете реализацию PS/2 клавиатуру на AVR? Может кто сам делал? Подкиньте ссылочку плиз. На крайней случай описание протокола PS/2 на русском , желательно полное.


У Атмела http://www.atmel.com/dyn/resources/prod_do...nts/DOC1235.PDF
Може у кого-нибудь есть документация на подключение USB-клавиатуры?
Laptop
Цитата(Nanobyte @ Oct 4 2006, 12:03) *
Цитата(Laptop @ Oct 4 2006, 11:52) *
. . . При неполной реализации может работать не на всех компах. Протокол устаревает. Может проще USB сделать? У меня получилось.

А при чём здесь комп? Подразумевается подключение готовой PS/2 клавы или мыши к устройству на МК.

Из первого поста следует обратное...
"Может кто находил в инете реализацию PS/2 клавиатуру на AVR?"
Автор подтвердит?
Laptop
Цитата(SasaVitebsk @ Oct 4 2006, 14:27) *
Цитата(Laptop @ Oct 4 2006, 10:52) *

Цитата(SergSit @ Oct 4 2006, 09:10) *

Может кто находил в инете реализацию PS/2 клавиатуру на AVR? Может кто сам делал? Подкиньте ссылочку плиз. На крайней случай описание протокола PS/2 на русском , желательно полное.

Все что я находил было на английском и во многих не расписаны подводные камни. При неполной реализации может работать не на всех компах. Протокол устаревает. Может проще USB сделать? У меня получилось.


Какие подводные камни. Сам протокол примитивен до безобразия. Я его реализовывал в 92 году на однокристалке с <400 тыс. операций с сек. (48).

Так я делал и хост и клавиатуру PS/2.
Я же не говорю что он сложный, просто большая часть описаний имеющихся в интернете не полная или чрезмерно упрощенная, что годится лишь для подключения к МК, а не реализации самой клавиатуры.
Для человека впервые столкнувшегося с этим и доверившемуся первому описанию это и будут сюрпризыsmile.gif
Реализовывал именно клавиатуру? Или просто подключал ее к МК?
SergSit
Всем спасибо. Да мне надо реализовать клавиатуру на AVR. Действительно все материалы , которые я нашел не полные. В каждом материале есть , что-то новенькое. Может есть у кого полное описание , пусть даже на англицком. Или ссылочку дайте, или хотя бы полное наименование документа. По тем описаниям , которые нашел, узнаёш новенькое , но возникает все больше вопросов.


Вот один из вопросов. При нажатии трех более клавиш могут возникать межсоединения. Об этом написанно в апноуте AVR243. Как с этим бороться, аппаратно или программно?
Есть ли вообще методы борьбы с этим явлением?
Nanobyte
Цитата(SergSit @ Oct 5 2006, 11:15) *
При нажатии трех более клавиш могут возникать межсоединения. Об этом написанно в апноуте AVR243. Как с этим бороться, аппаратно или программно?
Есть ли вообще методы борьбы с этим явлением?

Проще всего диодами.
Laptop
Цитата(SergSit @ Oct 5 2006, 11:15) *
Всем спасибо. Да мне надо реализовать клавиатуру на AVR. Действительно все материалы , которые я нашел не полные. В каждом материале есть , что-то новенькое. Может есть у кого полное описание , пусть даже на англицком. Или ссылочку дайте, или хотя бы полное наименование документа. По тем описаниям , которые нашел, узнаёш новенькое , но возникает все больше вопросов.

Если PS/2 не принципиален, делай лучше USB. Правда под серию VID и PID придется приобретать. $1500. Не уверен что через пару-тройку лет PS/2 в компах останется.
Поищу описание, может осталось.
Цитата(SergSit @ Oct 5 2006, 11:15) *
Вот один из вопросов. При нажатии трех более клавиш могут возникать межсоединения. Об этом написанно в апноуте AVR243. Как с этим бороться, аппаратно или программно?
Есть ли вообще методы борьбы с этим явлением?

Самый честный как указали выше только с диодами. А так обычно в современных клавах не поступают.
А так пуллапы на входах и включением драйвера с предварительно прописанным низким уровнем сканировать. Это чтоб избежать кз.
Еще есть метод с двойным сканированием, он быстрее, но годится только для одной нажатой кнопки.
Давным давно встречал схему от какой-то клавиатуры с тругольной а не квадратной матрицей.
ИМНО, с простыми методами, три кнопки уголком всегда засветят четвертую.
Разбери дохлую клаву и посмотри как марица устроена, наверняка расположением клавиш играются.
У клав сейчас матрица 18х8 = 144 клавиши, несколько избыточно выходит.
Зайди на www.holtek.com.tw они делают контроллеры клавиатур.
singlskv
Цитата(Nanobyte @ Oct 5 2006, 13:04) *
Цитата(SergSit @ Oct 5 2006, 11:15) *
При нажатии трех более клавиш могут возникать межсоединения. Об этом написанно в апноуте AVR243. Как с этим бороться, аппаратно или программно?
Есть ли вообще методы борьбы с этим явлением?

Проще всего диодами.

Если клавиатура "пленочная", то можно с диодами не замарачиваться,
там сопротивление контакта >1К.
Laptop
Цитата(singlskv @ Oct 5 2006, 15:28) *
Цитата(Nanobyte @ Oct 5 2006, 13:04) *

Цитата(SergSit @ Oct 5 2006, 11:15) *
При нажатии трех более клавиш могут возникать межсоединения. Об этом написанно в апноуте AVR243. Как с этим бороться, аппаратно или программно?
Есть ли вообще методы борьбы с этим явлением?

Проще всего диодами.

Если клавиатура "пленочная", то можно с диодами не замарачиваться,
там сопротивление контакта >1К.

Я подозревал подобный расклад, но не думал что они на это пойдутsmile.gif)))
А тут технологически получаетсяsmile.gif
Тогда остается только повесить транзисторы на входы, чтобы пороговое снизить и сканировать "1":)
singlskv
Цитата(Laptop @ Oct 5 2006, 20:33) *
Цитата(singlskv @ Oct 5 2006, 15:28) *

Цитата(Nanobyte @ Oct 5 2006, 13:04) *

Цитата(SergSit @ Oct 5 2006, 11:15) *
При нажатии трех более клавиш могут возникать межсоединения. Об этом написанно в апноуте AVR243. Как с этим бороться, аппаратно или программно?
Есть ли вообще методы борьбы с этим явлением?

Проще всего диодами.

Если клавиатура "пленочная", то можно с диодами не замарачиваться,
там сопротивление контакта >1К.

Я подозревал подобный расклад, но не думал что они на это пойдутsmile.gif)))
А тут технологически получаетсяsmile.gif
Тогда остается только повесить транзисторы на входы, чтобы пороговое снизить и сканировать "1":)

Китайцы считают что транзисторы это тоже лишнее.
Десяток транзисторов на каждую клавиатуру при миллионных тиражах,
это же миллионы $ smile.gif

Посмотрите на клавиатуре в пульте от TV, там нет ни диодов ни транзисторов. smile.gif
prottoss
Зачем диоды, транзисторы? Как правильно сказал Laptop
Цитата
...пуллапы на входах и включением драйвера с предварительно прописанным низким уровнем сканировать. Это чтоб избежать кз...
Вся матрица сканируется бегущим нулем, при этом ТОЛЬКО ОДИН вывод МК в каждом цикле сканирования является выходом, остальные входами с пулл-ап. Выявляются все нажатия...
SergSit
Еще раз спасибо. Извените за не привильно поставленный вопрос. Я имел ввиду , что при нажатии 3-х клавиш(если они находяться ,в матрице , под прямым углом) кажеться, что нажата еще одна клавиша. Это приводит к ошибке декодирования. Данное явление описанно в AVR243 который есть на qaw.ru на русском языке. Решение этой проблемы меня и интересует.

А по поводу возникновения КЗ при нажатии более одной клавиши, то полностью согласен с prottoss. Это лучший способ, не требующий дополнительных деталей. Только добавлю, что при такой схеме сканирования при выставлении нуля на одном столбце(или строке) можно одновременно опрашивать и столбцы и строки. Вследствиии ускоряется работа алгоритма декодирования.
chief_olimp
вот возьми может поможет...
Георгий
Сделать полную эмуляцию клавиатуры PS/2 не совсем просто, там есть свои тонкости, как уже кто-то отвечал. Если сделать просто выдачу кодов по протоколу PS/2 в комп, то клавиатура не подключится при старте компа. Она же не зря моргает глазами два раза при включении компа. Сначала идет ее обнаружение и инициализация биосом, затем системой. Я разбирался с этим вопросом, срециально снимал протоколы с линии, написал эмулятор клавиатуры 4х4, он поддерживает в том числе и одновременное нажатие нескольких кнопок. Раньше это было у меня на сайте, сейчас я сайт закрыл. Так что если кому интересно описание протокола, временные диаграммы и прочее - пишите gsb@gsb.kirov.ru.
SergSit
Спасибо и на том. Буду разбираться.
Георгий
Не получается отправить почтой, прикладываю файл здесь.
SergSit
огромное спасибо, появляется какая то ясность
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.