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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Кодер и декодер на AVR
singlskv
сообщение Nov 1 2006, 22:28
Сообщение #16


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Есть еще одна серьезная причина не пользоваться UART(по крайней мере на принимающей стороне).
UART принимает всю посылку целиком, при этом контролируется целиком(16 выборок) только
стартовый бит, и если он правильный, то остальные биты посылки просто читаются.
То есть если мы поймали стартовый бит, то далее обязательно ловим всю посылку.
Может получиться так, что это не наш стартовый бит, а часть чужой посылки, а наш
стартовый бит будет в тот момент когда мы ловим уже часть чужой посылки.
То есть нашу посылку мы просто пропустим.

Если же мы пользуемся например манчестерским кодом, то мы можем контролировать каждый
получаемый бит(переход 0->1 или 1->0) и при неправильном бите сразу переключаться
на начало(прием стартового бита) не дожидаясь окончания всей посылки.
Таким образом мы сильно уменьшаем вероятность не поймать нашу посылку.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 2 2006, 07:03
Сообщение #17


Гуру
******

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



Цитата(singlskv @ Nov 2 2006, 05:28) *
Есть еще одна серьезная причина не пользоваться UART(по крайней мере на принимающей стороне).
UART принимает всю посылку целиком, при этом контролируется целиком(16 выборок) только
стартовый бит, и если он правильный, то остальные биты посылки просто читаются.
То есть если мы поймали стартовый бит, то далее обязательно ловим всю посылку.
Может получиться так, что это не наш стартовый бит, а часть чужой посылки, а наш
стартовый бит будет в тот момент когда мы ловим уже часть чужой посылки.
То есть нашу посылку мы просто пропустим.

Если же мы пользуемся например манчестерским кодом, то мы можем контролировать каждый
получаемый бит(переход 0->1 или 1->0) и при неправильном бите сразу переключаться
на начало(прием стартового бита) не дожидаясь окончания всей посылки.
Таким образом мы сильно уменьшаем вероятность не поймать нашу посылку.
Для этого существуют протоколы типа 1 мастер - несколько слэйвов, например тот же MODBUS


--------------------
Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 2 2006, 10:35
Сообщение #18


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Alex_1811 @ Nov 1 2006, 17:44) *
Я НЕ ТЕРРОРИСТ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Хочу управлять приборами автомобиля.
Посылка должна состоять из 16 бит или более.

Хочу уточнить. Вас никто никак не называл, даже в мыслях не было. Но вашу тему могут читать разные люди, даже из разных стран. Сиё надо учитывать.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Валентиныч
сообщение Nov 2 2006, 11:27
Сообщение #19


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

Группа: Свой
Сообщений: 553
Регистрация: 17-02-05
Из: Свердловская обл.
Пользователь №: 2 712



Для начала познакомтесь со стандартными принципами кодирования, принятыми в системах дистанционного управления моделями, и с имеющимися разработками/наработками в этой области, сделанными людьми, которые уже давно в этой "теме".
Например:
http://www.rcmaster.ru/forum/viewforum.php?f=39 ,
http://i158.com/forums/index.php ,
и на других сайтах/форумах, посвященных радиоуправляемым моделям.
Но не понятна изначальная постановка вопроса: для чего использовать радиоканал, если все компоненты системы находятся в непосредственной близости - "на борту" автомобиля? Не проще ли (и существенно надежнее!) обойтись обычной проводной связью, пусть даже с использованием стандартных интерфейсов (TWI, I2C, USART, и т.д.)?
И еще более непонятно, зачем городить огород на микроконтроллере, если конечная цель - 4 дискретных исполнительных устройства?
Или вы не корректно формулируете задачу, или просто сами не понимаете, что же вам нужно в конечном итоге.


--------------------
Закономерность: Чем больше узнаю, тем меньше знаю...
Любые мнения, даже ошибочные, имеют право на существование.
Чем лучше узнаю людей, тем больше нравятся собаки...
Go to the top of the page
 
+Quote Post
singlskv
сообщение Nov 2 2006, 22:22
Сообщение #20


дятел
*****

Группа: Свой
Сообщений: 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, это уже извращение smile.gif
Встаки здесь не шина "1мастер - несколько слейвов", а просто достаточно сильно
зашумленный канал связи (RF), и просто важно отделить "чужое" от "своего"
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 2 2006, 22:30
Сообщение #21


Гуру
******

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



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


--------------------
Go to the top of the page
 
+Quote Post
singlskv
сообщение Nov 2 2006, 22:35
Сообщение #22


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Валентиныч @ Nov 2 2006, 14:27) *
Но не понятна изначальная постановка вопроса: для чего использовать радиоканал, если все компоненты системы находятся в непосредственной близости - "на борту" автомобиля? Не проще ли (и существенно надежнее!) обойтись обычной проводной связью, пусть даже с использованием стандартных интерфейсов (TWI, I2C, USART, и т.д.)?

Попробую тут с Вами не согласиться...
Стандартными для подобных систем являются:
1. Включить/выключить сигналку.
2. Дистанционно завести мотор для прогрева.
3. ПРОГРЕТЬ МЕСТО ПОД ПОПУ ХОЗЯИНА (это главное)
4. Сообщить хозяину(дистанционно) о попытках доступа к его прогретому креслу smile.gif
и т.д.

то есть, радиоканал вполне рулит...
Go to the top of the page
 
