На CAN-линии при работе преобразователя частоты (токи 500...3000 А) наблюдаются сильные помехи: буквально только каждое 20-е сообщение в среднем доставляется без ошибок. Экранирование пробовали (экранированная витая пара, экран на одном конце заземлен) - разницы нет. Длина линии CAN - около 4 метров, скорость 125 kbps, со стороны МК интерфейс гальванически развязан спец. микросхемой. Что еще можно попробовать?

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

  1. Evgeniy

    Вот это очень интересный опыт!

  2. Fedor

    CAN можно легко переделать на оптику, если шина точка-точка. Трансивер только заменить

    • Ponytale

      На шине 14 устройств

      • Fedor

        Он во всех гальваноизолирован?

        • Ponytale

          Правда алгоритм такой, что одно (МК) посылает запрос и один из 12 модулей на него отвечает. +сниффер со стороны МК гальва, со стороны модулей: каждый модуль развязан, но все их CAN объединяются на промежуточной плате, вот там развязки уже нет

        • Ponytale

          Добрый вечер. Кто-нибудь сталкивался с выключением (зависанием?) блока CAN в МК при наличии сильных наводок на линию? Честно говоря, не можем сообразить: пока силовая часть не включена все отлично, как только начинает работать IGBT-инвертор на сотни ампер, то CAN именно в проце (и в CAN-мониторе IXXAT тоже, независимо друг от друга) виснет на рэнодомном времени от момента пуска (5...20 сек) до снятия/подачи питания. Линия гальванически изолирована, но на Tx проца осликом видится борода при работе IGBT - единственная связь видится по DC/DC 24 В, от которого питаются IGBT-драйверы и плата процессора, в IGBT-драйверах (Semikron SKiiP 4 поколения) увы земля 24 В и земля CAN не развязаны. Но все-таки: я бы еще понял просто ошибки пакетов (которые тоже лезут очень много) но чтобы просто модуль CAN вис... Вот что это вообще могло бы быть? Длина линии примерно метров 15, на ней находятся 12 устройств, кабель экранированная витая пара, у каждого модуля земля CAN и экран соединяются, терминаторы с обоих концов есть Правда кабель 60 Ом а не 100, но это вроде бы лучше? Продолжение этой истории, но теперь вроде линия разведена более-менее качественно?

          • Samuil

            Смотрите питание мк. И разводку тактирования

            • Ponytale

              Все прочие модули МК в т.ч. 3-х фазный ШИМ и связь по RS-485 продолжают работать нормально Виснет не только МК но и сторонний CAN-монитор IXXAT за 1000$ :), работающий независимо (даже МК отключал от лини полностью) Как только пошел ШИМ - несколько секунд и сеть висит т.е. Tx от проца на микросхему трансивера выключается

              • Karboflex

                тоесть я правильно понимаю изоляция имеется осцил не ловит никаких контрафактов , из предпологаемых причин только наводки по земле

          • Ponytale

            В-общем если кому-то будет полезно, решилось это тем, что после каждой серии опроса силовых модулей выключать и включать тактирование модуля CAN в МК (с добавлением некоторых задержек, длиной примерно на 3 пакета). Не ожидал, но это видимо приводит его внутренний конечный автомат в какое-то известное состояние, после чего обмен продолжается. По-итогу кол-во небитых пакетов в плохих режимах составляет всего 1...5%, но этого более чем достаточно для снятия температур модулей. Всем спасибо за участие :) (ворчит) как всегда последняя инстанция, которая решает проблему: это программист Проц TMS320LF2407A если нужно. Мб и в актуальной на сегодня серии 28335 и выше возможны похожие фокусы с CAN при помехах на Rx/Tx, хотя и вряд ли

            • Anonim

              ставил таймер на can irq если 150 мсек  нет прерываний(rx/tx) от can то reinit can. и прерывание только по уровню

              • Ponytale

                т.е. проблема распространенная с CAN'ом?

                • Anonim

                  писец ! mcp2515 также себя вел и can hacker тоже виснет бывает

            • Karboflex

              решение похоже на стандартное выключите и включите)

              • Ponytale

                ну у меня также Ixxat USB-to-CAN pro еще ведет. в-общем понятно, в копилочку опыта будет) еп

                • Anonim

                  для mcp2515 ставил 51 ом резистор к линии irq и кондёр 1000 пик на землю со стороны МК. на cs линию mcp2515 тоже 33 ом резистор и 1000 пик на землю кондёр.. со стороны mcp2515. если корпус кварца который для can генерит припаять к минусу питания .. резко меньше глюков.

                  • Ponytale

                    в моем случае кварц-то один на весь проц, просто его регистр периферии позволяет вкл/выкл тактирование отдельных модулей, в т.ч. и can. так-то, как уже писал, никакие другие части МК не сбиваются

                  • Anonim

                    Так тут фишка в другом. Что промышленное профессиональное устройство ведет себя так же как и твоя говноподелка. Они же как-то тестируют их? Должны это учитывать

                    • Karboflex

                      тут встаёт вопрос кто у кого тырил код для реализации автомата =)) впрочем одинаковые баги это даже хорошо))

                      • Vladimir

                        Кто первый выложил на стак тот и "папка" ))

                    • Anonim

                      я так понял .. нужно точно кварцы подбирать ... особенно на крайних устройствах точках кабеля can ..как только битовая последовательность разьезжается немного .. can автомат зависает . считая ошибкой .. canhacker сразу валится на бок . с потерей связи с юсб

  3. Anonim

    в автомобильных приложениях на входе трансивера CAN стоит симметричный дроссельTDK надпись .. на черном ферите . загляните в мозги ПЧ .. может их там нет на плате .. тогда кольцо ферита и 4-5 витков свитыми проводами линии CAN на кольцо.

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

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