Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы по IrDA
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Wireless/Optic
iit
Нужно связать устройство на МК с компъютером (ноутбук или КПК) и желательно по инфракрасному интерфейсу. Я по своей наивности полагал, что цепляем на UART МК какой-нибудь трансивер и вперед, общаемся как через RS-232. Оказалось не все так просто, как хотелось-бы. А шибко заморачиваться не хочется.
Порылся на форуме, в интернете и нашел микросхему TFDU4100, как я понял преобразователь IrDA <-> RS232.
В связи с этим возник вопрос.
Если я правильно понял, то поставив со стороны МК эту микросхему я буду общаться с ней со стороны МК по UART (и смогу написать свой протокол приема и передачи данных). И ПК будет связываться с моим устройством как по COM порту, и программировать обмен (со стороны ПК) можно будет как стандартный СОМ порт?
rezident
Ваша информация неполная и неточная. TFDU4100 это всего лишь ИК-приемоперадатчик. Для реализации ИК-порта вам нужно будет еще и кодек, который будет кодировать сигнал с UART-а импульсами (3/16 длительности битового периода) и наоборот из серии ИК-импульсов формировать битовую последовательность для UART. А IrDA в полной реализации это кроме физического ИК-интерфейса еще и трехуровневый стек протоколов. Рекомендую, для начала ознакомится со спецификациями IrDA, которые вроде были на местном FTP.
iit
Цитата(rezident @ Jul 5 2006, 13:28) *
Ваша информация неполная и неточная. TFDU4100 это всего лишь ИК-приемоперадатчик. Для реализации ИК-порта вам нужно будет еще и кодек, который будет кодировать сигнал с UART-а импульсами (3/16 длительности битового периода) и наоборот из серии ИК-импульсов формировать битовую последовательность для UART. А IrDA в полной реализации это кроме физического ИК-интерфейса еще и трехуровневый стек протоколов. Рекомендую, для начала ознакомится со спецификациями IrDA, которые вроде были на местном FTP.


