Can линия в автомобиле. Что такое CAN-шина, и для чего она нужна? CAN шина - что это такое

Современный автомобиль оснащен электронными блоками управления различных систем: двигателя, антиблокировочной системы тормозов, кузова и другими. По-существу, эти блоки представляют собой микрокомпьютеры.

Для того, чтобы понять что такое CAN-шина в автомобиле, представьте что в машине организована локальная сеть, к которой подключены эти микрокомпьютеры — чтобы они работали в комплексе.

Это подобно тому, как в сеть объединяются офисные компьютеры, для того чтобы сотрудники могли без проблем брать информацию друг от друга, а начальник имел возможность оперативно контролировать работу офисных сотрудников.

В качестве начальника в автомобиле выступает бортовой компьютер и система диагностики.

История разработки и унификации Controller Area Network

Компания BOSCH, производя исследования в области автоматизации в 80-х годах прошлого века, предложила стандарт микроконтроллерной связи, который можно было применять и в автомобилестроении.

Стандарт CAN применяется не только в автомобилях. В настоящее время его используют в концепции «умный дом», промышленной автоматике и т.д.

Применительно к автомобильной технике стандарт CAN (Controller Area Network) адаптирован к шине с физическим уровнем. Она организована при помощи витой пары проводников, по которым идут пакеты сигналов разной полярности.

Такой стандарт получил международную классификацию ISO 11898. Кадр (пакет) включает 11-битный информационный сигнал (либо 29-битный в расширенном режиме).

В общем, CAN-шина не обязательно может быть реализована при помощи витой пары проводников. Это может быть и оптоволокно, и радиоканал.

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

CAN-шина автомобиля: что это такое и её принцип работы

Шина представляет собой локальную сеть, при помощи которой производится обмен информацией между блоками управления различными системами автомобиля. Таким образом, блок управления, например, двигателя автомобиля, помимо основного микроконтроллера, обслуживающего двигатель, предполагает наличие CAN-контроллера, который формирует посылки импульсов по двум шинам: CAN-высокий и CAN-низкий (Н и L).

Эти сигналы передаются по проводникам (витой паре) трансивером. Трансиверы, или приемо-передатчики, предназначены для:

  • усиления сигналов,
  • обеспечения помехозащищенности передаваемых импульсов;
  • регулировки скорости передачи цифрового потока;
  • защиты линии в случае повреждения CAN-шины.

Сейчас в автомобильной технике применяют следующие виды приемо-передатчиков — High Speed и Fault Toleran. High Speed трансмиттер обеспечивает относительно высокую скорость передачи информации – до 1 мегабит в секунду. Второй тип трансмиттера обладает меньшей скоростью передачи информации – до 120 килобит в секунду. Зато он менее чувствителен (толерантен к ошибкам) к качеству CAN-шины, допускает отклонение ее параметров.

Схема организации обмена данными

Структурно схему подключения различных блоков автомобиля к CAN-шине можно изобразить в таком виде:

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

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

На некоторых автомобилях для устранения проблем с синхронизацией CAN-информации применяется отдельный модуль межсетевого интерфейса.

Каждое сообщение, передаваемое по CAN-шине, имеет собственный идентификатор, например «температура охлаждающей жидкости» и код, соответствующий ее значению, типа «98,7 градусов Цельсия». Не обязательно это будут абсолютные значения, в большинстве случаев это относительные двоичные единицы, которые далее преобразуются в сигналы управления и контроля.

Эти же данные используют средства диагностики для контроля и обработки информации об основных системах автомобиля.

Основные режимы работы CAN-шины:

  • активный (зажигание включено);
  • спящий (при выключенном зажигании);
  • пробуждение и засыпание (при включении и выключении зажигания).

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

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

Преимущества и недостатки применения КАН-шины в автомобиле

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

Можно, конечно, разместить все блоки управления системами автомобиля в едином суперблоке, в котором программно обеспечить взаимодействие разных систем. Такие попытки были у французских производителей. Однако, с увеличением функциональности и производительности значительно увеличивается вероятность отказов. Сбои, например, дворников, могут привести к отказу запуска двигателя.

Основные преимущества применения CAN-шины:

  • возможность проведения оперативного контроля и ;
  • объединение потоков информации в едином помехозащищенном канале;
  • универсальность, способствующая унификации процессов диагностирования;
  • возможность подключения охранных систем по CAN-шине (нет необходимости тянуть проводку к каждому элементу контроля).

Недостатки CAN-шины:

  • невысокая надежность;
  • повреждение одного из блоков управления может привести к полной неработоспособности CAN-соединения.

Устранение неисправностей

На приборной панели автомобиля отсутствует индикаторная лампа неисправности CAN. Судить о том, что работоспособность CAN-шины нарушается, можно по косвенным показателям:

  • на приборной панели одновременно загорелись несколько индикаторных ламп неисправностей;
  • пропали показатели температуры охлаждающей жидкости, уровни топлива;

Прежде всего, следует выполнить диагностику. Если она покажет на неисправность CAN-шины, следует приступить к устранению проблемы.

Последовательность работ:

  1. Найти проводники витой пары шины. Часто они имеют черный (высокий уровень) и оранжево-коричневый (низкий) цвета.
  2. Проверить при включенном зажигании с помощью мультиметра напряжения на проводниках. Уровни не должны быть равны 0 или более 11 Вольт (обычно около 4,5 Вольта).
  3. Выключить зажигание, снять клемму аккумуляторной батареи. Измерить сопротивление между проводниками. Если оно будет стремиться к нулю, значит, в шине присутствует короткое замыкание, если к бесконечности – обрыв.
  4. Приступить к поиску обрыва или короткого замыкания.
  5. Если есть подозрение на то, что замыкание шины происходит по причине отказа какого-либо блока управления, можно последовательно отключать блоки управления и контролировать сопротивление и работоспособность шины.

