|
LPC1768 в качестве USB-хоста, Может ли работать с USB2.0-устройствами? |
|
|
|
Nov 7 2011, 21:14
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Доброго дня!
Столкнулся со следующей проблемой - слегка подправленный для работы с USB-принтером UsbHostLite для LPC1768 преподнес сюрприз. Довольно обширное число принтеров работает нормально (если не GDI, конечно). Но вот подключили клиенты HP P2055, а он просто виснет в процедуре энумерации. Никаких идей нет, разве что предположение о том, что принтер USB2.0 HighSpeed, что LPC1768 точно не поддерживает. И вообще, судя по тому, что написано в интернете, OHCI, реализованная в хосте LPC1768, не имеет никакого отношения к USB2.0. По принтерам HP информации толком не найти, они у них все исключительно USB2.0 уже тысячу лет, но при этом совершенно точно все печаталось с струйником HP5550 и более старым лазером P2015. В чем вообще может быть корень проблемы? Есть ли USB-устройства, которые принципиально не работают с хостами USB1.1, которым по сути, как я понял, и является LPC1768 несмотря на все заверения производителя? В чем искать корень проблемы - в стеке UsbHostLite или все-таки в принтере?
Спасибо за возможные ответы!
|
|
|
|
|
 |
Ответов
|
Nov 8 2011, 08:58
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Polaris @ Nov 8 2011, 01:14)  Но вот подключили клиенты HP P2055, а он просто виснет в процедуре энумерации. Никаких идей нет, разве что предположение о том, что принтер USB2.0 HighSpeed, что LPC1768 точно не поддерживает. Обязана энумерация работать на FS, как минимум. И принтер почти наверняка будет работать на FS. Варианта два. Первый - модифицировать ваш проект так, чтобы он по UART выдавал внешней машине все запросы, которые МК шлет принтеру в процессе энумерации и все ответы принтера. Второй - использовать аппаратный сниффер USB, если таковой у вас есть ...
|
|
|
|
|
Nov 8 2011, 10:16
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(kovigor @ Nov 8 2011, 10:58)  Обязана энумерация работать на FS, как минимум. И принтер почти наверняка будет работать на FS. Варианта два. Первый - модифицировать ваш проект так, чтобы он по UART выдавал внешней машине все запросы, которые МК шлет принтеру в процессе энумерации и все ответы принтера. Второй - использовать аппаратный сниффер USB, если таковой у вас есть ... Это хорошая идея. Но, думаю, что все-таки нужно на живом принтере экспериментировать, а его нет. Почему есть сомнения в железе - пробовали вчера в сервисном центре P2035, на нем все работает, пробовали массу других - тоже работает, энумерация по крайней мере. Это пока единственный экземпляр, который вызвал подобные проблемы. Есть подозрение, что может быть что-то с током потребляемым от порта, у нас там стоит LM3525 в качестве супервизора тока.
|
|
|
|
|
Nov 8 2011, 10:20
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Polaris @ Nov 8 2011, 13:16)  Это хорошая идея. Но, думаю, что все-таки нужно на живом принтере экспериментировать, а его нет. Почему есть сомнения в железе - пробовали вчера в сервисном центре P2035, на нем все работает, пробовали массу других - тоже работает, энумерация по крайней мере. Это пока единственный экземпляр, который вызвал подобные проблемы. А, так это на одном таком принтере, другие той же модели работают нормально ? Тогда он может быть просто неисправным ...
|
|
|
|
|
Nov 8 2011, 12:23
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(kovigor @ Nov 8 2011, 12:20)  А, так это на одном таком принтере, другие той же модели работают нормально ? Тогда он может быть просто неисправным ... Да, есть такие подозрения. Наверное, стоит посмотреть, как UsbHostLite реагирует на всякие непредсказуемые ситуации, тут вроде бы писали, что отработки их там нет вообще...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|