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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Для новичков (http://pccar.ru/forumdisplay.php?f=9)
-   -   Ардуино подключить к магнитоле (http://pccar.ru/showthread.php?t=20244)

rerur 10.01.2014 14:54

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

Имеется простая штатная магнитола реализованная на чипе TEF6902A http://www.nxp.com/documents/data_sheet/TEF6902A.pdf
Шина I2C на магнитоле подтянута 10кОм к 3.3В
Напряжения на SDA и SCL 2.2В в спокойном состоянии, при нажатии на кнопки магнитолы появляются импульсы до 3.3В Почему так происходит? Вроде уровни должны падать при передаче.
Подключил Ардуину. В режиме сниффера ничего не читает.
Запускал разные скетчи. Например поиск адресов подключенных устройств заканчивается зависанием. Иногда происходят самопроизвольные действия магнитолы, передается какая-то каша.

В каком направлении смотреть? Какое напряжение должно быть на шине I2C в данном случае?
Сам думаю, что нужно где-то поттянуть. Подскажите.

Vladget 10.01.2014 16:04

Могу ошибиться конечно, но мне так кажется что на соседнем форуме как то больше любителей "ардуины"

s.m. 10.01.2014 17:03

Цитата:

Запускал разные скетчи. Например поиск адресов подключенных устройств заканчивается зависанием. Иногда происходят самопроизвольные действия магнитолы, передается какая-то каша.
Магнитола была включена при этом или выключена? А вообще не нужен поиск адресов - адрес микрухи зашит в нее намертво и есть в даташите, как и полный протокол управления. Что нужно делать в магнитоле c Ардуины?
Если не нужно управление локальное с самой магнитолы - ее проц лучше отключить, сняв с него питание.
Но если проц жив, поставить в сниффере адрес нужного получателя и тупо снять протокол, так гораздо легче разбираться.

s.m. 10.01.2014 17:07

Цитата:

Сообщение от rerur (Сообщение 282872)
Подключил Ардуину. В режиме сниффера ничего не читает.
Запускал разные скетчи.

Здесь были?

rerur 10.01.2014 19:18

Цитата:

Сообщение от s.m. (Сообщение 282883)
Магнитола была включена при этом или выключена? А вообще не нужен поиск адресов - адрес микрухи зашит в нее намертво и есть в даташите, как и полный протокол управления. Что нужно делать в магнитоле c Ардуины?
Если не нужно управление локальное с самой магнитолы - ее проц лучше отключить, сняв с него питание.
Но если проц жив, поставить в сниффере адрес нужного получателя и тупо снять протокол, так гораздо легче разбираться.

Поиск адресов работает (проверял с другим устройством), но стоит физически подсоединить к шине магнитолу, даже выключенную, в мониторе порта все зависает на начальном этапе вывода текста.

По даташиту, я адрес узнал, но он не читался. Там два варианта адреса. Выбрал свой вариант - посмотрел на плату контакт адреса не заземлен значит адрес 61. Когда попробовал второй вариант 60, начало что ловиться. Беда в том, что все это не стабильно, какие-то куски доходят обрывками. Может внезапно измениться звук, частота радио, или вообще выключиться.

Оба сниффера работают в логическом плане, что-то же они отлавливают при определенных неведомых условиях.

Отсоединил морду, напряжение на шине немного увеличилось. По ощущением положительных попыток стало больше. Еще когда магнитола нагреется, вообще ничего не ловится.

lti1 10.01.2014 19:29

А логические уровни 3,3 и 5в согласовали?
модуль согласование логических уровней 3,3 и 5в
Вместо BSS138 можно использовать BS170.

rerur 10.01.2014 19:55

Цитата:

Сообщение от lti1 (Сообщение 282903)
А логические уровни 3,3 и 5в согласовали?
модуль согласование логических уровней 3,3 и 5в
Вместо BSS138 можно использовать BS170.

Чувствую, что надо что-то согласовать. Но вроде в моем варианте нет 5В
Как тогда?

lti1 10.01.2014 20:04

Цитата:

Сообщение от rerur (Сообщение 282905)
Чувствую, что надо что-то согласовать. Но вроде в моем варианте нет 5В
Как тогда?

Arduino nano 5 вольт, а на магнитоле у Вас 3.3 вольта.
Цитата:

Сообщение от rerur (Сообщение 282872)
Шина I2C на магнитоле подтянута 10кОм к 3.3В


rerur 10.01.2014 20:12

Спасибо, буду дальше копать.
Почему-то думал что на ардуино 3.3В

lti1 10.01.2014 20:33

Вот еще ссылка на схему согласования уровней, она сложнее, но я именно по ней согласовывал arduino и pioneer по тому как ее раньше нашел, чем ту что выше указал.
В Вашем случае и по первой и по второй схеме резистор в 10 кОм на стороне 3.3 вольта не нужен, он уже стоит в магнитоле.

Вот эту тему еще почитайте.

rerur 16.01.2014 18:55

Согласование уровней не помогло. Использовал разные схемы, но лучше не было. Перепробовав разные способы подключения, добился относительно стабильного чтения шины меняя очередность подачи питания. Чип оказался толерантен 5В, но не настолько, чтобы все было гладко. Прочитать удалось только инфу касающуюся только тюнера, а мне нужно еще громкость,тембр и переключение входов. Причем во время чтения, все что касается не тюнера не регулируется, т.е. на морде магнитолы информация о действиях отображается а в реальности не происходит. В общем для моего проекта данная магнитола стала гиморойной, что в последствии подтвердилось. Однажды из-за не внимательности 3,3В замкнул на землю, причем на довольно длительное время. Ничего не вспыхивало и не пахло, я даже не сразу и заметил. Ардуине ничего, а магнитола уже не хочет работать. Включается, звука нет. На экране, при нажатии кнопок которые касаются тюнера ничего не происходит. При регулировки звуковых характеристик графика на экране есть, а звука нет. При выборе CD диск крутится, композиции листаются, на экране все отбражается, но звука нет. Единственный звук издается, это системный "пук" если выбрать CD, а там нет диска. Чип еще стал сильно нагреваться, чего раньше не было.
Магнитолу специально покупал для опытов, но все таки хочется починить.

Что могло сгореть в данном случае?

rerur 16.01.2014 19:20

А пока снял с машины вторую магнитолу, и продолжаю свои опыты.
Проблема с ней в том, что нет в открытом доступе даташита на микросхему SAF7730 которая в магнитоле всем управляет. По сравнению прошлой магнитолой, шина отлично читается. Только здесь в спокойном состоянии идет постоянный траффик из 10 одинаковых байт. Какое их предназначение непонятно. Продолжаю разбираться.
На всякий случай спрошу, если вдруг не получится, какую посоветуете недорогую магнитолу с I2С шиной, где точно нет будет проблем с согласованием уровней.

Vladget 16.01.2014 19:32

Вот делов то! Ну скачай схему глянь где коротнул и посмотри что там вполне возможно там стоит стабилитрон малюсенький

ancc 16.01.2014 21:05

помню тоже изучал магнитолу с шиной I2C, сначала спалил процессор и усилитель)) Но ниче, потом разобрался.
К шине магнитолы подключаться только через преобразователь уровня.
Вот тут можно глянуть, мож чего-то полезное будет.
http://pccar.ru/showpost.php?p=141171&postcount=148

