Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прибор для проверки CAN шины
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
Bonch
Здравствуйте, хочется собрать несложный прибор, для проверки CAN линии на обрыв и замыкание, это основные требования. Если можно будет, как-нибудь, определять ещё скорость передачи, то вообще супер. Не знаю с чего начать. Разработкой только начинаю заниматься, поэтому прошу сильно не пинать, а помочь или направить на путь истинный. Вдруг кто-то делал, или есть у кого-то наработки.

Заранее спасибо laughing.gif
novikovfb
Омметр подойдет?
Встречались веселее ситуации:
- перепутанная полярность на одном или нескольких абонентах
- неправильно выставленная скорость передачи у одного или нескольких абонентов
- глючный абонент (выдает жуткие сигналы при включении питания и т.п. ситуациях)
ИМХО, больше толка от банального омметра, осциллографа и логического анализатора, например от saleae logic или его китайского клона https://ru.aliexpress.com/item/New-USB-SALE...mStoreLevelAB=5
x893
http://www.microchip.com/DevelopmentTools/...PartNO=apgdt002
купить или сделать самому

В гугле еще 100500 проектов готовых
Bonch
Цитата(novikovfb @ Nov 26 2017, 19:48) *
Омметр подойдет?
Встречались веселее ситуации:
- перепутанная полярность на одном или нескольких абонентах
- неправильно выставленная скорость передачи у одного или нескольких абонентов
- глючный абонент (выдает жуткие сигналы при включении питания и т.п. ситуациях)
ИМХО, больше толка от банального омметра, осциллографа и логического анализатора, например от saleae logic или его китайского клона https://ru.aliexpress.com/item/New-USB-SALE...mStoreLevelAB=5

Омметр, не совсем подойдет.

И наверно задача упрощается, пусть показывает только замыкания, хотя бы. Прибор создается для тех, кто не совсем понимает что такое кан линия и как она работает. Суть такого тестера в том, чтобы выявить элементарные и частые неисправности, а не прям вот точно показать в чем дело.


Цитата(x893 @ Nov 26 2017, 19:48) *
http://www.microchip.com/DevelopmentTools/...PartNO=apgdt002
купить или сделать самому

В гугле еще 100500 проектов готовых

Согласен, но они не такие уж простые, и не дешевые, чаще всего. А хотелось бы самому попробовать собрать, своё. rolleyes.gif

И ещё, можете подсказать, что будет на CAN H, если замкнуть CAN L сначала на "+", а потом на "-", и наоборот, что будет на CAN L, если замыкать CAN H. Таких графиков нигде не нашел.
novikovfb
Цитата(Bonch @ Nov 27 2017, 17:34) *
И ещё, можете подсказать, что будет на CAN H, если замкнуть CAN L сначала на "+", а потом на "-", и наоборот, что будет на CAN L, если замыкать CAN H. Таких графиков нигде не нашел.

В рецессивном состоянии на CAN_H CAN_L одинаковое напряжение.
В доминантном CAN_H подтягивается к + источника питания 5 В, CAN_L - к общему проводу. Падение напряжения на ключах изрядное, т.к. с ограничением тока. Если подавать больше 5 В или меньше 0 - подтяжка этими ключами работать не будет. Если превысить допустимое напряжение - выгорит драйвер.
Bonch
Цитата(novikovfb @ Nov 27 2017, 16:40) *
В рецессивном состоянии на CAN_H CAN_L одинаковое напряжение.
В доминантном CAN_H подтягивается к + источника питания 5 В, CAN_L - к общему проводу. Падение напряжения на ключах изрядное, т.к. с ограничением тока. Если подавать больше 5 В или меньше 0 - подтяжка этими ключами работать не будет. Если превысить допустимое напряжение - выгорит драйвер.


Угу, в рецессивном состоянии по CAN H идут импульсы от 2.5В до 3.5В, в то же самое время по CAN L от 1.5В до 2.5В. Но мне интересно, что будет с ними происходить, если замкнуть CAN H на +5В, то по CAN L будут идти те же импульсы от 1.5-2.5В ? Или это не так работает ?
novikovfb
Цитата(Bonch @ Nov 27 2017, 19:47) *
Угу, в рецессивном состоянии по CAN H идут импульсы от 2.5В до 3.5В, в то же самое время по CAN L от 1.5В до 2.5В. Но мне интересно, что будет с ними происходить, если замкнуть CAN H на +5В, то по CAN L будут идти те же импульсы от 1.5-2.5В ? Или это не так работает ?

