Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
04.12.2012, 22:52
|
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: USB VID/PID Changer
Сообщение от realid
|
Так если уже пакет дескриптора устр-ва готов. То получается после подключения к шине и когда хост посылает токен SETUP с запросом дескриптора устройства, надо этот момент отловить, дождаться когда устройство выдаст ACK и отрубить его от хоста, теперь уже дождаться прихода токена IN и отправить свой пакет, в это время выдать устр-ву токен IN, чтобы он выплюнул свой пакет в пустоту, подтвердить его. Чтобы устройство думало что хост схавал пакет. И это все до прихода начала токена SETUP с установкой адреса, который уже должен прийти в устройство.
|
Думаю, не обязательно формировать для устройства токен IN и ACK, можно "пропустить" ему те, что выдал хост. Между токеном IN и ответными данными от устройства, а также между данными и подтверждением ACK от хоста есть небольшие промежутки (на Full Speed порядка 0.5 мкс). Вот во время этих промежутков и коммутировать шину для устройства.
|
|
|
|
04.12.2012, 22:52
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,539
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
|
Re: USB VID/PID Changer
Сообщение от tsb
|
Подтверждение от хоста о получении данных представляет собой всего один байт ACK = 0xD2.
|
И от устр-ва хосту тоже?
|
|
|
|
04.12.2012, 23:02
|
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: USB VID/PID Changer
Сообщение от realid
|
И от устр-ва хосту тоже?
|
Ну, да. Кто принял данные, тот и подтверждает в конце транзакции, что принял успешно с помощью ACK. Если была передача данных от хоста к устройству (после токена OUT), то ACK шлет устройство.
|
|
|
|
04.12.2012, 23:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,608
Сказал спасибо: 708
Сказали Спасибо 4,364 раз(а) в 2,002 сообщении(ях)
|
Re: USB VID/PID Changer
Мдя от марсоходовского ликбеза ожидал большего
Если бум продолжать, надо бы определиться с общедоступным подопытным и впоследствии с перехватчиком, тоже общедоступным .
|
|
|
|
04.12.2012, 23:11
|
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: USB VID/PID Changer
Сообщение от realid
|
Я имею ввиду тоже 0xD2)))
|
А почему он должен быть другим?
Впрочем, у меня есть записанные LOGICом процессы на USB шине при подключении CDC-устройства. Могу попытаться завтра посмотреть точнее.
На сегодня все...
|
|
|
|
04.12.2012, 23:17
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,539
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
|
Re: USB VID/PID Changer
Сообщение от tsb
|
А почему он должен быть другим?
Впрочем, у меня есть записанные LOGICом процессы на USB шине при подключении CDC-устройства. Могу попытаться завтра посмотреть точнее.
|
Не надо. Я уже глянул в стандарте.
Последний раз редактировалось realid; 04.12.2012 в 23:20.
Причина: Попутался
|
|
|
|
10.12.2012, 12:55
|
|
Временная регистрация
Регистрация: 27.12.2008
Сообщений: 56
Сказал спасибо: 17
Сказали Спасибо 18 раз(а) в 15 сообщении(ях)
|
Re: USB VID/PID Changer
если уж програмный способ не рассматривается в принципе, а он самый простой, дешевый и рабочий, то может кто-нибудь наконец-то вспомнит про сдвигающие регистры???
если длина пакета не превышает 64 байта, то от ПЛИС надо 512 ячеек для запоминания того ЧТО менять и столько же для хранения НА ЧТО менять + 512 для сдвигающего регистра. Все проходящие через шину данные в сторону хоста, нужно пропускать через сдвигающий регистр и с каждым тактом проталкивать на 1 ячейку в сторону и делать сравнения первых 512 ячеек со сдвигающим регистром. Если условия совпадения выполнилось, то вторые 512 ячеек копировать в сдвигающий регистр ну и толкать дальше, только сравнивать уже ничего не надо.
Как загнать что искать и на что менять в память это уже другой вопрос, но решается добавлением еще определенного количества ячеек в логику и особых проблем возникнуть не должно.
Количество ячеек памяти и длина регистра цифры относительно условные и вычисляются после более глубокого анализа.
С такими задачами ПЛИС справляется на раз, если бы скорость была ниже такую логику можно было бы собрать на ЛА155
ИМХО - пока никто не докажет обратного.
__________________
Пастух построил ковчег, а судостроители Титаник
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:51.
|
|