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

 
 
> нужна прогамма для 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



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

 


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


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