Неисправность CAN-шины относится к сложным неисправностям электрооборудования автомобиля. Если у автовладельца нет необходимых навыков ремонта электрики, то лучше воспользоваться услугами специалиста.

Шина CAN – Введение

Протокол CAN является стандартом ISO (ISO 11898) в области последовательной передачи данных. Протокол был разработан с прицелом на использование в транспортных приложениях. Сегодня CAN получил широкое распространение и используется в системах автоматизации промышленного производства, а также на транспорте.

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

Протокол CAN

Протокол CAN описан в стандарте ISO 11898–1 и может быть кратко охарактеризован следующим образом:

Физический уровень использует дифференциальную передачу данных по витой паре;

Для управления доступом к шине используется неразрушающее bit–wise разрешение конфликтов;

Сообщения имеют малые размеры (по большей части 8 байт данных) и защищены контрольной суммой;

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

Продуманная схема обработки ошибок, обеспечивающая повторную передачу сообщений, если они не были получены должным образом;
имеются эффективные средства для изоляции сбоев и удаления сбойных узлов с шины.

Протоколы более высоких уровней

Сам по себе протокол CAN определяет всего лишь, как малые пакеты данных можно безопасно переместить из точки A в точку B посредством коммуникационной среды. Он, как и следовало ожидать, ничего не говорит о том, как управлять потоком; передавать большое количество данных, нежели помещается в 8–байтное сообщение; ни об адресах узлов; установлении соединения и т.п. Эти пункты определяются протоколом более высокого уровня (Higher Layer Protocol, HLP). Термин HLP происходит из модели OSI и её семи уровней.

Протоколы более высокого уровня используются для:

Стандартизации процедуры запуска, включая выбор скорости передачи данных;

Распределения адресов среди взаимодействующих узлов или типов сообщений;

Определения разметки сообщений;
обеспечения порядка обработки ошибок на уровне системы.

Пользовательские группы и т.п.

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

Продукты CAN

На низком уровне принципиально различают два типа продуктов CAN, доступных на открытом рынке – микросхемы CAN и инструменты разработки CAN. На более высоком уровне – другие два типа продуктов: модули CAN и инструменты проектирования CAN. Широкий спектр данных продуктов доступен на открытом рынке в настоящее время.

Патенты в области CAN

Патенты, относящиеся к приложениям CAN, могут быть различных типов: реализация синхронизации и частот, передача больших наборов данных (в протоколе CAN используются кадры данных длиной всего лишь 8 байт) и т.п.

Системы распределённого управления

Протокол CAN является хорошей основой для разработки систем распределённого управления. Метод разрешения конфликтов, используемый CAN, обеспечивает то, что каждый узел CAN будет взаимодействовать с теми сообщениями, которые относятся к данному узлу.

Систему распределённого управления можно описать как систему, вычислительная мощность которой распределена между всеми узлами системы. Противоположный вариант – система с центральным процессором и локальными точками ввода–вывода.

Сообщения CAN

Шина CAN относится к широковещательным шинам. Это означает, что все узлы могут «слушать» все передачи. Не существует возможности послать сообщение конкретному узлу, все без исключения узлы будут принимать все сообщения. Оборудование CAN, однако, обеспечивает возможность локальной фильтрации, так что каждый модуль может реагировать только на интересующее его сообщение.

Адресация сообщений CAN

CAN использует относительно короткие сообщения – максимальная длина информационного поля составляет 94 бита. В сообщениях отсутствует явный адрес, их можно назвать контентно–адрессованными: содержимое сообщения имплицитно (неявным образом) определяет адресата.

Типы сообщений

Существует 4 типа сообщений (или кадров), передающихся по шине CAN:

Кадр данных (Data Frame);

Удаленный кадр (Remote Frame);

Кадр ошибки (Error Frame);

Кадр перегрузки (Overload Frame).

Кадр данных

Кратко: «Всем привет, есть данные с маркировкой X, надеюсь вам понравятся!»
Кадр данных – самый распространенный тип сообщения. Он содержит в себе следующие основные части (некоторые детали не рассматриваются для краткости):

Поле арбитража (Arbitration Field), которое определяет очередность сообщения в том случае, когда за шину борятся два или более узла. Поле арбитража содержит:

В случае CAN 2.0A, 11–битный идентификатор и один бит, бит RTR который является определяющим для кадров данных.

В случае CAN 2.0B, 29–битный идентификатор (который также содержит два рецессивных бита: SRR и IDE) и бит RTR.

Поле данных (Data Field), которое содержит от 0 до 8 байт данных.

Поле CRC (CRC Field), содержащее 15–битную контрольную сумму, посчитанную для большинства частей сообщения. Эта контрольная сумма используется для обнаружения ошибок.

Слот распознавания (Acknowledgement Slot). Каждый контроллер CAN, способный корректно получить сообщение, посылает бит распознавания (Acknowledgement bit) в конце каждого сообщения. Приемопередатчик проверяет наличие бита распознавания и, если таковой не обнаруживается, высылает сообщение повторно.

Примечание 1: Присутствие на шине бита распознавания не значит ничего, кроме того, что каждый запланированный адресат получил сообщение. Единственное, что становится известно, это факт корректного получения сообщения одним или несколькими узлами шины.

Примечание 2: Идентификатор в поле арбитража, несмотря на свое название, необязательно идентифицирует содержимое сообщения.

Кадр данных CAN 2.0B («cтандартный CAN»).

Кадр данных CAN 2.0B («расширенный CAN»).

Удаленный кадр

Кратко: «Всем привет, кто–нибудь может произвести данные с маркировкой X?»
Удаленный кадр очень похож на кадр данных, но с двумя важными отличиями:

Он явно помечен как удаленный кадр (бит RTR в поле арбитража является рецессивным), и

Отсутствует поле данных.

Основной задачей удаленного кадра является запрос на передачу надлежащего кадра данных. Если, скажем, узел A пересылает удаленный кадр с параметром поля арбитража равным 234, то узел B, если он должным образом инициализирован, должен выслать в ответ кадр данных с параметром поля арбитража также равным 234.

