|
|
 |
Ответов
|
Jan 11 2007, 23:51
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 3-11-06
Пользователь №: 21 954

|
Это запись одной команды с пульта управления ТВ. Кто может сказать где какой бит? Вроде должен быть RC5, но по моему что-то здесь не так... http://rem-blog.net/tmp/rc5.gif
|
|
|
|
|
Jan 12 2007, 20:22
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 3-11-06
Пользователь №: 21 954

|
Цитата(singlskv @ Jan 12 2007, 15:58)  Если все еще интересно то это код 011000010000 Возможно. Т.е. короткий импульс = 0, длинный = 1. Просто и не хуже Манчестера.
|
|
|
|
|
Jan 13 2007, 03:24
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 25-01-06
Пользователь №: 13 567

|
Цитата(ReM37 @ Jan 12 2007, 20:22)  Цитата(singlskv @ Jan 12 2007, 15:58) 
Если все еще интересно то это код 011000010000
Возможно. Т.е. короткий импульс = 0, длинный = 1. Просто и не хуже Манчестера. Для передачи 2-х байт на прямой видимости по IR, возможно и проще. А для передачи 120 байт по RF не покатит однозначно. Да кстати в современных пультах для помехозащизенности введен инверсный избыточный код, тоесть посылка в 2 раза больше.
|
|
|
|
|
Jan 13 2007, 13:52
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 3-11-06
Пользователь №: 21 954

|
Цитата(dvm11111111 @ Jan 13 2007, 02:24)  Для передачи 2-х байт на прямой видимости по IR, возможно и проще. А для передачи 120 байт по RF не покатит однозначно. Можно узнать почему? Я нашел один пульт, который передает точно RC5. Для экпериментов сойдет. Все же цель у меня перадать не меньше 32 байт по радио каналу (433 Mhz).
Сообщение отредактировал ReM37 - Jan 13 2007, 13:53
|
|
|
|
|
Jan 15 2007, 01:24
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(ReM37 @ Jan 13 2007, 13:52)  Цитата(dvm11111111 @ Jan 13 2007, 02:24)  Для передачи 2-х байт на прямой видимости по IR, возможно и проще. А для передачи 120 байт по RF не покатит однозначно.
Можно узнать почему? Я нашел один пульт, который передает точно RC5. Для экпериментов сойдет. Все же цель у меня перадать не меньше 32 байт по радио каналу (433 Mhz). Потому что уровень помех в RF (особенно 433 Mhz) очень высокий. Передать то 32 байта вы сможете без проблем, а вот с получением этих 32-х байт придется повозиться. По крайней мере вам понадобится точный контроль длительности стартового бита c точностью примерно 0,2%. Ну или (что вероятно проще в данном случае, учитывая длинну передачи ) некий адаптивный контроль длительности каждого бита с например 10% точностью. ЗЫ. Подключите модуль приемника и посмотрите на осциле что у него творится на выходе. Многое сразу же станет понятно. ЗЫЫ. RC5 вполне подходит для передачи по RF.
|
|
|
|
|
Jan 15 2007, 22:05
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 3-11-06
Пользователь №: 21 954

