Arduino-совместимый микроконтроллер с I2C и CAN

Я ищу контроллер, который работает с Arduino (т. е. существует официальная или сторонняя поддержка контроллера в Arduino IDE и основных библиотеках) и имеет встроенные шины CAN и I2C. Я смотрел автомобильную серию ATMega (16M1, 32M1, 64M1, 32C1, 64C1), но в таблице данных вообще не упоминается I2C/TWI.

(Я знаю, что могу использовать BitBang I2C, я знаю, что есть MCP2515 для CAN через SPI.)

Спасибо!

РЕДАКТИРОВАТЬ: Предполагаемое приложение представляет собой мост между несколькими датчиками I2C и CAN, без сложной логики. Высокая производительность не обязательна, плюс она приведет к увеличению затрат.

, 👍0

Обсуждение

на ум приходит ESP32. вы можете отключить Wi-Fi/BT, чтобы сэкономить энергию и сделать его более похожим на мега, @dandavis

Спасибо, @dandavis, ESP32 — это слишком :) Добавил примечание о поиске довольно низкопроизводительных чипов., @eudoxos

Возможно ли преобразование i2c в CAN на микроконтроллере, который имеет как CAN, так и I2C. (TM4C123GXL)..., @Vineela Chandra


1 ответ


Лучший ответ:

2

На ум приходит много вариантов:

  • Доска Bluepill
  • Буквально любая плата с шинами I2C и CAN из серии STM32, как можно найти на их сайте (https://my.st.com/content/my_st_com/en/products/microcontrollers.html)
  • ESP32

Плата Bluebill программируется с помощью mbed, STM32HAL (CubeMX) и Arduino, все из которых либо имеют библиотеки CAN для периферийного устройства CAN, либо даже встроены в ОС (mbedos).

Плата Bluepill стоит очень дёшево ($1.81 с бесплатной доставкой с aliexpress) и имеет микроконтроллер STM32F103C8 с 128kB Flash и 20kB RAM. Её периферия включает две шины I2C и одну CAN.

Информация и технические характеристики: http://www.st.com/en/microcontrollers/stm32f103c8.html, http://wiki.stm32duino.com/index.php?title=Blue_Pill

Для прошивки и отладки чипа вам понадобится один дешевый клон ST-Linkv2 (~3$ из Китая).

Для сред программирования вы можете использовать:

  • Arduino IDE (STM32Duino Arduino Core для чипов STM32F1/F3/F4: http://wiki.stm32duino.com/index.php?title=Boards_Manager_package)
  • PlatformIO, более универсальное и более мощное (https://platformio.org:443/boards?count=15&filter%5Bmcu%5D=STM32F103C&page=1&sorting%5Bname%5D=asc)

В качестве фреймворков можно использовать:

  • Arduino (см. выше)
  • ARM mbedos (основан на STM32HAL, изначально поддерживается PlatformIO)
  • STM32HAL (например, с файлами проекта для IDE, созданными STM32CubeMX)

Ссылки на документацию:

  • https://os.mbed.com/docs/v5.8/reference/can.html
  • https://www.st.com/resource/en/user_manual/dm00154093.pdf (Глава 8)
  • https://github.com/Locoduino/Commanders

8-битные микроконтроллеры серии STM8AF имеют несколько микроконтроллеров с 1 шиной I2C и 1 шиной CAN: см. http://www.st.com/en/microcontrollers/stm8af-series.html?querycriteria=productId=SS1583

Готовая к покупке оценочная плата: http://www.st.com/en/evaluation-tools/stm8a-discovery.html (вам нужна STM8AF5288)

Конечно, тогда цепочка инструментов изменится. Смотрите https://my.st.com/content/my_st_com/en/extended-query.html?querycriteria=productId=LN1759$$associatedTo=SS1584

,

Хороший ответ. А есть что-нибудь 8-битное?, @eudoxos

@eudoxos конечно, обновил., @Maximilian Gerhardt