Удаленные кадры можно использовать для реализации управления трафиком шины типа «запрос–ответ». На практике, однако, удаленный кадр используется мало. Это не так важно, поскольку стандарт CAN не предписывает действовать именно так, как здесь обозначено. Большинство контроллеров CAN можно запрограммировать так, что они будут автоматически отвечать на удаленный кадр, или же вместо этого извещать локальный процессор.

Есть одна уловка, связанная с удаленным кадром: код длины данных (Data Length Code) должен быть установлен длине ожидаемого ответного сообщения. В противном случае разрешение конфликтов работать не будет.

Иногда требуется чтобы узел, отвечающий на удаленный кадр, начинал свою передачу как только распознавал идентификатор, таким образом «заполняя» пустой удаленный кадр. Это другой случай.

Кадр ошибки (Error Frame)

Кратко (все вместе, громко): «О, ДОРОГОЙ, ДАВАЙ ПОПРОБУЕМ ЕЩЁ РАЗОК»
Кадр ошибки (Error Frame) – это специальное сообщение, нарушающее правила формирования кадров сообщения CAN. Он посылается, когда узел обнаруживает сбой и помогает остальным узлам обнаружить сбой – и они тоже будут отправлять кадры ошибок. Передатчик автоматически попробует послать сообщение повторно. Наличествует продуманная схема счетчиков ошибок, гарантирующая, что узел не сможет нарушить передачу данных по шине путём повторяющейся отсылки кадров ошибки.

Кадр ошибки содержит флаг ошибки (Error Flag), который состоит из 6 бит одинакового значения (таким образом нарушая правило вставки битов) и разграничителя ошибки (Error Delimiter), состоящего из 8 рецессивных бит. Разраничитель ошибки предоставляет некоторое пространство, в котором другие узлы шины могут отправлять свои флаги ошибки после того, как сами обнаружат первый флаг ошибки.

Кадр перегрузки (Overload Frame)

Кратко: «Я очень занятой 82526 маленький, не могли бы вы подождать минуточку?»
Кадр перегрузки упоминается здесь лишь для полноты картины. По формату он очень похож на кадр ошибки и передается занятым узлом. Кадр перегрузки используется нечасто, т.к. современные контроллеры CAN достаточно производительны, чтобы его не использовать. Фактически, единственный контроллер, который будет генерировать кадры перегрузки – это ныне устаревший 82526.

Стандартный и расширенный CAN

Изначально стандарт CAN установил длину идентификатора в поле арбитража равной 11 битам. Позже, по требованию покупателей стандарт был расширен. Новый формат часто называют расширенным CAN (Extended CAN), он позволяет использовать не менее 29 бит в идентификаторе. Для различения двух типов кадров используется зарезервированный бит в поле управления Control Field.

Формально стандарты именуются следующим образом –

2.0A – только с 11–битными идентификаторами;
2.0B – расширенная версия с 29–битными или 11–битными идентификаторами (их можно смешивать). Узел 2.0B может быть

2.0B active (активным), т.е. способным передавать и получать расширенные кадры, или

2.0B passive (пассивным), т.е. он будет молча сбрасывать полученные расширенные кадры (но, смотрите ниже).

1.x – относится к оргинальной спецификации и её ревизиям.

В настоящее время новые контроллеры CAN обычно относятся к типу 2.0B. Контроллер типа 1.x или 2.0A прибудет в замешательство, получив сообщения с 29 битами арбитража. Контроллер 2.0B пассивного типа примет их, опознает, если они верны и, затем – сбросит; a контроллер 2.0B активного типа сможет и передавать, и получать такие сообщения.

Контроллеры 2.0B и 2.0A (равно, как и 1.x) совместимы. Можно использовать их все на одной шине до тех пор, пока контроллеры 2.0B будут воздерживаться от рассылки расширенных кадров.

Иногда люди заявляют, что стандартный CAN «лучше» расширенного CAN, потому что в сообщениях расширенного CAN больше служебных данных. Это необязательно так. Если вы используете поле арбитража для передачи данных, то кадр расширенного CAN может содержать меньше служебных данных, чем кадр стандартного CAN.

Основной CAN (Basic CAN) и полный CAN (Full CAN)

Термины Basic CAN и Full CAN берут начало в «детстве» CAN. Когда–то существовал CAN–контроллер Intel 82526, предоставлявший программисту интерфейс в стиле DPRAM. Потом появился Philips с моделью 82C200, в котором применялась FIFO–ориентированная модель программирования и ограниченные возможности фильтрации. Для обозначения различия между двумя моделями программирования, люди стали называть способ Intel – Full CAN, а способ Philips – Basic CAN. Сегодня большинство контроллеров CAN поддерживают обе модели программирования, поэтому нет смысла в использовании терминов Full CAN и Basic CAN – фактически, эти термины могут вызвать неразбериху и стоит воздержаться от их употребления.

В действительности, контроллер Full CAN может взаимодействовать с контроллером Basic CAN и наоборот. Проблемы с совместимостью отсутствуют.

Разрешение конфликтов на шине и приоритет сообщения

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

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

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

Поскольку, CAN–шина является шиной с подсоединением устройств по типу «монтажное И» (wired–AND) и доминантный бит (Dominant bit) является логическим 0, следовательно сообщение с самым низким в численном выражении полем арбитража выиграет в разрешении конфликта.

Вопрос: Что произойдет в случае, если единственный узел шины попытается отослать сообщение?

Ответ: Узел, разумеется, выиграет в разрешении конфликта и успешно проведет передачу сообщения. Но когда наступит время распознавания… ни один узел не отправит доминантный бит области распознавания, поэтому передатчик определит ошибку распознавания, пошлет флаг ошибки, повысит значение своего счетчика ошибок передачи на 8 и начнет повторную передачу. Этот цикл повторится 16 раз, затем передатчик перейдет в статус пассивной ошибки. В соответствии со специальным правилом в алгоритме ограничения ошибок, значение счетчика ошибок передачи не будет более повышаться, если узел имеет статус пассивной ошибки и ошибка является ошибкой распознавания. Поэтому узел будет осуществлять передачу вечно, до тех пор, пока кто–нибудь не распознает сообщение.

