Перейти к содержанию
    

Нужно связать устройство на МК с компъютером (ноутбук или КПК) и желательно по инфракрасному интерфейсу. Я по своей наивности полагал, что цепляем на UART МК какой-нибудь трансивер и вперед, общаемся как через RS-232. Оказалось не все так просто, как хотелось-бы. А шибко заморачиваться не хочется.

Порылся на форуме, в интернете и нашел микросхему TFDU4100, как я понял преобразователь IrDA <-> RS232.

В связи с этим возник вопрос.

Если я правильно понял, то поставив со стороны МК эту микросхему я буду общаться с ней со стороны МК по UART (и смогу написать свой протокол приема и передачи данных). И ПК будет связываться с моим устройством как по COM порту, и программировать обмен (со стороны ПК) можно будет как стандартный СОМ порт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ваша информация неполная и неточная. TFDU4100 это всего лишь ИК-приемоперадатчик. Для реализации ИК-порта вам нужно будет еще и кодек, который будет кодировать сигнал с UART-а импульсами (3/16 длительности битового периода) и наоборот из серии ИК-импульсов формировать битовую последовательность для UART. А IrDA в полной реализации это кроме физического ИК-интерфейса еще и трехуровневый стек протоколов. Рекомендую, для начала ознакомится со спецификациями IrDA, которые вроде были на местном FTP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ваша информация неполная и неточная. TFDU4100 это всего лишь ИК-приемоперадатчик. Для реализации ИК-порта вам нужно будет еще и кодек, который будет кодировать сигнал с UART-а импульсами (3/16 длительности битового периода) и наоборот из серии ИК-импульсов формировать битовую последовательность для UART. А IrDA в полной реализации это кроме физического ИК-интерфейса еще и трехуровневый стек протоколов. Рекомендую, для начала ознакомится со спецификациями IrDA, которые вроде были на местном FTP.

 

А есть в природе мосты IrDA <-> RS232 (UART) типа как USB <-> UART (FT232BM), а то скачать, то я скачал, да разбираться с этим делом, если честно, времени нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

[А есть в природе мосты IrDA <-> RS232 (UART) типа как USB <-> UART (FT232BM), а то скачать, то я скачал, да разбираться с этим делом, если честно, времени нет.

Готовые м/с кодеков для IrDA есть, см. на gaw.ru. Есть готовые устройства USB-IrDA и COM-IrDA, см. в компьютерных лавках. Только вот сомневаюсь я, что последние два реализуют весь стек протоколов. По-моему, в них только приемопередатчик и кодек (плюс мост COM-USB или драйверы RS-232), а поддержка протоколов IrDA все-таки в самой операционке имеется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Готовые м/с кодеков для IrDA есть, см. на gaw.ru. Есть готовые устройства USB-IrDA и COM-IrDA, см. в компьютерных лавках. Только вот сомневаюсь я, что последние два реализуют весь стек протоколов. По-моему, в них только приемопередатчик и кодек (плюс мост COM-USB или драйверы RS-232), а поддержка протоколов IrDA все-таки в самой операционке имеется.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эх... Посмотрел я на эти EnDec'и... они стоят в несколько раз дороже самого ИК приёмо-передатчика... Аваговские стоят 4 бака, вишаевские даже 6 баков. Микрочиповские вроде около бака, как и ИК приёмо-передатчик. Из них вишаевские не имеют индустриального температурного диапазона от минус 40.

Вот я и подумал... может проще в ПЛИС завести UART-сигналы, а там уже произвести преобразование длительностей. Кто скажет, насколько это сложно? Какой должен быть алгоритм этого преобразования, как его лучше реализовать в ПЛИС. Какие при этом могут быть подводные камни или неочевидные нетривиальности?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Нет, по условиям эксплуатации лучше всего ИК

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Спасибо, немного в голове все улеглось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К стати, в некоторых микроконтроллерах в UART уже имеется опционально подключаемый EnDec как раз для IrDa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно, что в этом треде еще не упоминались Microchip 2150/2155.

Это, вроде, самый простой способ сопряжения микроконтроллера с PC через IrDA.

Где-то я видел готовые модули 2150+IrDA_трансивер.

В сторону контроллера идет просто UART, а PC видит эту штуку как виртуальный COM порт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я делал чисто программный энкодер-декодер на атмеге. Работало нормально...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ссылка на комплект документации по IrDa

http://www.waterwood.com.cn/technology/irda.htm

 

P.S. спасибо китайским братьям:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...