Стантдарт KIWI
Существует три основных стандарта автомобильных систем GPS навигации: Navteq, GDF, KWI.
многие японские компании (прежде всего Мицубиси, Тойота, Ниссан), а также General Motors используют системы навигации, построенные на базе стандарта консорциума KIWI-W. Subaru - используют навигации производства Kenwood (тоже KWI).
Описание структуры файлов этого стандарта - расширение KWI.
KIWI - формат используется для описания карт и объектов, может содержать мета данных, например, голосовые сообщения.
Основные файлы на диске:
LOADING.KWI - загрузчик
ALLDATA.KWI - картографическая информация в специальном формате KIWI
INDEXDAT.KWI - поисковые и справочные индексы
Все эти файла, как правило, записывались на HDD
Пример структуры разделов HDD (MMCS R03)
1. Maps
2. blank
3. Loading
4. ScreenData
5. CDDB
6. AVUnit
На новых моделях, как напрмер MMCS W-11 и W-12, которая устанавливается на Аутлендер третьего поколения, вместо жесткого диска появилось два гнезда для SD карт одна под навигацию другая предположительно для музыки
Здесь описана классическая структура стандарта, но каждый производитель всегда вносит свои коррективы. http://www.kiwi-w.org/documents_eng.html
[свернуть]
LOADING.KWI — загрузчик
Скрытый текст
Это контейнер, который состоит из секций.
В общем случае лоадинг может содержать и одну секцию и больше...главное, что он содержит загрузчик для ОС.... саму ОС (не важно какую) он может и не содержать - загрузчик может ссылаться на другой файл, содержащий ОС....
Пример описания лоадинга на базе ОС WinCE (loading.kwi MITSUBISHI).
1. Заголовок.
1. Loader (boot)
2. Firmware (OS)
3. Screendata (FS)
У W11, W12 доплнительные секции:
4. Графические файлы *.bmp
5. Фалы типа *FONT.BIN — судя по названию, для отображения фонтов на экране.
Структура заголовка Loading.kwi
На примере loading.kwi MITSUBISHI:
Адрес -> Длина -> Назачение
0-1 ------> 2 ------>количество размещеных систем.
2-3 ------> 2 ------>Резерв
4-F ------> 12 ----->Идентификация и управленческая информация
10-11 ---> 2 ------> Количество частей в Loading
12-13 ---> 2 ------> резерв
14 ------> 1 ------> Категория модуля №1: 0- программа инициализации, 1 – программа, 2 – библиотека, 3 – data, + 40h (64) тестовый, + 80h (128) – сервисный диагностический
15-17 ----> 3 ------> Резерв
14-53 ------> 64 ------> 01 Категория Unit №1, NR261RM.MLD.ORG NR261RM.- русская голова,
NR261J11 – японская голова
NR261EM - европа
Эти параметры сравниваются внутри BOOT
.MLD.ORG признак BOOT
00000113 Номер версии (F)
00000113 Номер версия (G)
00000101 Номер версия (J)
00000111 Номер версии (E)
54-93 ------> 64 ------> 01 Категория Init №2, NR261RM.SHx.ORG NR261RM.- русская голова,
NR261J11 – японская голова
NR261EM – Европа
MMC13 – W11 , W12
NR242RM - русский вариант W-12;
NR242EM - европейский вариант;
NR242UM - американский вариант;
NR242AM - австралийский вариант.
Эти параметры сравниваются внутри BOOT
.SHx.ORG признак OS
00000400 Номер версии модуля OS (F)
00000500 Номер версии модуля OS (G)
00011403 Номер версии модуля OS (J)
00006203 Номер версии модуля OS (E)
94-D3 ------> 64 ------> 03 Категория Unit №3 NR261RM.SCN.ORG NR261RM.- русская голова,
NR261J11 – японская голова
NR261EM - европа
Эти параметры сравниваются внутри BOOT
.SCN.ORG признак DATA
00000400 Номер версии модуля FS (F)
00000500 Номер версии модуля FS (G)
00000000 Номер версии модуля FS (J)
00006203 Номер версии модуля FS (E)
D4-D5 ----> 2 ------> 1D 60 1D 60 дата, на которую функции модуля становится действительным.
Дата отображается с количество дней считается с 1 января 1997 года как день 0 на основе UTC.
По умолчанию должен быть установлен с "00 (16)" Если Дата не задана.
Примерно: 10/07/2027
D6-D7 ----> 2 ------> 1D 60 1D 60 дата, на которую функции модуля становится не действительным.
D8-117 ----> 64 ------> Это поле используется для описания модуля для пользователя.
118-11B ----> 4 ------> 00 00 04 00 400 (400*2 =800) В этом поле стартовый адрес программного кода (если есть) Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 37400 (37400*2 = 6А800) В этом поле размер программного кода (если есть) Unit умноженое на 2
120-1D3 ----> 180 ------> Это поле используется изготовителем модуля, чтобы указать информацию, относящуюся к производителю.
[свернуть]
Описание Loader (boot)
Файл (контейнер) для хранения стартового образа прошивки в формате NB0, он в свою очередь запакован в контейнер BIN (файл формата bib).
Главным показателем того, что перед Вами находится прошивка в контейнере этого типа, является сигнатура BOOOFF.(именно с точкой на конце) , в начале образа.
В нем находится файл nk.exe — ядро системы.
Описание bib формат (файлы bin) http://msdn.microsoft.com/en-us/library/ms898171.aspx
[свернуть]
Описание Firmware (OS)
Файл (контейнер) для хранения рабочего образа прошивки в формате NB0.
Главным показателем того, что перед Вами находится прошивка в контейнере этого типа, является сигнатура BOOOFF.(именно с точкой на конце) , в начале образа.
В нем находятся все модули и файлы системы в разобраном виде. Стандарт PE format. http://kaimi.ru/2011/07/pe-%D1%84%D0...6%D0%B8%D1%8F/
[свернуть]
Структура Screendata (FS)
Это простой, даже не архивированный контейнер. В нем, по определенной логике лежит информация (жестко записанная) - в каком каталоге должны находиться файлы этой секции
Структура UNIT ScreenData в loading.kwi:
Первый блок:
4h первые -> Количество записей в блоке
4h вторые -> Размер блока от начала блока (в размер входят первые 4h и вторые 4h))
Данные: список каталогов -> Разделитель «00h»
Второй блок:
4h первые -> Количество записей в блоке
4h вторые -> Размер блока от начала блока (в размер входят первые 4h и вторые 4h)
Данные: список имен с каталогом, содержащий последовательность
записи файлов (по порядку)-> Разделитель «00h» (индексный)
4h первые -> Размер файла
далее -> Имя файла заканчивается.
Разделитель «00h»
Третий блок:
Начало: в конце второго блока, начинается файл данных
Данные: по порядку по размеру файла как во втором блоке.
Все данные и адреса считываются ил прошивки по-байтово в обратном порядке - "ногами вперед" — Little-Endian
DWORD num_LE; // little-endian
DWORD num_BE; // big-endian
LE по умолчанию для x86 и SH4.
ScreenData на HDD - это тот же образ, что в loading.kwi, но уже развернутый в выше упомянутом каталоге
[свернуть]
[свернуть]
JRemaker
Скрытый текст
Программа JRemaker. Предназначена для редактирования прошивок от автомагнитол на базе формата контейнера файл: loading.kwi.
OS: WinCe 2.11, 3.0, 4.20, 6.0.
Разработана на основе анализа структуры LOADING.KWI - загрузчик, установленных на атомобилях MITSUBISHI - R01, R02, R03, J03, J05, N04, W11, W12.
Совместима для работы также с E-01..E-06, J-01/02/04/11, N-01, N-02, N-03, N05
В Японии FM диапазон вещания ограничен более жестко (76...90 МГц) Для обхода этого ограничения необходимо установить FM-модулятор, который расширит диапазон до требуемого российского 108 МГц. Как правило модулятор имеет антенное гнездо и антенный выход и провод питания +12.
1) MMCS среднего поколения (начиная с J-01 от 2006г. и до R-03) имеют в своем составе радиотюнер. Также его имеют MMCS последнего поколения (начиная с J-11 от 2011г. и до нынешней W-12), а предыдущее самое первое поколение MMCS не имело встроенного радиотюнера (например, на Аутлендере первого поколения), а еще более ранние назывались MDS и не имели жесткого диска вообще.
2) в различных странах различные диапазоны для FM-радио, например,
-- Европа/Россия 87..108 МГц с шагом 0,1 МГц;
-- СССР/Россия дополнительно 65,9..74 МГц УКВ;
-- Америка 87..108 МГц с шагом 0,2 МГц;
-- Япония 76..90 МГц с шагом 0,1 МГц,
соответственно, и MMCS-ы для различных регионов изначально имеют локализацию. Причем программно-аппаратную.
Один из вариантов:
----В Японии FM диапазон вещания ограничен более жестко (76...90 МГц) Для обхода этого ограничения необходимо установить FM-конвертер, который расширить диапазон до требуемого российского 108 МГц. Как правило модулятор имеет антенное гнездо и антенный выход и провод питания +12. FM-конвертер позволяет без каких-либо программно-аппаратных изменений в радиотюнере сдвинуть диапазон. Наиболее востребованы и широко применяются такие:
-- для приема УКВ на стандартном российско-европейском тюнере (87..108);
-- для приема российского FM (87..108 с шагом 0,1) на американском тюнере (87..108 с шагом 0,2);
-- для приема российского FM (87..108 с шагом 0,1) на американском тюнере (76..90 с шагом 0,1).
При этом на экране радиотюнера не реально отображается частота принимаемой станции.
3) если же все-таки переделывать ПО и оборудование самой MMCS, то точно нужно перепрошивать микроконтроллер, управляющий синтезатором частоты, наиболее просто это будет с адаптацией американки, т.к. диапазон одинаков (уважаемый Ежик Пых перешивал Ренесасовский NEC микроконтроллер под шаг 0,1). Для японки возможно еще дополнительно прийдется перестраивать контура в ВЧ-блоке...
[свернуть]
Адаптация NTSC ТВ к российскому ТВ
Скрытый текст
Если TV тюнер встроен в головное устройство, устанвливается дополнительный внешний тюнер.
Тюнер обеспечивает возможность приема телевизионных передач цветного изображения в системах PAL/SECAM D/K и отображение принятого сигнала на штатных NTSC мониторах автомобилей японского и американского рынков.
Такие устройства могут коммутировать сигналы формата RGB+SYNC, RGB+HSync+VSync, RGsB.
Данное устройство позволяет подключить ТВ-тюнер к навигационному дисплею автомобиля по RGB+SYNC в случае отсутствия стандартного AV-входа.
Также возможно подключать ТВ-тюнер к навигационным мониторам, где сигналы синхронизации либо формата RGB+HSync+VSync (MITSUBISHI), либо синхронизация передается в канале зеленого цвета (MITSUBISHI, BMW)
Встроенный аналоговый ТВ-тюнер имеют толаько японские варианты MMCS. Остальные редакции его не имеют. В связи с вытеснением аналогового TV цифровым DVB-(T)/T2, аналоговое ТВ скоро возможно скоро будет не актуальным"
[свернуть]
Примеры модификации loading.kwi для MMCS
Скрытый текст
Пример № 1 Руссификация японки
Скрытый текст
NR261RM.- русская голова,
NR261J11 – японская голова
Смотрим раздел Стурктура заголовка loading.kwi
Вариант №1 -> R03G:
Имеет 3 Unit: 10-11 ---> 2 ------> Количество частей в Loading = 3
Категория Unit №1, NR261RM.MLD.ORG
Категория Unit №2, NR261RM.Shx.ORG
Категория Unit №3, NR261RM.SCN.ORG
MLD, SHx, SCN -> ссылки на 3 адреса: Unit №1:
118-11B ----> 4 ------> 00 00 04 00 = (400*2 =800) В этом поле стартовый адрес программного кода Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 = (37400*2 = 6А800) В этом поле размер программного кода Unit №2: -> 218... Unit №3: -> 318...
Вариант №2 -> J05 + R03G:руссификация японки
Имеет 3 Unit: 10-11 ---> 2 ------> Количество частей в Loading = 4
Категория Unit №1, NR261J11.MLD.ORG
Категория Unit №2, NR261RM.MLD.ORG
Категория Unit №3, NR261RM.Shx.ORG
Категория Unit №4, NR261RM.SCN.ORG
MLD (японский),MLD (русский), SHx(русский), SCN(русский) -> ссылки на 4 адреса: Unit №1:
158-11B ----> 4 ------> 00 00 04 00 = (400*2 =800) В этом поле стартовый адрес программного кода Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 = (37400*2 = 6А800) В этом поле размер программного кода Unit №2:
258-11B ----> 4 ------> 00 00 04 00 400 (400*2 =800) В этом поле стартовый адрес программного кода Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 37400 (37400*2 = 6А800) В этом поле размер программного кода Unit умноженое на 2 Unit № 1 и Unit № 2 ссылаются на один адрес Unit №3: -> 358... Unit №4: -> 458...
[свернуть]
Пример № 2 Maintance от американки:
Скрытый текст
Программа JRemaker:
- Current - R03_G
- Donor - N03 или N04 можно попрбовать с другими версиями американки
-- Надо скопировать из донора в current следующие файлы:
1) HMIManager.exe
2) gs_hmi_string.tbl,
3) HMI.scrn
4) HMI_BMP.symb
5) can.exe Новые возможности:
>Выбор языка при старте (при выборе языка меняется язык не только MMCS, но и язык отоббражения информации в ETAKS
> через кнопку INFO в меню появляется "тех. обслуживание" -> Maintenance - это специализированный календарь по графику технического обслуживания.
MMCS через can получает данные по maintenance и использует для некоторых расчетов для этотго графика.
В русской такой функции нет, can.exe урезанный по этим функциям соответственно maintenance не работает.
Теперь должен работает в полном объеме.
[свернуть]
[свернуть]
MMCS — Описание, характеристика
Скрытый текст
Описание
Скрытый текст
классификацию самих MMCS, можно разделить на три поколения:
-- пред-MMCS (чаще называемые MDS) были модульными и состояли из отдельных блоков: монитор, CD-радио, блок навигации, ТВ-тюнер и т.п. Жесткого диска не имели, а LOADING и карты грузились с DVD (у меня есть один такой производства Aisin под маркой Mitsubishi);
-- нулевое поколение MMCS это дальнейшее развитие MDS, но в навигационном блоке появился жесткий диск (такие устанавливались на Outlander первого поколения, производитель MELCO);
-- первое поколение MMCS это моноблочный вариант с жестким диском "все-в-одном", который в основном здесь и рассматривается (такие устанавливались на Outlander XL, производитель MELCO).
Есть 3 варианта работы MMCS с BT:
1. Не поддерживается (J-01)
2. Поддерживается старый блок - (R-01, R-02, E-01, E-02, E-03, N-02, N-03, P-01, C-01, J-02, J-03, J-04)
4. Поддержка нового блока - адресная книга, USB, BT Audio (R-03, E-04, E-05, E-06, P-02, C-02, J-05, N-05)
Известны следующие аппаратные редакции устройств.
Для японского региона:
J-01 [8750A082]
J-02 [8750A072]
J-03 [8750A141]
J-04 [8750A115]
J-05 [8750A224]
Для американского региона:
N-01 [8750A069]
N-02 [8750A142]
N-03 [8750A183]
N-04 [8750A???]
N-05 [8750A???]
Для европейского региона:
E-01 [8750A070]
E-02 [8750A143]
E-03 [8750A184]
E-04 [8750A???]
E-05 [8750A???]
E-06 [8750A???]
Для русского региона:
R-01 [8750A169]
R-02 [8750A170]
R-03 [8750A211]
Для австралийского региона (под маркой Mitsubishi, но производитель KENWOOD):
A-01 [8750A132]
A-02 [8750A???]
A-03 [8750A???]
A-04 [8750A196]
соответственно, поскольку австралийские варианты крайне экзотичны у нас и, вероятно, серьезно отличаются по архитектуре, то упомянуты для полноты перечня.
-- второе поколение MMCS это дальнейшее развитие, т.е. обновленный вариант, у которого вместо жесткого диска используется SD-карта памяти (такие устанавливаются на Outlander III).
J-11 [8750A???]
W-11 [8750A???]
W-12EU [8750A374]
W-12RU [8750A391]
[свернуть]
Характеристика
Скрытый текст
R03 и ее аналоги
Скрытый текст
• WinCe 4.2
• Процессор Renesas SH7770
• 30 Гб жесткий диск
---- R-01 Toshiba MK3029GAC
---- R-02 Toshiba MK4036GAC
---- R-03 Toshiba MK4050GAC
---- Вариант установки SSD PATA https://out-club.ru/board/showpost.p...postcount=6574
• Навигационная система double wide DIN
• дисплей
----ЖК-панель Sharp LQ070 формально 7-дюймовая (реально чуть меньше, т.е. 6.95") с физическим разрешением 480×234
• Предварительно установленны европейские японские российские дорожные карты
• Touch screen полнофункциональный экран
• Регулировки Аудио кнопками руля
• 8 Гб музыкальный сервер (22 ГБ для навигации)
• Cовместима с MP3 и WMA
• DVD / CD слот
• Стандартный TMC-тюнер (ТВ-в японской версии)
• Информация бортового компьютера
• Опция пользовательских настроек систем автомобиля (открытие с пульта, освещение в дневное время, работа стеклоочистителей, индикаторы) (( в европейско-американской версии))
• Подключаются 6 динамиков стандартной системы и 9 динамиков
Rockford Fosgate
• 4 канала х 45W
• Телефонный адаптер для подключения портативного аудио оборудования
(необязательно) MZ313870
[свернуть]
W12 и ее аналоги
Скрытый текст
MMCS W-11 и W-12 устанавливается на Аутлендер третьего поколения. Типоразмер, модуль блютус , кан модуль такой же как на предыдущих моделях вместо жесткого диска появилось два гнезда для SD карт одна под навигацию другая видимо для музыки DVD диски не воспроизводит, разьемы подключения другие, чем у R-03
Может я что-то упустил, получилось maintenance в европейку перекинуть без потери языков?
JRemaker в шапке идентифицирует себя как 0.0323 от 14.11.2014 (сам файл же пересобран 25.12.2014...), это поменять забыли или обновления больше не выкладываются?
Была протестирована европейская система с русским языком, вставленным вместо португальского.
Огромное спасибо Николаю AS21!
Что имеем:
патченый русский/английский голосовой файл voice001.me из карт РФ;
оригинальные голосовые файлы из карт РФ и EU;
их комбинацию с картами РФ.
Ниже видео с комбинациями.
В итоге:
при голосовых файлах от европейских карт язык совпадает и в меню выбора голоса и в навигации;
при оригинальных русских голосовых файлах в меню выбора голоса озвучка на текущем языке, а навигация работает только на английском, русский и остальные - пусто;
с патченым первым голосовым файлом русская озвучка появляется только в навигации, в меню выбора голоса звучит португальский.
Получается, что в настройках системы (там где выбираешь мужской или женский голос) русского нет при любом сочетании голосовых файлов. При этом похоже работает вшитая в систему(?) TTS (текст-ту-спич)… То есть при русских голосовых файлах запросто работает TTS на немецком или испанском, но не в навигации, а в настройках голоса (хотя я не ездил, а прокладывал маршрут, на видео всё видно)...
Я так понимаю, что есть записанный голос и есть текст-ту-спич — TTS, вот его русского-то и нету. Таким образом все европейские языки могут озвучивать всё что угодно, хоть сказку читать из текстового файла. Если это так, то это извечная проблема (прямо заговор буржуинский ) множества систем навигации. У меня есть старенький, но когда-то весьма топовый навигатор Tom-Tom Go 910 с такой же проблемой — для всех языков там есть TTS, кроме русского, который довольствуется предзаписанными фразами.
Но это не всё. Чтобы иметь полноценную навигацию необходимо заменить в европейском голосовом файле португальский голос на русский. Во тут нужна помощь, потому что пока не смогли разобраться кодеком.
AS21 вытащил отдельными файлами некоторые фразы (можно скачать архив с ними), но вот точные настройки кодека и упаковки пока неизвестны.
С такими настройками импорта из RAW AUDIO удалось понять, что в файле 11_00_8_31 записана фраза с мужским голосом "пожалуйста, вернитесь на указанный маршрут":
Так же есть предположение, что имя файла 11_00_8_31 состоит из:
первая цифра 1 - это англ, 11 - рус;
последняя цифра - № записи (numRecord);
что в середине неизвестно.
Надеюсь, что всё изложил правильно.
все верно, только цифры в названиях файлов - это моя нумерация - это не надо расшифровывать, главное кодек - формат декодирования и кодирования
Добавлено через 8 часов 35 минут
Вот в Греции, Heavy пишет:
> по индексам языков, получается так:
> 01 - английский
> 02 - шведский
> 03 - немецкий
> 04 - французский
> 05 - испанский
> 06 - недерландский (но тут немного по другому внутри - 06 00 - Belgisch, а 06 80 - Nederland)
> 07 - итальянский
> 09 - dansk
> 0E - португальский
> 00 и 80 да - меняет набор, и как правило 00 это мужской, 80 женский (кроме случая с нидерландами)
А с облегчением заливки музыки пока никаких подвижек не было?
Пользуюсь методом "SC converter" с https://www.drive2.ru/l/2125891/ , не всегда проходит все гладко и приходися переделывать, да и телодвижений тоже не мало оказывается, особенно соневская "приблуда" конвертации доставляет
Добавлено через 16 часов 47 минут Снова надо выяснить, НАДО ЭТО, а если да, то СКОЛЬКИМ
Закончил разбирать таблицы "голосовых сообщений" в NAVI
Дальше если копать, нужно предметно.
Вопрос:
- кому надо чтобы в европейских картах при поездке по Европе, все стандартные подсказки: типа "поверни налево" - звучали на русском (не путать с фразами "поверните на трасу № 34 мммштрассе")
Госовать можно в личку, здесь нажатием кнокпи "спасибо", отдельными сообщенияи не желательно, и так много лишнего текста
Поискал в инете инфу по voice KIWI и вообще по прогам для редакции навигации формата KIWI - все обсуждения заканчиваются 2008-2010
А что сегодня уже не актуальны программы по просмотру и редакции карт?
KIWI Format Explorer Просмотр карт на ПК
Возможности:
Просмотр карт
Исследование структуры карт и файла ALLDATA.KWI
Исследование структуры диска (порядок размещения файлов на диске)
Исследование структуры загрузчика LOADING.KWI
Распаковка сжатых файлов
Исследование структуры диспетчера сжатия файлов 05.CMP
Исследование структуры файла голосовых сообщений VOICEDAT.KWI
Прослушивание голосовых записей
Набираем в Яндексе KIWI Format Explorer и находим ссылку.
Все класно, но только ЭТО не для формата MITSUBISHI
Сделаем и для MITSUBISHI. Ваши файлы ALLDATA программа открывает, я правда ещё только на одной сборке проверял.
С голосом у тойот все получилось. Информация не секретная. Есть описание используемой там системы кодирования звука CD-I ADPCM.
Сделаем и для MITSUBISHI. Ваши файлы ALLDATA программа открывает...
Супер, если все так замечательно работает, гляди не за горами создание kiwi карт на основе openstreet или еще из чего тогда уже не нужно будет гонятся за призрачными дампами "новых" версий двух-трех годично давности
сли подгоните структуру вашего файла VOICE00X.ME сделаю чтобы он заговорил
Там много всего. Вам от начала, где языки определяются и все offset, size или уже концовку:
- где data, флаги, настроечные данные?
Для начала выкладываю только data
- number 30, 31. 47, 00
и свои корявые эксперименты с wav: архив decode
По структуре voice001.me:
Вначале идет класика, до тех пор пока не нашел chunks - там поплыл
связи все нашел, а вот назначание флагов не разобрался пока, уж больно для меня оказались все эти настройки новыми.
по структуре voice002.me: первые 20h - заголовок, а далее разделитель 16 - "00" - каждая DATA для каждой фразы. Как они вызываются и привязываются к картам - не знаю, ни индексного файла к voice002.me ничего не нашел. Думаю там все построено по порядку. Каждая фраза имеет привязку по индексу расположения в файле к конкртной точке на карте.
Чтобы не засорять ветку - предлагаю перенести далее в личку или по email: nick@avalr.com.ua
Меня еще интересует - где в картах описаны названия стран?
Когда подключил к европейскому loading.kwi русские карты - прошивка не могла найти название Россия на кирилице, только идентификатор RUS на латинице, возможно из-за этого система при старте несколько раз перезагружается
Последний раз редактировалось AS21; 23.02.2015 в 00:39.