Доработка Spektrum DX6i до 8 каналов

Карабас

Есть спортивный интерес реализовать такую задумку - добавить два пропорциональных канала в Spektrum DX6i. Выглядеть это будет так: положение двух дополнительных крутилок будет опрашиваться микроконтролером ATmega8 и затем интегрироваться в общую последовательность, которая поступает на передающий модуль. Начать планирую с прослушивая посылок, которые поступают на передающий модуль в установившемся режиме. В сети пробегала информация о подобных исследованиях, но это было давно. Может кто видел?

RW9UAO

может разобраться с ее дисплеем и портировать focus\MSV программу? тем более, что кто-то делал в ней поддержку модулей от ДХ6 с 8-ю каналами.

Aleksey_Gorelikov

На поверку оказывается что модули из дх5 и лп6 в большинстве случаем больше 6 каналов не едят. Если в дх6 - такойже, то маловероятно. Ну а насчет портирования - тогда уж лучше прошивку от турниджи.

RW9UAO

можно пойти еще дальше и переписать программу процессора стоящего в ВЧ модуле. поверьте, это не сложно =)
но есть нюанс. вот эти bitbucket.org/PhracturedBlue/…/changesets уважаемые люди ДСМХ пока не допилили, а вот с ДСМ2 можете получить 14 каналов. с телеметрией я почти разобрался, воюю с биндом.
есть еще нюанс - программатор для PSoC, мне оказалось проще сделать самому.

Карабас

Залез я в свой спектрум, наконец то. Для начала пощупал осцилографом что идет на модуль передатчика. Питание, земля, TX от Меги128…как будто бы все. На двух ногах модуля также присутствет одинаковая последовательность из двух импульсов с частотой около 50Гц. Видимо не используется. Также замечено, что RX у меги тоже никуда не подключено. Прослушка последовательности показала, что протокол похож на тот, что идет с сателита спектрума, с небольшими отличиями. Всего 14байт через 22мс. Информацию о каналах несут 3-14 байты. Как внедрить еще пару каналов пока неясно, возможно разгадка кроется в последовательности иницилизации модуля. Также замечено, что в байте 1,11,13 прыгает 13-й разряд. Попытки выявить систему в поведении этого разряда пока не увенались успехом.
В приложенном файле байты в десятичном формате. Младшие разряды немного пляшут на стиках - это понять можно. Но почему пляшут разряды на дискретных каналах - загадка для меня.

DX6i.rar

Карабас

Продолжил исследования… Давайте взглянем на кварц 8Мгц, который тактирует Мегу 128. Если посчитать ошибку, которую выдает UART на скорости 115200, то будет 8,5% (допускается 0,5%). Этим вполне можно объяснить дрожание младших разрядов, потому как мой контролер настроен точно на прием 115200. Сателит из эфира принимает сигнал четкий, колебаний младших разрядов не замечено. Принимается 16байт, т.е. все таки место для седьмого канала гдето есть. Бум искать.

Карабас

Все встало на свои места после того как поставил кварц 8Мгц на свой анализатор пакетов, собранный на мега32. Т.е. теперь скорости 115200 сравнялись. Пакет идущий на модуль трансивера содержит только один кадр из 14 байтов. Теперь десерт: первый байт умеет делать вот что: 48 - режим теста дальности, 144 - бинд, 80 - мощность USA, 16 - мощность A-EU 328, 0 - мощность C-Franc. Второй байт - номер модели 0-9. Все байты даны в десятичной форме. Вот пример:
16 3 0 67 5 255 9 238 13 255 16 63 20 63

Aleksey_Gorelikov

Модуль как в дх5и. Если аппа не очень стара - то шансов нет. Если одна из первых партий - то возможно получится добавить каналы. Попробуйте, подайте с меги пакет из 7 каналов. Если не выйдет - то далее вкрывать модуль, и пользоваться наработками Сергея. В этих модулях есть третий чип - проц, который разбирает уарт и управляет трансивером через спи.

Карабас

Попробовал подавать на модуль стандартные пакеты. Все режимы работают, и биндится, и мощность меняется. Но седьмой канал вводит модуль в ступор-даже ВЧ не включается.
На модуле есть маркировка:
1408
Horizon Hobby inc
Model X1TXN
FC ID: BRWDAMTX10
IC:6175A-BRWDAMT

Dimbo

На Spektrum DX7 стоит такой же ВЧ-модуль. Только кварц на процессоре - 13,6533 МГц.
Пы.Сы. Просто справочная информация.

Aleksey_Gorelikov

нетакой!!! Тут на форуме уже где-то были фотки внутренностей модулей. Модуль из ДХ7 - управляется по SPI вот той гусеницей, что под ним с наклейкой. Модуль из дх4\5\6 - кушает Uart, который декодирует и превращает в SPI для трансивера тоже отдельный проц, но запрятанный внутрь самого модуля под экран.

Dimbo

Но надпись на наклейке совпадает?!..

PigTail

2 Карабас: Дмитрий, а чего Вы цифири в десятичном виде пишите, неудобно ведь, пишите в шестнадцатиричном.

Dimbo:

Но надпись на наклейке совпадает?!..

По факту протоколы разные, надпись на этикетке тут не поможет.

Dimbo
PigTail:

По факту протоколы разные, надпись на этикетке тут не поможет.

