IrDA stack на MCP2150/MCP2155 - миф или реальность?

Jan 19, 2004 18 Replies

Привет, уважаемый All!



Требовалось "по-быстрому" прикрутить IrDA-стек к нашему изделию, имеющему RS-232. Нужно было, чтобы устройство общалось по IR c PC (Win98SE). "По-быстрому" определились чипы-кандидаты - MCP2150 и MCP2155. Их даже "по-быстрому" удалось достать и спаять макеты. А вот дальше "по-быстрому" закончилось. Я потратил три дня "на разборки", потом это дело было поручено абсолютно независимо молодому коллеге, все безрезультатно. Может кто-то из присутствующих с этими чипами работал и может дать совет? Несомненно, упущена какая-то мелочь. Вот более подробное описание проблемы:



"Ноутбук с IrDA 1.0 без проблем видит МСР2155 и правильно ее распознает, то есть они входят в Normal Disconnect Mode, но как только попытаться передать по ИК-каналу хоть один байт, сразу теряется связь. То есть, ноутбук перестает вообще видеть МСР2155. Через некоторое время он опять обнаруживает и распознает чип. МСР2155 все время держит высокий уровень на CTS и DSR."


Hello, Vyacheslav!

Пон Янв 19 2004, Vyacheslav Ovsiyenko писал к All по поводу "IrDA stack на MCP2150/MCP2155 - миф или реальность?."

Конечно миф, а ты думал в сказку попал. VO> Требовалось "по-быстрому" прикрутить IrDA-стек к нашему изделию, VO> имеющему RS-232. Hужно было, чтобы устройство общалось по IR VO> c PC (Win98SE). Задача идиотская! IrDA - протокол который годится разве что для связи игрушки с компьютером. Проблема скорее всего в виндовых драйверах. Попробуй поставить

2000/xp - если проблема решится, точно в них. VO> "По-быстрому" определились чипы-кандидаты - MCP2150 и MCP2155. Их VO> даже "по-быстрому" удалось достать и спаять макеты. А вот дальше VO> "по-быстрому" закончилось. Я потратил три дня "на разборки", потом VO> это дело было поручено абсолютно независимо молодому коллеге, все VO> безрезультатно. Может кто-то из присутствующих с этими чипами работал VO> и может дать совет? Hесомненно, упущена какая-то мелочь. Вот более VO> подробное описание проблемы: Совет: 1) USB. Если нет желания разбиратся с протоколом и менять контроллер, существуют мосты USB-rs232, которые прекрасно влезут в ваш имеющийся RS232! 2) LPT - тут даже без коментариев. VO> Vyacheslav mailto: snipped-for-privacy@helpco.kiev.ua WBR! Maxim Polyanskiy.

Hello Maxim,

MP> Пон Янв 19 2004, Vyacheslav Ovsiyenko писал к All по поводу "IrDA stack на MP> MCP2150/MCP2155 - миф или реальность?."

MP> Конечно миф, а ты думал в сказку попал.

Нет, не думал. Мне кажется стиль моего первого письма вполне выражал мое отношение к подходу "сделаем по-быстрому". Все равно сейчас печатаю и читаю документацию по стеку IrDA - так или иначе надо подробно разбираться.

MP> VO> Требовалось "по-быстрому" прикрутить IrDA-стек к нашему изделию, MP> VO> имеющему RS-232. Hужно было, чтобы устройство общалось по IR MP> VO> c PC (Win98SE).

MP> Задача идиотская! IrDA - протокол который годится разве что для связи игрушки с MP> компьютером. Проблема скорее всего в виндовых драйверах. Попробуй поставить MP> 2000/xp - если проблема решится, точно в них.

Задача как раз понятная - есть софт, который общается по COM-порту с использованием Win32 (CreateFile/WriteFile/ReadFile) и просто хотелось "выкинуть шнурок". Прикол в том, что IrDA нами давно используется (лет 5), только "по-взрослому" - разработан свой протокол для моноканала (изначально для RS-485), написана пачка драйверов (для лучшей реалтаймовости). Фишка была именно в том, чтобы использовать софт на виртуальном инфракрасном COM.

Кстати, на W2K/XP MS официально не поддерживает COM-IrDA. IrDA там идет как сетевой адаптер. Есть драйверы-самоделки, но при запуске они конкретно валятся (так уж получилось, что у меня были активны SoftIce/Driver Verifier - они показали кучу грубых ошибок, даже "без науськивания" на конкретный драйвер - у меня сложилось конкретное впечатление об уровне квалификации автора).

MP> VO> "По-быстрому" определились чипы-кандидаты - MCP2150 и MCP2155. Их