Адресация и идентификация сообщения

Повторимся, нет ничего страшного в том, что в сообщениях CAN нет точных адресов. Каждый контроллер CAN будет получать весь траффик шины, и при помощи комбинации аппаратных фильтров и ПО, определять – «интересует» его это сообщение, или нет.

Фактически, в протоколе CAN отсутствует понятие адреса сообщения. Вместо этого содержимое сообщения определяется идентификатором, который находится где–то в сообщении. Сообщения CAN можно назвать «контентно–адрессовнными».

Определённый адрес работает так: «Это сообщение для узла X». Контентно–адресованное сообщение можно описать так: «Это сообщение содержит данные с маркировкой X». Разница между этими двумя концепциями мала, но существенна.

Содержимое поле арбитража используется, в соответствии со стандартом, для определения очередности сообщения на шине. Все контроллеры CAN будут также использовать всё (некоторые – только часть) поле арбитража в качестве ключа в процессе аппаратной фильтрации.

Стандарт не говорит, что поле арбитража непременно должно использоваться в качестве идентификатора сообщения. Тем не менее, это очень распространенный вариант использования.

Примечание о значениях идентификатора

Мы говорили, что идентификатору доступны 11 (CAN 2.0A) или 29 (CAN 2.0B) бит. Это не совсем верно. Для совместимости с определенным старым контроллером CAN (угадайте каким?), идентификаторы не должны иметь 7 старших бит установленных в логическую единицу, поэтому 11–битным идентификаторам доступны значения 0..2031, а пользователи 29–битных идентификаторов могут использовать 532676608 различных значений.

Заметьте, что все остальные контроллеры CAN принимают «неправильные» идентификаторы, поэтому в современных системах CAN идентификаторы 2032..2047 могут использоваться без ограничений.

Физические уровни CAN

Шина CAN

Шина CAN использует код без возвращения к нулю (NRZ) с вставкой битов. Существуют два разных состояния сигнала: доминантное (логический 0) и рецессивное (логическая 1). Они соответствуют определенным электрическим уровням, зависящим от используемого физического уровня (их несколько). Модули подключены к шине по схеме «монтажное И» (wired–AND): если хотя бы один узел переводит шину в доминантное состояние, то вся шина находится в этом состоянии, вне зависмости от того, сколько узлов передают рецессивное состояние.

Различные физические уровни

Физический уровень определяет электрические уровни и схему передачи сигналов по шине, полное сопротивление кабеля и т.п.

Существует несколько различных версий физических уровней: Наиболее распространенным является вариант, определенный стандартом CAN, часть ISO 11898–2, и представляющий собой двухпроводную сбалансированную сигнальную схему. Он также иногда называется high–speed CAN.

Другая часть того же стандарта ISO 11898–3 описывает другую двухпроводную сбалансированную сигнальную схему – для менее скоростной шины. Она устойчива к сбоям, поэтому передача сигналов может продолжаться даже в том случае, когда один из проводов будет перерезан, замкнут на «землю» или в состоянии Vbat. Иногда такая схема называется low–speed CAN.

SAE J2411 описывает однопроводной (плюс «земля», разумеется) физический уровень. Он используется в основном в автомобилях – например GM–LAN.

Существуют несколько проприетарных физических уровней.

В былые времена, когда драйверов CAN не существовало, использовались модификации RS485.

Различные физические уровни как правило не могут взаимодействовать между собой. Некоторые комбинации могут работать (или будет казаться, что они работают) в хороших условиях. Например, приемопередатчики high–speed и low–speed могут работать на одной шине лишь иногда.

Абсолютное большинство микросхем приемопередатчиков CAN произведено компанией Philips; в число других производителей входят Bosch, Infineon, Siliconix и Unitrode.

Наиболее распространен приемопередатчик 82C250, в котором реализован физический уровень, описываемый стандартом ISO 11898. Усовершенствованная версия – 82C251.

Распространенный приемопередатчик для «low–speed CAN» – Philips TJA1054.

Максимальная скорость передачи данных по шине

Максимальная скорость передачи данных по шине CAN, в соответствии со стандартом , равна 1 Мбит/с. Однако некоторые контроллеры CAN поддерживают скорости выше 1 Мбит/с и могут быть использованы в специализированных приложениях.

Low–speed CAN (ISO 11898–3, см. выше) работает на скоростях до 125 кбит/с.

Однопроводная шина CAN в стандартном режиме может передавать данные со скоростью порядка 50 кбит/с, а в специальном высокоскоростном режиме, например для программирования ЭБУ (ECU), около 100 кбит/с.

Минимальная скорость передачи данных по шине

Имейте в виду, что некоторые приемопередатчики не позволят вам выбрать скорость ниже определенного значения. Например, при использовании 82C250 или 82C251 вы можете без проблем установить скорость 10 кбит/с, но если вы используете TJA1050, то не сможете установить скорость ниже 50 кбит/с. Сверяйтесь со спецификацией.

Максимальная длина кабеля

При скорости передачи данных 1 Мбит/с, максимальная длина используемого кабеля может составлять порядка 40 метров. Это связано с требованием схемы разрешения конфликтов, согласно которому фронт волны сигнала должен иметь возможность дойти до самого дальнего узла и вернуться назад прежде чем бит будет считан. Иными словами, длина кабеля ограничена скоростью света. Предложения по увеличению скорости света рассматривались, но были отвергнуты в связи с межгалактическими проблемами.

Другие максимальные длины кабеля (значения приблизительные):

100 метров при 500 кбит/с;

200 метров при 250 кбит/с;

500 метров при 125 кбит/с;
6 километров при 10 кбит/с.

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

