Доработка MegaJet MJ-555 (Дополнительный функционал)

Доработка MegaJet MJ-555 (Дополнительный функционал)

Сообщение Zike » 21 авг 2012, 07:26

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

Вот мои размышления, после недели эксплуатации данного аппараты возникли следующие желания:

----------------------------------------

- хотелось бы чтобы аппарат запоминал был ли он включен когда пропало питание и соответственно восстанавливал своё состояние при появлении питания. Либо упрощенный вариант: аппарат сам бы включался при появлении питания

- хотелось бы в идеале сканирование по банкам каналов, с возможностью создания банков и добавление/удаления каналов в них. Либо, опять таки, упрощенный вариант: сканирование каналов из памяти (4 ячейки)

- хотелось бы иметь возможность прослушивания двух каналов (на некоторых радиостанциях это функция DW, не путать с DW в мегажути). Либо упрощенный вариант как в предыдущем желании сканирование 4 ячеек в которые занесены 2 канала по 2 раза.

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

- пожелание высказанное приятелем: менять подсветку с зеленой на красную в момент передачи

- иметь возможность настроить яркость подсветки

----------------------------------------
Вот мой небольшой список хотелось бы услышать ваше мнение об этом, что востребовано, а что нет, может что-то новое добавить. К примеру по первому пункту я уже начинаю привыкать и как-то востребованность пропадает, хотя это чисто моё субъективное мнение...

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

Первый (идеальный) вариант
- изменить прошивку микроконтроллера,
вот информация (некий даташит) на микроконтроллер http://www.seminix.com/shop/Manual/um_S3F84I8_S3F84I9_rev20.pdf

трудности связанные с данным вариантом: во первых в большинстве промышленных изделии стоит запрет на слив прошивки, но если вдруг прошивку удается слить её надо дизассемблировать понять как работает и только тогда пытаться переписать.
На данный момент времени для меня это самый долгий вариант, не хочется убивать так много времени, да и пока нет программатора и соответствующего софта...

Второй вариант
- перехватить и разобрать управляющие команды общения между тангентой и основным блоком и попробовать их смоделировать своим микроконтроллером...
в тангенте и на плате основного модуля есть контактные площадки для подключения шин данных возможно это интерфейсы только для прошивки микроконтроллеров...

данный вариант более реалистичный по шансам успешной реализации чем первый, но есть и свои НО, к примеру интерфейс управления дополнительными функциями необходимо будет выносить в отдельный модуль и это не всегда эстетично, задействовать уже существующие кнопки врядли получится.

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

Ну и третий вариант самый простой и относительно легко реализуемый:
навешать свой микроконтроллер на существующие кнопки, обратную информацию получать от сигналов подаваемых на экран (благо там отдельными сигналами "молниями" выделена информация о нажатии PTT, о присутствии сигнала в линии и т.д.) в общем можно эмулировать нажатия кнопок для, скажем, цикличного вызова каналов из памяти с проверкой присутствия в них полезного сигнала... тут стоит отметить что всёже скорей всего придется на тангенте добавлять либо кнопки либо переключатели для активации работы функция на доп. микроконтроллере...

Вот пожалуй и начнем обсуждения, жду предложений... :-)
Zike
Вошедший
 
Сообщения: 3
Зарегистрирован: 15 авг 2012, 13:11
Имя: Дмитрий

Re: Доработка MegaJet MJ-555 (Дополнительный функционал)

Сообщение Zike » 23 авг 2012, 18:53

Немного поковырялся в рации, вот что удалось выяснить:
интерфейс общения между тангентой и тушкой обычный трехвольтовый UART (RX,TX,GND) работающий на скорости 19200 бит/с, общение происходит между двумя микроконтроллерами SAMSUNG, интерфейсы разведенные на плате рядом с микроконтроллерами служат для их прошивки.

