Ремонт бытовой техники и электроники

Меню +


Категории +

Приучаем другой пульт к DVD плееру на чипе MT13xx
[l]
В большинстве DVD плееров "китайского” производства используется протокол IR – NEC (подробнее - Описание протокола NEC ) , но некоторые брэнды могут использовать модифицированный протокол NEC или свой стандарт протокола. Вот к примеру брэнд LG в своих DVD плеерах использует свою модификацию протокола NEC – Описание протокола NEC-LG и уже к плеерам LG обычный пульт с обычным протоколам NEC не подойдет.
Как мы уже знаем такие замечательные программы как MTK-Tool ( читает и пишет флэш память ) и MTKReMaker (показывает нам блоки из которых состоит прошивка и позволяет сохранять и вставлять измененные блоки) по работе с прошивками для чипов MTK[/l][l]Для работы еще нам понадобится такие программы как - MTKRemote , RCExplorer, WinHex
[/l]

Расскажу все на конкретном примере. Принес знакомый домашний кинотеатр HYNDAI H-HT5108 с неисправным пультом, пульт отремонтировать не получилось ( капля внутри умерла ) , можно было купить такой же пульт, но решил приучить плеер к пульту который был у меня в наличии - ВВК модель пульта: RC019-01R ( пульт обязан иметь стандартный протокол NEC ) и заодно рассказать Вам все.

Первым делом нам нужно узнать код адреса , коды кнопок нашего пульта RC019-01R , для этого качаем программу RCExplorer - перейти на сайт программы и собираем приемник ИК ( на RCExplorer я остановился, так-так для чтения кодов достаточно и бесплатной версии ) . Запускаем её , нажимаем на кнопку Enable Record


и нажимаем кнопку на пульте ( направив пульт на фотоприемник ) . Программа нам покажет посылку –



Код адреса устройства, передаваемый нашим пультом – 0xB649 , код кнопки, которую мы нажали – 0x1A .

!!! Хочу чуть остановится на адресе устройства в программе RCExplorer . Если посмотреть на импульсы кода адреса ( 2 байта по 8 бит ) и посчитаем, то у нас получается код 0x49B6 ( начало байта считаем с младшего бита каждого , так как - Описание протокола NEC ) и так правильно будет, но программа нам показывает 0xB649 и это не правильно , программа не делит адрес на два байта , а показывает все одним по 16 бит, вот и считает она начало с младшего бита шестнадцатиразрядного значения, а это по моемому не правильно. Так что имейте в виду, если программа RCExplorer показала код адреса 0xFF00 или 0xF708, то правильнее будет представить в виде – 0x00FF или 0x08F7
И составляем таблицу каждой кнопки , вот что получилось у меня – Коды команд пульта BBK RC019-01R

Теперь читаем прошивку из нашего DVD плеера, открываем прошивку с помощью MTKReMaker и находим блок отвечающий за дистанционное управление – RC_Remote Tab



Разберем чуть подробнее этот блок –


00147Ah: 00FB 0102 0304 0506
001482h: 0708 092E 0A00 5B5C
00148Ah: 11FF 0D10 0E0F 2261
001492h: 2829 2B68 5D5F 7252
00149Ah: 333A 1516 191A 4F50
0014A2h: FFFF 6B4E 6C46 4151
0014AAh: 1720 422C 1D3D FFFF
0014B2h: FFFF FFFF FFFF FFFF

0014BAh: FFFF

Самое первое значение - 00FB это ни что иное как адрес устройства, а все остальное это коды команд ( функции ) выполнения DVD плеера, а адрес в котором расположен данный код ни что иное как код кнопки посылаемый ПДУ.
Что бы разобраться с этим подробнее , сохраним блок RC_Remote Tab и вставим его в любой HEX редактор, допустим WinHex


Временно вырезаем значение адреса устройства 00h, FBh расположенный по адресу  0x00 и 0x01. Выделяем это значение и через Edit делаем Cut и получаем –



особенность протокола NEC такова, что у него нет адресов 0x2… и 0x3… , а есть только 0x0… ,0x1... , 0x4… , 0x5… это особенность протокола NEC , так-что в WinHex представляем себе, что строка 0x20 = 0x40 , а 0x30 = 0x50 –

Рис1