Оконечное прерывание шины

Шина CAN стандарта ISO 11898 должна заканчиваться терминатором. Это достигается путем установки резистора сопротивлением 120 Ом на каждом конце шины. Терминирование служит двум целям:

1. Убрать отражения сигнала на конце шины.

2. Убедиться, что получает корректные уровни постоянного тока (DC).

Шина CAN стандарта ISO 11898 обязательно должна терминироваться вне зависимости от её скорости. Я повторю: шина CAN стандарта ISO 11898 обязательно должна терминироваться вне зависимости от её скорости. Для лабораторной работы может хватить и одного терминатора. Если ваша шина CAN работает даже при отсутствии терминаторов – вы просто счастливчик.

Заметьте, что другие физические уровни , такие как low–speed CAN, однопроводная шина CAN и другие, могут требовать, а могут и не требовать наличия оконечного терминатора шины. Но ваша высокоскоростная шина CAN стандарта ISO 11898 всегда будет требовать наличия хотя бы одного терминатора.

Кабель

Стандарт ISO 11898 предписывает, что волновое сопротивление кабеля номинально должно равнятся 120 Ом, однако допускается интервал значений сопротивления Ом.

Немногие, из присутствующих сегодня на рынке, кабели удовлетворяют этим требованиям. Есть большая вероятность, что интервал значений сопротивления будет расширен в будущем.

ISO 11898 описывает витую пару, экранированную или неэкранированную. Идёт работа над стандартом однопроводного кабеля SAE J2411.

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

История возникновения

Впервые понятие CAN-шина появилось в 80-х годах прошлого века. Тогда известная немецкая компания «БОШ» совместно с фирмой «Интел» разработала новый цифровой прибор для передачи данных, который назывался

Что она может?

Данная шина может соединить между собой все датчики, блоки и контроллеры, которые находятся в автомобиле. CAN может соединяться с иммоблайзером, системой SRS, ESP, электронным блоком управления двигателем, коробкой передач и даже подушками безопасности. Помимо этого, шина контактирует с датчиками подвески, и климат-контроля. Соединяются все эти механизмы в дуплексном режиме со до 1 Мбит/ с.

CAN-шина: описание и особенности прибора

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

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

Немаловажным является то, что данный инструмент может предопределять неполадки в функционировании оборудования машины и в некоторых случаях устранять их. Он практически не поддается воздействиям помех и имеет хорошую изоляцию контактов. CAN-шина имеет очень непростой алгоритм работы. Данные, которые передаются через нее битами, мгновенно превращаются в кадры. В качестве проводника информации служит 2-проводная витковая пара. Также существуют изделия из оптоволокна, однако они менее эффективны в эксплуатации, поэтому не так сильно распространены, как первые варианты. Реже всего встречается CAN-шина, передающая информацию через радиоканал или

Функциональность и быстродействие

Чтобы повысить быстродействие данного устройства, производители часто укорачивают длину их проводов. Если суммарная длина шины будет составлять менее 10 метров, скорость передачи информации возрастет до 2 мегабит за секунду. Обычно на такой скорости механизм передает данные с 64 электронных датчиков и контроллеров. Если же к шине подключено большее количество устройств, создается несколько цепей для приема и передачи информации.

CAN шина представляет собой интерфейс, использующийся для более упрощенного управления транспортным средством. Это обеспечивается благодаря обмену данными между разными системами, передача информации производится в зашифрованном виде.

[ Скрыть ]

Где находится CAN-шина?

Модуль CAN в машине являет собой сеть датчиков и контроллеров, которые предназначены для объединения всех управляющих устройств в одну систему.

Эта автомобильная технология используется как колодка, с которой можно соединять следующие управляющие блоки:

  • «сигналки» — к противоугонной системе может подключаться модуль автоматического запуска двигателя;
  • антиблокировочной системы «АБС»;
  • механизмов безопасности, в частности, подушек и их датчиков;
  • системы управления силовым агрегатом автомобиля;
  • приборной комбинации;
  • системы круиз-контроля;
  • кондиционера и отопительного узла;
  • системы управления автоматической трансмиссией и т. д.

CAN-модуль — это устройство, место монтажа которого может отличаться производителем транспортного средства.

Если неизвестно, где расположен интерфейс, этот момент уточняется в сервисной документации к авто, он обычно устанавливается:

  • под капотом автомобиля;
  • в салоне транспортного средства;
  • под контрольной комбинацией.

Технические характеристики

Описание основных свойств системы диагностики и анализа CAN:

  • общая скорость технологии при передаче пакетных данных варьируется в районе 1 мб/с;
  • если информация передается между блоками управления, то скорость отправки составит около 500 кб/с;
  • при функционировании устройства в режиме «Комфорт» передача данных осуществляется при 100 кб/с.

Назначение и функции кан-шины

Если правильно устанавливать и выполнять подсоединение проводов к интерфейсу, то можно обеспечить следующие опции:

  • уменьшение параметра воздействия внешних помех на функционирование основных и дополнительных механизмов и узлов;
  • возможность выполнить соединение и настраивать любые электронные приборы, в том числе охранные комплексы;
  • простой принцип подключения и функционирования дополнительных электронных устройств и приборов, которые имеются в авто;
  • более быстрая процедура передачи информации на определенное оборудование и механизмы авто;
  • возможность отправки и получения цифровых данных одновременно, а также анализ информации;
  • оперативная настройка и подключение опции дистанционного пуска ДВС.

Подробнее о назначении и общих характеристиках CAN-модуля рассказал канал «Crossover 159».

Устройство и принцип работы

По конструкции данный интерфейс выполнен в виде модуля в пластмассовом корпусе или колодки для подсоединения проводников. Цифровая шина включает в себя несколько кабелей CAN. Подключение этого устройства к бортовой сети осуществляется посредством одного проводника.