Предположительно логика работы следующая, микроконтроллер тангенты все время находится под питанием, при удержании кнопки включения отправляется байт кода в шину и микроконтроллер переходит в режим ожидание, при этом на экране отображается "HELLO", подсветка не работает... далее тушка отвечает тангенте пачкой байт в которых передаются текущие параметры для отображения на дисплее (если при включении на экране отобразились не понятные параметры значит плохой контакт линии передачи)... далее тушка каждые пол секунды передает тангенте байт уровня сигнала, пока расшифровать не удалось но однозначно там не просто три позиции как на дисплее, т.е. данные s-metra более детальные.
Если нажать на любую из кнопок формируется байт кода кнопки и отправляется в тушку, та в свою очередь формирует данные для дисплея...

Пока всё, изучаю дальше... посетила идея создать некую коробочку с дисплеем вставляемую в разрыв тангенты и тушки типа 550 модели только с более информативным дисплеем s-metra и т.д. *SCRATCH*
Zike
Вошедший
 
Сообщения: 3
Зарегистрирован: 15 авг 2012, 13:11
Имя: Дмитрий

Re: Доработка MegaJet MJ-555 (Дополнительный функционал)

Сообщение maikllll » 23 авг 2012, 20:28

Интересно! *THUMBS UP*
"Примус", Yosan CB250 (President James, President Thomas, Lafayette Venus, MJ555, Yosan Stealth 5, Albrecht 6890, TTI TCB R2000, MJ700, Cobra-75wx, MJ300, Intek H520+, Alan100, Maycom SH27 - протестированы ) Yaesu VX-2R, Kirisun PT3800
Аватара пользователя
maikllll
Понимающий
 
Сообщения: 587
Зарегистрирован: 15 фев 2011, 22:58
Откуда: Москва, СЗАО
Имя: Михаил

Re: Доработка MegaJet MJ-555 (Дополнительный функционал)

Сообщение Zike » 30 авг 2012, 21:08

Ну в общем ситуация следующая, распиновку кабеля между тангентой и тушкой взял в соседней теме
(цвета проводов у меня были другими):
1. Цифровая шина (передача от тангенты)
2. Общий
3. Микрофон
4. Общий
5. Передача
6. Динамик
7. Цифровая шина (передача от тушки)
8. +12 вольт

Ковырялся только в шине данных, поэтому остальные провода не проверял, но общие провода и питания действительно такие... Много времени ушло на согласование уровней с компьютером, логика на устройстве низко вольтовая: «единицы» -1,3 вольта, «нули на массе», состояние покоя шины в нулях, в стандарте UART состояние покоя - логическая единица, соответственно все сигналы были инвертированы. При прослушивании шины на компьютере получал не стабильные данные, осциллограф показал, что шина работает не на скорости 19200 бит/с, как писал раньше, а близкой к 20800 бит/с, такая скорость не стандартна для COM порта и как не пытался её установить так ни чего и не вышло, так же пытался подогнать такую же скорость на UART интерфейсе своего микроконтроллера – не вышло. Тогда на микроконтроллере сварганил посредника между компом и платой реализовав общение с компом стандартным UARTом, а общение с устройством осуществлял дерганьем ножки с нужными паузами… В общем общение пошло, ну и теперь что выяснилось: как и предполагалось ранее микроконтроллер в тангенте не является контроллером управления а всего лишь занимается формированием кодов нажатий кнопок и отправкой их в тушку и получением команд от тушки, что отображать на экране…

Все коды кнопок однобайтовые, при этом «нажатие» «удержание» имеют разные коды, третья функция на кнопках, которая вызывается через «F» не имеет своего кода, а передается как код простого нажатия которой предшествовал код нажатия «F»…

Ответные команды, из тушки тангенте, представляют из себя двухбайтные пакеты и состоят из байта команды и байт значения. Ответные пакеты приходят в тангенту только когда происходят какие либо изменения на дисплее, а также каждые пол секунды приходят пакеты отображения уровня сигнала (команда 0x95 и значения от 0x00 до 0x03) т.е. уровень сигнала (s-metr) всё же оказался мало детализированным, иначе чем предполагалось ранее… мало того этой же командой установкой определенного бита передается и знак «входящей молнии»…