|
Цитата(singlskv @ Jan 15 2007, 00:24)  Передать то 32 байта вы сможете без проблем, а вот с получением этих 32-х байт придется повозиться. По крайней мере вам понадобится точный контроль длительности стартового бита c точностью примерно 0,2%. Ну или (что вероятно проще в данном случае, учитывая длинну передачи ) некий адаптивный контроль длительности каждого бита с например 10% точностью.
ЗЫ. Подключите модуль приемника и посмотрите на осциле что у него творится на выходе. Многое сразу же станет понятно.
ЗЫЫ. RC5 вполне подходит для передачи по RF. Я попробовал так: Цитата имеем внешнее прерывание по любому изменению в прерывании смотрим чего насчитал таймер... и обнуляем счетчик таймера для след изменеия по входу ExtINT (получается типа ICP только захват счетчика таймера по любому изменению уровня) Определяем минимальную длит импульса =Tmin. ;---- далее, с каждым прерыванием по Ext INT, смотрим что натикало (пусть будет T)и сверяемся с таблицой истинности: 1) T=2Tmin & __--- => bit=1 2) T=2Tmin & --__ => bit=0 3) T=Tmin & --__ & lastbit=1 => skip 4) T=Tmin & --__ & lastbit=0 => bit=0 5) T=Tmin & __-- & lastbit=0 => skip 6) T=Tmin & __-- & lastbit=1 => bit=1 ;---- В Proteus все работает без проблем. Но реально неработает. Кстати, впервые неработает то, что работает в Proteus. Сделал чтобы можно было видеть длительность импульсов в LCD. Оказалось, что насчитывает бред какой то. В чем причина пока не понял. Что творится на выходе модуля приемника я смотрел. Когда передатчик ничего не передает - ужас.  Но когда передает - все очень четко.
|
|
|
|
|
Jan 16 2007, 02:06
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата Я попробовал так:
имеем внешнее прерывание по любому изменению в прерывании смотрим чего насчитал таймер... Пока ловим стартовый бит настраиваем внешнее прерывание только на переход 0->1 запускаем таймер с прерыванием на время 3/8 длинны стартового бита если раньше произошло новое внешнее прерывание то сбрасываем таймер и продолжаем считать если оказались в прерывании таймера, перестраиваем внешнее прерывание на ловлю любого перехода, перестраиваем прерывание таймера на 1/4 длительности бита (не выключая таймер) при первом переходе 1->0 после срабатывания прерывания таймера запоминаем значение длительности стартовой единички T=3/8(базовой длинны бита)+TCNT сбрасываем TCNT перестраиваем таймер на 5/8T далее просто ловим переходы, при каждом переходе считываем значение TCNT сравниваем с 3/8 необходимой длительности бита если TCNT < 3/8 , ошибка, начинаем все с начала если оказались в прерывании таймера то проверяем на соответствие RC5 (четный нечетный бит) если ошибка начинаем все с начала если все в порядке перестраиваем таймер на 1/2 бита если все в порядке, сбрасываем TCNT и продолжаем ловить новые битики ну и конечно по ходу не забываем записывать что же мы там напринимали P.S. Может чего и накосячил но вроде примерно так ЗЫЫ 3/8 и 5/8 желательно брать не точные значения а что-то типа 3/8+20тактов ЦП и 5/8- 20 тактов
|
|
|
|
Сообщений в этой теме
Семён Манчестер для Avr Nov 7 2006, 11:33 #alex_ Посмотри апнот AVR410 на их сайте - это манчестер ... Nov 9 2006, 04:50 Семён Пишу сам. Тема закрыта. Nov 9 2006, 07:11  dvm11111111 Цитата(Семён @ Nov 9 2006, 07:11) Пишу са... Dec 27 2006, 03:29   =GM= Цитата(dvm11111111 @ Dec 27 2006, 00:29) ... Dec 27 2006, 03:43    dvm11111111 а не слишком ли навороченно получается?
да кстати ... Dec 27 2006, 08:05     &-rey Цитата(dvm11111111 @ Dec 27 2006, 09:05) ... Dec 27 2006, 10:39      dvm11111111 Цитата(&-rey @ Dec 27 2006, 10:3... Dec 28 2006, 02:40       &-rey Цитата(dvm11111111 @ Dec 28 2006, 03:40) ... Dec 28 2006, 10:13     pokos Цитата(dvm11111111 @ Dec 27 2006, 08:05) ... Dec 27 2006, 16:08 Kovrov А что если сделать вот так...
имеем внешнее прерыв... Dec 28 2006, 13:40 ReM37 А если через UART, но с манчестером? Т.е. из одног... Dec 29 2006, 17:34  =GM= Цитата(ReM37 @ Dec 29 2006, 14:34) А если... Dec 29 2006, 19:06  muravei Цитата(ReM37 @ Dec 29 2006, 17:34) А если... Dec 30 2006, 10:31   Nanobyte Цитата(muravei @ Dec 30 2006, 10:31) ... ... Dec 30 2006, 16:02    =GM= Цитата(Nanobyte @ Dec 30 2006, 13:02) Сов... Dec 31 2006, 02:50     Nanobyte Цитата(=GM= @ Dec 31 2006, 02:50) ... Ну ... Dec 31 2006, 12:24     muravei Цитата(=GM= @ Dec 31 2006, 02:50) Выпуска... Jan 3 2007, 20:23      =GM= Цитата(muravei @ Jan 3 2007, 17:23) Цитат... Jan 5 2007, 01:45 Nanobyte В журнале "Радио" за 1983 год было описа... Dec 29 2006, 19:11 Kovrov да! как давно это было..... синхробайт E6 итд. Dec 29 2006, 19:14 ReM37 Цитата(Kovrov @ Dec 29 2006, 18:14) да... Dec 29 2006, 21:54 Nanobyte Можно просто переписать программу на AVR, правда т... Dec 29 2006, 23:04 sensor_ua Отсутствие постоянной составляющей можно получить ... Dec 30 2006, 12:04 ReM37 Цитата(sensor_ua @ Dec 30 2006, 11:04) От... Dec 30 2006, 14:25  dvm11111111 Цитата(ReM37 @ Jan 11 2007, 23:51) Это за... Jan 12 2007, 02:14    singlskv Цитата(ReM37 @ Jan 12 2007, 20:22) Цитата... Jan 12 2007, 23:03       =GM= Цитата(singlskv @ Jan 14 2007, 22:24) Цит... Jan 15 2007, 14:19       muravei Цитата(singlskv @ Jan 15 2007, 01:24) уро... Jan 15 2007, 15:19         ReM37 Все же не могу разобраться почему в Proteus работа... Jan 28 2007, 18:00 singlskv Цитата(ReM37 @ Jan 11 2007, 23:51) Это за... Jan 12 2007, 03:14 ReM37 Цитата(singlskv @ Jan 12 2007, 02:14) Цит... Jan 12 2007, 11:38  Семён приветствую всех. извиняюсь за долгое отсутствие н... Jan 12 2007, 12:21 GDI Давно, года 4 назад, покупал для клиентов пульт ДУ... Jan 15 2007, 15:37
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|