rerur 16.01.2014 22:29

Цитата:

Сообщение от Vladget (Сообщение 283621)
Вот делов то! Ну скачай схему глянь где коротнул и посмотри что там вполне возможно там стоит стабилитрон малюсенький

Схемы в свободном доступе нет. Питание подается, шина i2c молчит. Замер подтягивающего резистора вместо 10кОм показывает 1,75кОм. Где-то пробито, но я не спец по эти делам. По моему мнению накрылась микросхема, не знаю еще кварц может сгореть?

Цитата:

Сообщение от ancc (Сообщение 283627)
помню тоже изучал магнитолу с шиной I2C, сначала спалил процессор и усилитель)) Но ниче, потом разобрался.
К шине магнитолы подключаться только через преобразователь уровня.
Вот тут можно глянуть, мож чего-то полезное будет.
http://pccar.ru/showpost.php?p=141171&postcount=148

Посмотрел ваш проект. Буду изучать, некоторые идеи понравились.
Еще я не могу понять для чего отключать процессор. Чтобы не потреблял питания, или чтобы не вносил помехи, когда управление идет с компа?

ancc 16.01.2014 23:14

Цитата:

Сообщение от rerur (Сообщение 283639)
Еще я не могу понять для чего отключать процессор. Чтобы не потреблял питания, или чтобы не вносил помехи, когда управление идет с компа?

чтобы он не лез на шину, пока мастером является ардуино.


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

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