Цитата(sff @ May 29 2006, 09:56)

Вот мне и не хотелось использовать ARM+ внешний USB так как придётся через обычные GPIO устраивать обмен, то потерь будет много, а контроллер ещё что-то полезное должен делать кроме USB, или я не прав?
А вот если взять, к примеру, AT91RM9200 и Cypress с его 16 битной шиной прицепить к ARM как SRAM, и обращаться к FIFO USB серез обычное считывание/запись в память? Кто-то что-то типа такого делал? (Так я видел Mega128 и RTL8019 соединяли)
Я так понимаю USB 2.0 High Speed Вам нужно с какой-то целью для максимального быстродействия. Как организован доступ к USB модулю в МК которые Вы предполагаете использовать в своем проекте, я точно не знаю. Но в большинстве МК с которыми я работал байты в FIFO End Point записывались примерно так: через специальный регистр проверяем произошло ли окончание записи предыдущего байта, если да пишем байт следующий байт (от 1 до трех операций 3, зависит от того есть ли автоматический инкремент индекса и нужно ли выставлять адрес), в это время проверяем заполнение EP (простой цикл), после заполнения EP выставляем флажок что данные готовы и комп их может забрать, если есть нормально реализованная двойная буферизация то сразу же заполняем и вторую часть EP, но после заполнения ее все равно нужно будет проверить ее опустошение, мало ли что может быть, подключили другое устройство и оно забрало на себя часть трафика.
> А вот если взять, к примеру, AT91RM9200 и Cypress с его 16 битной шиной прицепить к ARM как SRAM
Я про это и говорю, Cypress без вмешательства медленного 8051 ядра поддерживает кучу высокоскоростных стандартных интерфейсов. В данном случае Вам не нужно будет транжирить ресурсы МК для опроса модуля USB, к тому же Cypress по своим параметрам (кол-во EP и 4-х уровневой буферизацией) оставляет далеко позади встроенные модули USB.