Шина работает по принципу отправки данных в закодированном виде. Каждое передающееся сообщение обладает специальным уникальным идентификаторов. Может быть информация: «скорость передвижения авто составляет 50 км/ч», «температура охлаждающей жидкости 90 градусов Цельсия» и т. д. При отправке сообщений все электронные блоки получают данные, проверяющиеся идентификаторами. Если информация имеет отношение к определенному модулю, то она обрабатывается, если нет — то игнорируется.

В зависимости от модели, длина идентификатора интерфейса может быть 11 или 29 бит.

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

Работа CAN-шины возможна в нескольких режимах:

  1. Автономный, фоновый или спящий. При включении данного режима все основные агрегаты и узлы выключены и двигатель не заведен. На шину все равно подается напряжение от бортовой сети. Его значение небольшое, что дает возможность не допустить разряда АКБ.
  2. Пробуждение или запуск интерфейса. В данном режиме устройство начинает работу, это происходит при включении системы зажигания. Если автомобиль оснащен клавише Старт/Стоп, то CAN-шина начинает работу при ее нажатии. Производится включение функции стабилизации напряжения, в результате чего питание начинает поступать на контроллеры и датчики.
  3. Включение активного режима приводит к началу процесса обмена информацией между исполнительными механизмами и регуляторами. Величина напряжения в сети возрастает, так как шина может потреблять до 85 мА тока.
  4. Режим отключения или засыпания. При остановке двигателя автомобиля все агрегаты и механизмы, подключенные по CAN-интерфейсу, выключаются. Питание на них перестает подаваться.

Пользователь Valentin Belyaev подробно рассказал о принципе действия цифрового интерфейса.

Преимущества и недостатки

Если автомобиль оснащен цифровым интерфейсом, это обеспечивает следующие плюсы:

  1. Простота монтажа сигнализации на транспортное средство. Наличие CAN-шины в авто позволяет обеспечить более быстрый и упрощенный алгоритм подключения охранной системы.
  2. Высокая скорость отправки информации между агрегатами и системами, что обеспечивает быстродействие узлов.
  3. Хорошая устойчивость к воздействию помех.
  4. Все цифровые интерфейсы имеют многоуровневую систему контроля. Благодаря этому можно не допустить образования ошибок при отправке и приеме информации.
  5. Цифровой интерфейс, работая в активном режиме, выполняет разброс скорости по различным каналам самостоятельно. Благодаря этому все системы работают максимально оперативно.
  6. Безопасность CAN-шины. При попытке получения несанкционированного доступа к автомобилю система может произвести блокировку узлов и агрегатов.
  1. Некоторые системы обладают ограничениями по объему передающейся информации. Если автомобиль сравнительно новый и оборудован разными электронными устройствами, это приводит к росту нагрузки на канал передачи данных. В результате время отклика увеличивается.
  2. Большинство передающейся информации по цифровому интерфейсу имеет определенное назначение. На полезные данные в системе предусмотрена небольшая часть трафика.
  3. Возможна проблема отсутствия стандартизации. Это часто происходит при применении протоколов высших уровней.

Разновидности и маркировка

По типу идентификаторов такие устройства делятся на два вида:

  1. CAN2, 0A. Это маркировка интерфейсов, которые могут работать в 11-битном формате передачи информации. Данная разновидность устройств не в состоянии определять ошибки импульсов от блоков, которые работают с 29 бит.
  2. CAN2, 0B. Это маркировка шин, работающих в формате 11 бит. Основная особенность заключается в возможности передачи информации на блоки управления при выявлении 29-битного идентификатора.

В зависимости от области применения, шины разделяются на три класса:

  1. Для двигателя транспортного средства. При подключении шины обеспечивается максимальная скорость передачи данных и связи между управляющими устройствами. Отправка информации осуществляется по дополнительному каналу. Основное назначение состоит в синхронизации работы микропроцессорного модуля с другими системами. К примеру, антиблокировочным узлом колес, трансмиссией и т. д.
  2. Цифровые интерфейсы класса Комфорт. Этот класс шин предназначен для взаимодействия с любыми устройствами данного типа. Интерфейс используется для работы с системами электронного изменения положения электрозеркал, узла обогрева кресел, управления люком и т. д.
  3. Информационно-командные устройства. Они характеризуются аналогичной скоростью при отправке данных. Такие шины обычно применяются для связи между системами, которые требуются для обслуживания автомобиля.

Канал «Diyordie» рассказал о назначении цифрового интерфейса, а также о его разновидностях в автомобиле.

Подключение сигнализации своими руками

Чтобы подключить охранный комплекс к цифровому интерфейсу, надо знать место установки микропроцессорного модуля управления сигнализаций. Это устройство устанавливается под приборной комбинацией машины. Возможен монтаж блока за вещевым ящиком или аудиосистемой.

Необходимые приборы и инструменты

Предварительно надо подготовить:

  • тестер для проверки напряжения - мультиметр;
  • изоленту;
  • отвертку с крестовым наконечником.

Пошаговая инструкция

Установка выполняется так:

  1. Приступая к задаче, надо убедиться в работоспособности противоугонного комплекса. В случае, когда монтаж системы не был выполнен, надо подключить все устройства к блоку управления, а его — к аккумулятору.
  2. Производится поиск основного кабеля, который идет на цифровой интерфейс. Этот провод всегда толстый и обычно имеет оранжевую оболочку.
  3. Микропроцессорный модуль противоугонной системы надо подключить к этому проводнику. Для осуществления задачи применяется колодка цифровой шины.
  4. Если блок управления охранной системы не был установлен, производится его монтаж. Он должен быть размещен в скрытом месте, не подверженном воздействию влаги. При монтаже модуль надежно фиксируется с помощью пластиковых стяжек или саморезов.
  5. Все места соединения проводов надо заизолировать с применением термоусадочных трубок либо изоленты. После подключения производится диагностика выполненных действий. Если возникли проблемы, надо воспользоваться мультиметром для поиска поврежденного участка.
  6. На последнем этапе необходимо произвести проверку и настройку всех каналов передачи данных. Если имеются дополнительные каналы, они также настраиваются.

