Leka пишет: Склоняюсь к тому, чтобы подобрать какой-нибудь микро-компьютер с Bluetooth (встроенный или с адаптером), куда и втыкать всю USB-периферию. А к ПЛИС только Bluetooth модуль с UART подключить.
Дешевле Raspberry устройства с полноценным USB стеком не существует, наверное. Оно теоретически возможно, но практически, из-за тиража, пока нет. Bluetooth даже в ноутбуках современных, даже будучи постоянно подсоединенным, припаянным устройством, соединено все равно по USB. Его незачем соединять непосредственно с ПЛИС. И соединение ПЛИС с Raspberry можно организовывать при необходимости не только по UART - там можно организовать гораздо более быстрые интерфейсы. Есть готовые для экрана и камеры, например.
Но это, конечно, самый простой путь. Я был неправ, сказав, что Arduino через свой USB Host Shield умеет только с HID и USB Mass Storage разговаривать. Оно умеет, как сказано на
www.arduino.cc/en/Main/ArduinoUSBHostShield
:
HID devices: keyboards, mice, joysticks, etc.
Game controllers: Sony PS3, Nintendo Wii, Xbox360.
USB to serial converters: FTDI, PL-2303, ACM, as well as certain cell phones and GPS receivers.
ADK-capable Android phones and tables.
Digital cameras: Canon EOS, Powershot, Nikon DSLRs and P&S, as well as generic PTP.
Mass storage devices: USB sticks, memory card readers, external hard drives, etc.
Bluetooth dongles.
реализовано на Max3421E
Так что если разработать аналог Max3421E и он поместится вместе с софт-ядром, под который можно компилировать библиотеки Arduino, рассчитанные на Max3421E, то вуаля. Может быть проще адаптировать библиотеки под что-то отличное от Max3421E.
Leka пишет: Чтобы корректно можно было сравнивать разные софт-процессоры, надо оговаривать периферию - при ее подключении для разных ядер может потребоваться разное количество дополнительной логики. Важнее все-таки поддержка ПО, от этого и исходить.
А m16 интереснее м/б тем, что фон Неймановской архитектуры + мелкий + внешний порт загрузки программы/данных --> можно ~~100 ядер (по ~~100 MIPS) в Марсоход3 положить, и поэкспериментировать...
у ZPU есть куча разновидностей, включая чисто ядро, подключенное только к памяти, а там делайте с периферией что хотите. Под него есть gcc, а не только lcc. Под него есть RTOS и uLinux. Должны быть веские причины от такого отказываться.
P.S.
у меня вот такое теперь есть
www.freeduino.ru/arduino/USB-Host-shield.html
раз скоро будет марсоходовский шилд переходник под Arduino, то паять самодеятельность не буду - подожду...