|
Вопросы по IrDA, Подскажите кто знает. |
|
|
|
Jul 5 2006, 10:14
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 8-11-04
Из: Томск
Пользователь №: 1 070

|
Нужно связать устройство на МК с компъютером (ноутбук или КПК) и желательно по инфракрасному интерфейсу. Я по своей наивности полагал, что цепляем на UART МК какой-нибудь трансивер и вперед, общаемся как через RS-232. Оказалось не все так просто, как хотелось-бы. А шибко заморачиваться не хочется. Порылся на форуме, в интернете и нашел микросхему TFDU4100, как я понял преобразователь IrDA <-> RS232. В связи с этим возник вопрос. Если я правильно понял, то поставив со стороны МК эту микросхему я буду общаться с ней со стороны МК по UART (и смогу написать свой протокол приема и передачи данных). И ПК будет связываться с моим устройством как по COM порту, и программировать обмен (со стороны ПК) можно будет как стандартный СОМ порт?
|
|
|
|
|
Jul 5 2006, 10:35
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 8-11-04
Из: Томск
Пользователь №: 1 070

|
Цитата(rezident @ Jul 5 2006, 13:28)  Ваша информация неполная и неточная. TFDU4100 это всего лишь ИК-приемоперадатчик. Для реализации ИК-порта вам нужно будет еще и кодек, который будет кодировать сигнал с UART-а импульсами (3/16 длительности битового периода) и наоборот из серии ИК-импульсов формировать битовую последовательность для UART. А IrDA в полной реализации это кроме физического ИК-интерфейса еще и трехуровневый стек протоколов. Рекомендую, для начала ознакомится со спецификациями IrDA, которые вроде были на местном FTP. А есть в природе мосты IrDA <-> RS232 (UART) типа как USB <-> UART (FT232BM), а то скачать, то я скачал, да разбираться с этим делом, если честно, времени нет.
|
|
|
|
|
Jul 5 2006, 13:58
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(iit @ Jul 5 2006, 16:35)  [А есть в природе мосты IrDA <-> RS232 (UART) типа как USB <-> UART (FT232BM), а то скачать, то я скачал, да разбираться с этим делом, если честно, времени нет. Готовые м/с кодеков для IrDA есть, см. на gaw.ru. Есть готовые устройства USB-IrDA и COM-IrDA, см. в компьютерных лавках. Только вот сомневаюсь я, что последние два реализуют весь стек протоколов. По-моему, в них только приемопередатчик и кодек (плюс мост COM-USB или драйверы RS-232), а поддержка протоколов IrDA все-таки в самой операционке имеется.
|
|
|
|
|
Jul 6 2006, 02:09
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 8-11-04
Из: Томск
Пользователь №: 1 070

|
Цитата(rezident @ Jul 5 2006, 16:58)  Готовые м/с кодеков для IrDA есть, см. на gaw.ru. Есть готовые устройства USB-IrDA и COM-IrDA, см. в компьютерных лавках. Только вот сомневаюсь я, что последние два реализуют весь стек протоколов. По-моему, в них только приемопередатчик и кодек (плюс мост COM-USB или драйверы RS-232), а поддержка протоколов IrDA все-таки в самой операционке имеется. Тогда, подскажите пожалуйста, г-н rezident, что мне надо заложить в мое устройство сейчас (нужно срочно сделать схему и развести плату), чтобы в будушем обмен компьютера с моим утсройством выглядел со стороны компьютера как обмен через COM-порт (ИК в ПК имеется). Насколько я понимаю мне нужно поставить в устройство кодер/энкодер (типа MCP2120) и трансивер (к примеру TFDU4100) - это из железа. В программе мне затем придется реализовать протокол IrCOMM или SIR.
|
|
|
|
|
Jul 6 2006, 08:12
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 8-11-04
Из: Томск
Пользователь №: 1 070

|
Цитата(iosifk @ Jul 6 2006, 08:05)  Цитата(iit @ Jul 5 2006, 14:14)  Нужно связать устройство на МК с компъютером (ноутбук или КПК) и желательно по инфракрасному интерфейсу.
А USB? А радиотракты не проще? Нет, по условиям эксплуатации лучше всего ИК
|
|
|
|
|
Jul 6 2006, 09:07
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

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

Группа: Свой
Сообщений: 72
Регистрация: 8-11-04
Из: Томск
Пользователь №: 1 070

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

Группа: Свой
Сообщений: 25
Регистрация: 6-11-05
Пользователь №: 10 505

|
Странно, что в этом треде еще не упоминались Microchip 2150/2155. Это, вроде, самый простой способ сопряжения микроконтроллера с PC через IrDA. Где-то я видел готовые модули 2150+IrDA_трансивер. В сторону контроллера идет просто UART, а PC видит эту штуку как виртуальный COM порт.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|