Перейти к содержанию
    

7 минут назад, Ioann_II сказал:

В чём заключается отличие? У меня в макете с 1 МК при отсутствии ACK счётчик ошибок увеличивался каждый раз на 8 - это оно?

Контроллер будет увеличивать счетчик ошибок до состояния Error Passive. В этом состоянии при очередной ошибке ACK Error счетчик увеличиваться не будет, поскольку это вполне нормальная ситуация - последний абонент отключился от шины и не принимает сообщений. Передатчик отправителя при этом не должен уйти в Bus Off.

 

Цитата

Про CanFestival - а где его скачать и посмотреть?

На официальном сайте, конечно же. Краткий ликбезЛикбез побольше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, Ioann_II сказал:

А подскажите, а то пока что, как новичок в этом интерфейсе, не соображу, как прочитать эти адресные биты?

Я не знаю как в вашем МК. Но должна быть возможность задать маску адреса. У меня XMC4700. В нём для приёма CAN-сообщений конфигурируются message-объекты (MO). Для MO желающего принимать кадры с определёнными ID прописывается это ID в поле адреса. Но можно также задать маску для этого адреса. И замаскировать часть битов. Тогда в этот MO будут приниматься все CAN-сообщения соответствующие маске. А дальше просто - читаем из принятого MO замаскированные адресные биты и используем их как данные.

Думаю в STM должна быть аналогичная возможность задать маску ID.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодаря всем откликнувшимся, в основном разобрался. На столе работает макет, с 3-мя устройствами, обмен идёт не первые сутки.

Хотелось запастись Вашими советами по обработке возможных ошибок - на какие ошибки надо обратить внимание в первую очередь, а какие можно не обрабатывать. На столе ведь идеальные условия... а если реальная линия передачи и в реальных условиях? Тем более, что предполагается достаточно длинная линия передачи - до 50 метров. Практики пока ещё у меня нет.

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CAN аппаратно самодостаточный интерфейс.

В разных МК, конечно, общий набор ошибок может немного отличаться.

Но, как правило, ошибки самого CAN (Bus Off, Frame Error, и т.д.) едины для всех реализаций контроллеров.

Что делать с этими ошибками, конечно же, зависит от проекта. Я обязательно обрабатываю ошибки, связанные не столько с шиной, сколько с FIFO и мэйлбоксами.

Из ошибок шины, в основном, смотрю на Bus Off. Все остальные объединяю в один обработчик и использую, скорее, опционально, а не железобетонно (мониторинг сети, статистика ошибок).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно сделать/купить

https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/APGDT002

и все наблюдать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...