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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Манипуляторы (http://pccar.ru/forumdisplay.php?f=163)
-   -   ДжосТик iDrive CAN + Android + Andruino (http://pccar.ru/showthread.php?t=22942)

YAM1966 08.06.2015 18:17

Если бы все было так сложно с драйверами и разбросом уровней, то ничего бы не работало в автомобиле по CAN шине...
Вы шину-то нагрузили на терминатор?

p.s. в джойстике его нет.

Ацкий_Кот 08.06.2015 18:23

Цитата:

Сообщение от YAM1966 (Сообщение 330252)
Если бы все было так сложно с драйверами и разбросом уровней, то ничего бы не работало в автомобиле по CAN шине...
Вы шину-то нагрузили на терминатор?

p.s. в джойстике его нет.


Можно на ты,
да пробовал и так и так, данные по шине ходят , мониторю elm327

YAM1966 08.06.2015 18:31

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

Ацкий_Кот 08.06.2015 18:33

Да еще не могу послать
Can-Bus Codes
(0x202, 2, 0xFD 0x00) – Light to maximum.

Шина сыпет еррор если в данных F идет первая

Ацкий_Кот 10.06.2015 14:48

прогресс почти мал, гоняю данные по кан шине can-shield <=> elm327 , а джойстик молчит, единственное непонятное наблюдение , почему меняется ток потребления при вращении джойстика и нажатии кнопок, истина гдето рядом )) , но где?

Возможно джойстик бодрствует и спамит в кан шину, но 1055 не пускает данные пока не будет определенной команды, так чтоли ???

Ацкий_Кот 10.06.2015 15:32

Прочитал тут работу одного чеха, он зачемто мутил переходник

айдрайв <=> can 1055 <=> переходник <=> can 2551 <=> его девайс

есть мысль что 1055 и 2551 несовместимы, получается я нашел не те даташиты, щяс буду копать дальше.

Ацкий_Кот 10.06.2015 15:46

Если я правильно понял даташиты , то так разные каны у них, хотя не могу понять как на некоторых форумах типа е90 буржуйского управляли айдрайвом с елм где стоит таже 2551...

получается верхний графиг это 2551 , а нижний это 1055 (1050)

http://savepic.su/3752044.jpg

Сейчас гляну для уверенности осцилографом ....

Gorynch 10.06.2015 15:50

Ещё раз: 1055 не умеет пускать или не пускать, это просто преобразователь уровней. Если грубо сравнить, в компьютере СОМ порт имеет уровни от -(минус)12В до + (плюс)12В. Как его подключить, например, к микрокотроллеру, у которого входы рассчитаны на диапазон от 0В до +5В? С помощью преобразователя уровней, например, МАХ232. При этом МаХ232 никак не вмешивается в информационную составляющую сигнала. Он только преобразует сигнал -12..-3В в +5В (логическая единица), а +3..+12В - в 0В (логический нуль).

Посмотри это

Gorynch 10.06.2015 15:53

Цитата:

Сообщение от Ацкий_Кот (Сообщение 330403)
Прочитал тут работу одного чеха, он зачемто мутил переходник

айдрайв <=> can 1055 <=> переходник <=> can 2551 <=> его девайс

есть мысль что 1055 и 2551 несовместимы, получается я нашел не те даташиты, щяс буду копать дальше.

а вот это я кому писал?

и не во всех elm стоит 2551, в некоторых 1040, потому и смогли подключиться

Ацкий_Кот 10.06.2015 16:15

блин , я сейчас окончательно запутался , и кажись 1055 и 1050 тоже разные....

Ацкий_Кот 10.06.2015 16:17

Цитата:

Сообщение от Gorynch (Сообщение 330407)
а вот это я кому писал?

и не во всех elm стоит 2551, в некоторых 1040, потому и смогли подключиться

Читал это, я просто запутался в даташитах....
вот 1040 если ставил, тогда все проясняет...

Вопрос знатокам 1050 меня спасет или это тоже самое что 2551 ?

Ацкий_Кот 10.06.2015 16:22

смотрю даташиты и вижу 1050 и 1040 одно и тоже.....

YAM1966 10.06.2015 16:26

