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

 
 
 
Reply to this topicStart new topic
> AVR и клавиатура AT, проблемы обмена между устройствами
manul78
сообщение May 15 2007, 19:52
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Прошу по возможности подкинуть идей в реализации следующей проблемы :

Получение скан кодов от клавиатуры, это давно уже описано в AVRовских аннотациях
и тд. и тп.
Данный этап я прошел, довольно быстро и труда он не составил, но вот передача управляющих
команд в клавиатуру...
И это я тоже реализовал. Но проблема в задержках. Все это очень напоминает разговор
суперсоника с черепахой выпившей тормозной жидкости.

КЛАВИАТУРЫ РАЗНЫХ ПРОИЗВОДИТЕЛЕ РАБОТАЮТ НА РАЗНЫХ ЧАСТОТАХ !
Раньше, в ранних 90-х, когда клавиатура стоила приличных денег, внутри стояла микросхема
контроллера и иногда даже кварц !. Сейчас все гораздо проще, "сопля" как в катридже от
денди, и что там тактит её - неизвестно. Тактовая пляшет от 10 до 40 кГц, вот тут я подхожу
к проблеме. Устроиство на AVR контроллере настроенное на одну клаву, может отказаться
работать с другой. Так вот, хочу спросить Вас уважаемые, дабы не плутать мне в темноте
может кто нибудь уже сталкивался с проблемами самонастраивающихся систем ?

Я хочу попробовать засылать в подопытную клаву "пустую" команду в самом начале,
эдакий пробный шар. И считать временные промежутки между CLOCK (и прием и передачу
тактит клавиатура) сигналами , дабы
вычислить тактовую частоту клавиатуры. А уж после обмениваться индивидуально.

Эсли кто-то уже проходил это - прошу ответить, дабы я не наступал на грабли и не
тратить время на пустую работу. unsure.gif


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 16 2007, 01:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(manul78 @ May 16 2007, 02:52) *
Тактовая пляшет от 10 до 40 кГц, вот тут я подхожу
к проблеме. Устроиство на AVR контроллере настроенное на одну клаву, может отказаться
работать с другой. Так вот, хочу спросить Вас уважаемые, дабы не плутать мне в темноте
может кто нибудь уже сталкивался с проблемами самонастраивающихся систем ?

А какие проблемы, если все общение с клавиатурой ей и тактируется. Сие заложено в физический протокол - ни настроеек, ни подстроек ни проблем. Какие могут быть проблемы если данные сопровождаются клоком???
Цитата
Но проблема в задержках. Все это очень напоминает разговор
суперсоника с черепахой выпившей тормозной жидкости.

Если речь идет о таймаутах на получение подтверждений о выполнении команд и из разбросах времен у разных клавиатур, то они имеют место быть, ну и что?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
AndryG
сообщение May 16 2007, 01:15
Сообщение #3


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

Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317



Могу только подтвердить слова zltigo. Клавиатура сама генерит клоки ... вот по ним и работаем ... клавиатура на прерывании висит ... какая разница, какая частота - лишь бы не 1Мгц smile.gif
Сам подключал клавиатуры ... с десяток устройств работает и не жалуются ... и клавы разные, видать.
Go to the top of the page
 
+Quote Post
manul78
сообщение May 16 2007, 05:04
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Если речь идет о таймаутах на получение подтверждений о выполнении команд и из разбросах времен у разных клавиатур, то они имеют место быть, ну и что?
[/quote]

Вот здесь то я и зарылся, не все команды отвечают ACK ($FA), поэтому моя программа начинает
загонять в клаву следующую команду - и в результате куча тактов от нее, происходит рассогласова-
ние ХОСТА с Девайсом и в плоть до того что моя программа либо висит либо порет чушь...

Если есть у кого рабочие алгоритмы обмена, не протоколы, а алгоритмы - скиньте пожалуйста !

Проблемные команды: ($FB) установка typematic для одной клавиши.
($FD) установка make/break для одной клавиши.
($FC) установка make для одной клавиши.


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
manul78
сообщение May 16 2007, 13:58
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Хочу спросить у знающих людей еще следующее...

Кое как с таймаутами я разобрался, не проблема.