Канал «Гаражный любитель» подробно рассказал об установке и подключении противоугонного комплекса Старлайн с CAN-шиной.

Работа с терминалом

Варианты настройки

Если используется терминал, есть два варианта настроить работу интерфейса:

  1. С помощью специальной программы «Конфигуратор» для компьютера. При запуске утилиты надо перейти во вкладку «Настройки» и выбрать пункт CAN. В открывшемся окне указываются необходимые параметры.
  2. Используя команды «CanRegime». Обычно этот вариант применяется для дистанционной настройки с использованием СМС-сообщений. Могут применяться команды, которые отправляются из программного обеспечения для мониторинга.

Подробнее о командах, которые указываются после CanRegime:

  1. Mode — определяет режим функционирования. Если показана цифра 0 — то цифровой интерфейс отключен, если 1 — используется стандартный фильтр. Цифры 2 и 3 указывают на принадлежность пакетов к 29- либо 11-битному классу.
  2. BaudRate. Команда предназначена для определения скорости работы цифрового интерфейса. Важно, чтобы этот параметр соответствовал скорости передачи информации в авто.
  3. TimeOut — определяет время ожидания для каждого сообщения. Если полученная величина слишком низкая, то цифровой интерфейс сможет отловить не все передающиеся сообщения.

Режимы работы

Существует несколько режимов функционирования терминала:

  1. FMS — в нем автовладелец может узнать общий расход горючего, обороты, пробег транспортного средства, нагрузку на оси, температуру силового агрегата. Допускается получение данные об объеме горючего в баке. Для работы в данном режиме выполняется вход в меню выбора типа фильтров программы «Конфигуратор». Указывается тип режима FMS, скорость цифрового интерфейса, после чего нажимается кнопка «Применить».
  2. Режим прослушки используется для получения сообщений, передающий через цифровой интерфейс. Чтобы работать с ним, надо зайти в программе в настройки шины CAN и выбрать один из рабочих параметров. Это может быть скорость интерфейса или время ожидания, тип фильтра в данном случае не играет роли. После указания параметров «кликается» клавиша «Прослушать».
  3. Для привязки информации, полученной посредством прослушивания цифрового интерфейса, используются пользовательские фильтры. После прослушки данных надо выбрать тип фильтрующей технологии (для 11 или 29 бит). Расшифровка данных производится в соответствии с технической документацией.
  4. Режим тестирования OBD2 используется для сканирования скорости отправки информации, а также класса идентификатора. Чтобы запустить эту функцию, автовладельцу надо подключиться напрямую к цифровому интерфейсу или . Включение режима осуществляется посредством входа в меню «Настройка» и выбора опции «Тест OBD2». В результате терминалом начнется отправка запросов с конкретными идентификаторами на различных скоростях интерфейса. Во вкладке «Устройство» можно ознакомиться с извлеченной и расшифрованной информацией.

Настройка мониторингового ПО

После успешного подключения терминала надо произвести диагностику правильности отправки информации. Эти данные передаются на сервер мониторинга.

Отображение информации в системе сервера мониторинга

Скачать бесплатно инструкцию по установке и пользованию в формате PDF

Загрузить сервисное руководство по монтажу и эксплуатации по ссылкам в таблице.

Можно ли сделать анализатор своими руками?

Для выполнения этой задачи автовладелец должен иметь профессиональные навыки в области электроники:

  1. Сборка устройства производится по схеме, представленной на первом фото в галерее. Предварительно нужно купить все детали, необходимые для изготовления. Основным компонентов является плата STM32F103С8Т6, оснащенная контроллером. Также потребуется электрическая схема стабилизатора и CAN-трнасивер. Можно использовать устройство МСР2551 или другой аналог.
  2. Если требуется сделать анализатор более технологичным, в него можно добавить модуль Bluetooth. Благодаря этому автовладелец может сохранять важную информацию в память смартфона.
  3. Для программирования анализатора используется любое подходящее для этого программное обеспечение. Согласно отзывам, оптимальный вариант - утилиты Arduino или CANHacker. Во второй утилите есть больше опций и имеется функция фильтрации информации.
  4. Чтобы произвести прошивку, понадобится преобразователь USB-TTL. Это устройство требуется для отладки, при его отсутствии можно использовать ST-Link.
  5. После загрузки утилиты на компьютер основной файл с расширением ЕХЕ прошивается в блок с применением программатора. Если процедура выполнена успешно, то надо дополнительно установить перемычку на Bootloader. Собранное устройство надо синхронизировать с компьютером, используя USB-провод.
  6. Следующим этапом будет добавление прошивки в анализатор. Для выполнения задачи потребуется утилита MPHIDFlash.
  7. После успешного обновления программы кабель от компьютера отключается и снимается перемычка. Выполняется установка драйверов. Если сборка выполнена корректно, то при подключении к ПК анализатор будет определяться в качестве СОМ-порта.

Фотогалерея

Фото схем для самостоятельного изготовления анализатора приведены в этом разделе.

Сколько стоит?

Примерные цены на покупку КАН-устройств приведены в таблице.

Видео «Работа с CAN-шиной»

Канал «CAN-Hacker Automotive Data Bus Sollutions» показал способ работы с цифровым интерфейсом на примере автомобиля Рено Каптюр.

Сегодня я хочу познакомить вас с интересной микроконтроллерной платформой CANNY . Это обзорная статья в которой вы узнаете о технологии, а в последующих статьях я расскажу вам о работе с сообщениями CAN, интеграции CANNY c Arduino Mega Server и о тех возможностях, которые предоставляет эта связка.

Почему CANNY? От названия шины CAN, которая широко используется на транспорте и, в частности, во всех современных автомобилях в качестве бортовой сети. Итак, что же можно сделать, имея специализированный контроллер, подключённый к CAN шине вашего автомобиля?

Шина CAN