Теперь подробнее. При нажатии на кнопку нашего пульта , допустим STANDBY где код кнопки = 0x1A - Коды команд пульта BBK RC019-01R, то эта кнопка обращается к адресу 0x1A ( код команды кнопки пульта = адресу блока RC_Remote Tab представленный в виде как на Рис1 ) и значение в этой ячейки 5Dh – это код выполнения функции DVD плеерам. При нажатии на кнопку MENU нашего пульта, пульт подает код - 0x53 , который обращается к адресу 0x53 и выполняет функцию в плеере , которая обозначается под кодам 3Dh.


Что бы не путаться, адрес в прошивки я буду обозначать 0x… , а данные по адресу ( в ячейках ) …h , хотя, и то и другое обозначает одно – числа в шестнадцатеричной системе счисления.

С обращением к адресам разобрались, теперь нужно разобраться какой код в ячейке соответствует кокой функции в DVD плеере. В этом нам поможет программа MTKRemote . Вставляем в нее блок RC_Remote Tab от нашей прошивки -



Index – это наши адреса к которым обращается пульт, но в десятичной системе 00d - 65d = 0x0… - 0x1... , 0x4… - 0x5

Code – это коды функции которые выполняет плеер

Name – это имя, назначение кнопки

Вот теперь мы видим и знаем, какой код в ячейке соответствует выполняемой функции в DVD. Допустим, нажимаем кнопку AUDIO на нашем пульте, пульт передает код 0x51 который обращается к адресу 0x51 на (Рис1 ) у нас стоит там 2Сh , значит при нажатии кнопки AUDIO , DVD плеер выполнит функцию DISPLEY – вывод информации о времени, в этот адрес вписываем код 28h , который и соответствует функции AUDIO и кнопка на нашем пульте AUDIO - 0x51 будет выполнять функцию 28h – AUDIO.

Можно это все менять в самой программе MTKRemote , но мне она в этом отношении не нравится, долго приходится искать нужную функцию + переводить код кнопки ПДУ из dec в hex ( может кому поможет  - DEC в HEX для программы MTKRemote )… Я для себя сделал вот такую табличку - Соответствие кодов блока RC_Remote Tab и функция DVD плеера и по ней работаю.

Хочу сказать, что коды команд функций DVD плеера из программы MTKRemote , совпадают только на дешевые плеера китайского производства, к примеру у ВВК коды функций не совпадают из этой программы. Правильные коды функций для BBK в этой таблице -  Соответствие кодов блока RC_Remote Tab и функций DVD фирмы BBK

Теперь зная что к чему и для чего мы берем то что на Рис1 , старый блок RC_Remote Tab и чистим его – FF


И начинаем добавлять кнопки и функции –
Кнопка на ПДУ- STANDBY = 0x1A , смотрим в таблицу и находим что STANDBY (POWER) = 5Bh – код функции. Вот по адресу 0x1A прописываем 5Bh



Кнопка на ПДУ - EJECT = 0x1B, смотрим в таблицу и находим что EJECT = 5Сh. По адресу 0x1B прописываем 5Ch



... и т.д

В конце получится



Это и есть наш практически готовый RC_Remote Tab , где коды ( адреса ) кнопок ПДУ соответствуют кодам команд функций DVD плеера.

Осталось вставить, когда-то вырезанный адрес устройства - 0x00FB и заменить его на адрес устройства нашего ПДУ = 0x49B6 , вот теперь готовый блок RC_Remote Tab под наш пульт –


Его сохраняем и вставляем в родную прошивку –



И получаем –



Заливаем прошивку в аппарат и радуемся.


[*] Если что непонятно, спрашивайте в этой теме

[*] Скачать статью в PDF

[*] MT1389L и изменение RC-remote в ПО - тема на Мониторе

Огромное спасибо [b]Din[/b]_у за это сообщение, все тоже самое, только я разжевал :)

Автор: LG-savikdvd, 20.11.2009 | Кат: Статьи / Видеотехника | Просм: 56045 | Коммент: 36 | Понрав: 58

Всего комментариев: 361 2 »
36 Dan7777   [Материал]
на процессоре tamul tmd8805x02 с флешT80-75HCP файл бин программа MTKReMaker не открывает, по тому, что это не мтк?

35 sulmas   [Материал]
Молодец,Славик! Респект тебе!!! good good good

34 LG-savikdvd   [Материал]
Исправил.

33 sota76   [Материал]
кажется разобрался , но почему-то когда кидаешь блок RC_Remote Tab из родной прошивки в программу MTKRemote она не определяет коды команд ( ДВД Rolsen rdv-4004 ) vopros

