Я изо всех сил пытался заставить передачу шины CAN работать должным образом. Я веду установку с платой Parallax Propeller и подробности в другом посте , но у меня есть более конкретный вопрос по проводке и окончанию шины CAN:
Каждый найденный мной источник, описывающий завершение шины CAN, делает это с помощью чего-то вроде верхней части диаграммы, показанной ниже, - высокий и низкий провод с резисторами 120 Ом на каждом конце.
Однако в моей лабораторной установке то, что у меня есть на самом деле, эквивалентно нижней части показанной диаграммы — сопротивление фактически находится «посередине», между двумя устройствами. Я также пытался поиграть с этим значением сопротивления, полностью его сняв, и около 110 Ом, а также 220 Ом, и все они страдают от одной и той же проблемы, и чип, который я использую, сообщает об ошибке передачи.
Два резистора по 120 Ом, включенные параллельно, должны быть такими же, как сопротивление 60 Ом. Но имеет ли значение фактическое положение резисторов вдоль провода? Устройства физически находятся на расстоянии около 6 футов друг от друга и работают на частоте 500 кГц. Я знаю некоторые основы, включая закон Ома, и я понимаю, что CAN использует перепад напряжения для передачи, но если положение резисторов неправильное, то я определенно чего-то не понимаю в том, как эта схема должна работать.
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Резисторы на каждом конце шины предназначены для управления переходными процессами из-за временных задержек. Шина должна быть согласована с ее волновым сопротивлением на каждом конце.
Однако, если длина шины составляет всего 6 футов, я ожидаю, что ваша реализация с резистором 60 Ом посередине будет работать. Я полагаю, у вас есть какие-то другие проблемы.
Вам нужно иметь устройство, настроенное на получение пакета CAN и возврат ACK, чтобы не было ошибки от передатчика — некоторые мониторы шины CAN не делают этого, поскольку ожидается, что они не будут навязчивыми. В этом случае вы получите сообщение об ошибке от передатчика, если другого узла нет.
Возможно, вам потребуется добавить в сеть еще один нормальный узел CAN, чтобы получить правильный ответ.
Мартин
бгп