реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> IrDA интерфейс, и все что с ним связано
Shread
сообщение Nov 2 2005, 11:40
Сообщение #1


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



Собственно интересует такой вопрос: Есть адаптер rs-232-IrDA, стандартный- tekram, с прибора с программным портом ему посылают байт со стартовым и стоповым битом, на скорости 9600 бод, тестовой прогой читаю состояние порта, приходит полная чушь. Отсюда ряд вопросов, как это преобразователь понимает скорость обмена. Я рассматриваю связь двух компов на таких преобразователях как оптический удлинитель нульмодемного кабеля, работающего в полудуплексном режиме, я прав?
Так же интересует спецификация на интерфейс IRDA, в свободном доступе почемуто не нашел sad.gif
Go to the top of the page
 
+Quote Post
Shread
сообщение Nov 2 2005, 18:03
Сообщение #2


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



В доке Vishay Telefubken касательно SIR написано:
This type of transmission covers the data range up to
115.2 kbit/s which is the maximum data rate supported
by standard UARTs (see figure 1). The minimum
demand for transmission speed for IrDA is only
9600 bit/s. All transmissions must be started at this
frequency to enable compatibility. Higher speeds are
a matter of negotiation of the ports after establishing
the links.
Собственно вопрос, где взять спецификацию SIR и конкретно, как организуется "negotiation of the ports", после которого, дружно договорившись, девайсы общаются на большей чем 9600 скорости?
Go to the top of the page
 
+Quote Post
aal
сообщение Nov 3 2005, 03:42
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 230
Регистрация: 20-10-04
Из: Новосибирская обл, п.Краснообск.
Пользователь №: 916



Здесь ситуация очень интересная:
1. SIR это физичиский уровень, на старых пальмах к нему был доступ, теперь только через стек протоколов.
2. Стек протоколов имеет противоречия даже в стандарте, поэтому можно нарватся на ситуацию когда с одним девайсом всё ок, а с другим облом.
3. В стеке есть протокол организующий виртуальный уарт (под ним всего 2 уровня), для большинства применений его может хватить. И тут может помочь микрочип со своим МСР2150. А вот если больше надо то пиши сам на мк.
4. Стандарт доступен только после вступления в группу (за кучку баксов в год).

вот такие пирожки с котятками, их едят - они глядять....


--------------------
_____________________________________
Пароли неприемлемы, легко взламываются терморектальным криптоанализатором.
Go to the top of the page
 
+Quote Post
Shread
сообщение Nov 3 2005, 06:48
Сообщение #4


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



Нужен или SIR или IrCOMM, это сразу было понятно, и нужно чтобы это было реализовано на MSP430 и при этом не занимало очень много места в программе.
В SIR есть какой-то стандрартный способ переключения скоростей?
Нужно только переключитсья с 9600 на 19200 и все.
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 3 2005, 08:45
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Я уже предлагал сделать второй IrDA на стороне PC тоже на MSP430. MSP430 должен использоваться только в качестве IrDA кодека. У TI есть пара аппликейшнов с примерами на эту тему. Напомню ссылки на всякий случай Implementing IrDA with the MSP430 и MSP430C112 IrDA SIR Encoder/Decoder
Go to the top of the page
 
+Quote Post
BVU
сообщение Nov 3 2005, 10:04
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Смотрите инфу (IrDA) по данным ссылкам:
http://uniper.ru/shems_ir1.php
http://radiomod.fatal.ru/helpfiles/irda01.htm
http://www.evm.wallst.ru/


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
Joy
сообщение Nov 3 2005, 10:17
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 28-10-05
Из: Киев
Пользователь №: 10 227



Цитата(aal @ Nov 3 2005, 06:42)
И тут может помочь микрочип со своим МСР2150. А вот если больше надо то пиши сам на мк.

год назад пробовал МСР2150 и МСР2155. при попытке связи с ноутом дальше NDM ни один, ни второй не продвинулся. на форумах нашел сотоварищей по несчастью, которые тоже никуда не продвинулись. так что, эти чипы - не самое простое решение sad.gif
Go to the top of the page
 
+Quote Post
Shread
сообщение Nov 3 2005, 12:30
Сообщение #8


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



Вариант со вторым устройством на MSP отападает, по изначальному разумению. Весь смысл использовать стандартные адаптеры SIR. Если делать свой собственный адаптер, тогда это уже не IRDA будет. Так и не стало понятно как заставить этот tekram принять посылку на 19200 sad.gif
Go to the top of the page
 
+Quote Post
Joy
сообщение Nov 3 2005, 13:15
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 28-10-05
Из: Киев
Пользователь №: 10 227



Цитата(Shread @ Nov 2 2005, 14:40)
с прибора с программным портом ему посылают байт со стартовым и стоповым битом, на скорости 9600 бод, тестовой прогой читаю состояние порта, приходит полная чушь.
*

Не могли бы Вы уточнить задачу?
если Вы хотите просто посылать отдельные байты (без упаковки в соответствующие пакеты), то боюсь, это не совсем тривиальная задача (по крайней мере, это ирдой не называется).
Если говорить о стандартном интерфейсе, то скорость обмена устанавливается при переходе обоих устройств в соединенное состояние. Скорость соединения - это максимальная общая скорость, заявленная обоими устройствами в процессе установки соединения.
Вся дока есть на irda.org
Go to the top of the page
 
+Quote Post
Shread
сообщение Nov 3 2005, 13:35
Сообщение #10


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