32 stas20   [Материал]
подскажите, mk tools работает под 7 виндой? (если уже где-то писали, то поиск не дал результат.) говориТ устройство не подключено. если не работает, то работает ли из-под лив сд?

31 LG-savikdvd   [Материал]
Мне однажды пришлось искать кнопку , которая на PDP LG выключает режим теста ( белый экран с версией прошивки, был у них в свое время такой глюк ) , сервисного пульта не было. Помог модуль от Din для Омега-Remo - http://remont-aud.net/_fr/213/8502429.jpg где вставляешь значение адреса, а дальше пошел нажимать на кнопочки, программа выдает посылки с одним адресом и разными кодами команд. Данные кнопки были быстро найдены :)

30 key-s   [Материал]
LG-savikdvd, благодарю. Я ссылки твои не читал. Вернее браузер мой прежний, видимо, не корректно дружил с твоим сайтом. NEC code юзал по даташитам шифраторов. Однажды встала необходимость найти сервис-команду для LG Мulтiрlех, без родного пульта.. Шифратор и команду нашел.. NEC code. Интересно просто стало за протокол. Оттуда домозговал до байтов СUSL, СUSН и их аббревиатур.. Этого нет в сети. Это байты адресного слова для процев ТМРА88хх. Т.е. слово можно подобрать под нужный пульт NEC code, прямо в сервисе..
Спасибо

29 LG-savikdvd   [Материал]
Отредактировать можно так, жмем на - , а после
Я в этой статье не описывал сам протокол, дал ссылку, а там уже читайте каму интересно.
По поводу инверсного адреса тут есть http://wheelremote.ru/useful.shtml?ir_nec , а если адрес не инвертируется, то это уже расширенный протокол NEC.
С этим протоколам как бы вопросов не возникает, вот мне однажды пришлось с протоколом от Sony_а разбираться ( симулировать ) вот там я помучился пол дня.
Тут темы http://monitor.net.ru/forum/viewtopic.php?t=348404 , правда тема где мне помогли решить проблему в технофлейме сократилась ...

28 key-s   [Материал]
LG-savikdvd, RCExplorer считает адресное слово и слово данных - одинаково, от старшего бита к младшему. Старший - справа, младший слева. Поэтому и пишет потом адресное слово также как и датаслово, в той же последовательности байтов. Другими словами, RCExplorer декодирует данные в том виде в каком они были кодированы и переданы.. А то, -в каком виде принято представлять адресное слово и -как оно лежит в прошивке - за то и пишу.. aggressive
Quote (LG-savikdvd)
Давай, можешь в http://remont-aud.net/publ/stati/1 , по обсуждаем. Тут http://wheelremote.ru/useful.shtml уже некоторые описаны ( что касаемо Car Audio ).

Это просто наблюдение. Адресное слово, как ты уже говорил, состоит из 16 бит. Причем и датаслово - тоже.. Но датаслово, в NEC code, никогда не представляется двумя байтами. Потому что старшее полуслово всегда инверсно младшему. Датаслово состоит из двух полуслов, по восемь бит, которые всегда инверсны в значениях, по отношению друг к другу.
В адресном слове, в полусловах - также может быть инверсия, что видно на твоих примерах:
Адрес 0x49B6h столбиком в bin:
49 - 01001001
B6 - 10110110
Адрес 0x08F7h столбиком в bin:
08 - 00001000
F7 - 11110111
Или тот же 0x00FF ...
-Значения полуслов инверсны. Но, в адресном слове - не всегда.. Полуслова могут быть тождественными, как 0x0E0E, или разыми 0x03AA. Поэтому и представляют адресное слово двумя байтами

26 key-s   [Материал]
Quote (LG-savikdvd)
Хочу чуть остановится на адресе устройства в программе RCExplorer . Если посмотреть на импульсы кода адреса ( 2 байта по 8 бит ) и посчитаем, то у нас получается код 0x49B6 ( начало байта считаем с младшего бита каждого , так как - Описание протокола NEC ) и так правильно будет, но программа нам показывает 0xB649 и это не правильно , программа не делит адрес на два байта , а показывает все одним по 16 бит, вот и считает она начало с младшего бита шестнадцатиразрядного значения, а это по моемому не правильно. Так что имейте в виду, если программа RCExplorer показала код адреса 0xFF00 или 0xF708, то правильнее будет представить в виде – 0x00FF или 0x08F7

