PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Радио/ТВ (http://pccar.ru/forumdisplay.php?f=128)
-   -   История одного радио для CarPC (http://pccar.ru/showthread.php?t=14274)

Эрик 07.02.2011 12:17

История одного радио для CarPC
 
Ну вот и у меня дошла очередь до радио.
Желание было давно, но все время что-то мешало.
Идея сделать радио была либо из оставшейся без дела родной головы легаси, либо из, лежавшей без дела, магнитолы пионер, которая, в свою очередь, была первой переделкой в моей машине.
Выбор пал на пионер...
Моделька магнитолы - DEH-5850
Изучение схемы тюнера показало что .... да ничего особо сначала не показало.... :wacko2: Решено было что вскрытие покажет, но не тут то было... Внутри корпуса тюнера две микрухи c гордой надписью Pioneer PM4013A и PM4014A. Поиск в гугле мне ничего не дал, только заказ данных чипов.
Далее была попытка соснифать пакеты с помощью осцила с лоджик аналайзером. Тут был первая удача - стал понятен протокол - SPI и разобран пакет смены частоты радио. :yes4: Но все оказалось не так просто. Оказалось что тюнеру необходим так же сигнал на включение. Далее была проделана та же процедура "снифанья" и анализа пакетов включения, но не тут-то было, на осциле мы нашли 30 байт данных, но, к сожалению, при отправке их тюнеру он никак не реагировал и категорически не хотел включаться. :dntknw:
После этого был собран анализатор пакетов SPI и трансляции их в ком-порт на демоборде Pickit2 PIC16F887. Оказалось что всего байт летит 525 :shok:, и послать их все уже более проблематично... Целый месяц ушла упорная борьба найти таки этот уникальный пакетик чтобы включить тюнер, но напрасно. Ситуация осложнялась тем, что клоки и дата у процессорного блока пионера были не совсем стандартные, и еще CE (chip enable) работал не в ту сторону. Каждый пятый байт съезжал на 1 бит... При очередном заседании и мольбе над тюнером, мой друг Антон :smile1: буквально ткнул пальцем в небо и поменял 1 байт из 30, которые мы слали тюнеру для его включения. И вот она удача - тюнер включился! Но радости было немного... Оказалось что по дефолту он включается на тихом уровне громкости :ohmy2: (я так и не узнал есть ли у него цифровая регулировка уровня сигнала, но судя по схеме, за громкость отвечал уже другой блок...). Далее долгие и безуспешные попытки были найти этот заковыристый пакетик из 5 байт, который отвечал за "громкость". Тем временем приехала платка Кипарисс. :smile2: Очень здоровский лоджик аналайзер! С ее помощью были соснифаны все те же байты, передаваемые тюнером на включение. И вот спустя еще несколько дней, злощастный пакет был найден! :spiteful:
Дело оставалось за малым - сделать интерфейс для тюнера. Для этого был взят МК PIC16F628, единственное но было в том, что у него нет аппаратного SPI. Но ситуацию это не испортило, т.к. уже были наработки по программной реализации SPI на этом МК. Для питания тюнера понадобилось 3.3В для цифровой части и 8.4В (и где они только взяли такое напряжение... :dntknw:) для аналоговой. Питание для цифровой части выполнено на микросхеме 1117(3.3), а аналоговой - на LM317. В готовый корпус едва поместился сам блок тюнера, но место для разъемов все-таки нашлось. Вот собственно и вся история. В заключении хотелось бы сказать ОГРОМНОЕ спасибо моему другу Антону, без которого этот проект не был бы реализован. :tease:

Ниже несколько фотографий.
пс. Разъем, торчащий из радио - это штатный разъем для антенны субару.

1. Плата тюнера со снятой крышкой
http://erik.akpeisov.kz/carpc/IMG_5045.JPG

2. Почти готовый блок (еще без разъемов)
http://erik.akpeisov.kz/carpc/IMG_5184.JPG

3. Вид со стороны платы
http://erik.akpeisov.kz/carpc/IMG_5186.JPG

4. Готовое утройство
http://erik.akpeisov.kz/carpc/IMG_5190.JPG

admin 07.02.2011 12:30

Протоколом поделишься?

Эрик 07.02.2011 13:50

А пожалуйста, мне не жалко!

C6 00 16 4E 03 turn on
C7 33 32 68 00 vol up
81 37 10 8D 48 freq change
C6 00 62 4E 01 turn off

по частоте:
второй и третий байты (37 и 10, в данном примере - 103.5 МГц)
второй байт - младший байт
третий байт - старший байт
Шаг - 0.05 МГц
Есть одно но - необходимо сделать реверсию байт чтобы понять смысл,
пример, для 103.55Мгц байт будет B7, а весь пакет 81 B7 10 8D 48

Fasterpast 07.02.2011 14:53

Эх, где бы мне такой тюнер взять. Ща копаюсь с тюнером на TDA7540, на него есть ДШ, но достался он мне со сломанной магнитолой, так что снифить нечего.
Команды инициализации у него представляют себе какой-то тихий ужас. Причём на плате стоит ЕЕПРОМ, в котором хранятся калибровочные данные, которые надо считать, а потом записать обратно в тюнер. В общем, чума ))) Уже почти готов бросить это дело и потратиться на рабочую магнитолу, чтобы всё слизать оттуда )))
Кстати, 8.5В видимо стандарт для магнитол какой-то.

Эрик 07.02.2011 15:52

Ну на моем тюнере тож стоит ЕЕПРОМка и туда тож что-то пишется...
Например туда записываются данные о радиостанциях.
Но мне это не нужно, и я ее не юзаю, хотя на плате на всякий случай развел и распаял.
Думаю что и в вашем примере похожая ситуация, тем более у вас есть даташит! Вам только читать и делать!

Fasterpast 07.02.2011 16:14

Там даташит явно для тех, кто всю жизнь разрабатывал цифровые тюнеры ))) Куча аббревиатур, которые нифига не гуглятся...
И к тому же у меня такое чувство, что сам по себе тюнер тоже подубитый, ибо работает нестабильно, иногда прижмёт ACK, иногда нет (протокол i2c)... И чип греется оч подозрительно. По разводке несколько раз проверял, всё правильно.
А в еепромке явно хранятся какие-то данные нужные для запуска тюнера, ибо есть даже даташит именно на тюнер, а не на мк, там хоть какие-то стандартные значения даны, но половину этих значений предлагают читать из еепромки (для разных стран - разные адреса). Проблема в том, что до неё я пока вообще достучаться не могу...

admin 07.02.2011 16:22

Цитата:

Сообщение от Эрик (Сообщение 172268)
А пожалуйста, мне не жалко!

C6 00 16 4E 03 turn on
C7 33 32 68 00 vol up
81 37 10 8D 48 freq change
C6 00 62 4E 01 turn off

по частоте:
второй и третий байты (37 и 10, в данном примере - 103.5 МГц)
второй байт - младший байт
третий байт - старший байт
Шаг - 0.05 МГц
Есть одно но - необходимо сделать реверсию байт чтобы понять смысл,
пример, для 103.55Мгц байт будет B7, а весь пакет 81 B7 10 8D 48

спасибо

taras garage od 20.02.2011 16:27

А как управляется?
с какойто програмки?

Эрик 20.02.2011 16:30

Управляется из моей программы-оболочки, которая сейчас в процессе обработки.
Но есть просто демка.
При желании можно сделать плагин для ЦФ, но не нравится мне она....

St@rz 20.02.2011 21:51

Плагин нужен. И то с чем он работает. :)


Часовой пояс GMT +4, время: 09:08.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot