Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CAN stm32f767 without phy
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Golikov A.
Всем привет!

Пытаюсь получить отправляемое сообщение в режиме loopback на nucleo платке. Платка одна и без физики кана.

Кану клоки включил, скорость настроил, в регистре CAN_BTR битик loopback режима поставил.
Фильтры настроил на прием по маске, маска 0.
На tx пине вижу правильную посылку. Ни прерывания, ни счетчика сообщений входного фифо не вижу.

Если loopback отключить - то вижу ретрансмиты, если включить то посылается и вижу статусы удачной посылки, ack игнорируется - то есть как бы все как должно быть в loopback.
Однако если физически tx и rx на плате не замкнуть, то кан не выходит даже из слип режима, на rx видит вечный 0. Так и должно быть? Соединения rx и tx внутри кристалла не происходит?

Кто пробовал запускать в loopback, можно это сделать без внешней физики?
k155la3
Нажмите для просмотра прикрепленного файла
Я только начал работать с STM32F429 (возможно нет принципиальных различий с CAN для 767).
У него в док приведена схема с "внутренней" перемычкой. И то что идет по физическому Rx - игнорируется.
Соотв-но или Loop back не включился, или что-то с фильтрацией. "Лепить" схему управления внешней перемычкой для само-диагностики как-то не логично.
IMHO.

ps
Если не секрет, на чем базируется исх.код и какие ср-ва разработки используете ?
novikovfb
У миландровской реализации CAN для ARM есть бит приема/игнорирования собственных сообщений (Receive own packets). Может и тут есть похожая настройка?
Golikov A.
ну кан всегда слушает входную линию и при передаче естественно слушает прием для арбитража.
Режим loopback отбрасывает реакцию на отсуствие ака - это работает
А еще я полагал что линия rx станет точной копией TX но почему то это не так. Если подключить физику то она сама транслирует TX на RX, но по описанию RX пин должен был игнорироваться...
Он даже из слипа не выходит, без физики, явно слушает RX с 0 уровнем и ждет там единиц.
Физика работает так же как просто перемычка RX-TX но данных все равно не принимаюsad.gif...



П,С, код на плюсах, своя библиотека, компилим gcc

Golikov A.
-------------------------------------------------------------------------------------
В общем разобрался, тему можно закрывать.
Для старта на RX нужна 1, чтобы кан вышел из слип режима. Для этого надо подключить либо внешнюю физику, либо просто замкнуть RX на TX,
может можно ногу сделать выходной и зажать в 1.
После того как кан вышел из слип мода он уже работает в loopback нормально, независимо есть перемычка или физика, или нет. Вот...

проблема приема, естественно, была связана с неправильными фильтрами.
k155la3
Цитата(Golikov A. @ Jun 20 2018, 11:37) *
В общем разобрался, тему можно закрывать.

Спасибо за инф.
Мануалы от STM увеличивают степень неопределенности во Вселенной.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.