Господа, кто с шиной CAN-Bus работает / работал? Вопросик есть. Вот два устройства, которые должны друг с другом общаться, когда они в сеть включены поодиночке, сигнал на линиях данных у них нормальный, у обоих. Интервал времени здесь 50 микросекунд. А когда они в сети одновременно и, по идее, должен идти интенсивный обмен данными, вместо пачек сигналов я наблюдаю редкие пачки (здесь интервал уже 100 МИЛИ секунд, и это не иголки, а пачки импульсов). Вопрос: это нормальное поведение для двух устройств на шине CAN или какой-то из двух контроллеров тупит?

Комментарии: 25

  1. Eduard

    на вид вроде норм, кан физически на rs485 похож тут время деления 50 мс тут 100 уже сигнал только шумный какой-то

    • Sergey

      Ну вот когда одно устройство, на 100 мс. никаких одиночных импульсов, сплошной забор.

      • Eduard

        В кане сложная схема общения, там есть арбитраж, хардбиты итд. Может когда устройство одно, оно просто безпрерывно пакеты отправляет.

    • Sergey

      Вот я и интересуюсь, какая нормальная картинка должна быть, когда два устройства в сети. У меня прибор и датчик, прибор не видит показаний от датчика, который должен опрашиваться постоянно. При этом, датчик выдаёт два разных показания от двух разных сенсоров. По идее, обмен данными должен быть достаточно интенсивным, а не вот эта одна посылка за полгода.. Сложность в том, что взять заведомо исправный датчик, что бы посмотреть, как оно, когда всё в порядке, неоткуда, приходится надеяться на помощь зала :) Не страшно. LVDS же. Всё равно дифсигнал считается.

  2. Yan

    Там вариантов недофига - защитные диоды (если они есть), терминирующие резисторы или сами CAN-трансиверы. Как вариант на одном из девайсов неверный node ID, но это маловероятно. Осциллограмму на шине никогда не смотрел)

    • Sergey

      Ну, у меня варианты сокращаются до контроллеров can. Диоды отсутствуют, терминация в порядке. Осциллограмму я смотрел только на одном работающем устройстве. Поэтому, когда устройств оказалось два, сразу появились вопросы :) Процедуры сопряжения устройств в сети по ID не существует (это разновидность can-bus, сеть SeaTalk), так что, все устройства должны воспринимать всех соседей по умолчанию.

  3. Anatoliy

    А почему одна линия, когда соединены?

    • Eugene

      А картинка, где пакеты шлются не непрерывно, это когда подключены те самые два устройства, которые надо подружить? Где линия? В шине CAN при отсутствии передачи обе линии примерно 2,5В.

      • Anatoliy

        На верхних картинках две линии, can-h и can-l. А на нижней, где якобы сопрядены устройства линия одна...

      • Sergey

        Да, именно. Первые две картинки, когда устройства включены в сеть поодиночке у меня вопросов не вызывают.

        • Eugene

          При передаче доминантного уровня линии из 2,5В разбегаются. Одна вверх, другая вниз. Вот мы и видим на одной картинке кратковременные пики, а потом паузы, а на другой - постоянные попытки отправить, которые не подтверждаются никем, поэтому повторяются.

          • Anatoliy

            Или там два канала совмещены?

            • Sergey

              Возможно, "нулевые" уровни обоих каналов подтягиваются к одному значению, одним или двумя устройствами. Так там те же два канала что и на первых скринах.

              • Anatoliy

                Там ноль-это 2,5 вольт...верхние картинки похожи на правду. А вот нижняя...чейта они совместились?

                • Anonim

                  Всё что встречаю, это DMA + SPI, DMA + USART. Разбираюсь..

                • Sergey

                  Вот и я думаю, чой-та. Решил спросить у знающих людей, вдруг это нормально..

                  • Anatoliy

                    Должно быть как наверху. Один пляшет 2,5-5, другой 2,5-0 зеркально

                    • Eugene

                      Что не так, не понимаю... Всё логично вроде. О какой картинке речь? Недавно я узнал, что пляшут они от 2,5В вовсе не до 5 и 0, а меньше. :) Если не путаю, прыгают они на 1В в сторону от середины.

                      • Anatoliy

                        Ну это тонкости, навернякак там пороговое значение для фиксации имеется.

                        • Eugene

                          Кстати, есть драйверы шины CAN с питанием 3,3В, они от 2,5В прыгают вверх до 3,3В, больше не могут.

                      • Anatoliy

                        Вот эта картинка почему так?

                    • Sergey

                      На осциллограмме не совсем реальные значения напряжений, я графики чуть подвинул, для наглядности. Так что, на вольтаж не смотрим :)

                      • Eugene

                        Ну тут всё в порядке. Отправляется пакет раз в 100мс. Приемник подтверждает, что пакет его устроил. Передатчик успокаивается. А вот если приемника нет ни одного, никто не подтверждает успешный прием пакета, тогда при включенном автоповторе отправитель снова шлет пакет. И так до морковкиного...

Не нашли ответ?

Вам также может быть интересно

Всем привет. Подскажите, если пытались привязать новый экран со шлейфом на 13 айфоне, не перенося микросхему, и это не вышло(сбой... Читать далее