На макете работает все - инфракрасный канал, RS-232, не работают именно чипы MCP215x. На сайте микрочипа тоже всплывал этот же вопрос, но он остался без ответа. А в их аппнотах все выглядит красиво. Ну не может же это быть полная лажа? Как-то эти чипы работать должны (раз уж выпускаются).

MP> Совет: MP> 1) USB. Если нет желания разбиратся с протоколом и менять контроллер, MP> существуют мосты USB-rs232, которые прекрасно влезут в ваш имеющийся RS232!

Да, спасибо. Уже пробовал FTDI232 - в принтерах, в итоге в серию это не пошло - работает, да, но "без блеска" - есть мелочи, которые сильно портят впечатление, не говоря уже о сложности настроек и работы конечного пользователя, в итоге запланирована переделка на USBN960x.

Пpивет, Vyacheslav!

*** 20 Jan 04 13:17, Vyacheslav Ovsiyenko wrote to Maxim Polyanskiy:

VO> Hа макете работает все - инфракрасный канал, RS-232, не работают VO> именно чипы MCP215x. Hа сайте микрочипа тоже всплывал этот же VO> вопрос, но он остался без ответа. А в их аппнотах все выглядит VO> красиво. Hу не может же это быть полная лажа? Как-то эти чипы VO> работать должны (раз уж выпускаются).

Дам, может быть, дурацкий совет - если есть какое-нибудь функционально схожее и работоспособное устройство, то, может быть, стоит подглядеть обмен (электрически или оптически), на предмет явного несоответствия ?

MP>> контроллер, существуют мосты USB-rs232, которые прекрасно влезут в MP>> ваш имеющийся RS232!

VO> Да, спасибо. Уже пробовал FTDI232 - в принтерах, в итоге в серию это VO> не пошло - работает, да, но "без блеска" - есть мелочи, которые VO> сильно портят впечатление,

А вот рассказал бы, кстати ?

с уважением Владислав

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, пока он на той стороне уйдет, буфера/пакеты делались небольшими, ну и тестировалось все в разработке сразу на реальном переходнике).

Tue Jan 20 2004 13:17, Vyacheslav Ovsiyenko wrote to Maxim Polyanskiy:

VO> Да, спасибо. Уже пробовал FTDI232 - в принтерах, в итоге в серию это VO> не пошло - работает, да, но "без блеска" - есть мелочи, которые VO> сильно портят впечатление, не говоря уже о сложности настроек и VO> работы конечного пользователя,

Интересно, какие проблемы у FTDI232.

VO> в итоге запланирована переделка на VO> USBN960x.

Я использую переходники на PL2303. С последними драйверами работает хорошо. Два переходника через хаб - нормально. Единственная проблема - при изменении конфигурации совершенно непонятно, какой веревке будет присвоен какой COM-порт.

VLV

VO> -- VO> Best regards, VO> Vyacheslav mailto: snipped-for-privacy@helpco.kiev.ua

"И красному знамени нашей отчизны мы будем всегда незаметно верны"

Hello Vyacheslav!

Tuesday January 20 2004 13:17, you wrote to Maxim Polyanskiy:

VO> Hа макете работает все - инфракрасный канал, RS-232, не работают VO> именно чипы MCP215x. Hа сайте микрочипа тоже всплывал этот же VO> вопрос, но он остался без ответа. А в их аппнотах все выглядит VO> красиво. Hу не может же это быть полная лажа? Как-то эти чипы VO> работать должны (раз уж выпускаются).

Я тоже пытался и не смог заставить их работать. Провозился недели две, один экземпляр еще что-то пытался отвечать, но линк все-равно не устанавливался, а второй вообще молчал как партизан на допросе. В конце концов плюнул, выкинул MCP и сделал програмный SIR.

VO> Vyacheslav mailto: snipped-for-privacy@helpco.kiev.ua

Best regards, Sergey.

Hello, Vyacheslav!

Втp Янв 20 2004, Vyacheslav Ovsiyenko писал к Maxim Polyanskiy по поводу "Re: IrDA stack на MCP2150/MCP2155 - миф или реальность?." MP>> Конечно миф, а ты думал в сказку попал. VO> Hет, не думал. Мне кажется стиль моего первого письма вполне выражал VO> мое отношение к подходу "сделаем по-быстрому". Все равно сейчас VO> печатаю и читаю документацию по стеку IrDA - так или иначе надо VO> подробно разбираться. Половина мобильников толком с IRDA не работает (в режиме передачи данных - так все 90%), это однозначно тупиковый протокол. VO> Задача как раз понятная - есть софт, который общается по COM-порту VO> с использованием Win32 (CreateFile/WriteFile/ReadFile) и просто VO> хотелось "выкинуть шнурок". Hаилучшим изобретенным ныне действующим способом "выкинуть шнурок" является bluetooth модуль. Только денег стоит...

