Golikov 0 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба а у нас на фирме были переходники с рисуночком мышки зеленые и с рисуночком клавиатуры сереневые. Можно было местами менять, они внутри одинаковые, но чтобы вопросов не было были 2 цветов. Кстати кто советует автору PS/2, а вы не думали что у него уже устройство с USB разъемом, и PS/2 разъема нет. И я не уверен что у него этот разъем может появится, ибо похоже курочат какую-то готовую систему... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба а у нас на фирме были переходники с рисуночком мышки зеленые и с рисуночком клавиатуры сереневые. Можно было местами менять, они внутри одинаковые, но чтобы вопросов не было были 2 цветов. Кстати кто советует автору PS/2, а вы не думали что у него уже устройство с USB разъемом, и PS/2 разъема нет. И я не уверен что у него этот разъем может появится, ибо похоже курочат какую-то готовую систему... 1. Правильно, эти переходники пассивные, поэтому их можно менять местами. А вот мышь и клавиатура интеллектуальны. 2. Разработка хоста с нуля потянет на полгода минимум. Не с нуля - месяца на 2-3. Если нет аппаратного сниффера, накиньте еще пару месяцев. А вот подпаять пару проводков на GPIO, вырезать в корпусе отверстие под разъем PS/2 и вмонтировать разъем в это отверстие можно за одну смену. ПО можно написать за неделю. Чувствуете разницу ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба а если это телефон:)? Ну решать конечно топикстартеру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TrueCyrix 0 2 июня, 2014 Опубликовано 2 июня, 2014 · Жалоба ничего не получается Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 2 июня, 2014 Опубликовано 2 июня, 2014 · Жалоба ничего не получается С USB ? Так ведь это сложнейшая задача, а вы за неделю хотели сделать ? Что именно не получается ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 2 июня, 2014 Опубликовано 2 июня, 2014 · Жалоба ничего не получается это нормально. USB - универсальный, а если что-то универсальное, да еще и 2.0 - 3.0, то оно так уже само собой загажено, что надо стоять у истоков чтобы все получалось... Главное в этом деле не сдаваться, и переходите к конкретным вопросам. Из такого на угад могу сказать что в УСБ чувствительно к времянке, так что если вы отладку между какими то процессами усб втыкаете, этим вы можете все разрушить. Если сейчас совет не подошел, пригодиться в будущем) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 2 июня, 2014 Опубликовано 2 июня, 2014 · Жалоба Главное в этом деле не сдаваться, и переходите к конкретным вопросам. У человека ARM9, как и у меня. И OHCI. У меня тоже OHCI. Но МК у нас разные (у меня ATMEL). Я мог бы дать свой проект в качестве примера, но поможет ли это ? Все-таки, МК очень разные ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 2 июня, 2014 Опубликовано 2 июня, 2014 · Жалоба должно помочь, OHCI - стандарт, если там обращения в регистры через имена а не по адресам, то очень поможет, если по адресам на прямую, то надо будет по мануалу перевести все регистры. Ну и по описанию прерываний понять что куда... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 2 июня, 2014 Опубликовано 2 июня, 2014 · Жалоба У человека ARM9, как и у меня. И OHCI. У меня тоже OHCI. Но МК у нас разные (у меня ATMEL). К слову сказать, на 2410 у меня криво-косо, но задышал хост от LPC23-что-то-там (это тоже OHCI). Чуть лучше заработал какой-то непонятный китайский стек (был подобран на каком-то варезнике с иероглифами). Разве что скурить нормально работу MMU и USB у меня не получилось. Глючило, что интересно, каждый раз по-новому. Пришлось на время работы стека (у меня это всего несколько секунд, просто проверить наличие воткнутых usb-устройств) отрубать нафиг кэши. Поскольку никакого функционала не требовалось (это был загрузчик с всевозможными "фишечками", основную работу выполняла wince), так оно и осталось. Давно только это было... А по делу - при текущем уровне вопросов про USB лучше не вспоминать. Если что-то пойдёт не так, поможет только многотомная спецификация. Разбираться в этом - то ещё удовольствие... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TrueCyrix 0 3 июня, 2014 Опубликовано 3 июня, 2014 · Жалоба я вот даже не пойму с чего начать, в каких-то книжках пишется, что надо провести инициализацию устройства, но как конкретно - не написано, в других пишут надо сразу обращаться командами по адресам и ожидать ответа от устройства... Ладно... если объяснять на пальцах - вот как например зажечь или погасить скажем NumLock ? Это какая то определённая команда? А как и где посмотреть список возможных команд - у производителя клавиатуры или эти команды универсальны для всех клавиатур? А до этой команды надо провести какую-то инициализацию? Что-то у меня уже мозг закипает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 3 июня, 2014 Опубликовано 3 июня, 2014 · Жалоба Ладно... если объяснять на пальцах - вот как например зажечь или погасить скажем NumLock ? Это какая то определённая команда? А как и где посмотреть список возможных команд - у производителя клавиатуры или эти команды универсальны для всех клавиатур? А до этой команды надо провести какую-то инициализацию? Что-то у меня уже мозг закипает. И что толку тут спрашивать, как будто тут народ только и делает что с клавой по USB работает? В сети должно быть навалом описаний интерфейса клавиатуры если хорошо поискать. Помнится я в своё время умудрялся из ДОСа работать с клавой напрямую (без БИОСа), посылать её команды через порты, зажигать светодиоды, даже эмулировать нажатия клавиш через регистры ввода/вывода клавиатуры. И это во времена когда инета не было и этого форума. И как-то справлялся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryM 0 3 июня, 2014 Опубликовано 3 июня, 2014 · Жалоба я вот даже не пойму с чего начать, в каких-то книжках пишется, что надо провести инициализацию устройства, но как конкретно - не написано, в других пишут надо сразу обращаться командами по адресам и ожидать ответа от устройства... Ладно... если объяснять на пальцах - вот как например зажечь или погасить скажем NumLock ? Это какая то определённая команда? А как и где посмотреть список возможных команд - у производителя клавиатуры или эти команды универсальны для всех клавиатур? А до этой команды надо провести какую-то инициализацию? Что-то у меня уже мозг закипает. Сначала нужно чтобы hid-устройство у Вас зарегестрировалось, провести энумерацию и проч., а уж потом речь пойдет о командах зажечь лампочку или получить скан-код клавиши. P.S. Чем WinCE не устраивала на устройстве? Там-то этот вопрос уже решен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TrueCyrix 0 3 июня, 2014 Опубликовано 3 июня, 2014 (изменено) · Жалоба Сначала нужно чтобы hid-устройство у Вас зарегестрировалось, провести энумерацию и проч., а уж потом речь пойдет о камандах зажечь лампочку или получить скан-код клавиши. P.S. Чем WinCE не устраивала на устройстве? Там-то этот вопрос уже решен. WinCE не устраивает тем, что он собирается и не работает, при копировании из flash зависает без причин, а родной (который был в устройстве) работет нормально, но там всяческие логотипы и прочие гадости связанные с фирмой-производителем. При попытке расковырять имидж, после редактирования и сжатия - не работает. Стоял WinCE 4.2 net - пробовал собирать свой в Platform Builder-е - не работает, ошибка при распаковке имиджа. Пробовал 5.0 поставить - тоже не работает, такое впечатление, что есть какая-то защита на аппаратном уровне, чтобы свою систему никто не поставил. Изменено 3 июня, 2014 пользователем TrueCyrix Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryM 0 3 июня, 2014 Опубликовано 3 июня, 2014 · Жалоба WinCE не устраивает тем, что он собирается и не работает, при копировании из flash зависает без причин, а родной (который был в устройстве) работет нормально, но там всяческие логотипы и прочие гадости связанные с фирмой-производителем. При попытке расковырять имидж, после редактирования и сжатия - не работает. Стоял WinCE 4.2 net - пробовал собирать свой в Platform Builder-е - не работает, ошибка при распаковке имиджа. Пробовал 5.0 поставить - тоже не работает, такое впечатление, что есть какая-то защита на аппаратном уровне, чтобы свою систему никто не поставил. IMHO, Вам проще побороть WinCE или Linux (предпочтительнее, по-моему) поставить. Благо в сети есть готовые bsp, чем ваять свой USB-стэк или действительно взять PS/2 и ногодрыг. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 3 июня, 2014 Опубликовано 3 июня, 2014 · Жалоба на пальцах это выглядит так. 1. вы втыкаете устройство, оно начинает потреблять и тянуть ножки данных в свою сторону. 2. Хост по этом определяет что в него что-то воткнулось и примерно тип полноскоростное, высокоскоростное, низкоскоростное. 3. Хост посылает запрос что за устройство (причем тут есть хитрость что сначала идет запрос 8 байт, в них лежит полная длинна описания, и запрос повторяют с правильной длинной) 4. устройство сообщает кто оно, VID, PID, тип, строки с названием проихводителя и так далее.. 5. Хост определяет класс устройства, в случае клавиатуры должен быть HID 6. Хост запрашивает описание репортов HID, там будет сообщено что за поля, сколько их, какого типа за что отвечают. В случае клавиатуры входной отчет будет кодом кнопки нажатой. А отчет фича - будет наверняка лампочками. 7. Хост конфигурит устройство на работу (в случае если в нем несколько сущностей) задает периоды отчетов если разрешается и ждет Все дальше с каждым нажатием кнопочки будет формироваться отчет, который хост будет забирать. А если хост хочет что-то изменить, он будет посылать фича репорты и менять состояние лампочек и так далее... В случае OHCI практически все пункты и их последовательность железо берет на себя. Оно будет принимать данные и ставить флаги об изменении, и дергать вас прерыванием что появились данные, вам надо будет формировать правильные запросы (отчетов, описаний, и прочее,) отдавать их хосту на посылку и обрабатывать прерывания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться