Экосреда ecoins - CAN

Исследование интерфейса CAN на разных контроллерах

Ответить
ecoins
Полковник
Сообщения: 2923
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Экосреда ecoins - CAN

#1

Сообщение ecoins » 20.04.2023{, 19:12}

В этой теме будут размещаться сообщения по теме CAN в FLProg.
Есть штатные блоки и он неплохо работают.
Тема поднята благодаря Сергею(не помню Nick), который прислал работающие тесты.
test_can_eho_328.zip
(14.51 КБ) 60 скачиваний
test_can_eho_8266.zip
(12.61 КБ) 46 скачиваний
Тесты работают через SPI+блок MCP2515, однако некоторые контроллеры (STM32) имеют встроенный CAN, который неплохо бы освоить.

ecoins
Полковник
Сообщения: 2923
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Экосреда ecoins - CAN

#2

Сообщение ecoins » 20.04.2023{, 19:14}

Попробовали связать два STM32F103C через CAN на SPI+MCP2515 - работает.
IMG_3690.jpg
test_can_eho_STM32_1.zip
(41.91 КБ) 59 скачиваний
test_can_eho_STM32_2.zip
(12.17 КБ) 56 скачиваний

autoelectronica
Рядовой
Сообщения: 89
Зарегистрирован: 18.10.2016{, 21:46}
Репутация: 6
Откуда: Москва

Экосреда ecoins - CAN

#3

Сообщение autoelectronica » 20.04.2023{, 23:06}

Вауу, дождался. Очень интересная тема.

Аватара пользователя
dmitriydef
Рядовой
Сообщения: 20
Зарегистрирован: 26.04.2023{, 20:59}
Репутация: 2
Откуда: Архангельск
Имя: Дмитрий
Контактная информация:

Экосреда ecoins - CAN

#4

Сообщение dmitriydef » 25.05.2023{, 16:07}

Почему для ESP32 блок can не доступен? Как его заюзать?

ecoins
Полковник
Сообщения: 2923
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Экосреда ecoins - CAN

#5

Сообщение ecoins » 25.05.2023{, 21:07}

dmitriydef писал(а):
25.05.2023{, 16:07}
Почему для ESP32 блок can не доступен? Как его заюзать?
Пока ответить не могу, но вроде должен стандартный блок работать.

Аватара пользователя
dmitriydef
Рядовой
Сообщения: 20
Зарегистрирован: 26.04.2023{, 20:59}
Репутация: 2
Откуда: Архангельск
Имя: Дмитрий
Контактная информация:

Экосреда ecoins - CAN

#6

Сообщение dmitriydef » 25.05.2023{, 21:23}

ecoins писал(а):
25.05.2023{, 21:07}
Пока ответить не могу, но вроде должен стандартный блок работать.
На вид, код должен работать, да. Но, блок пропадает, если в проекте стоит контроллер esp32.

ecoins
Полковник
Сообщения: 2923
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Экосреда ecoins - CAN

#7

Сообщение ecoins » 25.05.2023{, 21:23}

dmitriydef писал(а):
25.05.2023{, 21:23}
На вид, код должен работать, да. Но, блок пропадает, если в проекте стоит контроллер esp32.
Мы CAN будем плотно заниматься, но пока плотно работаем с тестированием новых библиотек.

Aviacode
Рядовой
Сообщения: 37
Зарегистрирован: 15.02.2021{, 15:04}
Репутация: 1
Имя: Серго

Экосреда ecoins - CAN

#8

Сообщение Aviacode » 07.08.2023{, 15:01}

Сделал сравнительные тесты времени цикла с блоками CAN для Esp32 от DrMario, и стандартными блоками для Esp8266. Причиной для проведения тестов послужили обнаруженные пропуски пакетов с блоками Esp32.


Тест цикла esp-32_CAN (SN65HVD230).

RX- 3000 us.
TX- 64000 us.
TX+RX- 67000 us.


Тест цикла esp-8266_can (MCP2515).

RX- 27 us.
TX- 73 us.
TX+RX- 92 us.

Как видно из результатов, разница почти в 1000 раз, и это без учета разницы в быстродействии МК. Хотелось бы понять, что в блоках для Esp32 так тормозит? Ну и попутно, обнаружил невозможность изменения скорости шины can на работающем устройстве, хотя вроде как, вход "set" блока "CAN init" это подразумевает.
Тесты прилагаю.
Вложения
тест времени цикла can-8266.flp
(167.71 КБ) 25 скачиваний
тест времени цикла can.flp
(3.2 МБ) 28 скачиваний

ecoins
Полковник
Сообщения: 2923
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Экосреда ecoins - CAN

#9

Сообщение ecoins » 27.09.2023{, 19:33}

О ПРОБЛЕМАХ СОГЛАСОВАНИЯ модуля MCP2515 c RP2040
Готовый модуль CAN https://aliexpress.ru/item/32817132818. ... 4aa6raJXiB
не заработал напрямую от 3.3v - проблему решили через согласователь уровней sck,miso,mosi,cs.
Попадалась статья о том, что достаточно переделать питание выходного трансивера на 5в - но это не проверяли.
Еще есть предположение, что модуль можно запитать и от 5, но согласовать только сигнал miso (иначе конфликт согласования RP2040, если на шине SPI есть и другие модули, например W5500 Ethernet).
Вопрос: можете порекомендовать какие-то рабочие решения по связке CAN и RP2040?

WildCat
Лейтенант
Сообщения: 425
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Экосреда ecoins - CAN

#10

Сообщение WildCat » 11.03.2024{, 03:34}

ecoins писал(а):
27.09.2023{, 19:33}
Вопрос: можете порекомендовать какие-то рабочие решения по связке CAN и RP2040?
Решили вопрос?

Можно поставить шинный приемо-передатчик

Вот двухканальный
https://www.chipdip.ru/product/sn74lvc2t45dctr

Вот одноканальный
https://www.chipdip.ru/product/sn74lvc1 ... m466656411

Есть и на большее число каналов.

Про конвертеры уровня на транзисторах ничего не скажу, нужно тестировать пропускную способность.
Частота spi высокая, фронты могут заваливаться.

ecoins
Полковник
Сообщения: 2923
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Экосреда ecoins - CAN

#11

Сообщение ecoins » 11.03.2024{, 06:55}

WildCat писал(а):
11.03.2024{, 03:34}
Решили вопрос?
Решили по подсказке Rovki - эти компоненты закладываем в устройства, они также обеспечивают гальваническую развязку :
для RS-485:
TD5(3)01M485.pdf
(999.75 КБ) 18 скачиваний
для CAN:
TD5(3)01MCAN.pdf
(1.25 МБ) 18 скачиваний
С уважением, ecoins.

MihailK
Сержант
Сообщения: 104
Зарегистрирован: 05.12.2020{, 23:42}
Репутация: 11
Имя: Михаил

Экосреда ecoins - CAN

#12

Сообщение MihailK » 13.03.2024{, 23:18}

ecoins писал(а):
27.09.2023{, 19:33}
О ПРОБЛЕМАХ СОГЛАСОВАНИЯ модуля MCP2515 c RP2040
Практически у всех производителей есть микросхемы, которые работают от 5В и такие же работающие от 3,3В. Например CAN https://www.chipdip.ru/catalog-show/tra ... .4234=KWBB

Ответить

Вернуться в «Команда ecoins»