![]() |
Если бы все было так сложно с драйверами и разбросом уровней, то ничего бы не работало в автомобиле по CAN шине...
Вы шину-то нагрузили на терминатор? p.s. в джойстике его нет. |
Цитата:
Можно на ты, да пробовал и так и так, данные по шине ходят , мониторю elm327 |
Тогда еще есть тонкий момент с временами битовой синхронизации CAN приемника.
Описание от родителя Не знаю как они задаются в ELM, но в процах со встроенным CAN и 2515 есть кучка регистров для этого... |
Да еще не могу послать
Can-Bus Codes (0x202, 2, 0xFD 0x00) – Light to maximum. Шина сыпет еррор если в данных F идет первая |
прогресс почти мал, гоняю данные по кан шине can-shield <=> elm327 , а джойстик молчит, единственное непонятное наблюдение , почему меняется ток потребления при вращении джойстика и нажатии кнопок, истина гдето рядом )) , но где?
Возможно джойстик бодрствует и спамит в кан шину, но 1055 не пускает данные пока не будет определенной команды, так чтоли ??? |
Прочитал тут работу одного чеха, он зачемто мутил переходник
айдрайв <=> can 1055 <=> переходник <=> can 2551 <=> его девайс есть мысль что 1055 и 2551 несовместимы, получается я нашел не те даташиты, щяс буду копать дальше. |
Если я правильно понял даташиты , то так разные каны у них, хотя не могу понять как на некоторых форумах типа е90 буржуйского управляли айдрайвом с елм где стоит таже 2551...
получается верхний графиг это 2551 , а нижний это 1055 (1050) http://savepic.su/3752044.jpg Сейчас гляну для уверенности осцилографом .... |
Ещё раз: 1055 не умеет пускать или не пускать, это просто преобразователь уровней. Если грубо сравнить, в компьютере СОМ порт имеет уровни от -(минус)12В до + (плюс)12В. Как его подключить, например, к микрокотроллеру, у которого входы рассчитаны на диапазон от 0В до +5В? С помощью преобразователя уровней, например, МАХ232. При этом МаХ232 никак не вмешивается в информационную составляющую сигнала. Он только преобразует сигнал -12..-3В в +5В (логическая единица), а +3..+12В - в 0В (логический нуль).
Посмотри это |
Цитата:
и не во всех elm стоит 2551, в некоторых 1040, потому и смогли подключиться |
блин , я сейчас окончательно запутался , и кажись 1055 и 1050 тоже разные....
|
Цитата:
вот 1040 если ставил, тогда все проясняет... Вопрос знатокам 1050 меня спасет или это тоже самое что 2551 ? |
смотрю даташиты и вижу 1050 и 1040 одно и тоже.....
|
Да все прекрасно работает и на 2551, нагрузочный резюк 100...120 Ом, и CANL на массу.
Другое дело, что кроме как на регулировку подсветки девайс передает данные только на адрес 0x500 и т.д., как описано у мужика тут. Необходим правильный пакет инициализации, а его никто ни где не описывает или он для старых авто. p.s. договорился с BMW-шниками снифануть обмен на реальной шине.... |
сделал как написано выше , посыпались повторяющиеся пакеты
ID: 4E7 Data: 67 01 FE FF FF FF FF FF ID: 5E7 Data: 99 E1 FE 00 06 FF FF FF зы если бмвешники снимут лог будет классно, у меня у знакомых нет бмв с айдрайвом (( зыы мне бы для начало подсветку включить ... YAM1966, если не трудно , обЪясните что дало нам замыкание Л шины на землю ? |
У меня 2 канала CAN в контроллере я их запараллелил, одним передаю и принимаю, вторым контролирую только прием.
По осциллографу увидел ответы от джойстика, а контроллер их не принял, хотя прекрасно принимает свои-же с первого канала. Посмотрел уровни, оказалось они одинаковые как для CANH так и для CANL. Т.е. дифференциального сигнала нет. Видать схемотехника CAN шины в авто предусматривает кроме нагрузочного резистора еще и делитель. Замкнув CANL на массу - просто получаем таки нужный дифф сигнал для приемника трансивера. Ничего плохого это не даст, так как драйвер его садит на массу или выдает Z. p.s. подсветка включается вторым пакетом, так как первый будит джойстик... Далее он работает не отключаясь все время. |
Спасибо за разъяснение, буду дальше копать .
зы: мне кажется что , то что я принимаю по кан , мусор возможно |
Кстати по поводу делителя, нужно будет по эксперементировать, в даташитах чтото проскакивало про подключение к vcc и gnd двух резюков на кан Л и Н
|
YAM1966 , по поводу включения подсветки , подскажите команду.
|
202 FD 00
202 - адрес FD 00 данные p.s. все шестнадцатиричное... |
Цитата:
так отправляю через андруинку unsigned char stmp2[2] = {0xFD, 0x00}; CAN0.sendMsgBuf(0x202, 0, 2, stmp2); если отправляю через елм, то возвращяет еррор дата, но данные отправляет. Я правильно понимаю, что адрес это ID ? |
Да, верно...
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); |
Вот например отправляю андруинкой и что ловит елмка
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); результат одинаков, света нет ( |
а сам джойстик исправен в принципе?
|
Цитата:
|
Может дело в том, что после ошибки NoAck на первый пакет пробуждения необходимо очищать признак ошибки перед передачей следующего?
|
Заметил особенность, если поставить скорость 125кб\с
то джой шлет пакеты только 4E7 67 01 FE FF FF FF FF FF и еще при 125кб\с ток потребления джоя возрастает на 15мА |
Цитата:
Где можно видеть эту ошибку ? |
Изучите даташит на mcp2515 (ERROR DETECTION) и исходники CAN шилда.
Я ардуинами не балуюсь. |
Цитата:
|
Я пока изучаю лог BMW отсюда.
|
Цитата:
|
Что-то заглохло... Внесу свою лепту.
Если кратко - то все работает по CAN для iDrive с кнопкой CD Мой, более новый с кнопкой MEDIA не работает, пока не смог с ним снять данные на авто. Буду ваять контроллер под это дело. |
работает с mcp2551?
|
Куда оно денется ;)
Только CANL в mcp2551 надо соединить с массой. |
Цитата:
|
Цитата:
сейчас в отпуске , как выйду продолжу изыскания :drinks_cheers::smart: |
Цитата:
|
Цитата:
Я ардуино не перевариваю :pleasantry: Если и пользую, то ТОЛЬКО полностью со своим софтом. |
И так я на работе , есть две недели на доделку проекта, потом новая работа, как там будет ли время хз.
Что имеем на данный момент после того как повесили 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-ка |
написал чуваку с вулкано, что бы это могло быть , он ответил
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