На CAN-линии при работе преобразователя частоты (токи 500...3000 А) наблюдаются сильные помехи: буквально только каждое 20-е сообщение в среднем доставляется без ошибок. Экранирование пробовали (экранированная витая пара, экран на одном конце заземлен) - разницы нет. Длина линии CAN - около 4 метров, скорость 125 kbps, со стороны МК интерфейс гальванически развязан спец. микросхемой. Что еще можно попробовать?
Комментарии: 22
Evgeniy
Вот это очень интересный опыт!
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 сразу валится на бок . с потерей связи с юсб
Anonim
в автомобильных приложениях на входе трансивера CAN стоит симметричный дроссельTDK надпись .. на черном ферите . загляните в мозги ПЧ .. может их там нет на плате .. тогда кольцо ферита и 4-5 витков свитыми проводами линии CAN на кольцо.