Да это я так… стебаюсь.
Я читал эти форумы code.google.com/p/er9x/issues/detail?id=330 , 9xforums.com/…/How_to_modify_your_9x_to_the_DSM_pr… , www.rcgroups.com/forums/showthread.php?t=721024 , поскольку ВЧ-модуль в DX6i помер, а у меня есть модуль MLP4DSM и куча приемников от Оранджа (жалко ведь). Заменил X1TXN на MLP4 - работает, но дальность маленькая. Поиски X1TXN отдельно на замену не увенчались успехом. В итоге имплантировал в DX6i модуль FrSky с телеметрией для дистанционного контроля батарей в металке. Имхо, DX6i не тот аппарат, чтобы заморачиваться с его апгрейдом. Вот если б залить прошивку от Fokusa, как предлагал Сергей или er9x с поддержкой телеметрии, то в этом есть смысл.

Карабас

Если я правльно понял, то без перепрошивки содержимого модуля не удастся скормить ему 7-й канал. Разборка модуля в мои планы не входила. Это уже будет не для массового повторения. Можно еще покумекать в таком направлении: мы можем легко менять значение 6-ого канала и по своему усмотрению доработать пульт под индивидуальные требования. Например, вставить в пульт крутилку и передавать ее значение в 6-м канале. Либо передавать в 6-м канале 4 канала по 256 бит в каждом. Старшие два бита канала - номер дополнительного канала, а оставшиеся 8бит - значение доп. канала.
С приемной стороны - дешефратор, который цепляется паралельно сателиту.

RW9UAO

экран на ВЧ модуле держится на двух паяных точках. снимите, будете сильно удивлены =)
далее, делаете / покупаете программатор для PSoC1, ставите совсем бесплатный PSoC Designer, разбираетесь как работает совсем-совсем бесплатная библиотека от кипреса на базе которой написан код оранжа и пишете свой ДСМ2 передатчик. хучь 14 каналов/11 мсек/2048 бит.
потом разбираетесь с ЖКИ стоящем в ДХ6 (где-то попадалось описание) и портируете любую открытую программу на атмел арм7.
удачи =)
з.ы. либо перехватываете 6 канал и шифруете его как хотите. канальный декодер для сателлита пишется на раз-два =)

Карабас

Я удивился бы если нашел там мегу8 в корпусе dip, а так я скорее испугался. Боюсь у меня не получится подпаяться к таким чипам. Нужны коментарии по фотографии. Я так понял, что шить надо CY8C214-34241FXI (не уверен, что правильно считал название)? В инете есть какое-то упоминанние о похожих контроллерах. Наверное лучше купить новый, чтоб сохранить старую прошивку. Т.е. мне понадобится изучить архетектуру данного процессора, найти где-то описание команд, которыми управляется трансивер, купить микроскоп и паяльник с тонким жалом и немного везения 😃

modul dx6i.rar

Dimbo

1 GND Module Ground
2 VDD Module power input
3 IRQ Interrupt Request
4 RST Reset, active High
5 MOSI Master out, slave In data
6 nSS Slave Select, Active Low
7 SCLK SPI data clock
8 MISO Master in, slave out data
9 GND Module Ground
10 XOUT Clock output from module
11 TXRX Switch antenna to transmit direction
12 RXTX Switch antenna to receive direction

Aleksey_Gorelikov

На картинке подписи для модуля из ДХ5, а сверху - пинаут для модуля, управляемого по SPI. Еще раз, это разные модули! Или вы полагаете, что модулируя SlaveSelect uart-ом со скоростью 125кб/с все сразу заработает? 😃 Сейчас найду фотки.

PigTail

Это распиновка от варианта со SPI, она не соответствует тому варианту, что на фотке у Карабаса. Может проще взять модуль от валкеры и поковыряться в ейной альтернативной прошивке?

ЗЫ Алексей опередил 😃

Dimbo

Я ничего не полагаю. Я размещаю имеющуюся у меня информацию и слежу за дискуссией, образовываюсь, так сказать. А что такое SPI?

Aleksey_Gorelikov


Dimbo:

А что такое SPI?

Serial Peripheral Interface - весьма прямитивный но популярный интерфейс. Обычно имеет 4 линии - выбор устройства, вход данных, выход данных, клок. Представляет из себя сдвиговый регистр. По клоку данные сдвигаются на один бит. Т.е. из регистра управляющего устройства данные выдвигаются в регистр принимающего, ну и соответвенно наоборот. Клоком рулит мастер.

Вот распиновка модуля из даташита:
Pin Number Name Description
1 GND Module Ground
2 VCE Power control monitoring
3 VIN Module DC Power
4 P21 Baseband CPU digital port P2.1
5 P33 Baseband CPU digital port P3.3
6 P17 Baseband CPU digital port P1.7
7 P32 Baseband CPU digital port P3.2
8 GND Master in, slave out data
9 P30 Baseband CPU digital port P3.0
10 XRES Baseband CPU reset input
11 P11 Baseband CPU digital port P1.1
12 P10 Baseband CPU digital port P1.0

Карабас:

Я удивился бы если нашел там мегу8

В мульиплексовском модуле - атмега стоит. 😃 Трансивер тотже, усилок понадежней.

PigTail
Карабас:

В инете есть какое-то упоминанние о похожих контроллерах.

Они гнездятся на http://www.cypress.com

Карабас:

Т.е. мне понадобится изучить архетектуру данного процессора, найти где-то описание команд, которыми управляется трансивер, купить микроскоп и паяльник с тонким жалом и немного везения

Проще взять для изучения модуль управляемый по SPI, это либо модули DM8, DM9 либо Спектрумовские передатчики от DX7 и выше

Dimbo
Aleksey_Gorelikov:

На картинке подписи для модуля из ДХ5, а сверху - пинаут для модуля, управляемого по SPI.

Вот из-за разницы в протоколах, но при идентичных внешнем исполнении и надписях на модулях, модуль от DX7 не заработал в DX6i. А модуль от MLP4DSM отлично подцепился и забиндился к Оранджу. Спасибо, с одной непоняткой разобрался.