|
IrDA интерфейс, и все что с ним связано |
|
|
|
Nov 5 2005, 00:43
|
иногда заглядывающий
   
Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170

|
Там кодер программный просто, и управления целиком из драйвера. Слушать драйвер и прочее, это уже попахивает совком. Стоит производителю адаптера изменить один бит в строке инициализации и каюк. Полное отсутствие поддержки новых устройств. Это не вариант, лучше тогда сделать свой адаптер и с ним продавать, этого делать не хотелось, да и не хочется. Думаем пока, возможно остановимся на 9600. Пока не очень ясно, даст ли какой-нить прирост в скорости переход на 19200 с IrCOMM, т.к этот протокол и все ниже стоящие создают такую избыточность, что мне показалось что SIR На 9600 будет раза в два шустрее чем IrCOMM 19200  Что совершенно не устраивает. А реализовать более шустрый инетерфейс не получится из-за того что сам прибор работает на 2мгц(MSP430F413, DCO2MHz*FLL+*32768Hz)  Вот и будем думать чего делать. Девайс и так забит под завязку, толком ничего не выкинешь, тут или на более объемистый 415-417 переходить или довольствоваться малым.
|
|
|
|
|
Nov 5 2005, 11:53
|

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

|
Цитата(Shread @ Nov 5 2005, 03:43) Пока не очень ясно, даст ли какой-нить прирост в скорости переход на 19200 с IrCOMM, т.к этот протокол и все ниже стоящие создают такую избыточность, что мне показалось что SIR На 9600 будет раза в два шустрее чем IrCOMM 19200  Что совершенно не устраивает. Да уж, по моим прикидкам, ИрДА на скорости 115к выдавал эффективный поток меньше 57к  Мда, остается только помечтать о более мощном проце и пожелать Вам удачи
|
|
|
|
|
Nov 6 2005, 02:20
|
Участник

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

|
Цитата(Shread @ Nov 2 2005, 15:40) Собственно интересует такой вопрос: Есть адаптер rs-232-IrDA, стандартный- tekram, с прибора с программным портом ему посылают байт со стартовым и стоповым битом, на скорости 9600 бод, тестовой прогой читаю состояние порта, приходит полная чушь. Отсюда ряд вопросов, как это преобразователь понимает скорость обмена. Я рассматриваю связь двух компов на таких преобразователях как оптический удлинитель нульмодемного кабеля, работающего в полудуплексном режиме, я прав? Так же интересует спецификация на интерфейс IRDA, в свободном доступе почемуто не нашел  Tekram 210B после подачи питания настроен на 9600. Для изменения скорости нужно дрыгать DTR и RTS соблюдая временные соотношения и посылая управляющий байт, который и задает скорость. Пример кода для этого можно найти в дистрибутивах Linux, файл tekram.c. Вот комменты из этого файла. Сам файл, я думаю, найдешь сам. 94 /* 95 * Function tekram_change_speed (dev, state, speed) 96 * 97 * Set the speed for the Tekram IRMate 210 type dongle. Warning, this 98 * function must be called with a process context! 99 * 100 * Algorithm 101 * 1. clear DTR 102 * 2. set RTS, and wait at least 7 us 103 * 3. send Control Byte to the IR-210 through TXD to set new baud rate 104 * wait until the stop bit of Control Byte is sent (for 9600 baud rate, 105 * it takes about 100 msec) 106 * 5. clear RTS (return to NORMAL Operation) 107 * 6. wait at least 50 us, new setting (baud rate, etc) takes effect here 108 * after 109 */ 200 /* 201 * Function tekram_reset (driver) 202 * 203 * This function resets the tekram dongle. Warning, this function 204 * must be called with a process context!! 205 * 206 * Algorithm: 207 * 0. Clear RTS and DTR, and wait 50 ms (power off the IR-210 ) 208 * 1. clear RTS 209 * 2. set DTR, and wait at least 1 ms 210 * 3. clear DTR to SPACE state, wait at least 50 us for further 211 * operation 212 */ Спецификации IrDA еще год назад можно было скачать свободно. Могу выслать или выложить, только куда тут принято класть?
|
|
|
|
|
Nov 7 2005, 01:06
|
Участник

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

