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

 
 
> Прием данных на Атмеге, Как правильно это организовать
Vny4ek
сообщение Nov 19 2008, 09:26
Сообщение #1


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

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



Здрастье, есть у меня такая проблема.
Атмега, и приемник на 433Мгц ну от сигналки. Вот на ножку чипа приходит сигнал с приемника. Подскажите как выглядеть будет программа что бы просто записать принятые данные в виде единиц и нулей. Пакет приходит так:
"
Вся передача опирается на элемнтарный отрезок времени названный Те и равный обычно 400мкс. (документацией нормирован разброс от 280мкс до 620мкс).

Итак передаваемый пакет:
Он состоит из преамбулы (длиться 23Те, и нужна для того, чтоб оторвать приемник сиги от сладостного прослушивания помех), за ней следует заголовок пакета (header) – равен 10Те, и нужен для того чтоб проц в сиге смог определить длительность Те у принимаемого пакета данных… Затем идут собственно данные (66 бит или 198Те), и наконец Guard Time – время для того чтобы сига переварила принятое (39Те).


Теперь о передаче данных.. бит передается за время равное 3Те.. В течении 1-го Те передается обязательно высокий уровень (красная часть), 2-е Те это собственно значение передаваемого бита (только инвертированное, те лог1 = низкий уровень, а лог0 соответственно = высокий уровень) – синяя часть.. И наконец в течении 3-го Те передается обязательный низкий уровень (зеленая часть)..

"

ВОТ! хочется попроще и оптимальный прием пакета
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение May 3 2009, 11:27
Сообщение #2


Гуру
******

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



Таймер не нужно запускать по перепаду. Таймер должен всегда работать с (авто)переполнением. Перепад на входе фиксируется в регистре захвата (capture). Беззнаковая разность двух соседних значений, полученных из регистра захвата, дает длительность между фронтами в тактах таймера. Поделите эту разность на частоту тактирования таймера и получите длительность импульса в привычных единицах измерения времени. Следует только помнить, что максимальный период измеряемого импульса зависит от периода переполнения таймера. Если его (периода переполнения) не хватает для ваших задач, то разрядность таймера можно расширить программно. Для этого заводите программный счетчик (бОльшей разрядности, чем позволяет аппаратно таймер), который нужно инкрементировать на величину разрядности таймера при его переполнении. А по прерыванию от фронта импульса значение из регистра захвата суммируете со значением программного счетчика и для расчета периода используете уже это полученное число.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vny4ek   Прием данных на Атмеге   Nov 19 2008, 09:26
- - Dog Pawlowa   Цитата(Vny4ek @ Nov 19 2008, 13:26) Здрас...   Nov 19 2008, 09:56
- - Vny4ek   нет проблема не в этом. Хочется просто не догоню к...   Nov 19 2008, 09:58
|- - Dog Pawlowa   Цитата(Vny4ek @ Nov 19 2008, 13:58) а для...   Nov 19 2008, 10:08
- - Vny4ek   ок, если можно по подробней с чего начать, програм...   Nov 19 2008, 11:02
- - vvvvv   Идея такая. Настраиваешь вход с радиоканала на пре...   Nov 19 2008, 11:03
- - Vny4ek   СПАСИБО большое! То что надо, я потихоньку нач...   Nov 19 2008, 11:11
- - Vny4ek   будьте добры ткните носом в апноут, желательно что...   Nov 25 2008, 14:14
- - Vny4ek   Уважаемые, подскажите, обязательно ли в данном при...   Apr 28 2009, 13:55
- - SasaVitebsk   А что тут непонятного? Инициализация таймера напри...   Apr 29 2009, 08:51
- - xemul   Майкрочип описАл процесс приема Keeloq не в одном ...   Apr 29 2009, 09:25
- - Vny4ek   to:SasaVitebsk спасибо большое, я потихоньку начин...   Apr 29 2009, 12:39
|- - xemul   Цитата(Vny4ek @ Apr 29 2009, 16:39) to:xe...   Apr 29 2009, 14:59
- - Vny4ek   Я уже не первый день не могу никак освоить эти тай...   May 2 2009, 10:41
- - Vny4ek   Ребят, ну подскажите пожалуйста.   May 3 2009, 08:08
- - Vny4ek   А можно пример привести, для кодвижена, принцип я ...   May 3 2009, 11:43
- - rezident   Предлагаю сделать наоборот. Вы предоставляете свой...   May 3 2009, 11:54
- - Vny4ek   ок, я полностью с вами согласен. у меня есть приме...   May 3 2009, 16:42
- - rezident   Не нужно обрывков. Приводите ваш пример программы ...   May 3 2009, 21:38
- - Vny4ek   Вот привожу пример кода, для приема. Насколько мне...   May 4 2009, 04:57
|- - Dog Pawlowa   Цитата(Vny4ek @ May 4 2009, 07:57) Вот пр...   May 4 2009, 09:05
- - Vny4ek   не понятно мне следующее: как отследить изменение ...   May 4 2009, 10:02
|- - Dog Pawlowa   Цитата(Vny4ek @ May 4 2009, 13:02) не пон...   May 4 2009, 10:13
- - Vny4ek   Здраствуйте, я разбираюсь с одним кодом, задача та...   Jun 7 2009, 14:09
- - XVR   1. В main нет зацикливания в конце 2. printf в обр...   Jun 8 2009, 09:03
- - Vny4ek   да я взял уже работающий пример, прием работает ко...   Jun 8 2009, 09:14
- - Vny4ek   Здравствуйте, подскажите плиз. Вообщем я пытаюсь п...   Jun 28 2009, 15:34
- - Vny4ek   Ребят, ну подскажите плиз, я понимаю что не лучшее...   Jun 29 2009, 17:41
- - SasaVitebsk   Блин. Во что лень делает.... Первый пост ноябрь 2...   Jun 29 2009, 18:17
- - Goodefine   Простите что вмешиваюсь, но возникла похожая пробл...   Jun 30 2009, 05:49
- - Vny4ek   Goodefine, узнаю в лицо точно! Я с ним ковырял...   Jul 1 2009, 07:42
- - Vny4ek   Ребят вот я начал потихоньку тут понимать что прои...   Jul 27 2009, 05:41


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:37
Рейтинг@Mail.ru


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