Структура кадра радиоканала
При разработке структуры кадра учитывались следующие требования и пожелания:
1.
Необходимо наличие преамбулы и
паттерна для кадровой
синхронизации (требование
трансивера XE1205);
2. В данных кадра не должно быть
более восьми одинаковых битов
подряд (требование трансивера XE1205);
3. Обязательна защита данных
контрольной суммой и система
идентификации своих/чужих кадров;
4. Длительность кадра не должна
превышать периода РРМ стандартной
аппаратуры (не более 18 мс);
5. Желательны минимальные задержки
от канального импульса РРМ до
передачи значения канала в составе
кадра;
6. Желательно не менее 3х каналов
передавать с минимальными
задержками и транзакционно, что
важно для вертолетов с ССРМ;
7. Желательна возможность
конфигурирования режима fail-safe
через радиоканал;
8. Весьма желательно иметь
возможность расширять
функциональность радиоканала.
В результате была разработана такая структура кадра (в формате PDF)
Кадр состоит из двух полукадров. Первый полукадр - фиксированный. Кроме типа второго полукадра, в нем транзакционно передаются 3 аналоговых канала и признак fail-safe. Полукадр защищен CRC8 с полиномом X^8+X^6+X^5+X^3+X+1. Для идентификации свой-чужой могут использоваться как часть паттерна, так и полином или начальное значение CRC. (На настоящем этапе поддержка идентификации - только принципиальная). Для обеспечения устойчивой битовой синхронизации трансивера в кадре есть S-биты. Они могут быть как автоматические (например, в составе паттерна), так и специально введенные. В последнем случае значение S бита выбирается противоположным значению предыдущего бита. Далее, из структуры видно, что если передача кадра начинается одновременно с синхроимпульсом РРМ, то измерение длительности каждого канального импульса происходит гарантированно раньше момента упаковки значения канала в кадр, но и без лишних задержек. Наконец, бит F/S предназначен для конфигурирования режима fail-safe через радиоканал.
Время
второго полукадра может
использоваться как для передачи по
прямому каналу связи, так и по
обратному. Направление передачи и
структура данных 2го полукадра
определяется четырехбитным кодом
из 1-го полукадра. На текущий момент
(16.03.2008, прошивка вер. 0.11) поддерживаются
два типа 2го полукадра:
Тип 0. В этом полукадре по
прямому каналу передаются значения
пяти аналоговых и одного
дискретного каналов, а также 4
резервных бита (сейчас нами не
используются).
Тип 1. В этом полукадре по
обратному каналу (от модели к
пульту) передаются уровень
радиосигнала (RSSI) и статистика
ошибок/таймаутов на стороне модели.
© Вадим Кушнир (aka Vad64)