Да все прекрасно работает и на 2551, нагрузочный резюк 100...120 Ом, и CANL на массу.
Другое дело, что кроме как на регулировку подсветки девайс передает данные только на адрес 0x500 и т.д., как описано у мужика тут.
Необходим правильный пакет инициализации, а его никто ни где не описывает или он для старых авто.

p.s. договорился с BMW-шниками снифануть обмен на реальной шине....

Ацкий_Кот 10.06.2015 16:54

сделал как написано выше , посыпались повторяющиеся пакеты
ID: 4E7 Data: 67 01 FE FF FF FF FF FF
ID: 5E7 Data: 99 E1 FE 00 06 FF FF FF


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

YAM1966, если не трудно , обЪясните что дало нам замыкание Л шины на землю ?

YAM1966 10.06.2015 17:08

У меня 2 канала CAN в контроллере я их запараллелил, одним передаю и принимаю, вторым контролирую только прием.
По осциллографу увидел ответы от джойстика, а контроллер их не принял, хотя прекрасно принимает свои-же с первого канала. Посмотрел уровни, оказалось они одинаковые как для CANH так и для CANL. Т.е. дифференциального сигнала нет. Видать схемотехника CAN шины в авто предусматривает кроме нагрузочного резистора еще и делитель.
Замкнув CANL на массу - просто получаем таки нужный дифф сигнал для приемника трансивера. Ничего плохого это не даст, так как драйвер его садит на массу или выдает Z.

p.s. подсветка включается вторым пакетом, так как первый будит джойстик...
Далее он работает не отключаясь все время.

Ацкий_Кот 10.06.2015 17:11

Спасибо за разъяснение, буду дальше копать .
зы: мне кажется что , то что я принимаю по кан , мусор возможно

Ацкий_Кот 10.06.2015 17:16

Кстати по поводу делителя, нужно будет по эксперементировать, в даташитах чтото проскакивало про подключение к vcc и gnd двух резюков на кан Л и Н

Ацкий_Кот 10.06.2015 17:40

YAM1966 , по поводу включения подсветки , подскажите команду.

YAM1966 10.06.2015 17:43

202 FD 00
202 - адрес
FD 00 данные

p.s. все шестнадцатиричное...

Ацкий_Кот 10.06.2015 17:46

Цитата:

Сообщение от YAM1966 (Сообщение 330427)
202 FD 00
202 - адрес
FD 00 данные

Никакой реакции,
так отправляю через андруинку
unsigned char stmp2[2] = {0xFD, 0x00};
CAN0.sendMsgBuf(0x202, 0, 2, stmp2);

если отправляю через елм, то возвращяет еррор дата, но данные отправляет.

Я правильно понимаю, что адрес это ID ?

YAM1966 10.06.2015 18:01

Да, верно...

p.s.
Только вот непонятно описание Вашего CAN шилда:
CAN.sendMsgBuf(INT8U id, INT8U ext, INT8U len, data_buf);

id должен быть 11 битным, а под него INT8U - как по мне, так это 8 бит отводится

я уже молчу про расширенный идентификатор 29 битный...

В исходниках вроде нормально...
INT32U m_nID; /* can id */
и
INT8U sendMsgBuf(INT32U id, INT8U ext, INT8U rtr, INT8U len, INT8U *buf);

Ацкий_Кот 10.06.2015 18:33

Вот например отправляю андруинкой и что ловит елмка


4E7 67 01 FE FF FF FF FF FF 5E7 99 E1 FE 00 06 FF FF FF это спамит джойстик как понимаю

202 FD 00 00 00 00 00 00 00 это шлет андруинка



код поправил на

INT32U canId = 0x202;
CAN.sendMsgBuf(canId, 0, 8, stmp);

