|
Кодер и декодер на AVR |
|
|
|
 |
Ответов
|
Nov 2 2006, 07:03
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(singlskv @ Nov 2 2006, 05:28)  Есть еще одна серьезная причина не пользоваться UART(по крайней мере на принимающей стороне). UART принимает всю посылку целиком, при этом контролируется целиком(16 выборок) только стартовый бит, и если он правильный, то остальные биты посылки просто читаются. То есть если мы поймали стартовый бит, то далее обязательно ловим всю посылку. Может получиться так, что это не наш стартовый бит, а часть чужой посылки, а наш стартовый бит будет в тот момент когда мы ловим уже часть чужой посылки. То есть нашу посылку мы просто пропустим.
Если же мы пользуемся например манчестерским кодом, то мы можем контролировать каждый получаемый бит(переход 0->1 или 1->0) и при неправильном бите сразу переключаться на начало(прием стартового бита) не дожидаясь окончания всей посылки. Таким образом мы сильно уменьшаем вероятность не поймать нашу посылку. Для этого существуют протоколы типа 1 мастер - несколько слэйвов, например тот же MODBUS
--------------------
|
|
|
|
|
Nov 2 2006, 22:22
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(prottoss @ Nov 2 2006, 10:03)  Цитата(singlskv @ Nov 2 2006, 05:28)  Есть еще одна серьезная причина не пользоваться UART(по крайней мере на принимающей стороне). UART принимает всю посылку целиком, при этом контролируется целиком(16 выборок) только стартовый бит, и если он правильный, то остальные биты посылки просто читаются. То есть если мы поймали стартовый бит, то далее обязательно ловим всю посылку. Может получиться так, что это не наш стартовый бит, а часть чужой посылки, а наш стартовый бит будет в тот момент когда мы ловим уже часть чужой посылки. То есть нашу посылку мы просто пропустим.
Если же мы пользуемся например манчестерским кодом, то мы можем контролировать каждый получаемый бит(переход 0->1 или 1->0) и при неправильном бите сразу переключаться на начало(прием стартового бита) не дожидаясь окончания всей посылки. Таким образом мы сильно уменьшаем вероятность не поймать нашу посылку. Для этого существуют протоколы типа 1 мастер - несколько слэйвов, например тот же MODBUS ИМХО, "воротить" какие-то протоколы сверху UART только для того чтобы принять посылку по RF, это уже извращение Встаки здесь не шина "1мастер - несколько слейвов", а просто достаточно сильно зашумленный канал связи (RF), и просто важно отделить "чужое" от "своего"
|
|
|
|
|
Nov 2 2006, 22:53
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(prottoss @ Nov 3 2006, 01:30)  Цитата(singlskv @ Nov 3 2006, 05:22)  ИМХО, "воротить" какие-то протоколы сверху UART только для того чтобы принять посылку по RF, это уже извращение Встаки здесь не шина "1мастер - несколько слейвов", а просто достаточно сильно зашумленный канал связи (RF), и просто важно отделить "чужое" от "своего" А что там городить то? 200-300 байт кода, написанного на Си? prottossА Вы пробовали реально(в железе) использовать UART для передачи данных по RF ? Если пробовали, то раскажите что получилось. Очень интересно.
|
|
|
|
|
Nov 2 2006, 22:59
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(singlskv @ Nov 3 2006, 05:53)  Цитата(prottoss @ Nov 3 2006, 01:30)  Цитата(singlskv @ Nov 3 2006, 05:22)  ИМХО, "воротить" какие-то протоколы сверху UART только для того чтобы принять посылку по RF, это уже извращение Встаки здесь не шина "1мастер - несколько слейвов", а просто достаточно сильно зашумленный канал связи (RF), и просто важно отделить "чужое" от "своего" А что там городить то? 200-300 байт кода, написанного на Си? prottossА Вы пробовали реально(в железе) использовать UART для передачи данных по RF ? Если пробовали, то раскажите что получилось. Очень интересно. Нет, к сожалению, пока не занимался подобными экспериментами. Но задумки были. А у Вас есть опыт организации данных по RF?
--------------------
|
|
|
|
|
Nov 2 2006, 23:31
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(prottoss @ Nov 3 2006, 01:59)  Нет, к сожалению, пока не занимался подобными экспериментами. Но задумки были. А у Вас есть опыт организации данных по RF? Да, у меня есть некоторый опыт в этом вопросе. ИМХО: 1. RF каналы очень "шумные"(особенно в "открытых" диапазонах например: 433Мгц-сигнализации) 2. Основная задача отделить "свое" от "чужого". 3. Собственно из первых двух пунктов и следует, что желательно(по возможности), отслеживать принимаемый сигнал в реалтайме, с возможностью рестарта, если начали принимать что-то не то... Собственно, UART, к сожалению не дает нам такой возможности P.S. Проводил следующий эксперимент: ловим переход 0->1 на внешнем прерывании и запускаем таймер на опрос по серединкам битов в посылке(то есть без контроля длительности стартового бита), так вот, оказалось что нужный нам код приходит за единицы секунд, хотя мы его не посылали
|
|
|
|
|
Nov 3 2006, 07:40
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(singlskv @ Nov 3 2006, 06:31)  Цитата(prottoss @ Nov 3 2006, 01:59)  Нет, к сожалению, пока не занимался подобными экспериментами. Но задумки были. А у Вас есть опыт организации данных по RF?
Да, у меня есть некоторый опыт в этом вопросе. ИМХО: 1. RF каналы очень "шумные"(особенно в "открытых" диапазонах например: 433Мгц-сигнализации) 2. Основная задача отделить "свое" от "чужого". 3. Собственно из первых двух пунктов и следует, что желательно(по возможности), отслеживать принимаемый сигнал в реалтайме, с возможностью рестарта, если начали принимать что-то не то... Собственно, UART, к сожалению не дает нам такой возможности P.S. Проводил следующий эксперимент: ловим переход 0->1 на внешнем прерывании и запускаем таймер на опрос по серединкам битов в посылке(то есть без контроля длительности стартового бита), так вот, оказалось что нужный нам код приходит за единицы секунд, хотя мы его не посылали Ну а Вы просто, ради эксперимента, пробовали цеплять РФ приемник-передатчик к USART? Или не стали это делать благодаря своей железной логике?
--------------------
|
|
|
|
|
Nov 3 2006, 10:50
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(prottoss @ Nov 3 2006, 10:40)  Ну а Вы просто, ради эксперимента, пробовали цеплять РФ приемник-передатчик к USART? Или не стали это делать благодаря своей железной логике? Нет, не пробовал. Собственно и интересуюсь, может быть кто то пробовал. Интересует, что получилось с помехозащищенностью.
|
|
|
|
Сообщений в этой теме
Alex_1811 Кодер и декодер на AVR Nov 1 2006, 09:49 Deka Может начать хотя-бы с блок схемы? А не с кодеров/... Nov 1 2006, 11:29 Alex_1811 Нужно просто включать и выключать 4 устройства. Nov 1 2006, 14:30 Nanobyte Цитата(Alex_1811 @ Nov 1 2006, 18:30) Нуж... Nov 1 2006, 14:51  prottoss Цитата(Nanobyte @ Nov 1 2006, 21:51) Цита... Nov 1 2006, 16:19   Alex_1811 Я НЕ ТОРОРИСТ!!!!!!!... Nov 1 2006, 17:44    prottoss Цитата(Alex_1811 @ Nov 2 2006, 00:44) Я Н... Nov 1 2006, 17:57     singlskv Цитата(prottoss @ Nov 1 2006, 20:57) Цита... Nov 1 2006, 21:23      Nanobyte Цитата(singlskv @ Nov 2 2006, 01:23) UART... Nov 1 2006, 21:34       singlskv Цитата(Nanobyte @ Nov 2 2006, 00:34) Цита... Nov 1 2006, 21:41        Nanobyte Цитата(singlskv @ Nov 2 2006, 01:41) Я ко... Nov 1 2006, 22:13    =GM= Цитата(Alex_1811 @ Nov 1 2006, 17:44) Я Н... Nov 2 2006, 10:35 =GM= Цитата(Alex_1811 @ Nov 1 2006, 14:30) Нуж... Nov 1 2006, 15:28 xemul Если не требуется особой защищенности кода, посмот... Nov 1 2006, 14:51 Harbinger Радиовзрыватели, к сожалению, только включаются - ... Nov 1 2006, 15:53 xemul UART, конечно, хорошо и просто, но в чистом виде е... Nov 1 2006, 17:27         prottoss Цитата(singlskv @ Nov 3 2006, 17:50) Цита... Nov 3 2006, 14:51          singlskv Цитата(prottoss @ Nov 3 2006, 17:51) ....... Nov 3 2006, 15:21        xemul Цитата(prottoss @ Nov 3 2006, 10:40) Ну а... Nov 3 2006, 15:23         prottoss Цитата(xemul @ Nov 3 2006, 22:23) Если те... Nov 4 2006, 11:39          Alex_1811 Цитата(prottoss @ Nov 4 2006, 15:39) Цита... Nov 6 2006, 09:26           singlskv Цитата(Alex_1811 @ Nov 6 2006, 12:26) Цит... Nov 6 2006, 21:30            Alex_1811 [/quote]
А какие есть радиомодули?
А какая Вам нео... Nov 7 2006, 08:25             singlskv Цитата(Alex_1811 @ Nov 7 2006, 11:25) Мик... Nov 7 2006, 22:27              Alex_1811 Цитата(singlskv @ Nov 8 2006, 02:27) Отку... Nov 8 2006, 07:38               ReM37 Мне нужно передавать данные по радиоканалу (скорос... Dec 11 2006, 01:10                Dog Pawlowa Цитата(ReM37 @ Dec 11 2006, 01:10) но при... Dec 11 2006, 10:15                 ReM37 Верю, что так и должно быть.
Вот прочитал в фор... Dec 11 2006, 11:41 Валентиныч Для начала познакомтесь со стандартными принципами... Nov 2 2006, 11:27 singlskv Цитата(Валентиныч @ Nov 2 2006, 14:27) Но... Nov 2 2006, 22:35 Harbinger Скорость 2400 устроит? Есть лобовое решение, одно ... Nov 4 2006, 11:17 GDI http://aly.projektas.lt/Projects/SimpleRFNet/Simpl... Dec 11 2006, 18:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|