|
Цитата(rezident @ Nov 6 2005, 23:22)  Цитата(Colombo @ Nov 6 2005, 08:20)  Спецификации IrDA еще год назад можно было скачать свободно. Могу выслать или выложить, только куда тут принято класть?
Так что можете приаттачить с своему сообщению, а кто-нибудь зальет спецификации на ftp. OK, приаттачиваю спеки коры и двух основных примочек. Остался еще с десяток спек на редко используемые фичи как IrMC, IrFM, IrLAN, IrWW, IrTranP, IrModem и т.п. Кору пришлось проредить, т.к. как оказалось (о чем нигде явно не сказано) что размер приаттаченного файла в этом форуме не может превышать 2 метров. В основном пострадал IrPHY. Но так как этот уровень делается аппаратно чипом трансивера, то вряд ли это большая потеря для тех, кто не собирается разрабатывать такие чипы.
IrCOMM.zip ( 390.05 килобайт )
Кол-во скачиваний: 280
OBEX.zip ( 1.17 мегабайт )
Кол-во скачиваний: 287
IrDA_Core.zip ( 1.15 мегабайт )
Кол-во скачиваний: 295
|
|
|
|
|
Nov 7 2005, 13:03
|
Участник

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

|
Цитата(Shread @ Nov 7 2005, 07:46)  Цитата(Colombo @ Nov 7 2005, 04:06)  В основном пострадал IrPHY. Но так как этот уровень делается аппаратно чипом трансивера, то вряд ли это большая потеря для тех, кто не собирается разрабатывать такие чипы.
Ну это вы не совсем прав насчет Physicak Layer, у нас программно реализован этот самый уровень, процессор напрямую рулит приемо-передатчиком ИК. Это обосновано в первую очередь ценой, понижает ее ровно на ту самую стоимость аппаратного кодера-декодера, т.е на 3-6$ примерно. Ну вот он, IrPHY
IrPHY.zip ( 1.46 мегабайт )
Кол-во скачиваний: 239
|
|
|
|
|
Nov 8 2005, 16:12
|
иногда заглядывающий
   
Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170

|
Все заработало. На 19200 бод. Интересно, что в описании работы алгоритма указана одна последовательность управления адаптера, а в коде реализована другая Подготовлю подборку по IrDA и залью на ftp. Всем спасибо p.s Желающим поглядеть, прилагаю сишный файл из дистриба линуха.
|
|
|
|
|
Nov 8 2005, 18:47
|
иногда заглядывающий
   
Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170

|
Тут Почему-то с первого раза не добавилось, а я не заметил, может потомучто *.с был. На всякий слачай сделал *.txt. Все отлично зашуршало, без особых переделок в устройстве. Сделали программный формирователь коротких импульсов(SIR), заменили им модуль UART'а программного, в устройстве. Со стороны ПК добавили в программу инициацлизацию девайса, и все. Обмен по IR без поддержки протоколов верхнего уровня, т.е SIR+10 битный байт(8 бит данных+стартовый, стоповый биты)+Modbus. Теперь остались небольшие доработки, как то организовать в устройстве некий свой протокол, который обеспечит минимальное энергопотребление в режиме ожидания, потому как сам приемо-передатчик(TFDU4100) даже в режиме приема потребляет пару милиампер. Тут уже все просто, с компа тупо молотит запрос, а устройство раз в секунду включает приемник, вот собственно и все.
|
|
|
|
|
Nov 9 2005, 18:58
|
Участник

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

|
Цитата(Shread @ Nov 8 2005, 21:47)  Все отлично зашуршало, без особых переделок в устройстве. Поздравляю! Ну а поскольку топик несколько шире, чем обсуждение частного случая, то хочу добавить сюда ссылочку на еще одну простейшую реализацию стандартного протокола. http://www.blaulogic.com/pico_irda.shtml
|
|
|
|
|
Nov 9 2005, 19:55
|
Участник

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

|
Цитата(rezident @ Nov 8 2005, 21:15)  Закачал все эти четыре зипа на FTP. Так и чего, теперь можно удалить файлы из сообщений?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|