LG-savikdvd, софт считает так как его научили.. и считает правильно. Т.е. от старшего бита к младшему.. Адрес на рисунке - 0xB649. Также как команда - 1A. Другое дело, что визуально адресное "слово" NEC code принято делить на Сustom code Low и Сustom code Нigh. Которые в виде байтов СUSL и СUSН забиты в некторых дампах CRT-процессоров.. Cоответственно, -младший (Low) и -старший (High), где младший байт ставится первым.. Есть ещё интересный ньюанс в кодировке адресного "слова". Если жклаешь - могу озвучить aggressive

27 LG-savikdvd   [Материал]
key-s, я как бы и хотел донести , правильно , что нужно делить адрес на два бита ...
Да и написал про это, что бы участникам проще было и понятнее, ведь программа Ремаркер понимает последовательность адреса именно Low , а следом High.

Quote (key-s)
Есть ещё интересный ньюанс в кодировке адресного "слова". Если жклаешь - могу озвучить

Давай, можешь в http://remont-aud.net/publ/stati/1 , по обсуждаем. Тут http://wheelremote.ru/useful.shtml уже некоторые описаны ( что касаемо Car Audio ).

24 Doublman   [Материал]
Прошу прощения......,

все изложенное выше относится только к DVD плеерам? Дело в том что я пытаюсь "подружить" пульт с CRT телевизором, споткнулся на том что MTKReMaker не хочет принимать прошивку и выдает сообщение "ERROR: Wrong file tipe. Not MTK Firmware .bin file."
Что посоветуете?

25 LG-savikdvd   [Материал]
Конечно, у ТВ совсем другая структура прошивки и конечно Ремаркер не откроет ее.

Пока я не знаю ни одной программы , которая бы умела открывать прошивку MICOM ТВ и расшифровывать для людей без специальных навыков ( знание языков программирования ).

23 zazafa   [Материал]
хорошая статья. приучил пульт от DV722s к DV722SI

22 7рыгор7   [Материал]
спосибо

21 16kama   [Материал]
Спасибо!Многое стало понятно,но по какой-то причине все ссылки,ведущие на REMONT-AUD.NET,открываются просто чистыми страницами с заголовками ,а коды команд пульта ВВК-просто фото и всё nover

19 linol   [Материал]
а есть такая же классная!!! инфа для ct909r-lf?

20 LG-savikdvd   [Материал]
К сожалению, но пока нет, мож из-за того что чипы ct909r не так распространенные ... Время покажет ;)

18 Ast   [Материал]
Попался DVD Elenberg DVDP-2445. Пульт сломан пополам, купили другой - не реботает. Посмотрел RC tab плеера, там код устройства 00FB, а пульт передаёт 00FF. Изменил FB на FF и всё заработало - коды команд совпадают. Спасибо за статью!

17 rgz   [Материал]
Спасибо за статейку!Разобрался и привинтил новый пульт к аппарату (родного в продаже не нашёл)! good

16 GAB   [Материал]
Хорошая тема!Спасибо good

15 Ckripto   [Материал]
Огромное спасибо

14 пион   [Материал]
респект, влез в самые дебри good

13 NIKDJAZ   [Материал]
спасибо отличная статейка! good

11 min88   [Материал]
ооо drinks

10 mestizo   [Материал]
Ох! Красавчег!

9 sanyha   [Материал]
РЕСПЕКТ!!!!! РЕСПЕКТ!!!!! РЕСПЕКТ!!!!! good

8 kipnio   [Материал]
Статья хорошая . очень помогла !

6 vovchiiik   [Материал]
Увю LG-savikdvd по какой-то причине при переходе на таблицы соответствия кодов в Вашей статье
открывается нечитабельная кодировка. Возможно такое только у меня.

7 slavenin74   [Материал]
Не только , но выход есть.Открывается через Internet Explorer.Или поставь дополнение IE Tab для Mazlla Firefox.

12 LG-savikdvd   [Материал]
В браузере кодировка должна стоять UNIT-8

5 FenoMen73   [Материал]
Респект!!! То что нужно в огромном достатке!!!

4 Hatab73   [Материал]
Спасибо интересно и познавательно.

3 Ismat   [Материал]
aggressive Будет интересно.

2 _Жека_   [Материал]
good супер!Автору респект!

1-30 31-31
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Логин:
Пароль:

Полная версия страницы

конфиденциальность | условия

⇧
⇩