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

 
 
> нужна прогамма для ATMega8, Virtual Wire Computer Link
Luditel
сообщение Sep 2 2007, 05:42
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 30-08-07
Пользователь №: 30 158



Помогите по описанию составить программу на AVR Studio C для ATMega8, формирующую пакеты данных по протоколу RFM's Virtual Wire®.
Формат пакета:
Преамбула--Стартовый символ--кому байт--от кого байт--Пакет число--размер/статус байт--Данные--CS старший--CS младший
Описание пакета:
Пакет начинается с необязательной преамбулы, которая улучшает обнаружение слабого сигнала в приемнике с помощью настройки data slicer'а для наилучшего шумового иммунитета, и обеспечивает изменения сигнала для настройки процессов восстановления отсчета. Преамбула обычно состоит из нескольких байтов, содержащих 101010... Длина преамбулы зависит от времени соединения приемника, tBBC, которое не изменяется. Обычно длина преамбулы - три-четыре байта.

За преамбулой следует стартовый символ (часто называемый стартовым вектором), который указывает на начало информационной секции пакета. Чем длиннее стартовый символ, тем меньше вероятность того, что шумы совпадут со стартовым символом и вызовут получение неправильного пакета. 16-битный символ обеспечивает разумную надежность.

После стартового символа следует информация об адресах "кому" и "от кого". RFM использует в своих протоколах 4-битную и 8-битную адресацию. Обычно один адрес резервируется для широковещательного сообщения всем адресам. Если необходимо очень большое количество уникальных адресов, можно использовать для адресации 48 и более бит. Поле "Пакет" (тип пакета) позволяет специфическим пакетам идентифицироваться и безошибочно распознаваться. Также это поле может использоваться для сборки мультипакетного сообщения, когда пакеты принимаются без определенной последовательности. В протоколе RFM после типа пакета следует поле "размер данных/состояние". Сохранение в нем информации о размере данных позволяет передавать данные без обрамляющих символов.

Далее следует поле с данными. Последние два байта пакета содержат 16-битный код нахождения ошибок (последовательность проверки кадра), основанный на пакетном стандарте X.25 (ISO 3309). Принимающее устройство вычисляет этот код, и сравнивает с полученным кодом для выявления ошибок. Последовательность проверки кадра ISO 3309 обеспечивает очень уверенное нахождение ошибок для пакетов длиной до 256 байт.

Протокол Virtual Wire® обеспечивает следующие характеристики:

Вычисление 16-битного кода нахождения ошибок в соответствии с ISO 3309
Маршрутизация адресов кому/от кого с программируемой адресацией
Поддержка двоичных или ASCII-сообщений
Автоматическое повторение передачи пакета пока не будет принят; 8 попыток с полуслучайным back off(???) плюс оповещения типа "подтверждение" и "неудачная попытка связи"
Каждый байт, передаваемый по радио, преобразуется в 12-битный DC-балансированный символ. DC-баланс хорошо защищает данные от шумов. В сбалансированных символах количество одинаковых, идущих друг за другом битов, не более четырех. Ограничение длительности не изменяющегося сигнала, позволяет приемнику легче настраиваться после шумовых вспышек или сильных помех.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
WHALE
сообщение Sep 2 2007, 07:00
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



мда,неслабый протокольчик..На AVR Studio имеется в виду асм? И что вы имеете в виду под словом "помогите"?


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
Luditel
сообщение Sep 2 2007, 08:51
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 30-08-07
Пользователь №: 30 158



Цитата(WHALE @ Sep 2 2007, 11:00) *
мда,неслабый протокольчик..На AVR Studio имеется в виду асм? И что вы имеете в виду под словом "помогите"?

Нет не асм, а C конечно. Под словом "помогите" имею в виду советы как это сделать, возможно у кого-нибуть есть исходники чего-то похожего. Описание протокола для меня пока что не проясняет как все это реализовать.
Вот что у меня вызывает вопросы:
Цитата
Пакет начинается с необязательной преамбулы, которая улучшает обнаружение слабого сигнала в приемнике с помощью настройки data slicer'а
Что такое data slicer'а и почему посылка несколких байт вида 10101010 должно улучшать обнаружение сигнала?
Цитата
За преамбулой следует стартовый символ (часто называемый стартовым вектором), который указывает на начало информационной секции пакета.
Что значит указывает на начало информационной секции?
Цитата
Каждый байт, передаваемый по радио, преобразуется в 12-битный DC-балансированный символ.
Что такое DC-балансированный символ и какой алгоритм его получения?
Цитата
Если хотитие, чтобы сделали за Вас, то есть раздел "Предлагаю работу"
Я и сам не имею коммерческой заинтересованности, только стремление научиться использовать микросхемы RFM для обмена данными по радиоканалу между двумя ПК (http://electronix.ru/forum/index.php?showtopic=35941). Поэтому работы к сожалению никому предложить не могу.

Цитата(=AVR= @ Sep 2 2007, 12:36) *
10000$

Ну у вас и расценки, господа. Я столько в год еще не зарабатываю laughing.gif .

Сообщение отредактировал Luditel - Sep 2 2007, 08:55
Go to the top of the page
 
+Quote Post



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

 


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


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