Обсуждение проекта Myp'a с сенсором от мыши

Обсуждаем рождающиеся мысли и результаты экспериментов.

Сообщение North » 17 окт 2006, 09:15

никто случаем не видел реализации мышиного протокола ps/2 на МК??? именно мышиного
клавиатуру подключают все кому не лень а вот мышу... не видел реализаций, только общие размышления


Ну вобщем я писал мышиный PS/2 протокол на меге 16. Даже работало. А что именно интересует?
Аватара пользователя
North
 
Сообщения: 197
Зарегистрирован: 27 июл 2005, 14:12
Откуда: Дмитров, Москва
прог. языки: С, asm

Сообщение avr123.nm.ru » 17 окт 2006, 12:19

Есть примеры в MikroC  - а он на заглавной странице курса. как обычно.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение Myp » 17 окт 2006, 15:51

North писал(а):
никто случаем не видел реализации мышиного протокола ps/2 на МК??? именно мышиного
клавиатуру подключают все кому не лень а вот мышу... не видел реализаций, только общие размышления


Ну вобщем я писал мышиный PS/2 протокол на меге 16. Даже работало. А что именно интересует?


вобще интересует как мыша инициализировалась?
по полной программе полная симуляция компьютера или достаточно отправить FF чтоб разрешить работать???
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение Myp » 17 окт 2006, 15:54

avr123.nm.ru писал(а):Есть примеры в MikroC  - а он на заглавной странице курса. как обычно.


ах какая жалось а я микропаскаль вчера скачал, там тока ps/2 клавиатура
решил вспомнить школу, турбопаскаль 7.0 :D

придёться качать микроси...

PS а что микроси он только для пиков???
блин
нет в жизни счатья :(
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение Myp » 17 окт 2006, 16:33

avr123.nm.ru писал(а):Есть примеры в MikroC  - а он на заглавной странице курса. как обычно.

скачал микроси :?

хмм а вы уверены что там есть именно то что мне надо??
я просмотрел всю папку с примерами, там тока ps/2 клавиатура...пример аналогичен примеру для микропаскаля
а клавиатура это немного не то.
пример с клавиатурой он односторонний, тобишь мк только читает, а в моём случае надо ещё и отправлять данные в мышу...разрешать работу, и устанавливать разрешение сенсора.
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение North » 17 окт 2006, 17:17

вобще интересует как мыша инициализировалась?
по полной программе полная симуляция компьютера или достаточно отправить FF чтоб разрешить работать???

FF это просто ресет мыши. На что она отвечает FA (потверждение команды), АА (пройден селф-тест) и 00 (ID мыши, подтверждает что это именно мышь, а не кто-то ещё). После этого комп шлёт в мышь настройки сэмпл рейта, резолюшена и т. д. после чего разрешает работу мыши в стрим моде. Но вобще-то в мыши уже есть настройки по умолчанию и после ресета можно сразу разрешать ей работать (команда F4), если не требуются какие-то особенные настройки.
Аватара пользователя
North
 
Сообщения: 197
Зарегистрирован: 27 июл 2005, 14:12
Откуда: Дмитров, Москва
прог. языки: С, asm

Сообщение North » 17 окт 2006, 17:25

2Мур: А вообще зачем тебе PS/2? Хочешь подключить сенсор от мыши к контроллеру - подключай напрямую. Либо через нехитрый последовательный протокол сенсора, либо через квадратурные выходы. В последнем случае с точки зрения контроллера работа с сенсором ничем не отличается от работы с датчиками классических мышей с шариком.
Аватара пользователя
North
 
Сообщения: 197
Зарегистрирован: 27 июл 2005, 14:12
Откуда: Дмитров, Москва
прог. языки: С, asm

Сообщение Myp » 17 окт 2006, 17:27

North писал(а):
вобще интересует как мыша инициализировалась?
по полной программе полная симуляция компьютера или достаточно отправить FF чтоб разрешить работать???

FF это просто ресет мыши. На что она отвечает FA (потверждение команды), АА (пройден селф-тест) и 00 (ID мыши, подтверждает что это именно мышь, а не кто-то ещё). После этого комп шлёт в мышь настройки сэмпл рейта, резолюшена и т. д. после чего разрешает работу мыши в стрим моде. Но вобще-то в мыши уже есть настройки по умолчанию и после ресета можно сразу разрешать ей работать (команда F4), если не требуются какие-то особенные настройки.


хм
FF ответ FA и после этого мыша шлёт информацию о положениии скроле и кнопках?
тоесть 1 раз инициализировал мышу и она будет непрерывно слать информацию пока не уберёшь питание?
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение Myp » 17 окт 2006, 17:31

North писал(а):2Мур: А вообще зачем тебе PS/2? Хочешь подключить сенсор от мыши к контроллеру - подключай напрямую. Либо через нехитрый последовательный протокол сенсора, либо через квадратурные выходы. В последнем случае с точки зрения контроллера работа с сенсором ничем не отличается от работы с датчиками классических мышей с шариком.


выход сенсора было бы неплохо конечно но он же ведь передаёт картинку которая обрабатываеться контроллером мыши. и на основании изменения картинки поверхности он делает вывод о движении
или я не прав? разве можно напрямую с сенсора получать направление движения?

вобще неплохо бы было всю мышу подключить, там ведь ещё3 кнопки=) и 2 ик сенсора на них чтонить можно повесить...

ЗЫ действительно посмотрел по квадратурные выходы в яндексе и нашёл что
Такая микросхема (например ADNS-2051) формирует на выходах квадратурный сигнал, пропорциональный дистанции, пройденной какой-либо поверхностью относительно ее оптической приемной матрицы.

