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

 
 
5 страниц V  < 1 2 3 4 5 >  
Reply to this topicStart new topic
> USB клавиатура, s3c2410 (ARM9) и USB клавиатура
Golikov A.
сообщение May 23 2014, 14:39
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а у нас на фирме были переходники с рисуночком мышки зеленые и с рисуночком клавиатуры сереневые. Можно было местами менять, они внутри одинаковые, но чтобы вопросов не было были 2 цветов.

Кстати кто советует автору PS/2, а вы не думали что у него уже устройство с USB разъемом, и PS/2 разъема нет. И я не уверен что у него этот разъем может появится, ибо похоже курочат какую-то готовую систему...
Go to the top of the page
 
+Quote Post
kovigor
сообщение May 23 2014, 15:42
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Golikov A. @ May 23 2014, 21:49) *
а у нас на фирме были переходники с рисуночком мышки зеленые и с рисуночком клавиатуры сереневые. Можно было местами менять, они внутри одинаковые, но чтобы вопросов не было были 2 цветов.

Кстати кто советует автору PS/2, а вы не думали что у него уже устройство с USB разъемом, и PS/2 разъема нет. И я не уверен что у него этот разъем может появится, ибо похоже курочат какую-то готовую систему...

1. Правильно, эти переходники пассивные, поэтому их можно менять местами. А вот мышь и клавиатура интеллектуальны.

2. Разработка хоста с нуля потянет на полгода минимум. Не с нуля - месяца на 2-3. Если нет аппаратного сниффера, накиньте еще пару месяцев. А вот подпаять пару проводков на GPIO, вырезать в корпусе отверстие под разъем PS/2 и вмонтировать разъем в это отверстие можно за одну смену. ПО можно написать за неделю. Чувствуете разницу ?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение May 23 2014, 17:28
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а если это телефонsm.gif? Ну решать конечно топикстартеру.
Go to the top of the page
 
+Quote Post
TrueCyrix
сообщение Jun 2 2014, 08:18
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 6-08-13
Пользователь №: 77 820



ничего не получается help.gif
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jun 2 2014, 08:41
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(TrueCyrix @ Jun 2 2014, 15:28) *
ничего не получается help.gif

С USB ? Так ведь это сложнейшая задача, а вы за неделю хотели сделать ? Что именно не получается ?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jun 2 2014, 11:08
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата
ничего не получается


это нормально. USB - универсальный, а если что-то универсальное, да еще и 2.0 - 3.0, то оно так уже само собой загажено, что надо стоять у истоков чтобы все получалось...

Главное в этом деле не сдаваться, и переходите к конкретным вопросам.

Из такого на угад могу сказать что в УСБ чувствительно к времянке, так что если вы отладку между какими то процессами усб втыкаете, этим вы можете все разрушить. Если сейчас совет не подошел, пригодиться в будущем)
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jun 2 2014, 11:27
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Golikov A. @ Jun 2 2014, 18:18) *
Главное в этом деле не сдаваться, и переходите к конкретным вопросам.

У человека ARM9, как и у меня. И OHCI. У меня тоже OHCI. Но МК у нас разные (у меня ATMEL). Я мог бы дать свой проект в качестве примера, но поможет ли это ? Все-таки, МК очень разные ...
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jun 2 2014, 12:52
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



должно помочь, OHCI - стандарт, если там обращения в регистры через имена а не по адресам, то очень поможет, если по адресам на прямую, то надо будет по мануалу перевести все регистры. Ну и по описанию прерываний понять что куда...
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Jun 2 2014, 13:47
Сообщение #39


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата(kovigor @ Jun 2 2014, 19:37) *
У человека ARM9, как и у меня. И OHCI. У меня тоже OHCI. Но МК у нас разные (у меня ATMEL).


К слову сказать, на 2410 у меня криво-косо, но задышал хост от LPC23-что-то-там (это тоже OHCI). Чуть лучше заработал какой-то непонятный китайский стек (был подобран на каком-то варезнике с иероглифами).
Разве что скурить нормально работу MMU и USB у меня не получилось. Глючило, что интересно, каждый раз по-новому.
Пришлось на время работы стека (у меня это всего несколько секунд, просто проверить наличие воткнутых usb-устройств) отрубать нафиг кэши.

Поскольку никакого функционала не требовалось (это был загрузчик с всевозможными "фишечками", основную работу выполняла wince), так оно и осталось.


Давно только это было...

А по делу - при текущем уровне вопросов про USB лучше не вспоминать. Если что-то пойдёт не так, поможет только многотомная спецификация. Разбираться в этом - то ещё удовольствие...


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
TrueCyrix
сообщение Jun 3 2014, 01:16
Сообщение #40


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 6-08-13
Пользователь №: 77 820



я вот даже не пойму с чего начать, в каких-то книжках пишется, что надо провести инициализацию устройства, но как конкретно - не написано, в других пишут надо сразу обращаться командами по адресам и ожидать ответа от устройства... wacko.gif

Ладно... если объяснять на пальцах - вот как например зажечь или погасить скажем NumLock ? Это какая то определённая команда? А как и где посмотреть список возможных команд - у производителя клавиатуры или эти команды универсальны для всех клавиатур? А до этой команды надо провести какую-то инициализацию? Что-то у меня уже мозг закипает.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 3 2014, 01:49
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(TrueCyrix @ Jun 3 2014, 11:26) *
Ладно... если объяснять на пальцах - вот как например зажечь или погасить скажем NumLock ? Это какая то определённая команда? А как и где посмотреть список возможных команд - у производителя клавиатуры или эти команды универсальны для всех клавиатур? А до этой команды надо провести какую-то инициализацию? Что-то у меня уже мозг закипает.