это что за рецессивное состояние, при котором между линиями 1 В? Кто туда это подает?
Doka
на самом деле это иная категория приборов и в связи с интересом к CAN широкого круга разработчиков последнее время (т.н. "хакеров") назрела необходимость в появлении на рынке этого класса приборов, разработанных с оптимизацией стоимости, вот примерный список функционала:

- возможность инжекции произвольных ошибок, возможность работы не выдерживая InterFrame Gape, etc..
- при наличии ошибок на шине возможность детектировать в какой фазе (вплоть до бита) она произошла: например, на каком бите арбитража отвалился узел (проиграл арбитраж)
- возможность диагностики "вразрыв": определение обрыва/КЗ каждой из дата-линии, возможность определения проблемного сегмента (включившись вразрыв одной из дата-линии), контроль целостности сигнала (в т.ч. для подстройки sampling point)


Цитата(Bonch @ Nov 27 2017, 16:34) *
И ещё, можете подсказать, что будет на CAN H, если замкнуть CAN L сначала на "+", а потом на "-", и наоборот, что будет на CAN L, если замыкать CAN H. Таких графиков нигде не нашел.


на +3.3В, на +5В или на +12В ?
через сопротивление какого номинала замыкать на +/- ?

Цитата(novikovfb @ Nov 27 2017, 18:55) *
это что за рецессивное состояние, при котором между линиями 1 В? Кто туда это подает?

вангую, что подразумевалось, что на линиях в рецессиве либо 2.5В (на обоих), либо 3.5В на обоих, либо что-то между ними, но одинаковое на обоих концах
Bonch
Цитата(novikovfb @ Nov 27 2017, 18:55) *
это что за рецессивное состояние, при котором между линиями 1 В? Кто туда это подает?

Извините, не сразу понял, что значит рецессивный. В голове только одно определение этого слова, из биологии.

Цитата(Doka @ Nov 28 2017, 17:43) *
на +3.3В, на +5В или на +12В ?
через сопротивление какого номинала замыкать на +/- ?


вангую, что подразумевалось, что на линиях в рецессиве либо 2.5В (на обоих), либо 3.5В на обоих, либо что-то между ними, но одинаковое на обоих концах

Замыкать на +12В, через резистор 60КОм. В рецессиве у меня 2.5В.

Я думаю, что если, например, замкнуть +12 на CAN H, то по CAN H будет просто 12В, а как это повлияет на CAN L ? Будет ли по CAN L идти прежний сигнал ? Если нет, то что будет ?
По идее, как я понимаю, т.к. по CAN H будет идти неправильный сигнал, то по CAN L должно быть что-то другое.
п.с. Извините, если что-то не так говорю, не силен в этом, но стараюсь разобраться.
AlexandrY
Цитата(Bonch @ Nov 29 2017, 17:49) *
По идее, как я понимаю, т.к. по CAN H будет идти неправильный сигнал, то по CAN L должно быть что-то другое.

Это же от драйвера CAN зависит.
Но наверно все выдерживают 12 В
Вон MCP2542FD выдерживает 58 В.

С MCP2542 ничего не случится, будет работать как работал. Если все узлы тоже на MCP2542 сделаны и стоят правильно терминаторы.
AlexandrY
Цитата(Bonch @ Nov 26 2017, 17:29) *
Здравствуйте, хочется собрать несложный прибор, для проверки CAN линии на обрыв и замыкание, это основные требования. Если можно будет, как-нибудь, определять ещё скорость передачи, то вообще супер. Не знаю с чего начать. Разработкой только начинаю заниматься, поэтому прошу сильно не пинать, а помочь или направить на путь истинный. Вдруг кто-то делал, или есть у кого-то наработки.

Заранее спасибо laughing.gif

Обрыв и замыкание показывают сами контроллеры CAN шины, в них есть 8 флагов разных ошибок и 2-а счетчика по стандарту.
В частности passive error и ack error флаги хорошо показывают разрыв. bit dominant error показывает замыкание.
А скрость и несогласованность линии лучше всего смотреть осциллографом.
Нажмите для просмотра прикрепленного файла
PicoScope умеет показывать и расшифровывать сигнал на шине CAN

А вот кстати на CAN кинули напряжение 27В через 1 кОм. Кое-как но CAN продолжает работать.
Нажмите для просмотра прикрепленного файла
adnega
Цитата(Bonch @ Nov 29 2017, 18:49) *
Я думаю, что если, например, замкнуть +12 на CAN H, то по CAN H будет просто 12В, а как это повлияет на CAN L ? Будет ли по CAN L идти прежний сигнал ? Если нет, то что будет ?

По стандарту с обоих концов линии должны быть терминаторы 120 Ом.
На CAN_L будет тоже +12В, т.к. они соединяются с CAN_H через 60 Ом резистор.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.