Может ли STM32F1 (как часть MXChip) поддерживать CAN-шину

Фон


Я очень новичок в разработке электроники/IoT. Я пытаюсь создать решение, позволяющее считывать сигнал (сообщения) CAN-шины автомобиля моей жены и сохранять его на SD-карту. Я надеюсь проанализировать данные и построить приборную панель на основе телеметрии автомобиля.

Этот конкретный вопрос касается микросхемы (STM32F1) на плате IoT (MXChip AZ3166), которой я уже владею, и которую я надеюсь включить в свое общее решение в качестве уровня сбора данных.

Для справки:

Чипы: STMicroelectronics STM32F103C8T6, 32-битный микроконтроллер ARM Cortex M3

и плата IoT: (MXChip AZ3166 IoT DevKit)

Прочитав спецификацию платы MXChip AZ3166 и проведя некоторое исследование, я обнаружил, что MXChip AZ3166 состоит из двух основных наборов микросхем:

Главный вопрос


  1. В спецификации продукта упоминаются функции STM32F1, включая периферийные устройства управления двигателем, а также полноскоростные интерфейсы CAN и USB, а также указывается, что он имеет 1 канал CAN. Означает ли это, что я могу подключить плату MXChip AZ3166 с этим чипом через контакты GPIO к шине CAB в машине моей жены и получать сигналы шины CAN (я полагаю, что придерживаюсь протокола передачи данных ISO 11898-1 CAN).

  2. Как узнать, какие контакты подключать к разъемам CAN Hi и CAN low на автомобильной шине CAN?

  3. Что касается питания, как я могу определить, что полученный сигнал CAN не поджаривает плату MXChip с заявленным максимальным рабочим напряжением 3,3 В?

1 ответ

  1. Да, вам понадобится MCU со встроенным контроллером CAN для связи по шине CAN. Однако стандарт CAN охватывает только физический уровень и уровень канала передачи данных. Вам необходимо знать прикладной уровень, чтобы осмысленно взаимодействовать с шиной.

    Прикладной уровень автомобиля может быть, а может и не быть собственностью. Он может быть даже зашифрован. Если вы не знаете, какой протокол используется, то ничего не поделаешь. Реверс-инжиниринг протоколов CAN является хакерским, сложным и опасным. Подключение к CAN-шине, когда вы не имеете ни малейшего представления о сроках и т. д., также очень опасно.

    Но автомобили обычно имеют порт «бортовой диагностики» (OBD), используемый для сервисных целей, со стандартизированными уровнями приложений, через которые вы можете получить доступ к различным частям автомобиля. Существует множество различных стандартов для OBD, а более старые даже не использовали CAN. Это зависит от модели автомобиля.

  2. В случае порта OBD распиновка стандартизирована, ее можно найти в Интернете. В противном случае очень просто узнать, какой сигнал CANH и CANL с помощью осциллографа. CANH идет 2,5 В +1 В и CANL 2,5 В -1 В. Более хакерское решение — измерить это с помощью мультиметра, но это вполне возможно, поскольку один сигнал должен быть немного выше 2,5 В, а другой — немного ниже.

  3. CAN стандартизирован, поэтому, если у вас есть шина CAN на плате, вы подключаетесь к ней. В некоторых случаях вместе с сигналом может быть подключено питание 12 В, и это единственное, что может что-то поджарить.

В целом, обратите внимание, что проект, который вы здесь описываете, очень сложный и не для новичков. Похоже, у вас почти нет опыта работы с электроникой/встроенными системами, поэтому я бы рекомендовал выбрать гораздо более простой проект.

Кроме того, модификация автомобильной электроники или установка собственной электроники в автомобиле запрещена законом в большинстве стран мира. Одобрение типа третьей стороной с испытаниями на электромагнитную совместимость является обязательным (и очень дорогим). Если ваш автомобиль попадет в аварию и в нем обнаружат кастомную электронику без одобрения типа, вы можете столкнуться с серьезными юридическими последствиями.

Другие вопросы по тегам