Команд порядка 20 (номер канала, номер субтона, уровень громкости, уровень шумодава, цвет подсветки, сетка канала, мигать каналом, показывать разные символы на экране ну и т.д.), некоторые ещё не расшифровал, вот к примеру командой 0x55 передается отображение канала, т.е. байт значения содержит порядковый номер канала, с учетом дыр, поэтому он не всегда совпадает с номером канала. Частота и номер канала отображаемые на экране ни как не передаются, они прошиты в микроконтроллер тангенты и отображается исходя из переданных порядкового номера и частотной сетки.

Вот вкратце и весь принцип работы. Эмулируя с компьютеры коды кнопок четко добивался необходимой реакции от тушки, даже при выключенной тангенте, также и обратное, отправляя с компа команды тангенте добивался отображения нужной мне информации…

Ну а теперь немного о грустном, ожидал, что тангента формирует четкие команды управления тушкой, тогда можно было бы развернуться по полной в добавлении нового функционала…
Но в данной логике работы свой микроконтроллер может управлять тушкой только в рамках тех действий которые может произвести пользователь нажимая кнопки… к примеру можно отправить пакет из скажем 20 нажатий кнопку «канал выше» и перескочить на нужный нам канал, к слову тестировал с какой максимальной скоростью можно передавать нажатия кнопок и получилось что перебор всех каналов занимает чуть менее секунды, т.е. не проблема перескочить на нужный канал программно зная текущий канал и это займет менее секунды, это к примеру при создании своего банка каналов… Также реализовывал функцию сканирования каналов из памяти, сам перебор каналов осуществляется очень быстро, но вот отслеживание полезного сигнала в канале происходит только через чуть более полу секунды, т.е. сканирование 4 каналов памяти имеет цикличность 2 секунды, это по моему долговато, хотя можно обратную реакцию получать не с команд передаваемых в экран, а с провода на динамик, он сразу начинает шуметь если уровень сигнала пробил шумодав, тогда скорость сканирования возрастет на порядок…

Теперь немного о способах интеграции своего микроконтроллера в текущую схему:
1. Можно реализовать в виде переходника (удлинителя провода тангенты) - красивый вариант, активацию доп. функционала можно производить путем отлова в шине комбинаций клавиш которые не участвуют в стандартном функционале и после этого производить некоторые действия эмулируя нажатия кнопок…
2. Интеграция своего микроконтроллера в тангенту, по сравнению с первым вариантом таким способом можно реализовать автоотключение рации если она была включена когда пропало питание

Вот в принципе такие пироги… Хотелось бы исходя из вышеописанной логики услышать предложения какие функции можно было бы реализовать… И вообще стоит ли возиться дальше не имея прямого управления тушкой или это направление бесперспективно?
*SCRATCH*
Zike
Вошедший
 
Сообщения: 3
Зарегистрирован: 15 авг 2012, 13:11
Имя: Дмитрий

Re: Доработка MegaJet MJ-555 (Дополнительный функционал)

Сообщение maikllll » 30 авг 2012, 21:52

*THUMBS UP* Уважаю и завидую Вашим способностям!!!
Чего лично мне не хватает исходя из Ваших же мыслей:
- хотелось бы чтобы аппарат запоминал был ли он включен когда пропало питание и соответственно восстанавливал своё состояние при появлении питания. Либо упрощенный вариант: аппарат сам бы включался при появлении питания

- хотелось бы иметь возможность прослушивания двух каналов (на некоторых радиостанциях это функция DW, не путать с DW в мегажути). Либо упрощенный вариант как в предыдущем желании сканирование 4 ячеек в которые занесены 2 канала по 2 раза.

- пожелание высказанное приятелем: менять подсветку с зеленой на красную в момент передачи - тоже интересно :-)
"Примус", Yosan CB250 (President James, President Thomas, Lafayette Venus, MJ555, Yosan Stealth 5, Albrecht 6890, TTI TCB R2000, MJ700, Cobra-75wx, MJ300, Intek H520+, Alan100, Maycom SH27 - протестированы ) Yaesu VX-2R, Kirisun PT3800
Аватара пользователя
maikllll
Понимающий
 
Сообщения: 587
Зарегистрирован: 15 фев 2011, 22:58
Откуда: Москва, СЗАО
Имя: Михаил


Вернуться в Модернизация

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2