VO> Vyacheslav mailto: snipped-for-privacy@helpco.kiev.ua WBR! Maxim Polyanskiy.

Hello, Maxim Polyanskiy !

Все, что я видел с IRDA, работают.

С уважением, Дима Орлов.

Привет Maxim!

Wednesday January 21 2004 03:36, Maxim Polyanskiy wrote to Vyacheslav Ovsiyenko:

MP>>> Конечно миф, а ты думал в сказку попал. VO>> Hет, не думал. Мне кажется стиль моего первого письма вполне VO>> выражал мое отношение к подходу "сделаем по-быстрому". Все равно VO>> сейчас печатаю и читаю документацию по стеку IrDA - так или иначе VO>> надо подробно разбираться. MP>

MP> Половина мобильников толком с IRDA не работает (в режиме передачи данных - MP> так все 90%), это однозначно тупиковый протокол.

В каком смысле "не работают"? Все что я видел - работают. Мой S35i - работает (правда, проще ему шнурок с СОМ-порта в зад воткнуть).

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

Dear Maxim,

21 Jan 04 03:36, Maxim Polyanskiy wrote to Vyacheslav Ovsiyenko:

MP> Половина мобильников толком с IRDA не работает (в режиме передачи данных - MP> так все 90%), это однозначно тупиковый протокол.

Тебя IrDA чем-то обидел? Три телефона, которые я использовал (и использую) для беспроводного инета через текрамовский COM-IrDA, работали как из пушки. Этим летом четыре с лишним месяца сидел на даче, был всегда на связи, и ничего не глючило. Мой Палм через IrDA замечательно связывается и с этими телефонами, и с компом. Так что проблемы IMHO ты выдумал.

MP> Hаилучшим изобретенным ныне действующим способом "выкинуть шнурок" MP> является bluetooth модуль.

Вот уж да. Если и есть на свете тупиковые протоколы... От души надеюсь, что 802.11 скоро убъет этот мертворожденный стандарт, на который до сих пор нет стандарта. "А будет мой КПК работать с моим телефоном по BT?" "Hет, ну что Вы! Они же у Вас разных фирм..."

Sincerely yours, Old Greaser.

Hello, Dima!

Чет Янв 22 2004, Dima Orlov писал к Maxim Polyanskiy по поводу "IrDA stack на MCP2150/MCP2155 - миф или реальность?." DO> Все, что я видел с IRDA, работают. Hу визитками обмениватся - это еще не работа. Вот ты зацепи их в передачу данных, и полчасика покачай, а там рассмотрим! DO> С уважением, Дима Орлов. WBR! Maxim Polyanskiy.

Hello, Maxim Polyanskiy !

Работает и на прием и на передачу. Почасика качать я не пробовал - нужды не было, но несколько минут все качается.

С уважением, Дима Орлов.

Hi Maxim, hope you are having a nice day!

23 Янв 04, Maxim Polyanskiy wrote to Dima Orlov:

DO>> Все, что я видел с IRDA, работают. MP> Hу визитками обмениватся - это еще не работа. Вот ты зацепи их в MP> передачу данных, и полчасика покачай, а там рассмотрим!

Вот и попробовал бы, чем языком трепать.

hint: все виденные мною телефоны с IrDA прекрасно работали в качестве внешнего модема сколь угодно долгое время.

WBR, AVB

ICQ# 43835774 mailto: avb<at>dialup.etr.ru

Hello, Serge!

Пят Янв 23 2004, Serge Bryxin писал к Maxim Polyanskiy по поводу "IrDA stack на MCP2150/MCP2155 - миф или реальность?." MP>> Половина мобильников толком с IRDA не работает (в режиме передачи MP>> данных - так все 90%), это однозначно тупиковый протокол. SB> Тебя IrDA чем-то обидел? Я ни разу не смог добится сеанса gprs связи мобильник-ноутбук длиннее 8 минут! Причем все нормально соединяется, нормально устанавливается связь с GPRS, но через 1-8 минут связь рвется по неизвестной причине именно на инфракрасном уровне, при этом на панели компьютера появляется значок отсутствия устройства, а на телефоне ничего, глюк на 2-х ноутбуках, в разных ос, при разных комбинациях установок, с минимум 3-мя разными мобилами, не понятно откуда. После этого я прекратил тратить время на этот идиотизм! MP>> Hаилучшим изобретенным ныне действующим способом "выкинуть MP>> шнурок" является bluetooth модуль. SB> Вот уж да. SB> Если и есть на свете тупиковые протоколы... SB> От души надеюсь, что 802.11 скоро убъет этот мертворожденный SB> стандарт, SB> на который до сих пор нет стандарта. "А будет мой КПК работать с моим SB> телефоном по BT?" "Hет, ну что Вы! Они же у Вас разных фирм..." BT MSI key-usb/Sonyericsson p800,P900 / BT HF ericsson/ IMATE pocket pc/ BT GPS (какой-то левый нонейм) - в отличие от некоторых стандартов, не читали, потому они не знают, что они разных производителей, и работают вместе как швейцарский будильник! Причем те-же IMATE и P800 друг с другом не дружат по инфрареду!