+Quote Post
singlskv
сообщение Nov 2 2006, 22:53
Сообщение #23


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



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

prottoss
А Вы пробовали реально(в железе) использовать UART для передачи данных по RF ?
Если пробовали, то раскажите что получилось.
Очень интересно.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 2 2006, 22:59
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 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, это уже извращение smile.gif
Встаки здесь не шина "1мастер - несколько слейвов", а просто достаточно сильно
зашумленный канал связи (RF), и просто важно отделить "чужое" от "своего"
А что там городить то? 200-300 байт кода, написанного на Си?

prottoss
А Вы пробовали реально(в железе) использовать UART для передачи данных по RF ?
Если пробовали, то раскажите что получилось.
Очень интересно.
Нет, к сожалению, пока не занимался подобными экспериментами. Но задумки были. А у Вас есть опыт организации данных по RF?


--------------------
Go to the top of the page
 
+Quote Post
singlskv
сообщение Nov 2 2006, 23:31
Сообщение #25


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(prottoss @ Nov 3 2006, 01:59) *
Нет, к сожалению, пока не занимался подобными экспериментами. Но задумки были. А у Вас есть опыт организации данных по RF?

Да, у меня есть некоторый опыт в этом вопросе.
ИМХО:
1. RF каналы очень "шумные"(особенно в "открытых" диапазонах например: 433Мгц-сигнализации)
2. Основная задача отделить "свое" от "чужого".
3. Собственно из первых двух пунктов и следует, что желательно(по возможности),
отслеживать принимаемый сигнал в реалтайме, с возможностью рестарта, если начали
принимать что-то не то...
Собственно, UART, к сожалению не дает нам такой возможности sad.gif

P.S. Проводил следующий эксперимент:
ловим переход 0->1 на внешнем прерывании и запускаем таймер на опрос по
серединкам битов в посылке(то есть без контроля длительности стартового бита), так
вот, оказалось что нужный нам код приходит за единицы секунд, хотя мы его
не посылали blink.gif
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 3 2006, 07:40
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 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, к сожалению не дает нам такой возможности sad.gif

P.S. Проводил следующий эксперимент:
ловим переход 0->1 на внешнем прерывании и запускаем таймер на опрос по
серединкам битов в посылке(то есть без контроля длительности стартового бита), так
вот, оказалось что нужный нам код приходит за единицы секунд, хотя мы его
не посылали blink.gif
Ну а Вы просто, ради эксперимента, пробовали цеплять РФ приемник-передатчик к USART? Или не стали это делать благодаря своей железной логике?


--------------------
Go to the top of the page
 
+Quote Post
singlskv
сообщение Nov 3 2006, 10:50
Сообщение #27


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(prottoss @ Nov 3 2006, 10:40) *
Ну а Вы просто, ради эксперимента, пробовали цеплять РФ приемник-передатчик к USART? Или не стали это делать благодаря своей железной логике?

Нет, не пробовал.
Собственно и интересуюсь, может быть кто то пробовал.
Интересует, что получилось с помехозащищенностью.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 3 2006, 14:51
Сообщение #28


Гуру
******

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



Цитата(singlskv @ Nov 3 2006, 17:50) *
Цитата(prottoss @ Nov 3 2006, 10:40) *

Ну а Вы просто, ради эксперимента, пробовали цеплять РФ приемник-передатчик к USART? Или не стали это делать благодаря своей железной логике?

Нет, не пробовал.
Собственно и интересуюсь, может быть кто то пробовал.
Интересует, что получилось с помехозащищенностью.
ну дык а чем спорт тогда? Я вот, до армии, (а служил я в ПВ, так что 28 мая могете мяня по здравить), увлекался радиоуправляемыми штучками, мотал катушки, и занимался всяким [email="он@низмом"]он@низмом[/email], который счас уже не в моде, хотя всего 5 лет прошло.... Вот ИМХО , что все работать будет...А задумки у мя были в полне профф.


--------------------
Go to the top of the page
 
+Quote Post
singlskv
сообщение Nov 3 2006, 15:21
Сообщение #29


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(prottoss @ Nov 3 2006, 17:51) *
.... Вот ИМХО , что все работать будет...А задумки у мя были в полне профф.

Работать то будет. Но вот вопрос со стабильностью...
Конечно можно повторять посылку несколько раз, тогда наверняка дойдет,
но это не всегда возможно(повторять посылку).

У меня в девайсе, по приему RF посылки запускается таймер, поэтому важно принять
с первой попытки.
Go to the top of the page
 
+Quote Post
xemul
сообщение Nov 3 2006, 15:23
Сообщение #30



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(prottoss @ Nov 3 2006, 10:40) *
Ну а Вы просто, ради эксперимента, пробовали цеплять РФ приемник-передатчик к USART? Или не стали это делать благодаря своей железной логике?

Неужели обязательно самому наступать на все возможные и невозможные приборы, предназначенные преимущественно для удаления продуктов жизнедеятельности растительных организмов?smile.gif
Если тема Вас действительно интересует, поищите что-нибудь про радиолюбительские телетайпы - имхо, это можно рассматривать как одно из первых массовых применений UART over RF.
U_S_ART в контексте треда поминать вообще не стОит.
Или посмотрите в каком-нибудь MicroCap'e, Proteus'e etc на картинки сигнала UART, пропущенного через диф. цепочку и восстановленного компаратором - это процентов на 50 покажет проблемы передачи и приема ASK сигнала. Останется только шум наложить.smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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