Запрос, связанный с протоколом CAN

Согласно определению «битовой ошибки» организацией-разработчиком протокола - Bosch: битовая ошибка обнаруживается в то время, когда битовое значение, отслеживаемое передатчиком, не совпадает с битом, фактически передаваемым им.

Например, рассмотрим практический сценарий на шине CAN: есть 2 узла CAN A и B с идентификатором, каждый для передачи по шине. Эти 2 узла начинают передавать свои соответствующие идентификаторы CAN ID по шине, и запускается механизм арбитража. После завершения арбитража узел с CAN ID с ВЫСОКИМ приоритетом получит доступ к CAN-шине для продолжения передачи оставшихся битов своего CAN-кадра. Другой узел [или любые другие узлы, которые могут присутствовать] на шине становятся получателями этого кадра CAN и не пытаются что-либо передать в это время.

Вопрос: Если в это время только 1 узел передает, а все остальные узлы находятся в режиме приема, как может возникнуть битовая ошибка?

1] Может ли возникнуть битовая ошибка из-за помех / электромагнитных помех на шине?

2] Может ли выборка и интерпретация бита, отправленного узлом, стать ошибочной на уровне чипа, что приведет к тому, что сам чип CAN обнаружит это как битовую ошибку?

3] Есть ли другая причина, ведущая к этому?


person Amol Joshi    schedule 01.10.2015    source источник
comment
Амол, это действительно кажется тебе домашним заданием. Задавая здесь подобные вопросы, вы должны, по крайней мере, продемонстрировать некоторые усилия в решении проблемы, иначе люди будут очень неохотно вам помогать. Итак, какие возможные ответы вы уже обдумывали?   -  person Armfoot    schedule 01.10.2015
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что (а) он не имеет ничего общего с программированием как таковым и (б) является вопросом типа «домашнее задание», которое не показывает никаких усилий для решения проблемы.   -  person lxg    schedule 01.10.2015
comment
Я бы сказал, если OP может изменить вопрос в соответствии с предложениями, его можно перенести на Electronics.StackExchange.com   -  person Swanand    schedule 07.10.2015


Ответы (1)


Битовая ошибка возникает, когда переданные данные! = В Rx Data. Хотя все остальные узлы теперь перешли в режим приема, из-за проблем с приемопередатчиком / шумовыми эффектами отправителя может возникнуть битовая ошибка. Каждая возможность битовой ошибки в CAN-кадре (до EOM) будет проверена отправителем.

person AlphaGoku    schedule 22.03.2016