И что толку тут спрашивать, как будто тут народ только и делает что с клавой по USB работает?
В сети должно быть навалом описаний интерфейса клавиатуры если хорошо поискать.
Помнится я в своё время умудрялся из ДОСа работать с клавой напрямую (без БИОСа), посылать её команды через порты, зажигать светодиоды,
даже эмулировать нажатия клавиш через регистры ввода/вывода клавиатуры.
И это во времена когда инета не было и этого форума. И как-то справлялся.
Go to the top of the page
 
+Quote Post
DmitryM
сообщение Jun 3 2014, 01:52
Сообщение #42


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(TrueCyrix @ Jun 3 2014, 08:26) *
я вот даже не пойму с чего начать, в каких-то книжках пишется, что надо провести инициализацию устройства, но как конкретно - не написано, в других пишут надо сразу обращаться командами по адресам и ожидать ответа от устройства... wacko.gif

Ладно... если объяснять на пальцах - вот как например зажечь или погасить скажем NumLock ? Это какая то определённая команда? А как и где посмотреть список возможных команд - у производителя клавиатуры или эти команды универсальны для всех клавиатур? А до этой команды надо провести какую-то инициализацию? Что-то у меня уже мозг закипает.

Сначала нужно чтобы hid-устройство у Вас зарегестрировалось, провести энумерацию и проч., а уж потом речь пойдет о командах зажечь лампочку или получить скан-код клавиши.
P.S. Чем WinCE не устраивала на устройстве? Там-то этот вопрос уже решен.
Go to the top of the page
 
+Quote Post
TrueCyrix
сообщение Jun 3 2014, 02:07
Сообщение #43


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 6-08-13
Пользователь №: 77 820



Цитата(DmitryM @ Jun 3 2014, 10:02) *
Сначала нужно чтобы hid-устройство у Вас зарегестрировалось, провести энумерацию и проч., а уж потом речь пойдет о камандах зажечь лампочку или получить скан-код клавиши.
P.S. Чем WinCE не устраивала на устройстве? Там-то этот вопрос уже решен.


WinCE не устраивает тем, что он собирается и не работает, при копировании из flash зависает без причин, а родной (который был в устройстве) работет нормально, но там всяческие логотипы и прочие гадости связанные с фирмой-производителем. При попытке расковырять имидж, после редактирования и сжатия - не работает. Стоял WinCE 4.2 net - пробовал собирать свой в Platform Builder-е - не работает, ошибка при распаковке имиджа. Пробовал 5.0 поставить - тоже не работает, такое впечатление, что есть какая-то защита на аппаратном уровне, чтобы свою систему никто не поставил.

Сообщение отредактировал TrueCyrix - Jun 3 2014, 02:08
Go to the top of the page
 
+Quote Post
DmitryM
сообщение Jun 3 2014, 02:32
Сообщение #44


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(TrueCyrix @ Jun 3 2014, 09:17) *
WinCE не устраивает тем, что он собирается и не работает, при копировании из flash зависает без причин, а родной (который был в устройстве) работет нормально, но там всяческие логотипы и прочие гадости связанные с фирмой-производителем. При попытке расковырять имидж, после редактирования и сжатия - не работает. Стоял WinCE 4.2 net - пробовал собирать свой в Platform Builder-е - не работает, ошибка при распаковке имиджа. Пробовал 5.0 поставить - тоже не работает, такое впечатление, что есть какая-то защита на аппаратном уровне, чтобы свою систему никто не поставил.


IMHO, Вам проще побороть WinCE или Linux (предпочтительнее, по-моему) поставить. Благо в сети есть готовые bsp, чем ваять свой USB-стэк или действительно взять PS/2 и ногодрыг.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jun 3 2014, 03:27
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



на пальцах это выглядит так.

1. вы втыкаете устройство, оно начинает потреблять и тянуть ножки данных в свою сторону.
2. Хост по этом определяет что в него что-то воткнулось и примерно тип полноскоростное, высокоскоростное, низкоскоростное.
3. Хост посылает запрос что за устройство (причем тут есть хитрость что сначала идет запрос 8 байт, в них лежит полная длинна описания, и запрос повторяют с правильной длинной)
4. устройство сообщает кто оно, VID, PID, тип, строки с названием проихводителя и так далее..
5. Хост определяет класс устройства, в случае клавиатуры должен быть HID
6. Хост запрашивает описание репортов HID, там будет сообщено что за поля, сколько их, какого типа за что отвечают. В случае клавиатуры входной отчет будет кодом кнопки нажатой. А отчет фича - будет наверняка лампочками.
7. Хост конфигурит устройство на работу (в случае если в нем несколько сущностей) задает периоды отчетов если разрешается и ждет

Все дальше с каждым нажатием кнопочки будет формироваться отчет, который хост будет забирать. А если хост хочет что-то изменить, он будет посылать фича репорты и менять состояние лампочек и так далее...

В случае OHCI практически все пункты и их последовательность железо берет на себя. Оно будет принимать данные и ставить флаги об изменении, и дергать вас прерыванием что появились данные, вам надо будет формировать правильные запросы (отчетов, описаний, и прочее,) отдавать их хосту на посылку и обрабатывать прерывания.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:41
Рейтинг@Mail.ru


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