Jump to content

    

Silentor

Участник
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

0 Обычный
  1. Цитата(aaarrr @ Mar 24 2008, 23:00) С быстрым bulk'ом на асинхронной шине будут проблемы: один цикл записи FIFO занимает 120нс. Энумерация автоматическая - это фирменная фишка Cypress. В свое время сделал выбор в пользу ISP1581, CY7C68001 мне показалась более подходящей для подключения к ПЛИС. Данные по bulk будут обрабатываться ПЛИСом. MCU будет ловить управляющие команды на Control EP. Если 120нс занимает запись 2х байт, то получатся в асинхронном режиме макс. скорость передачи около 16 МБ/сек? Ну, если что, наск я понимаю, можно синхронный прикрутить) С ISP1581 я намучался с энумерацией, сейчас хочется попробовать автоматическую
  2. Приветствую! Выбираем периферийный USB контроллер. Следующие требования: быстрый bulk (порядка 20 МБ/сек) через параллельный интерфейс, возможность передачи своих команд на Control EP, незамысловатая энумерация. До этого работал с ISP1581, что в нем напрягло, это необходимость реализовывать руками энумерацию, запросы/ответы. Гибкость конечно изрядная, но на то, чтобы контроллер просто увиделся Виндами в Full-Speed, ушла куча времени. Наск я понимаю, CY7C68001 позволяет просто указать VID/PID/DID, дождаться прерывания ENUMOK и можно начинать обмен в High-Speed? PS Планируется использовать внешний МК.
  3. Продолжаю битву с ISP1581. Документация не фонтан. Есть 3 вопроса к юзавшим этот контроллер: 1)Как все таки работать с многобайтовыми регистрами? Так, как в примерах Филлипса? Т.е: Кодisp1581Regs.INT_ENABLE.value = 0x04030201; которая скомпилится в что-то вроде по адресу 0x14 пишем 0x04 по адресу 0x15 пишем 0x03 по адресу 0x16 пишем 0x02 по адресу 0x17 пишем 0x01 или же байты регистра пишутся по одному и тому же адресу? Очень уж неясно описано в datasheet'е. 2)Читал я на каком то форуме, что этот контроллер некорректно работает с прерываниями. Вот я для примера балуюсь с регистром INT_ENABLE, который позволяет разрешать отдельные прерывания. По умолчанию там все нули, т.е. все источники прерываний запрещены. Но когда втыкаю разьем, проскакивает 2 прерывания, похоже Bus Reset. Снятие флага общего разрешения прерываний затыкает намертво, как и должно быть. Получается, что прерываниям ISP1581 нельзя доверять? 3)Ведь 2хбайтовые поля Device Request приходят младшим байтом вперед? ЗЫ. Кому не жалко, пришлите кусок рабочего кода с реализацией хотя бы GetDescriptor запроса под AT89 проц (с приёмом Device Request, анализом его полей)
  4. Подскажите, куда покопать? Так хочется увидеть хоть какой-нибудь обмен. Настроил ISP1581 по примеру Филлипсовских примеров, класс устройства 0. При подключении к компу, появляется - Устройство USB не опознано и т.д. В Диспетчере Устройств - Неизвестное Устройство, VID/PID = 0. Хочу посмотреть хоть какой-то обмен. Скачал триал USB Monitor, запускаю, настраиваю на захват следующего подключенного устройства. Подключаю девайс, Винда видит неизвестное устройство, но в USB Monitorе оно никак не появляется, захват не начинается. Хочется увидеть хотя бы запрос Device Descriptor в пустоту. Что править?
  5. USB сниффер

    У меня есть вопрос по использованию SnoopyPro и libUSB win Разрабатывается USB устройство на ISP1581 (FS). При подключении определяется, ессно, как неизвестное у-во (INF файлов еще нет). Хочется посмотреть, чем оно обменивается с хостом. В SnoopyPro оно выглядит как USB Device, к которому невозможно подключится через Install and Restart, не появляется список пакетов, как при подключении, скажем, к флешке. В testlibusb-win.exe, которая показывает список всех USB устройств, наш девайс тоже не появляется. Вопрос: нужен ли мне уже сейчас INF файл, чтобы анализировать работу девайся в SnoopyPro? Т.е., должен ли для этого девайс быть уже подключен и определен, пройдена его инициализация? Т.е., что мне не хватает для счастья, чтобы иметь возможность посмотреть хоть какой то обмен между девайсом и хостом?
  6. Решил использовать LibUSB для работы с девайсом. Не найдется ли у кого готовый *.pas для неё?
  7. Интересует, какими программами лучше пользоватся для исследования USB траффика
  8. Здравствуйте, осваиваю USB, появились вопросы по реализации протокола. Использую USB контроллер ISP1581. Хочу добится определения простого HighSpeed у-ва (1, конфигурация, 1 интерфейс, без дополнительных эндпоинтов). В качестве примера использую Филипсовский "isp1581 scanner firmware", немного его переписывая. Сделал ответы на GetDescriptor: отвечаю на запрос Device Descriptor (код 1), Configuration Descriptor (код 2), Device Qualifier(6). Вопросы: Что за коды дескрипторов Interface (4) и Endpoint (5), если эти дескрипторы передаются вместе с Configuration Descriptor? И еще, надо ли посылать дескрипторы интерфейсов и эндпоинтов на другую скорость вместе с OtherSpeedConfigDescriptor? Дело в том, что загружатся еще некуда, проверять не на чем и хочется быть готовым заранее. PS. Какая лучшая программа для просмотра USB траффика? В наличии есть USB Trace.
  9. Чем прожигать AT89S52?

    Такс, беру свои слова назад относительно ISP Programmer"а. Работает, если правильно настроить Только что прописал AVRку. Если еще и 89s52 осилит - однозначный проге
  10. Чем прожигать AT89S52?

    Цитата(Andy-L @ Jun 24 2006, 09:16) Цитата(Silentor @ Jun 23 2006, 18:13) Приветствую! Работали с AT89S8252, прожигали его PonyProg"ом. Встала задача прожечь AT89S52. Поня его не хочет. Скачал польский ISP Programmer. Настроили ноги ЛТП для своего кабеля, но работы не добились. Программа вообще не шевелит ногами. Кто с ней имел дело, подскажите, ей же не нужны отдельно драйвера для порта? Или если в природе имеется что нибудь хорошее для искомого ЦПУ (желательно с GUI ), наведите, плиз Может надо проводки покороче? Вот тут уже недавно обсуждалось - помогло: http://electronix.ru/forum/index.php?showtopic=16351&hl= Думаю, дело не в этом, так как Поня тем же кабелем прекрасно работала. А тут даже Ресета не видно. Чем ISP Prog хорош, что позволяет переконфигурировать ноги порта, а то неохота делать шнурок под каждую программку.
  11. Чем прожигать AT89S52?

    Приветствую! Работали с AT89S8252, прожигали его PonyProg"ом. Встала задача прожечь AT89S52. Поня его не хочет. Скачал польский ISP Programmer. Настроили ноги ЛТП для своего кабеля, но работы не добились. Программа вообще не шевелит ногами. Кто с ней имел дело, подскажите, ей же не нужны отдельно драйвера для порта? Или если в природе имеется что нибудь хорошее для искомого ЦПУ (желательно с GUI ), наведите, плиз