А есть в природе мосты IrDA <-> RS232 (UART) типа как USB <-> UART (FT232BM), а то скачать, то я скачал, да разбираться с этим делом, если честно, времени нет.
rezident
Цитата(iit @ Jul 5 2006, 16:35) *
[А есть в природе мосты IrDA <-> RS232 (UART) типа как USB <-> UART (FT232BM), а то скачать, то я скачал, да разбираться с этим делом, если честно, времени нет.

Готовые м/с кодеков для IrDA есть, см. на gaw.ru. Есть готовые устройства USB-IrDA и COM-IrDA, см. в компьютерных лавках. Только вот сомневаюсь я, что последние два реализуют весь стек протоколов. По-моему, в них только приемопередатчик и кодек (плюс мост COM-USB или драйверы RS-232), а поддержка протоколов IrDA все-таки в самой операционке имеется.
iit
Цитата(rezident @ Jul 5 2006, 16:58) *
Готовые м/с кодеков для IrDA есть, см. на gaw.ru. Есть готовые устройства USB-IrDA и COM-IrDA, см. в компьютерных лавках. Только вот сомневаюсь я, что последние два реализуют весь стек протоколов. По-моему, в них только приемопередатчик и кодек (плюс мост COM-USB или драйверы RS-232), а поддержка протоколов IrDA все-таки в самой операционке имеется.


Тогда, подскажите пожалуйста, г-н rezident, что мне надо заложить в мое устройство сейчас (нужно срочно сделать схему и развести плату), чтобы в будушем обмен компьютера с моим утсройством выглядел со стороны компьютера как обмен через COM-порт (ИК в ПК имеется). Насколько я понимаю мне нужно поставить в устройство кодер/энкодер (типа MCP2120) и трансивер (к примеру TFDU4100) - это из железа. В программе мне затем придется реализовать протокол IrCOMM или SIR.
Krys
Эх... Посмотрел я на эти EnDec'и... они стоят в несколько раз дороже самого ИК приёмо-передатчика... Аваговские стоят 4 бака, вишаевские даже 6 баков. Микрочиповские вроде около бака, как и ИК приёмо-передатчик. Из них вишаевские не имеют индустриального температурного диапазона от минус 40.
Вот я и подумал... может проще в ПЛИС завести UART-сигналы, а там уже произвести преобразование длительностей. Кто скажет, насколько это сложно? Какой должен быть алгоритм этого преобразования, как его лучше реализовать в ПЛИС. Какие при этом могут быть подводные камни или неочевидные нетривиальности?
iosifk
Цитата(iit @ Jul 5 2006, 14:14) *
Нужно связать устройство на МК с компъютером (ноутбук или КПК) и желательно по инфракрасному интерфейсу.


А USB? А радиотракты не проще?
iit
Цитата(iosifk @ Jul 6 2006, 08:05) *
Цитата(iit @ Jul 5 2006, 14:14) *

Нужно связать устройство на МК с компъютером (ноутбук или КПК) и желательно по инфракрасному интерфейсу.


А USB? А радиотракты не проще?

Нет, по условиям эксплуатации лучше всего ИК
rezident
Цитата(iit @ Jul 6 2006, 08:09) *
Тогда, подскажите пожалуйста, г-н rezident, что мне надо заложить в мое устройство сейчас (нужно срочно сделать схему и развести плату), чтобы в будушем обмен компьютера с моим утсройством выглядел со стороны компьютера как обмен через COM-порт (ИК в ПК имеется). Насколько я понимаю мне нужно поставить в устройство кодер/энкодер (типа MCP2120) и трансивер (к примеру TFDU4100) - это из железа. В программе мне затем придется реализовать протокол IrCOMM или SIR.

Если нужна только эмуляция обмена через COM-порт и не нужно поддерживать класс IrDA полностью, то достаточно только м/с ИК-приемопередатчика и SIR-кодека. SIR-кодек при наличии ресурсов можно реализовать прямо в МК. Или в FPGA, например. У нас в некоторых устройства так и сделано. В FPGA реализовано два доп. UARTа, один из которых имеет подключаемый програманно аппаратный SIR-кодек. В другом (носимом) устройстве кодек прямо на МК (MSP430) реализован. У TI есть апликухи по программно-аппаратной реализации такого кодека. Пример, см. опять же на gaw.ru.
iit
Цитата(rezident @ Jul 6 2006, 12:07) *
Если нужна только эмуляция обмена через COM-порт и не нужно поддерживать класс IrDA полностью, то достаточно только м/с ИК-приемопередатчика и SIR-кодека. SIR-кодек при наличии ресурсов можно реализовать прямо в МК. Или в FPGA, например. У нас в некоторых устройства так и сделано. В FPGA реализовано два доп. UARTа, один из которых имеет подключаемый програманно аппаратный SIR-кодек. В другом (носимом) устройстве кодек прямо на МК (MSP430) реализован. У TI есть апликухи по программно-аппаратной реализации такого кодека. Пример, см. опять же на gaw.ru.


Спасибо, немного в голове все улеглось.
Petka
попробуйте сделать так: UART<->TOIM3232 (или TOIM4232)<->TFDU4100.
работает надёжно. проверено.
Krys
К стати, в некоторых микроконтроллерах в UART уже имеется опционально подключаемый EnDec как раз для IrDa
Colombo
Странно, что в этом треде еще не упоминались Microchip 2150/2155.
Это, вроде, самый простой способ сопряжения микроконтроллера с PC через IrDA.
Где-то я видел готовые модули 2150+IrDA_трансивер.
В сторону контроллера идет просто UART, а PC видит эту штуку как виртуальный COM порт.
Stanislav
А я делал чисто программный энкодер-декодер на атмеге. Работало нормально...
Kopa
Ссылка на комплект документации по IrDa
http://www.waterwood.com.cn/technology/irda.htm

P.S. спасибо китайским братьямsmile.gif
Dog Pawlowa
Цитата(Stanislav @ Jul 19 2006, 13:24) *
А я делал чисто программный энкодер-декодер на атмеге. Работало нормально...


Станислав, а до какой скорости получился SIR?
Я сделал на MSP, но сейчас нужно сделать что-то подобное на AVR.
Нужно 38400 SIR.
Махнем? :-)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.