реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Контроллер PC/AT клавиатуры на AVR
Serg_Sm
сообщение Jan 13 2009, 13:11
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Может кто видел исходники на C реализиции контроллера PC/AT клавиатуры?
Не хочется изобретать велосипед делая все с нуля. Поискал по инету - реализаций подключения клавиатуры к AVR есть, реализация маленьких клавиатур тоже, исходники на асемблере можно найти. А вот исходников на С не нашел.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jan 13 2009, 13:16
Сообщение #2


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Видел, видел. Недавно раздавал. У гугля спросИте "PS/2 Keyboard + AVR"
И будет счастье. В первых 5 строчках.
Немного соврал, но неважно.
Вот: http://www.google.com/search?hl=ru&q=P...&lr=lang_ru


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Jan 13 2009, 13:48
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Я же вроде ясно написал - мне не надо подключать клавиатуру к AVR! Нужно сделать клавиатуру (опрос матрицы, взаимодействие с хостом) на AVR.
Если перейдешь по своей же ссылке, то увидишь, что там такого нет.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 13 2009, 16:40
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Serg_Sm, эта тема (клавиатура PS/2 на МК) обсуждался на форуме неоднократно. Приводились ссылки на описание протокола клавиатуры PS/2, алгоритмы опроса и устранения дребезга и на Application Notes от фирмы Atmel, где есть примеры реализации. Для поиска общей информации пользуйтесь активнее поиском по форуму и сайту фирмы Atmel! А здесь задавайте уже конкретные вопросы по вашей реализации устройства, если что-то не получается.
Go to the top of the page
 
+Quote Post
VDG
сообщение Jan 13 2009, 22:18
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 845
Регистрация: 10-02-06
Пользователь №: 14 193



Всё что в сети лежит на 30% друг другу противоречит. Вообще, вещь которая и БИОСОМ и Windows видна как родная и конфигурируется ими в автомате, бесплатно не найти. Я не нашёл на халяву в свое время, поэтому всё делал и вылизывал ручками. В сети есть пдф какого-то то ли института, то ли группы разработчиков. Вот на него надо опираться, остальное - радиолюбительское фуфло.


--------------------
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Jan 14 2009, 07:02
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



To rezident:
Здесь вопрос был задан именно после долгих поисков в интернете. На этом сайте ничего полезного нет - на поиск я потратил значительно больше чем 5 минут. На том же сайте атмела указывается только вариант простенькой 4х4 клавиатуры и подключения клавиатуры к контроллеру. Конечно не буду отрицать, что я может чего упустил - вот поэтому и запостил сюда вопрос.
Алгоритмы опроса и избавления от дребезга меня не интересуют - я ясно написал, что не хочу изобретать велосипед (но это не значит, что я не могу это сделать). Сроки по проекту как всегда "позавчера", и делать клавиатуру на 80% соответствующую стандартной с нуля меня не очень прельщает (других дел полно).
Отдельное спасибо за то что переместили мою тему в раздел "В помощь начинающему". Как вижу тут каждый спец по клавиатурам smile.gif

Единственный нормальный ответ - VDG:
Спасибо, в общем нечто подобное я и предполагал. Еще не удалось найти подробной инфы, в частности организацию таблицы кодировок. Из-за этих мелких вещей вот и боюсь, как бы клавиатура с моей прошивкой не выдала бы ерунды в каком-нибудь экзотическом случае.
Пдф о котором вы говорите пока не обнаружил - поищу еще.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jan 14 2009, 08:08
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Serg_Sm @ Jan 14 2009, 10:02) *
Еще не удалось найти подробной инфы, в частности организацию таблицы кодировок.
Вот это - видели? http://www.platan.ru/shem/pdf/st44-50.pdf Или речь о другом?
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Jan 14 2009, 08:12
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Это у меня есть. Но к сожалению там не все описано.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jan 14 2009, 08:23
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Обычно стоит задача обратная Вашей - подключение к МК стандартной клавиатуры (цена то ей 100 рублей). Так-что, готовое решение, имхо, найти вряд ли удастся... Наверное, Вам всё же прийдется разрабатывать её с нуля. Если у Вас не хватает какой-то информации для этого, так Вы её конкретно и спросите - возможно у кого-то она есть, или знает где взять.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jan 14 2009, 08:47
Сообщение #10


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



А вроде бы раньше были микрухи - стандартные контроллеры клавиатуры?
Или я путаю чего?
Надо старинную клаву расколупать и посмотреть, что там стоит


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Jan 14 2009, 09:35
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Стандартные контроллеры не подходят по нескольким причинам - они заточены под конкретные матрицы, а желательно сделать ПО легко настраиваемое под конкретную матрицу + требуется организовать несколько иной алгоритм опроса, да и PS/2 не нужен - данные идут через UART. Цена конечной версии клавиатруры естественно будет в несколько раз дороже 100р smile.gif область применения весьма специфическая.

А что касается того, что мне непонятно: Таблицы скан-кодов 1,2,3 - отличаются ли они для русской клавиатуры? И если да, то нужно их описание. Алгоритмы обработки нажатия одновременно нескольких клавиш, до 3 и более (работа с автоповтором, когда производится отсылание кодов отжатий, обработка ошибки сканирования) - кстати в разных клавиатурах это организовано по разному, возможно зависит от матрицы. Это то что приходит на ум пока я этим плотно не занялся, вероятно дальше число вопросов увеличится.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jan 14 2009, 10:36
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Serg_Sm @ Jan 14 2009, 12:35) *
Таблицы скан-кодов 1,2,3 - отличаются ли они для русской клавиатуры? И если да, то нужно их описание.
В наших клавиатурах используется таблица 2. Это написано в статье, ссылку на которую приводил выше. Там же и сама таблица.
Цитата(Serg_Sm @ Jan 14 2009, 12:35) *
Алгоритмы обработки нажатия одновременно нескольких клавиш, до 3 и более (работа с автоповтором, когда производится отсылание кодов отжатий, обработка ошибки сканирования) - кстати в разных клавиатурах это организовано по разному, возможно зависит от матрицы.
При нажатии нескольких клавиш: код нажатия и отпускания - в соответствии с порядком нажатий/отпусканий; автоповтор - только для последней нажатой и не отпущенной. При одновременном нажатии большого числа клавиш - коды начиная с некоторой не передаются (определял эксперементально), т.е. как-будто и не нажимались (речь, естественно для клавиш типа буква/цифра, всякие Ctrl и им подобные - нажатие/отжатие передаются всегда). Автоповтор прекращается, если удерживаем клавишу и нажали/отжали управляющую (Shift и др) (по эксперименту). Автоповтор некоторых клавиш - не производится: Ctrl, Shift, Alt, NumLock, CapsLock, ScrollLock, PrintScreen, Pause.
P.S. Соврал: автоповтора нет только для Pause
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Jan 15 2009, 08:15
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Про 2 таблицу понятно, а что делать если придет запрос на установку другой кодовой таблицы?
Что с передачей ошибки сканирования при нажатии большого числа клавиш? Передаются ли после неё коды отпущенных клавиш (если были нажаты ранее)?
Вот мне не нравиться, что информацию приходиться получать из экспериментов. Где бы стандарт описывающий AT клавиатуру найти?

PS: Вот нашел, похоже самое подробное описание что я видел:

http://download.microsoft.com/download/1/6...6c/scancode.doc
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 03:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.02213 секунд с 7
ELECTRONIX ©2004-2016