Hello Vladislav,
VB> *** 20 Jan 04 13:17, Vyacheslav Ovsiyenko wrote to Maxim Polyanskiy:
VB> VO> Hа макете работает все - инфракрасный канал, RS-232, не работают VB> VO> именно чипы MCP215x. Hа сайте микрочипа тоже всплывал этот же VB> VO> вопрос, но он остался без ответа. А в их аппнотах все выглядит VB> VO> красиво. Hу не может же это быть полная лажа? Как-то эти чипы VB> VO> работать должны (раз уж выпускаются).
VB> Дам, может быть, дурацкий совет - если есть какое-нибудь функционально схожее и
Дык, я за советами и пришел. Так что в данной ситуации любой совет не может быть дурацким :-) Наблюдать конечно будем - есть переходники IrDA-COM, есть куча своих девайсов с IrDA на борту, так что разбираться буду по-любому. Но это "не по-быстрому" :-) VB> MP>> контроллер, существуют мосты USB-rs232, которые прекрасно влезут в VB> MP>> ваш имеющийся RS232!
VB> VO> Да, спасибо. Уже пробовал FTDI232 - в принтерах, в итоге в серию это VB> VO> не пошло - работает, да, но "без блеска" - есть мелочи, которые VB> VO> сильно портят впечатление,
VB> А вот рассказал бы, кстати ?
Устройство - термопринтер (я тут закидывал письмо с просьбой посоветовать микроконтроллер по-мощнее) на Mega128. Имеет сменный разъем для интерфейсного модуля - Centronics/RS-232/USB. USB сделан на чипе FTDI8U232 по схеме содранной с переходника RS-232/USB. Все работает, но есть недостатки, навскидку помню следующие: - тайм-аут операции на RS-232 (у принтера есть презентер/валидатор, показывает бумагу пользователю, если не забирают в течение времени то бумага забирается и сбрасывается в мусореную корзину - ну типа в банкоматах чеки так обрабатываются). Ессно принтер в течение времени "экпонирования" по интерфейсу ничего не принимает - снята готовность (DTR/ высокий), драйвер же считает что это ошибка - вываливает транспорант, но что еще хуже - порция данных следующей страницы пропадает. Списывались с производителем - в итоге в настройках драйверов появился пункт "Serial printer" и поле тайм-аута, но особой пользы это не принесло - значения в 5 секунд не всегда хватает (я уже и патч для реестра написал - до полуминуты), а данные как пропадали, так и пропадают. - сложная система драйверов - причем споcоб установки и поля настройки разные для разных систем (W9X и W2K/XP). Причем установка довольно сложная и корявая (я восемь лет занимаюсь драйверами, писал даже драйвер шины (это краеугольный камень PnP, если кто не в курсе) для W2K/XP (что значит, что руки, конечно кривые, но радиус достаточно большой :-), но у меня инсталляция проходит в двух случаях из трех, в оставшейся трети нужны танцы с бубном - перезагрузка/рестарт установки/ручная подстройка/коррекция BIOSа - уже всего и не помню - на разных системах по-разному, да и не всегда это проблемы FTDI). В случае PnP принтера процесс выглядит так (если все гладко): - вставили USB-FTDI-принтер, включили питание; - принтер сбросил FTDI-чип (ногой RESET), открыл транзистор "ENUM" - на линии +D появился высокий через 1.5K - ура - это Full-Speed Device; - допустим USB-хосты на компе настроены правильно; - Windows - "Обнаружено новое устройство" (к чести FTDI, имя устройства можно прошить в EEPROM, которое, впрочем, стоит денег :-( - подсовываем ему инсталляцию FTDI, ставятся - драйвер шины FTDI (это усложнение системы, ну ладно), потом он проводит энумерацию и ставит драйвер уже USB-последовательного порта, если все проходит гладко, уже serenum проводит детектирование принтера на новом порту, и только потом выдается запрос на установку драйвера собственно принтера; Потом уже надо лезть руками и включать толпу настроек (абсолютно разных для Win9X и W2K), чтобы это все работало - скорость обмена, формат, флажки "Serial printer" и еще прорву разных фич. Попробуйте это все описать так, чтобы пользователь мог это все проделать и не позвонить вам в тех.поддержку с вопросами!
- кстати, на некоторых машинах PnP фича глючит (одна машина просто виснет на минуту, если даже воткнут просто переходник на FTDI, другие девайсы - USB-мышь и USB-кард-ридер - все OK), приходится ставить галочку No Pnp и ставить все ручками. ИМХО, в идеале же должно быть так - USB-принтер вставили, пошел запрос на установку, ставиться ОДИН драйвер принтера и чтобы больше ничего руками не настраивать. Я думаю это уже стоит того, чтобы разобраться досконально с USB.
Общее впечатление от FTDI - решение неплохое, сервис поставлен хорошо - отвечают на вопросы, даже по просьбе могут доработать драйверы, но вся система представляется немного громоздкой (ну хотя бы в изделии вместо одного имеющегося процессора добавляется еще один (FTDI-айные чипы это проц с прошивкой внутри)) и сложной в настройке/сопровождении (пачка драйверов с кучей настроек, это не считая драйвера вашего собственного устройства). Мое резюме - если есть возможность/время разобраться с чипом типа USBN960x - это надо делать. Нету возможности/времени - FTDI может помочь на первое время - но это тоже не очень гладко и "по-быстрому". Впрочем, может это у меня "особый случай".
Лично я, кстати, пользуюсь переходниками USB-COM на FTDI на своей машине - очень хорошее впечатление от скоростей до 921kbps (знаете - очень "классно" мегабайт-другой firmware на 115200 закачивать :-( Но утилиты специально писались с учетом фокусов переходника (все тайм-ауты подгонялись - так как не реал-тайм - пока драйвер накопит пакет, пока отошлет по USB, пока он на той стороне уйдет, буфера/пакеты делались небольшими, ну и тестировалось все в разработке сразу на реальном переходнике).