ЗЗЫ
блин незадача какая
в ADNS-2610 действительно нет квадратурных выходов.


ЗЗЗЫ
а что такое вобще эти квадратурные выходы? первый раз слышу :(

ЗЗЗЗЫ
высянил что это такое, но легче не стало так как мой сенсор такого не умеет  :x
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение North » 17 окт 2006, 18:31

выход сенсора было бы неплохо конечно но он же ведь передаёт картинку которая обрабатываеться контроллером мыши. и на основании изменения картинки поверхности он делает вывод о движении
или я не прав? разве можно напрямую с сенсора получать направление движения?
Нет. Более того, картинку может выдать далеко не каждый сенсор, большинство как раз отдают только координаты перемещения. Картинка обрабатывается внутри сенсора. Меня интересовали только те сенсоры, которые могут отдать картинку. В твоём случае это не требуется. А три кнопки подключить к AVR не проблема.
PS: А где там ИК-сенсоры?
Аватара пользователя
North
 
Сообщения: 197
Зарегистрирован: 27 июл 2005, 14:12
Откуда: Дмитров, Москва
прог. языки: С, asm

Сообщение Myp » 17 окт 2006, 18:46

North писал(а):
выход сенсора было бы неплохо конечно но он же ведь передаёт картинку которая обрабатываеться контроллером мыши. и на основании изменения картинки поверхности он делает вывод о движении
или я не прав? разве можно напрямую с сенсора получать направление движения?
Нет. Более того, картинку может выдать далеко не каждый сенсор, большинство как раз отдают только координаты перемещения. Картинка обрабатывается внутри сенсора. Меня интересовали только те сенсоры, которые могут отдать картинку. В твоём случае это не требуется. А три кнопки подключить к AVR не проблема.
PS: А где там ИК-сенсоры?


вот незадача у меня как раз именно такой сенсор 8 ногий и с картинкой :(  

колёсико мышиное:) там стоит сдвоеный ик модуль но я думаю можно впаять просто ик сенсоры от простой механической мыши :)
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение North » 18 окт 2006, 09:17

вот незадача у меня как раз именно такой сенсор 8 ногий и с картинкой

Нет, ты не понял - ЛЮБОЙ сенсор может выдавать координаты, в том числе и твой, но не любой может выдать картинку. У каждого сенсора есть квадратурные выходы и каждый может выдавать координаты перемещения по последовательному интерфейсу.
Аватара пользователя
North
 
Сообщения: 197
Зарегистрирован: 27 июл 2005, 14:12
Откуда: Дмитров, Москва
прог. языки: С, asm

Сообщение Myp » 18 окт 2006, 13:13

North писал(а):
вот незадача у меня как раз именно такой сенсор 8 ногий и с картинкой

Нет, ты не понял - ЛЮБОЙ сенсор может выдавать координаты, в том числе и твой, но не любой может выдать картинку. У каждого сенсора есть квадратурные выходы и каждый может выдавать координаты перемещения по последовательному интерфейсу.


как интересно
а можно поподробнее про квадратурные выходы у сенсоров? в мышином я предполагаю должно быть 2 пары выходов??
пара горизонталь, пара вертикаль.
а каким образом из квадратурных сигналов этих вычисляеться скорость движения и ускорение??
нужно подсчитывать количество циклов в квдратурном сигнале за какуюто еденицу времени? типа 100 циклов А и 20 циклов В за 100 мс ??


я чёто всётаки немогу найти где у adns 2610 эти выходы...
там всего 8 ножек:
PinNumber   Pin              Description
1                 OSC_IN       Oscillator input
2                 OSC_OUT    Oscillator output
3                 SDIO           Serial Port Data (input and output)
4                 SCK             Serial Port Clock (Input)
5                 LED_CNTL    Digital Shutter Signal Out
6                 GND            System Ground
7                 VDD            5V DC Input
8                 REFA           Internal reference

откуда можно снимать квадратурный сигнал??????
ЗЫ
скачал даташит на другой сенсор
в моём случае действительно нет вкадратурных выходов
на блок схеме нету их

а сенсоре 2051 действительно есть
и на блок схеме нарисован квадратурный блок

2 XA XA quadrature output
3 XB XB quadrature output
4 YB YB quadrature output
5 YA YA quadrature output


:cry:  :cry:  :cry:
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение North » 18 окт 2006, 14:14

Да у восьминогих нету, это я наврал. Ну тогда тебе просто надо читать регистры Delta_X и Delta_Y, чтобы получить перемещение.
Аватара пользователя
North
 
Сообщения: 197
Зарегистрирован: 27 июл 2005, 14:12
Откуда: Дмитров, Москва
прог. языки: С, asm

Сообщение Myp » 25 окт 2006, 13:37

короче такая проблемма

сенсор опрашиваеться с определённой частотой
за время перерыва между опросом там накапливаеться инфа о перемещении

как часто надо опрашивать сенсор чтобы небыло переполнения регистра сенсора информацией?

соответственно чем чаще опрашиваеться сенсор тем точнее определяються координаты мышки
при разогнанном до 200 мГц ps/2 мышка ощутимо плавнее ездит

в моём случае максимальная скорость сенсора не будет превышать 20-30 см в секунду
как часто надо прашивать сенсор чтоб не потерять данные?
с другой стороны если слишком часто читать регистр сенсора он будет всё время пустой, лишняя нагрузка на МК

надо ставить эксперимент
определять зависимость между состоянием регистра и перемещением сенсора в сантиметрах=(

ЗЫ
блин максимальная скорость сенсора 30 см секунду
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Пред.След.

Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32