Хоть и давняя тема, но вставлю свои 5 копеек
KPOT написал(а):
Посоветовали ему CAN шину смотреть, вот и хочу попробовать.
Что значит "проверить CAN" ?
На шине CAN сидит десяток устройств, каждое из них попеременно передаёт телеграммы (сообщения), в остальное время принимает их. Устройства, когда не передают, постоянно принимают все телеграммы, если принята телеграмма, адресованная именно этому устройству - оно исполняет то что принято. Это либо команда к действию, либо передача каких-то данных, либо и то и другое. Если принятая телеграмма не предназначена для этого устройства - она игнорируется (исполнит другое устройство, которому она предназначена).
То есть, подключившись к CAN увидим много данных. От каких они устройств (кто передаёт) можно понять только "разобрав" телеграмму программно - это и делает всякий сервисный софт. Устройства передают телеграммы всегда, когда на них подано питание.
Бывает что устройство "замолкает", это значит что оно перестаёт что-либо передавать. Причина: либо нет питания на устройстве, либо физически нет соединения устройства с шиной CAN, либо устройство вышло из строя. Бывает, что выходит из строя не всё устройство, а только та часть, которая отвечает за CAN (я такое видел). Кроме прочих средств это обнаруживается так, что софт не видит какого-то определённого параметра, нет данных тогда, когда они должны быть - так можно определить, какое именно устройство "молчит".
Осциллограф только покажет форму импульсов, если они есть, но не расшифрует телеграммы. С таким же успехом можно просто замерить напряжение на шине - когда есть телеграммы мультиметр покажет 2...6 вольт. Осциллографом по форме импульсов только можно определить качество линии связи (CAN): если есть импульсы с заваленными фронтами - это значит что где-то плохой контакт или повреждён провод. Но тут надо быть внимательным. По стандарту несущий сигнал в шине CAN - ток, а не напряжение, у осциллографа должно быть большое входное сопротивление, иначе он замкнёт собой шину накоротко, ничего хорошего это не предвещает.
Кстати, есть конвертеры CAN/USB, которые будут показывать принятые телеграммы на ПК. А если конвертер запрограммировать на расшифровку - то ещё и расшифровывать эти телеграммы. Именно это и делает VIDA и прочий софт. Так что для быстрой проверки можно взять любой адаптер на блютуз или вифи и посмотреть любым бесплатным софтом для смартфона: есть ли хоть какие-то данные.
Просто "Проверить CAN" - это как-то очень неконкретно. Проверить физически - так это визуально. Проверить наличие данных - прослушать любым адаптером. Поймать данные от определённого устройства - это уже телеграммы разбирать надо, вручную или спец.софтом.
Когда-то решалась такая задачка: конвертер принимал весь трафик в шине и записывал его в текстовый файл. Затем, зная CAN ID нужного устройства в этом трафике выделялись телеграммы от этого устройства. Расшифровав эти телеграммы была обнаружена хитрая неисправность в конкретном устройстве, которую без этого не удавалось определить в течение года. Был использован конвертер CAN/USB и компьютер, больше ничего. Кому надо - могу посмотреть тип конвертера чуть позже.