Самосдельный приемник Spektrum/JR на 11 и более каналов.

Карабас

Приехал кварц на волшебную частоту 14,7456Мгц, и я решил подружить контролер atmega32 сателитом Spektrum. Для контроля принимаемые данные выводились в терминальную программу.
Биндим сателит с ar6200, смотрим чего приходит с сателита. Тут первый сюрприз - приходит не 6, а 7 каналов. Наводит на мысль, что в ar6200 может 7канал не распаян. Теперь биндим сателит с китайским 9к приемником с Хоббикинга. Тут уже два сюрприза: идут все 11 каналов и каждый из них 11бит разрядностью. Неужели DSMX? ;)В приложенном файле я кратенько обощил, что известно и что сам наэксперементировал. Остается вопрос: если 11битнаые данные имеют место быть, а на экране аппы режим DSM, это как то невяжется. Может это неполноценные 11 бит, младший разряд не используется или еще чего.

DSMX_11ch.rar

Aleksey_Gorelikov

11бит и ДСМХ - никак не связаны. 😃 11 бит - один из протоколов “верхнего уровня”. ДСМ2\дсмх - нижний.
По второму байту - информация интересна, надо будет посмотреть повнимательнее. А в остальном - не отличается от описанного мною ранее.

Карабас

А вот такой вопрос к Aleksey Gorelikov и остальным: какой смысл знать номер пришедшего пакета (1 или 2)? Пишу окончательную программу и собираюсь просто считывать номер канала из 3,4,5,6 бита? Первые 4 байта каждого пакета понятно - игнорируем.

Aleksey_Gorelikov

У меня есть предположение, что это какая-нибудь вынужденная мера для облегчения жизни приемнику. Может критичные для времени места есть. Может последовательность каналов стандартна и приемик не разбирает номер канала, а тупо пропускает биты номера канала, ориентируясь на известную последовательность и номер пакета. Одно могу сказать, что признак номера пакета есть как в 1024 разрешении, так и в 2048. Так что вряд-ли этот бит используется для определения типа протокола. Протокол скорее определяется по FF в конце пакета.

RW9UAO

в первом пакете первые 7 каналов, во втором - вторые 7 каналов.

Aleksey_Gorelikov

Так фишка в том, что у каждого канала есть идентификатор номера этого канала. Ну и смысл тогда сами пакеты между собой различать?

Карабас

Вобщем, написал я прошивочку для АТмега32, что была под рукой. Проверил на предмет дрожания серв, потом сформировал ППМ из 8 каналов и подал в симулятор. Все работает изумительно четко. Приписал функцию файлсейва по каналам. Проблемы начались, когда стал формировать второй канал ППМ, чтоб засунуть в него оставшиеся 9,10, 11 каналы пульта. Без второго 16-разрядного таймера в микроконтролере ну очень неудобно.Нужна мега128. Дрожание по каналам 9,10,11 удалось свести к приемлимому минимуму, но все равно непорядочек. Пока решил остановиться на достигнутом, потому что непонятно в каком направлении двигаться дальше. Все зависит от конкретной LRS, которую буду использовать.