результат одинаков, света нет (

YAM1966 10.06.2015 19:09

а сам джойстик исправен в принципе?

Ацкий_Кот 11.06.2015 09:42

Цитата:

Сообщение от YAM1966 (Сообщение 330438)
а сам джойстик исправен в принципе?

новый куплен у дилера bmw

YAM1966 11.06.2015 09:55

Может дело в том, что после ошибки NoAck на первый пакет пробуждения необходимо очищать признак ошибки перед передачей следующего?

Ацкий_Кот 11.06.2015 10:28

Заметил особенность, если поставить скорость 125кб\с
то джой шлет пакеты только

4E7 67 01 FE FF FF FF FF FF

и еще при 125кб\с ток потребления джоя возрастает на 15мА

Ацкий_Кот 11.06.2015 10:30

Цитата:

Сообщение от YAM1966 (Сообщение 330478)
Может дело в том, что после ошибки NoAck на первый пакет пробуждения необходимо очищать признак ошибки перед передачей следующего?

Можно поподробнее ?
Где можно видеть эту ошибку ?

YAM1966 11.06.2015 10:51

Изучите даташит на mcp2515 (ERROR DETECTION) и исходники CAN шилда.
Я ардуинами не балуюсь.

Ацкий_Кот 11.06.2015 10:53

Цитата:

Сообщение от YAM1966 (Сообщение 330490)
Изучите даташит на mcp2515 (ERROR DETECTION) и исходники CAN шилда.
Я ардуинами не балуюсь.

Так в том то дело что со стороны андрунки никаких ошибок )

YAM1966 11.06.2015 13:03

Я пока изучаю лог BMW отсюда.

tto4ka 13.06.2015 20:58

Цитата:

Сообщение от Ацкий_Кот (Сообщение 330477)
новый куплен у дилера bmw

А если не секрет сколь он стоит у диллера?

YAM1966 19.06.2015 15:09

Что-то заглохло... Внесу свою лепту.
Если кратко - то все работает по CAN для iDrive с кнопкой CD

Мой, более новый с кнопкой MEDIA не работает, пока не смог с ним снять данные на авто.
Буду ваять контроллер под это дело.

Gorynch 19.06.2015 15:26

работает с mcp2551?

YAM1966 19.06.2015 15:44

Куда оно денется ;)
Только CANL в mcp2551 надо соединить с массой.

Ацкий_Кот 23.06.2015 03:54

Цитата:

Сообщение от tto4ka (Сообщение 330595)
А если не секрет сколь он стоит у диллера?

Тогда 10тр сейчас не знаю :pleasantry:

Ацкий_Кот 23.06.2015 03:56

Цитата:

Сообщение от YAM1966 (Сообщение 330919)
Что-то заглохло... Внесу свою лепту.


сейчас в отпуске , как выйду продолжу изыскания :drinks_cheers::smart:

Ацкий_Кот 23.06.2015 04:00

Цитата:

Сообщение от YAM1966 (Сообщение 330919)
Что-то заглохло... Внесу свою лепту.
Если кратко - то все работает по CAN для iDrive с кнопкой CD

Мой, более новый с кнопкой MEDIA не работает, пока не смог с ним снять данные на авто.
Буду ваять контроллер под это дело.

Это так понимаю не с андруино работает ?

YAM1966 23.06.2015 10:52

Цитата:

Сообщение от Ацкий_Кот (Сообщение 331191)
Это так понимаю не с андруино работает ?

Нет, не с ардуино.
Я ардуино не перевариваю :pleasantry:
Если и пользую, то ТОЛЬКО полностью со своим софтом.

Ацкий_Кот 29.06.2015 10:28

И так я на работе , есть две недели на доделку проекта, потом новая работа, как там будет ли время хз.

Что имеем на данный момент

после того как повесили CANL на землю получаем циклические пакеты

ID: 5E7 Data: 99 E1 FE 00 06 FF FF FF
ID: 4E7 Data: 67 01 FE FF FF FF FF FF

если выставить скорость 125 то пакет остается один

ID: 4E7 Data: 67 01 FE FF FF FF FF FF

причем андруинка его не видит, видет только elm-ка

Ацкий_Кот 29.06.2015 10:32

написал чуваку с вулкано, что бы это могло быть , он ответил

I did never get 4E7 I think, maybe you have an older controler, they are a little bit different?

Типо он не получал пакеты с 4E7, возмжно контроллеры разные.

Но

Anyway, 5E7 is described here for my controller

тобишь 5Е7 у него было и это норм, возможно 4Е7 это посылка типа ошибка или чтото в этом роде.

Думаем дальше...


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

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