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

 
 
> Прием данных на Атмеге, Как правильно это организовать
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
Ответов
SasaVitebsk
сообщение Apr 29 2009, 08:51
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



А что тут непонятного?
Инициализация таймера например normal-Fclk/1. Это зависит от частоты процессора. То есть надо посчитать сколько будет занимать один твой Те в "тиках" таймера.
Для указанного и проца mega8 инициализация будет такой:

TCCR1B=1;

Чтение в прирывании:

i = TCNT1;

При том что i - 16 бит без знака.

Для вычисления длины импульса надо учитывать кольцо. То есть учитывать то обстоятельство, что после значения таймера 65535 следует значение 0.

Допустим предыдущее знаение будет i1. Длина импульса результирующая l (16 бит со знаком), тогда вычисление следующее:

l=i-i1; // вычесть из текущего значения таймера предыдущее
if(l<0)l+=65536; // учесть перехлёст
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
- - 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
- - rezident   Таймер не нужно запускать по перепаду. Таймер долж...   May 3 2009, 11:27
- - 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 Текстовая версия Сейчас: 21st July 2025 - 18:14
Рейтинг@Mail.ru


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