Но не все команды работают, что это ? Может их исключили по ветхозаветности ?

Привожу полный список команд :

$ED - светодиоды (работает)
$EE - ЭХО (работает)
$F2 - Передача ID (работает)
$F3 - Задержка и повтор режима TYPEMATIC (работает)
$F4 - Разрешение скан. и передачи кодов (работает)
$F5 - Запрещение скан. и передачи кодов (работает)
$FE - Повтор последней команды (работает)
$FF - Сброс (работает)

$F7 - TYPEMATIC для всех ( НЕТ)
$F8 - MAKE/BREAK для всех (НЕТ)
$F9 - MAKE для всех (НЕТ) - Больше всех нужно crying.gif
Данные три отвечаю $FA(ACK) но результатов никаких

$FB - TYPEMATIC для одной (НЕТ)
$FC - MAKE/BREAK для одной (НЕТ)
$FD - MAKE для одной (НЕТ)

А вот эти, просят повторить команду ($FE) а иногда "вешают" клавиатуру !

"НЕ корысти ради, а токомо волею просившей мя почившей супруги прошу"

Ответьте, что это протокол у меня неправильный, или я сам виноват ? wacko.gif


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
manul78
сообщение May 17 2007, 13:12
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Господа ПОМОГИТЕ Христа ради, может у кого протоколы обмена есть...

Половина команд в клаве не работает, может их вообще упразднили за ненадобностью...?


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 17 2007, 13:38
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(manul78 @ May 17 2007, 16:12) *
Половина команд в клаве не работает, может их вообще упразднили за ненадобностью...?

Почему-бы и нет, если ненадобность их видна не вооруженным взглядом? Да и из какого документа Вы их выцарапали?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
vitko
сообщение May 17 2007, 15:16
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 8-03-06
Из: Kyiv, UA
Пользователь №: 15 066



Может и упразднили
Вот тут написано:

http://www.computer-engineering.org/ps2keyboard/
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 17 2007, 16:00
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(vitko @ May 17 2007, 18:16) *
Может и упразднили
Вот тут написано:

Точнее получается и не вводили smile.gif вслед за фирмой IBM по причине полной ненадобности не на оригинальных PS/2 компьютерах.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
manul78
сообщение May 17 2007, 19:28
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(zltigo @ May 17 2007, 20:00) *
Точнее получается и не вводили smile.gif вслед за фирмой IBM по причине полной ненадобности не на оригинальных PS/2 компьютерах.


Нет Господа, я её победил !

Помог мне DeRUN из форума по интерфейсам. Огромный ему a14.gif

Он выложил PDFку с оригинальной спецификацией на клаву.

Дело там вот в чем, У AT клавиатуры 3 кодовых страницы, 1-ая и 2-ая в ROMе,
а вот 3-я в RAMe. Отсюда и запарка, ибо по умолчанию ставиться после сброса 2-ая,
она не изменяется никак.

А, по поводу ненадобности Вы зря, в стационарных компах, клаву обслуживает спец
контроллер, там все чут-ли не на аппаратном уровне. Памяти море, моща недюжая...
Подцепил библиотеку, и вперед. А вот попробуйте поплясать с 512 байтами памяти
простого AVR. Вот здесь то и нужны, установки клавы, дабы она поменьше пурги гнала
в контроллер, а то он только ней заниматься и будет !


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 17 2007, 19:44
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(manul78 @ May 17 2007, 22:28) *
А вот попробуйте поплясать с 512 байтами памяти
простого AVR. Вот здесь то и нужны, установки клавы, дабы она поменьше пурги гнала
в контроллер, а то он только ней заниматься и будет !

Ну тупо выкинуть лишнее не сложно, а вот городить огород с перепрограммированием, отлавливанием отключений/подключений клавиатуры, соответственно все это с таймаутами, квитированием...
Я делал для красоты небольшое управление клавиатурой, но это было на ARM под операционкой, где все проблемы взаимодействия с клавиатурой решались просто и непринужденно отдельной задачей.
А если в малюсеньком AVR, то скорее всего это будет хлопотнее тупого варианта.

P.S.
А документ действительно интересный!


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


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


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