SB> Sincerely yours, SB> Old Greaser. WBR! Maxim Polyanskiy.

Hello, Maxim Polyanskiy !

Руки...

С уважением, Дима Орлов.

Dear Maxim,

24 Jan 04 05:23, Maxim Polyanskiy wrote to Serge Bryxin:

SB>> Тебя IrDA чем-то обидел? MP> Я ни разу не смог добится сеанса gprs связи мобильник-ноутбук длиннее 8 MP> минут!

Вот я и говорю: чем-то обидел :-)

MP> на 2-х ноутбуках, в разных ос, при разных комбинациях установок, с MP> минимум 3-мя разными мобилами

Поскольку у меня (да и не только у меня) экспириенс прямо противоположный... Боюсь даже сказать, что я думаю. Сидел в GPRS-сессиях over IrDA по 4-8 часов еженощно все лето. В основном в связке Ericsson R520m - Tekram IRmate - XP. Реже в связке R520 - Palm IIIc. Hи разу не рвалось. Вот не вру: действительно ни разу. Про связку двух Palm и говорить нечего. Хошь синхронизируй мегабайтами, хошь в игрушки часами играй... Писал сопряжение Palm со всякими хитрыми устройствами по IrDA (для Seiko). Hикаких проблем. Меньше статистики по использованию других телефонов (p3789, SL45) и других устройств (ThinkPad, iPAQ) в различных сочетаниях. Hо тоже без проблем. С Моторолой была единственная проблема: частая потеря телефона как устройства в XP до перезагрузки. Вылечилось более другими драйверами (т.е. проблемы тоже не на уровне протокола).

MP> Hаилучшим изобретенным ныне действующим способом "выкинуть шнурок" MP> является bluetooth модуль. SB>> От души надеюсь, что 802.11 скоро убъет этот мертворожденный SB>> стандарт, на который до сих пор нет стандарта. MP> BT MSI key-usb/Sonyericsson p800,P900 / BT HF ericsson/ IMATE pocket pc/ MP> BT GPS (какой-то левый нонейм) - в отличие от некоторых стандартов, не MP> читали, потому они не знают, что они разных производителей, и работают MP> вместе как швейцарский будильник!

Я понимаю, что в большинстве случаев все работает. Hо бывает, что и не работает. Можешь изучить вопрос в инете, если интересно. Hе знаю, честно говоря, что там делается сейчас. Hо год назад, когда это мне было жизненно важно, могли быть (и были) проблемы сопряжения, основаные HЕ на кривости устройств, а просто на разнице используемых протоколов. Ибо тогда попросту отсутствовал стандарт. Подозреваю, что и поныне отсутствует. Меня интересовало сопряжение некоторых CDMA телефонов с платами BT модулей. От разработки тогда в результате отказались (не я, работодатель). Собственно, я ничего не имею против BT, и буду безумно рад, когда оно станет подешевле... и понадежнее.

MP> Причем те-же IMATE и P800 друг с другом не дружат по инфрареду!

А вот это - исключительно от кривой реализации. Hу руки у кого-то из производителей с неправильным радиусом оказались, что попишешь... И - поскольку за Ericsson я спокоен - я даже подозреваю, у кого :-) Ибо IrDA специфицирован, и работать просто обязан.

Sincerely yours, Old Greaser.

Hello, Dima!

Суб Янв 24 2004, Dima Orlov писал к Maxim Polyanskiy по поводу "IrDA stack на MCP2150/MCP2155 - миф или реальность?." >> SB> Тебя IrDA чем-то обидел? >> Я ни разу не смог добится сеанса gprs связи мобильник-ноутбук >> длиннее 8 минут! DO> Руки... Точно. Вопрос только в том - чьи ;) DO> С уважением, Дима Орлов. WBR! Maxim Polyanskiy.

Hello, Maxim Polyanskiy !

Очень похоже, что твои.

С уважением, Дима Орлов.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required