Образно говоря, шина CAN это нервная система вашего автомобиля. По ней передаётся вся информация о состоянии блоков и систем, а также управляющие команды, которые во многом определяют поведение автомобиля. Зажигание фар, открывание и закрывание дверей, управление проигрыванием музыки в салоне машины, срабатывание сигнализации и т. д. - всё это работает и управляется по этой шине.

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

Контроллеры CANNY

Это целое семейство специализированных контроллеров, имеющих встроенную «родную» поддержку работы с шиной CAN. Это касается как «железной» части, так и поддержки на уровне «софта».

Флагманом линейки является контроллер CANNY 7, наиболее мощный и имеющий максимум возможностей. Большое количество памяти, мощные выходы, позволяющие напрямую управлять реле автомобиля, интеллектуальная система защиты от коротких замыканий, защита от бросков тока и напряжения в бортовой сети автомобиля - всё это делает этот контроллер отличным решением для воплощения любых ваших идей и проектов.

Кроме CANNY 7 в линейке контроллеров присутствует ещё несколько моделей, мы будем проводить свои эксперименты с более простой встраиваемой моделью CANNY 5 Nano. Она также поддерживает работу с CAN шиной, но при этом похожа на уже знакомую нам Arduino Nano.

Визуальное программирование

Развитая поддержка шины CAN это не единственная особенность этих контроллеров, кроме этого CANNY имеют свою собственную среду программирования, CannyLab, но не «обычную», а визуальную, где весь процесс написания программ сводится к манипулированию готовыми структурными блоками, заданию их параметров и соединению входов и выходов этих блоков в определённой последовательности, в соответствии с алгоритмом решаемой задачи.

Ни одной строчки кода!

Хорошо это или плохо? На мой взгляд, это дело привычки. Мне, как человеку привыкшему к «традиционному» программированию, было непривычно манипулировать блоками, вместо написания строк кода. С другой стороны, существует множество приверженцев именно такого подхода к составлению алгоритмов и считается, что для инженеров и «не программистов» это наиболее простой и доступный метод программирования микроконтроллеров.

Мне, как минимум, было «прикольно» составлять программы таким образом и через некоторое время мне это стало даже нравиться. Возможно, что если продолжить этим заниматься, то через некоторое время уже написание кода покажется неудобным.

CannyLab является бесплатной средой разработки и вы можете свободно скачать её с сайта разработчиков, она также не требует специальной процедуры инсталляции - достаточно распаковать файл с архивом - и вы можете начинать работу.

Подключение

Подключение CANNY 5 Nano к компьютеру мало чем отличается от подключения контроллеров Arduino. При наличии в системе драйвера Silicon Labs CP210x, либо после его установки из скаченного дистрибутива CannyLab, Windows создаёт виртуальный COM порт и CANNY готов к работе. В моём случае понадобилось ещё перезагрузить компьютер, но возможно это особенность моей системы.

Практические примеры

Давайте на простых примерах разберём, как в CannyLab выполнять действия, привычные нам в Arduino IDE. Начнём с традиционного мигания светодиодом.

В контроллере CANNY 5 на выводе С4 (Channel 4) присутствует тестовый светодиод (аналог светодиода, находящегося на 13 выводе в Arduino). И его тоже можно использовать для индикации и экспериментов, чем мы и воспользуемся.

Что же нужно, чтобы помигать светодиодом в контроллере CANNY? Нужно сделать всего две вещи - сконфигурировать пин четвертого канала как выход и подать на этот выход сигнал с ШИМ генератора. Все эти действия мы уже не раз проделывали в Arduino IDE, посмотрим как это выглядит в CannyLab.

Итак, конфигурируем пин четвертого канала как выход

Настраиваем генератор ШИМ. Задаём период 500 миллисекунд, заполнение - 250 миллисекунд (то есть 50 %) и 1 (true) на входе генератора «Старт» и… всё! Больше ничего делать не нужно - программа готова, осталось только залить её в контроллер.

Режим симуляции

Тут нужно сказать пару слов о процессе симуляции на компьютере работы контроллера и заливке разработанной программы в память «железного» контроллера.

Среда разработки CannyLab позволяет запускать и отлаживать программу, не записывая её в память контроллера. В режиме симуляции вы можете видеть результат работы программы прямо в реальном времени и даже вмешиваться в её работу.

Заливка в контроллер

Для работы контроллеров CANNY, перед заливкой программы (в терминологии разработчиков «диаграммы») нужно сначала залить операционную систему «Устройство/Системное ПО/Записать». Это нужно сделать только один раз, для этого нужно выбрать соответствующий вашему контроллеру файл с расширением .ccx .

После того, как программа написана и отлажена, её можно загрузить в ваш контроллер. Это делается просто - в меню выбираете пункт «Устройство/Диаграмма/Записать» и через несколько секунд программа оказывается записанной в контроллер.

Аналоговые входы

Для того, чтобы лучше понять принцип программирования контроллеров CANNY в среде разработке CannyLab, давайте ещё разберём пример работы с аналоговым входом в этой системе.

Мы будем отслеживать уровень напряжения на 10 пине контроллера и если он находится в диапазоне 2,5 В ± 20%, будем зажигать встроенный в плату светодиод.

Как и в предыдущем примере, конфигурируем 4-й пин как выход для того, чтобы иметь возможность управлять работой светодиода.

Включаем АЦП на 10-м канале.

Блок «Логическое И» довершает работу и со своего выхода управляет работой светодиода на плате.

Вот и всё. То, что мы привычно делали на Arduino, мы легко сделали в CannyLab. Осталось только освоиться в этой среде программирования и вы сможете легко и непринуждённо создавать свои проекты на этой платформе.

Эти простые примеры составления программ даны для того, чтобы вы могли понять принцип визуального программирования микроконтроллеров CANNY. В дальнейшей работе вам поможет отличная справочная документация и поддержка разработчиков на сайте и форуме системы.

Случайные статьи

Вверх