Arduino bus can: заставляем микроконтроллер общаться по шине

В любой системе управления важно настроить линии связи. Без них не будет работать ни один исполнительный механизм. В электронике много интерфейсов передачи данных; у каждого из них есть свои недостатки и преимущества. Но сегодня хочу рассмотреть интерфейс промышленной связи CAN.

Определение:

CAN – control area network, в переводе звучит что-то вроде «сети устройств управления и связи».

Сети с его использованием можно встретить в различных областях техники, начиная от современных автомобилей – на них с помощью Can шины осуществляется связь между блоками управления автомобилем, а также на промышленных объектах в любой сфере производства.

Микроконтроллеры Arduino can шину в обычном виде не поддерживают – для этого нужно использовать дополнительные блоки преобразования сигналов.

Как заставить Arduino общаться по can?

Во-первых, для связи по ардуины нужно использовать модуль mcp2515 или TJA1050. Это устройство выступает в роли посредника между контроллером и сетью, то есть вы отправляете битовые последовательности на него, указываете адресата, а он перенаправляет данные в нужном порядке и форме.

Связь ардуино и этой платы осуществляется по SPI интерфейсу.

Определение:

SPI – Serial Peripheral Interface, на русском языке это звучит так – последовательный интерфейс периферии.

Смотрите также  Покупаем на АлиЭкспресс: подробная инструкция

Для связи нужно четыре цифровых сигнала (соответственно, 4 пина ардуины):

  • MOSI – выход ведущего устройства;
  • MISO – вход ведущего;
  • SCLK – последовательный тактовый сигнал;
  • CS (SS) – выбор кристалла или микросхемы (crystal select).

На схеме вы видите, что все сигналы, кроме SS(CS), – общие, а последний индивидуален для каждого устройства в системе, и нужен для определения устройства, с которым ведётся обмен данным. Когда сигнал 0 – устройства взаимодействуют, а когда 1 – нет. То есть управление производится инверсным сигналом, иначе говоря – низким уровнем, об этом свидетельствует полоса над надписью SS, в математике и электронике так обозначаются инвертированные (умноженные на минус единицу) значения чисел.

Для работы Arduino bus can системы нужно использовать соответствующую библиотеку для Arduino ide (https://github.com/Seeed-Studio/CAN_BUS_Shield), а для большего удобства – шилд, кстати, библиотека написана под такой шилд.

Варианты применения

В быту с помощью can шины вы можете построить бортовой компьютер на ардуино или устройство диагностики автомобилей. Для разработчиков умных систем с её помощью можно осуществлять связь между удалёнными блоками вашей системы посредством проводной или радиопередачи данных.

Описание платы Arduino Mini Arduino Mini впервые появился на российском рынке более десяти лет назад. Микроконтроллер был задуман для использования в небольших лабораторных проектах, ...
Все аналоги Ардуино Раз вы попали к нам на сайт, то вам наверняка уже приходилось слышать про Arduino, но даже если так, то все равно эта статья окажется полезной для вас. Ард...
Программирование микроконтроллеров для начинающих... Микроконтроллерами называют особый вид микросхем, используемый для управления различными электронными устройствами. Введение в микроконтроллеры Э...

Просмотров: 840