Насколько я понял, работа с адаптером через ком порт осуществляется стандартнысмми средствами, и параметры этой работы опереляются стандартом SIR, параметрами работы на физическом уровне. Сейчас просто посылаем байт состоящий из стартового бита +8 бит данных+стоповый бит, с интервалами и длиной импульса, соответветствующими IrPHY, на скорости 9600 бод. Нужно на 19200. Когда просто увеличиваю частоту посылок и уменьшаю длину импульса, на выходе адаптера(то что в ком-порт летит) на всю длину моей посылки втыкается глухой ноль(+12вольт) и все, т.е байт не проходит. На принимающем приемо-передатчика в адаптере сигнал есть а на UART'е приемо-передатчика уже его нет. На 9600 все работает стабильно.
Go to the top of the page
 
+Quote Post
Joy
сообщение Nov 3 2005, 14:13
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 28-10-05
Из: Киев
Пользователь №: 10 227



В адаптере есть проц, который мог бы фильтровать данные и детектировать ошибки?
Возможно, дело в настройках скорости микросхемы приемо-передатчика адаптера? Проверьте, на какую скорость она настроена в момент поднятия Вами скорости передачи (как правило, есть три ноги, задающие скорость).
Может еще есть ошибка в сформированном пакете (импульсы сдвинуты или неверной длины). На 9600 это могло быть еще незаметно, а на 19200 уже вылезло...
Go to the top of the page
 
+Quote Post
Shread
сообщение Nov 3 2005, 16:12
Сообщение #12


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



Цитата
Проверьте, на какую скорость она настроена в момент поднятия Вами скорости передачи (как правило, есть три ноги, задающие скорость)

-Не понял о каком "как правило" идет речь, я не видел приемопередатчиков, с таким управлением, разве что вы говорите о преобразователе интерфейсов IrDA<-->RS232.
Ситуация такая: в том адаптере, который сейчас у нас есть-Tekram ir-210b, внутри стоит проц и приемопередатчик, и все. приемопередатчик представляет из себя светодиод+фотодиод+транзистор управления+некоторая логика. Сам приемопередатчик управлять скоростью не умеет. Он просто преобразует логический сигал в ик импульс и обратно, регулировки скорости у него нет.
Как я понимаю при использовании протоколов верхнего уровня, когда обменом управляет компьютер, скорость задается через драйвер адаптера. Если эта функция не является стандартной(в com порт нужно забивать разные стопки данных для конфигурации разных адаптеров), тогда придется использовать IrCOMM и работать через сокеты, кто-нить такое делал?
Go to the top of the page
 
+Quote Post
Joy
сообщение Nov 3 2005, 16:31
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 28-10-05
Из: Киев
Пользователь №: 10 227



Боюсь, что если в адаптере стоит проц, то он и рулит скоростью передачи. рулит он ею с помощью сигналов, идущих от него на приемо-передатчик (в тех передатчиках, которые я видел, это три линии, комбинация уровней на которых определяет скорость, на которой работает приемопередатчик). Так вот, в соответствии со стандартом, без установленного ирда-соединения все общение происходит на 9600.Скорее всего, стек ирда реализован в драйвере. Поэтому пока драйвер не получит осмысленные пакеты и не договорится по ирда-протоколу с вашим девайсом, скорость он менять не будет (не выдаст команду процу поменять скорость). По-моему, нужно или выковырять команды изменения скорости, или руками рулить ногами приемопередатчика, задающими скорость (перепрошить его)...
Для поддержки сокетов со стороны вашего устройства на нем, ессно, нужно поднять стек. Самый простой стек, поддерживающий сокет IrLPT (эмуляция 3-проводного СОМ порта) состоит из уровней IrLAP, IrLMP и двух сервисов. IrCOMM - это круче на два уровня.
Go to the top of the page
 
+Quote Post
Shread
сообщение Nov 4 2005, 06:44
Сообщение #14


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



А вы можете сказать что за приемопередатчик имеет ноги управления скоростями. Мы сейчас со стороны устройства используем TFDU4100, он такой же как TFDS4500, и еще много других приемо-передатчиков от Vishay. Кроме того я сначала тыкался с HP-1000, у него тоже нет ног управления скорости. И та понятно, что в данном адаптере всем управляет процессор. То что изначально скорость должна быть 9600 а потом они договорившись переходят на большую скорость. В моем предыдущем посте чуть повыше я написал,что скорость задается через драйвер адаптера, вот интересно как. А так вообще сейчас уже нужна инфа по IrCOMM, если кто такое делал. А именно реализация IrCOMM и всех нижестоящих стеков протоколов с минимальными требованиями к ресурсам процессора.
Go to the top of the page
 
+Quote Post
Joy
сообщение Nov 4 2005, 11:23
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 28-10-05
Из: Киев
Пользователь №: 10 227



Мда, пардон, неувязка с терминологией вышла: когда я говорил про приемопередатчик, имелась ввиду связка енкодер-трансивер (например, HSDL7001-TFDU4100). Соответственно, ноги управления имелись у енкодера, а не у трансивера.
Как я понял, в данном адаптере енкодер встроен в проц Так что кроме выковыривания команд драйвера другого пути не вижу. Можно поставить слушалку на СОМ-порт и записать соседним портом все, что лезет от драйвера.
До IrCOMM'a я не добрался, есть только неотлаженая версия IrLMP. Под AVR это заняло около 10к кода и байт 300 озу (минимальная реализация).
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 18:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01477 секунд с 7
ELECTRONIX ©2004-2016