Руководство по can bus

Настройка CANBUS

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

Canbus Box

Raise(RZC)

Hiworld(HW)

Xinbas(XBS)

Binary(BNR)

Simple Soft(XP)

Выбор модели

Что такое канбус в головном устройстве автомобиля

Главная / CAN BUS в автомобиле: для чего он нужен.

CANBUS Decoder

CAN BUS в автомобиле: для чего он нужен.

В настоящее время авто производители все чаще и чаще добавляют различные новшества и улучшения в свои автомобили. Это могут быть дополнительные устройства, или расширение функционала уже ранее используемых устройств. Для того, чтобы не прокладывать новую проводку к подключаемому устройства, его подключают уже к имеющимся сигнальным/управляющим проводам, так называемой Кан-шине (Can Bus).

Немецкая компания BOSCH в середине 80-х предложила автопроизводителям новую архитектуру обмена данными между устройствами — Controller Area Network или, как принято сокращенно называть — CAN BUS. Это новшество решило сразу несколько проблем. Во-первых, значительно сократилось использование количества проводов в автомобиле, общая длинна которых уже приближалась к километру, а вес к центнеру. А во-вторых, облегчило подключение новых устройств без значительных переделок в автомобиле.

Конечно же, производители магнитол не упустили возможности использовать этот дополнительный потенциал CAN шины и в своих продуктах. Как правило, если в автомобиле присутствует CAN BUS, то необходимо использовать автомагнитолу со встроенным декодером сигналов от этой шины. В противном случае, пользователь может столкнуться с рядом существенных проблем, при подключении обыкновенной магнитолы. В частности не будет работать штатный цифровой усилитель (KIA, JBL, Pioneer, Rockford, BOSE), т.к. управление этими усилителями (включение, баланс, управление звуковыми сценами) происходит посредством передачи данным по CAN шине. Не будет работать камера заднего вида, кнопки управления на руле, трип-компьютер (отображает запас хода, расход топлива, скорость, режимы работы автомобиля и т.п.), не будет отображаться информация на экране магнитолы о состоянии парковочных датчиков, режиме работы кондиционера и прочее. Еще одной из проблем может стать разрядка АКБ автомобиля вследствие постоянно включенной автомагнитолы, т.к. сигнал на включение/выключение головного устройства так же может поступать по этой шине.

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

Поэтому, приобретая новое мультимедийное головное устройство, убедитесь, совместимо ли оно с Вашим автомобилем. В случае отсутствия CAN BUS в автомобиле, Вам подойдет любая универсальная (через переходную рамку) или штатная автомагнитола. Если же в автомобиле присутствует CAN BUS, то нужно будет докупать отдельные декодеры кан-шины (питания АСС, декодер камеры, рулевого управления и т.д.), либо приобрести автомагнитолу с уже установленным декодером CAN BUS.

Источник

Canbus в магнитоле с Алиэкспресс: что это такое, как работает

19.04.2020 3,499 Просмотры

Функционал автомобиля уже давно не ограничивается лишь транспортировкой. Сегодня автомобиль – это не просто средство передвижения, а полноценный комфортабельный и высокотехнологичный продукт с множеством дополнительных функций.

Однако большинство автомобилистов при расширении функционала своего автомобиля сталкиваются с множеством неудобств.kwaaageytua 1920

Что же собственно такое этот CanBus?

CanBus – новая архитектура обмена данными между устройствами, которую сегодня можно заказать на Алиэкспресс. И как раз с алиэкспресс может прийти магнитола, производители которой не упустили шанс воспользоваться дополнительным потенциалом, который дает Can BUS.

Если машина оснащена устройством Кан-шины, то магнитолу необходимо приобретать со встроенным декодером, так как иначе вы рискуете столкнуться с множеством проблем при установке. Например, у вас не будет функционировать штатный цифровой усилитель (JBL, Pioneer, Rockford). Также возможны и проблемы с рядом других функций в вашем автомобиле.9294255s 1920

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

canbus adapter dlya ustanovki v nekotorye modeli vw magnitol dv a p n 16979

Более того, если вы считаете, что обычный соединитель – это слишком скучно, то вы можете порадовать себя примерно таким же адаптером, но только серии Professionals. Данная серия примечательна наличием подсветки. Однако за подсветку, естественно, придется немного доплатить.

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

Источник

Подключение китайской магнитолы к ISO и CAN-шине(VAG).

tXjGxFlvXw8gF3NxGGJW1RgNbEI 100

Изначально писал для владельцев VW Jetta 6 нижегородской сборки, где в штатном разъеме нет CAN шины. Но мне пишут владельцы разных ВАГов (и даже не ВАГов, непонятно зачем), и мои посты еще никогда не набирали 48к просмотров, видимо проблема актуальна). Пост будет дополняться, поправки приветствуются. Если есть полезная инфо в других БЖ — сделаю ссылки, пишите.
Многие владельцы VAG сейчас ставят китайские магнитолы с поддержкой CAN, но в машине зачастую есть только ISO разъемы и CAN шина к ним не подведена. В моем случае это Isudar на андроиде aliexpress.ru/item/32557021060.html Инструкций по массе проводов и разъемов, которые шли с магнитолой, не было. В интернете по этой модели тоже ничего нет. Продавец на связи, но он не производитель и мало что понимает в теме. Перед тем, как заказать магнитолу, обязательно свяжитесь с продавцом для уточнения платформы и комплектации авто, чтобы он вложил все нужные переходники и правильный декодер. Итак, CAN не было в магнитоле с завода, имеем только два ISO разъема:

5IAAAgBSw A 960

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

7IAAAgEvleA 960

HAAAAgLPleA 960

Зачем нам магнитола, включенная в CAN сеть?
1) Задняя камера будет включаться правильно. Не надо будет подключаться к заднему фонарю = не будет проблем с импульсным контролем ламп.
2) На экран будет выводиться информация о точном количестве топлива, открытых дверях, непристегнутых ремнях, включении ручника, скорости, напряжении батареи, температуре за бортом, о работе климат-контроля, датчиках давления шин, парктрониках и т.д. (при наличии всего этого на авто)
3) Подсветка экрана будет приглушаться при включении фар
Для кого-то не очевидно, поэтому сразу скажу, что управление с магнитолы оборудованием авто невозможно Исключение — ГУ Teyes с огромным экраном и ценой, в котором ваш блок управления климатом заменяется на встроенный в ГУ, дабы увеличить экран вытеснив блок климата. Но мне пока не понятно, как зависший от мороза дисплей будет управлять печкой.
Итак, мы хотим подключиться к CAN — сети. Пора разобраться с терминами.
CAN — Controller Area Network — сеть контроллеров-блоков, связанных между собой витой парой проводов CAN bus. Именно витой парой, для уменьшения помех. Рекомендую также скручивать свои провода, которыми подключаетесь к CAN bus.
Многие непонятно почему называют декодер канбасом или канбусом. Некоторые даже убеждают что это правильное название, а декодером его зовут только китайцы)) Так вот, bus по английски — автобус шина. CAN bus = CAN — шина. CAN bus это сама шина, а не декодер! Это локальная сеть в авто. По CAN- шине контроллеры зависают в чатах всем сразу рассылают сообщения, а те контроллеры, которым они адресованы, их получают. В машине не одна CAN-шина. Быстрая шина (до 500кб/с) управляет двигателем, airbag, тормозами и прочими ответственными системами, на ВАГах это витая пара из оранжевого с ЧЕРНОЙ полосой и оранжевого с коричневой полосой проводов (лучше не трогать!). Есть еще медленные (до 100 кб/с) информационно-командная шина и шина комфорта, которые теперь объединены в одну шину комфорта. Разные шины общаются меж собой (и с нами по OBDII) через интерфейс Gateway. Нас интересует шина комфорта, на всех ВАГах это витая пара из оранжевого с зеленой полосой (CAN high) и оранжевого с коричневой полосой (CAN low) проводов.

w4AAAgBSw A 960

Еще одно заблуждение: CAN low это не минус! CAN high и CAN low это два плюса, зеркальные отражения сигналов друг друга. Насколько на одном повышается напряжение при сигнале, настолько же на другом понижается. Так сделано для большей надежности, при обрыве одного провода или замыкании, такая сеть будет выполнять свои функции точно так же, просто перейдет в аварийный режим и выдаст соответствующую ошибку.
Но чтобы магнитола понимала сообщения CAN шины, нам нужен свой контроллер — CAN bus decoder, он либо встроен в магнитолу или внешний блок комфорта (штатные ГУ) либо идет с магнитолой в отдельной коробочке с кучей адаптеров для универсальности (китайское ГУ). Если декодера не было в комплекте, нужно попросить продавца его выслать вместе с адаптером под ISO-разъемы.

poAAAgBSw A 960

Декодер читает сообщения CAN-шины и посылает команды на MCU магнитолы по паре Rx/Tx, (R-receive, T-transfer) он также подает сигналы по проводам ACC/ILL в магнитолу, которые в варианте без CAN приходят из ISO напрямую.
Подключиться к CAN шине комфорта можно в любом месте, где она есть: у блока Gateway, у блока климат-контроля, в косе проводов водительской двери.
У блока Gateway можно подключиться, вставив дополнительные пины в разъем блока. 10-й пин — CAN low, 20-й пин — CAN high. Примеры подключения смотрите тут или тут
На новых машинах есть возможность подключиться к CAN в разъеме Эра-ГЛОНАСС, смотрите тут
У меня есть климат, мне было проще подключиться к шине у разъема его блока.
Снимаем блок климата, вынимаем из самого большого разъема (справа) красную защелку и выдергиваем разъем, чтоб удобней было паять. Я клеммы с аккумулятора не сдергивал, вы — как хотите.

XoAAAgCvleA 960

В этом разъеме ищете витую пару CAN-шины комфорта. Как писал выше, на всех ВАГах это витая пара из двух оранжевых проводов. Оранжевый с зеленой полосой — CAN high, оранжевый с коричневой — CAN low.

Припаеваем к ним наши провода так, чтобы через все разъемы и адаптеры оранжевый провод с зеленой полосой соединить с CAN high декодера, а оранжевый с коричневой полосой — с CAN low декодера.

CoAAAgBSw A 960

Куда подключить нашу витую пару в декодере? Распиновка китайских декодеров примерно одинаковая:

EgAAAgMvleA 960

Нам интересны только 3 пары пинов:
— CAN high/CAN low — вход CAN шины, то что нам нужно.
— ACC/ILL — с этих пинов декодер в магнитолу подает сигналы ACC/ILL (писал выше)
— Rx/Tx — с этих пинов декодер подает команды на MCU магнитолы.
Почти все проблемы с включением магнитолы и отсутствием CAN инфо связаны с неправильным подключением проводов к этим пинам или с неисправным декодером.
Для тех, у кого CAN-шина и ISO есть в квадлок-разъеме с завода:

RQAAAgIvM A 960

Бывает такое, что китайцы путают местами ACC+ и BAT+ в переходниках. Надо менять местами. Бывает такое, что некоторые ГУ не успевают распознать короткую паузу по питанию, когда заводите двигатель и ГУ каждый раз перезагружается. Тут уж к производителю, или задержки какие-то самодельные паять.
С CAN bus разобрались. Теперь задняя камера. Видеосигнал камеры втыкаем в разъем «Rear camera in» а красный проводок на кабеле припаиваем к розовому проводу «reverse» с одной стороны (на нем появляется +12V при включении задней передачи) и к плюсу камеры с другой стороны, минус камеры — на массу.

tIAAAgBSw A 960

biAAAgBvleA 960

Источник

Установка Автомагнитолы + CAN BUS + Задняя камера.

c1e798cs 100

Статья постоянно изменяется и дополняется по мере поступления новой информации!
Как говорить делать нечего поэтому готов выложить все в едином бортовике может кому сгодиться. Так как сам искал эту информацию из разных источников. И собирал как говориться по крупицам.

Советую для начала прочитать это
www.autodela.ru/assets/fi…ina_dannih_%20CAN%20I.pdf дабы понимать дальше о чем речь.

И так речь идет об установки Автомагнитолы в целом но на примере VW POLO.

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

15d9f6as 960

a619f6as 960

Ну и со стороны магнитолы обычно вот такой кусок провода

b3c6c04s 960

70b5921s 960

И со стороны магнитолы вот сам CAN адаптер.

1d06c04s 960

adc6c04s 960

e5cd2eas 960

но она немного может различаться. В нашем случае это не существенные отличия так как интересуют только основные 4 провода.

И так на polo бывают несколько случаев. Есть три комплектации трейдлайн, комфорд, и хайдлайн. (не важно если не правильно произнес).

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

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

Первый когда устанавливаем обычную магнитолу в которой нету CAN адаптера то есть через подключение к ISO разьему. Для этой магнитолы нужны вот эти провода.

2. ACC питание. оно нужно как сигнальное при включении ключа зажигания в положение ACC (это положение в поло появляется при включении зажигания а в других авто может быть первое положение ключа до включения зажигания. Но в поло режим ACC включаеться в момент включения зажигания и сохраняеться до момента вынимания ключа из замка. Необходимо это питание для активации (включения ) магнитолы и выключения ее при выключения ACC. Это удобно, сел в машину включил ключ, магнитола включилась. Вынул ключ магнитола вырубилась. Все автоматически. Можно конечно и не использовать этот провод. Например соеденить это провод с основным питанием но тогда прийдется выключать магнитолу вручную кнопкой ну и выключать также. Это жутко не удобно. Но подходит тем кто часто включает магнитолу без участия ключа. Кстати штатная магнитола RCD 220 может включаться и без ACC кнопкой питания. Но работает она тогда только час и потом отключается. Это сделано как защита от склероза. Но эта функция работает только если подведен специальный контакт от центрального блока (не буду заострять на этом внимание)
В общем провод ACC поидее красный чуть тоньше чем основное питание но бывают и желтые. Данного провода может не быть в колодке подключения магнитолы. Так как этот сигнал может быть заменен сигналом из той самой CAN шины. Если у вас его нет (например у вас подключение с использованием CAN шины) а вы устанавливаете магнитолу в которой нету CAN шины то вам придется его тянуть от замка зажигания а в VW Polo можно от прикуривателя, он как раз работает в режиме ACC. Иногда народ тупо соеденяет вместе Основное питание и ACC для того бы магнитола работала не зависимо от замка зажигания. Но лично я считаю это не правильно так как это не удобно да и таким образом можно в один прекрасный день посадить аккумулятор.

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

7. Ну и акустические провода. Рассказывать о них не буду их 8 штук точнее 4 цветных пары. Обычно в отдельном разъеме. Если у вас только передние динамики то их будет только 2 пары.

Ну не знаю по моему все вспомнил, есть и другие но это более углубленно и редко используются.

Но бывают варианты когда нужно подключить магнитолу с Quadlock гнездом к авто в котором нету Quadlock разьема в место него ISO разьем нету CAN шины а надо поставить штатное ГУ в котором Quadlock гнездо и соответственно необходимо наличие CAN шины. Вот об этом варианте и речь ниже.

c226c04s 960

Это для того чтобы понимать какой провод брать и куда его пихать. Вынимаем с Quadlock все пины кроме тех что расположены в CAN. А дальше вынимаем прины с ISO разьема и соответсвенно вставляем их в Quadlock они прекрасно подходят. После перестановки пинов подходим к самому главному к подводке CAN шины.

И так лезим к блоку над ногами водителя.

ae06c04s 960

f706c04s 960

И так почти все подключено. Еще осталось подключить антенну. В VW она специфическая точнее не она сама а ее разьем.

56e6c04s 960

Укладываем провода. Желательно все замотать тряпчаной изолентой. Ну и установить назад магнитолу. Можно приступать к водным процедурам. Тоесть установки задней камеры.

5016c04s 960

Провод ложем по основному жгуту через некоторые расстояния прикрепляя изолентой к нему.

Последний вопрос который интересуются что делать с акустикой.

Для замены понадобиться сами накладки.

6R6867233ARY20 — Обшивка стойки передней левой в сборе
6R6867234ARY20 — Обшивка стойки передней правой в сборе

Источник

Первоначальный источник:http://www.cnblogs.com/jacklu/p/4729638.html

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

очертание

CAN (Controller Area Network) — это сеть контроллера, которая представляет собой сеть последовательной связи, способную осуществлять распределенное управление в реальном времени. Думайте о CAN и думайте о Bosch в Германии, потому что CAN был разработан этой компанией (и Intel). CAN имеет много отличных характеристик, что делает его широко применимым. Например: скорость передачи до 1 Мбит / с, расстояние до 10 км, механизм арбитража битов без потерь, структура с несколькими мастерами. В последние годы цена на контроллеры CAN становится все ниже и ниже, и многие микроконтроллеры также имеют встроенные контроллеры CAN. Шина CAN теперь установлена ​​в каждом автомобиле. Типичный сценарий применения CAN:

Стандарт CAN шины

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

CAN-трансивер отвечает за преобразование между логическими уровнями и физическими сигналами.

Преобразует логические сигналы в физические сигналы (дифференциальный уровень) или преобразует физические сигналы в логические уровни.

Существует два стандарта CAN, а именно IOS11898 и IOS11519, которые имеют различные характеристики дифференциального уровня.

Низкая и высокая амплитуда, соответствующая высокой скорости передачи;

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

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

CAN имеет три интерфейсных устройства

Несколько узлов подключены, пока один из них низкий, шина низкая, и только высокий, когда все узлы выводят высокий. Так называемый «провод И».

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

Как и 485 и 232, скорость передачи CAN обратно пропорциональна расстоянию.

Шина CAN, подключение нагрузочного резистора:

Почему это 120 Ом, потому что волновое сопротивление кабеля составляет 120 Ом, чтобы имитировать бесконечную линию передачи

Канальный уровень

Шина CAN передает кадры CAN, а кадры связи CAN делятся на пять типов: кадры данных, удаленные кадры, кадры ошибок, кадры перегрузки и интервалы кадров.

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

Кадры данных делятся на стандартные кадры (2.0A) и расширенные кадры (2.0B) в зависимости от длины арбитражного сегмента.

Начало кадра

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

Конец кадра состоит из 7 невидимых битов (высокий уровень).

Арбитражный раздел

Как шина CAN решает проблему многоточечной конкуренции?

Ответ дается арбитражным отделом.

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

Чем меньше идентификатор кадра, тем выше приоритет. Поскольку бит RTR кадра данных является доминирующим уровнем, а удаленный кадр является рецессивным уровнем, когда формат кадра и идентификатор кадра одинаковы, кадр данных имеет приоритет над удаленным кадром, поскольку бит IDE стандартного кадра является доминирующим уровнем, Бит IDE расширенного кадра невидим. Для стандартных кадров и расширенных кадров с одинаковым идентификатором в первых 11 битах стандартный кадр имеет более высокий приоритет, чем расширенный кадр.

Контрольная секция

Всего 6 битов. Кадр управления стандартного кадра состоит из IDE флага расширенного кадра, зарезервированного бита r0 и кода DLC длины данных. Секция управления расширенным кадром состоит из IDE, r1, r0 и DLC.

Сегмент данных

0-8 байт, короткая структура кадра, хорошая производительность в реальном времени, подходит для автомобильных и промышленных областей управления;

CRC сегмент

Контрольный сегмент CRC состоит из 15-битного значения CRC и разделителя CRC.

ACK сегмент

Когда кадр, полученный принимающим узлом, без ошибок с начала в сегмент CRC, он отправит доминирующий уровень в сегменте ACK, а отправляющий узел отправит рецессивный уровень.

Дистанционная рамка

Удаленный кадр разделен на 6 сегментов, также разделен на стандартный кадр и расширенный кадр, и бит RTR равен 1 (рецессивный уровень)

CAN является высоконадежной шиной, но также имеет пять типов ошибок.

Ошибка CRC: отправленное и полученное значение CRC отличается.

Ошибка формата: неверный формат кадра.

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

Ошибка отправки бита: отправляющий узел обнаружил, что уровень шины не соответствует уровню отправки при отправке сообщения, произошла эта ошибка;

Ошибка вставки битов: эта ошибка возникает, когда на кабеле связи нарушается правило связи.

Когда происходит одна из этих пяти ошибок, отправляющий или получающий узел отправит кадр ошибки

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

Рамка перегрузки

Когда узел не «готов» к приему, он отправит кадр перегрузки для уведомления отправляющего узла.

Интервал кадра

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

// Понять 1.6 последний ппт

Построение CAN-узлов

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

Хотя разные узлы выполняют разные функции, все они имеют одинаковую аппаратную и программную структуру.

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

Аппаратный драйвер CAN — это программа, работающая на главном контроллере (например, P89V51), которая в основном выполняет следующие задачи: работа на основе регистра, инициализация контроллера CAN, отправка сообщений CAN, прием сообщений CAN;

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

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

Приемопередатчик CAN осуществляет смену логического уровня контроллера CAN и дифференциального уровня на шине CAN. Существует два способа реализации CAN-приемопередатчика: один — использовать интегральную схему CAN-приемопередатчика (требуется изоляция питания и электрическая изоляция), а другой — использовать CAN-модуль приемопередатчика. Второй рекомендуется.

Контроллер CAN является основным компонентом CAN, он реализует все функции канального уровня в протоколе CAN и может автоматически выполнять анализ протокола CAN. Как правило, существует два типа контроллеров CAN, один из которых представляет собой контроллер IC (SJA1000), а другой — MCU (LPC11C00) со встроенным CAN-контроллером.

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

Логика управления интерфейсом: интерпретация инструкций MCU, адреса блоков регистров каждого функционального модуля в контроллере CAN и предоставление информации о прерываниях и информации о состоянии главному контроллеру.

Буферы передачи и приема могут хранить полную информацию в сети шины CAN.

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

Ядро CAN реализует все протоколы канала передачи данных.

Обзор прикладного уровня протокола CAN

Шина CAN обеспечивает только надежные услуги передачи, поэтому, когда узел получает сообщение, он должен определить, кто отправил данные по протоколу прикладного уровня и что эти данные представляют. Общие протоколы прикладного уровня CAN: CANOpen, DeviceNet, J1939, iCAN и т. Д.

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

CAN трансивер

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

Трансиверы делятся на высокоскоростные CAN-трансиверы и отказоустойчивые CAN-трансиверы в зависимости от скорости связи.

Используйте один и тот же CAN-трансивер в той же сети.

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

CAN изолированные приемопередатчики (встроенные фильтры и схемы защиты от помех) также могут быть использованы.

CAN контроллер и MCU соединение

SJA1000 можно рассматривать как внешнее ОЗУ с 8-битной шириной адреса, поддерживающее до 256 регистров

1

2

3

4

5

6

7

8

9

10

11

12

13

#define REG_BASE_ADDR 0xA000 // Зарегистрировать базовый адрес

unsigned char *SJA_CS_Point = (unsigned char *) REG_BASE_ADDR ;

// записываем регистр SJA1000

void WriteSJAReg(unsigned char RegAddr, unsigned char Value) {

*(SJA_CS_Point + RegAddr) = Value;

return;

}

// читаем регистр SJA1000

unsigned char ReadSJAReg(unsigned char RegAddr) {

 return (*(SJA_CS_Point + RegAddr));

}

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

…… for (i=0;i<len;i++) { WriteSJAReg(RegAdr+i,ValueBuf[i]); } ……

Постоянно считывать несколько последовательных регистров в буферную область

…… for (i=0;i<len;i++) { ReadSJAReg(RegAdr+i,ValueBuf[i]); } ……

Заголовочный файл содержит схему:

  1. Каждая программа содержит используемые заголовочные файлы

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

    #ifndef __CONFIG_H__ // Предотвращение повторного включения заголовочных файлов
    #define __CONFIG_H__
     #include <8051.h> // включает заголовочный файл определения регистра 80C51
     #include "SJA1000REG.h" // включает заголовочный файл определения регистра SJA1000
    
     // определить операцию выборки байтов
    #define LOW_BYTE(x)  (unsigned char)(x)
    #define HIGH_BYTE(x)  (unsigned char)((unsigned int)(x) >> 8)
    
     // Определяем тактовую частоту генератора и тактовую частоту процессора (пользователи могут настраиваться в соответствии с реальной ситуацией)
    #define OSCCLK 11059200UL
     // Макрос определяет тактовую частоту MCU
    #define CPUCLK (OSCCLK / 12)
    #endif // __CONFIG_H__

(1) Установите бит Bit0 регистра режима для входа в режим сброса: SJA1000 находится в состоянии сброса после включения и должен быть инициализирован, прежде чем он сможет работать.

(2) Установите регистр деления часов, чтобы выбрать тактовую частоту и режим CAN;

(3) Установите фильтр приемки, установите код подтверждения и код маски;

(4) Установите регистры таймера шины 0 и 1, чтобы установить скорость передачи CAN;

(5) установить режим вывода;

(6) Очистите регистр режима Бит0, чтобы выйти из режима сброса;

Регистр режима

Режим только обнаружения: SJA1000 не проверяет бит ответа при отправке кадра CAN;

Режим только для прослушивания: в этом режиме SJA1000 не будет отправлять кадры с ошибками для автоматического определения скорости передачи, SJA1000 принимает кадры CAN с различными скоростями передачи. При получении кадра CAN он указывает текущую скорость передачи данных и скорость передачи шины Так же.

Настройка скорости передачи

Шина CAN не имеет тактовой частоты и использует асинхронную последовательную передачу, скорость передачи — это биты данных, передаваемые за 1 секунду;

CAN кадр передачи:

Чтобы отправить кадр CAN: 1. Проверьте регистр состояния и подождите, пока будет доступен буфер передачи;

2. Заполните сообщение в буфере отправки;

3. Начните отправку.

SJA1000 имеет 12-байтовый буфер. Отправляемое сообщение может быть записано через регистры 16-28, а также может быть записано или прочитано через регистры 96-108.

Установите режим отправки

char SetSJASendCmd(unsigned char cmd) {
    unsigned char ret;
    switch (cmd) {
    default:
    case 0:
                 ret = SetBitMask (REG_CAN_CMR, TR_BIT); // отправлять нормально
    break;
    case 1:
                 ret = SetBitMask (REG_CAN_CMR, TR_BIT | AT_BIT); // Отдельная передача
    break;
    case 2:
                 ret = SetBitMask (REG_CAN_CMR, TR_BIT | SRR_BIT); // Самостоятельно инициируемый
    break;
    case 0xff:
                 ret = SetBitMask (REG_CAN_CMR, AT_BIT); // Остановить отправку
    break;
    }
    return ret;
}         

Функция отправки

unsigned char SJA_CAN_Filter [8] = {// Определить параметры приемочного фильтра, получить все кадры       
0x00, 0x00, 0x00, 0x00,                                                
// ACR0~ACR3       
0xff, 0xff, 0xff, 0xff                                                         
// AMR0~AMR3
};
 символ без знака STD_SEND_BUFFER [11] = {// МОЖЕТ отправить буфер сообщений       
 0x08, // информация о кадре, стандартный кадр данных, длина данных = 8       
 0xEA, 0x60, // идентификатор кадра = 0x753
 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa // данные кадра
};
 void main (void) // основная функция, вход в программу
{       
         timerInit (); // инициализация
    D1 = 0;       
         SJA1000_RST = 1; // аппаратный сброс       
         timerDelay (50); // задержка 500 мс       
    SJA1000_RST = 0;       
         SJA1000_Init (0x00, 0x14, SJA_CAN_Filter); // Инициализировать SJA1000 и установить скорость передачи в 1 Мбит / с       
         // бесконечный цикл, функция main () не может возвращаться      
    for(;;) {           
        SJASendData(STD_SEND_BUFFER, 0x0);           
                 timerDelay (100); // задержка 1000 мс      
    }    
}

Почему идентификатор кадра равен 0x753, что связано с форматом хранения кадра CAN в буфере.

Сопротивление обрыва очень важно.Если скорость передачи данных высокая, а сопротивление обрыва не добавлено, перегрузка сигнала очень серьезна.

SJA1000 имеет 64-байтовый буфер приема (FIFO), который может снизить требования к MCU. MCU может определить, получает ли SJA1000 сообщение, читая или прерывая сообщение.

Справочные материалы: «Основное учебное пособие по полевой шине с управляемым проектом по шине CAN», Guangzhou Zhou Ligong Microcotroller Technology Co., Ltd.

Вот материалы шины CAN, переведенные другими:

http://blog.csdn.net/shanghaiqianlun/article/details/17794427

CAN шина – это сеть обмена данными определенная в стандарте ISO 11898.  Другие каналы обмена данными в автомобиле не могут быть названы CAN шиной. AVC-LAN, BEAN, J1708, VAN и другие старые протоколы это НЕ CAN !

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

Скорости работы CAN шины

CAN на разных автомобилях и в разных сегментах сети может работать на разных скоростях.

Названия сегментов сети: Мотор, Шасси, Комфорт, Салон – условны!  У Каждого автопроизводителя свои названия этих участков сети!

  • Группа VAG:  Моторшасси – 500 кбитс, Комфорт – 100 кбитс и с 2018 года шина Комфорт может иметь скорость 500 кбитс., Диагностика: 500 кбитс.
  • BMW: МоторШасси – 500кбитс, Комфорт – 100 кбитс и с 2018 года шина Комфорт может иметь скорость 500 кбитс., Диагностика: 500 кбитс.
  • Mercedes-Benz: МоторШасси – 500 кбитс, Комфорт 83.333 кбитс, 250 кбитс, Диагностика: 500 кбитс.
  • Ford, Mazda:  МоторШасси – 500 кбитс, Комфорт 125 кбитс.  (Для Ford может быть больше вариантов)
  • KIAHyundai: МоторШасси – 500 кбитс, Комфорт 125 кбитс, 500 кбитс, Мультимедиа:  125 кбитс, 500 кбитс., Диагностика: 500 кбитс.
  • GM: МоторШасси – 500 кбитс, Комфорт: 33.333 кбитс, 95.2 кбитс, Диагностика: 500 кбитс.
  • Toyota, Nissan, Honda, Subaru, Suzuki: 500 кбитс (может использоваться гейтвей! Изучайте сетевую архитектуру автомобиля!)
  • Mitsubishi: МоторШасси: 500 кбитс, СалонКомфорт – 83.333 кбитс, 250 кбитс, Диагностика: 500 кбитс.
  • Volvo:  МоторШасси: 500 кбитс, СалонКомфорт – 500 кбитс,  125 кбитс, Диагностика: 500 кбитс.
  • Renault: 500 кбитс
  • Peugeot: МоторШасси – 500 кбитс, Комфорт 125 кбитс.
  • Lada: 500 кбитс
  • Коммерческая и специальная техника: Стандарт J1939 250 или 500 кбитс.

Сегментация CAN шины по функциональному назначению

  • Как правило разные, сегменты сети разделены специальным устройством, которое называется Гейтвей (Gateway, ZGW, ETACS, ICU) .
  • В роли гейтвея может выступать панель приборов (для простых автомобилей) или отдельный специальный модуль межсетевого интерфейса.
  • Гейтвей разделяет потоки данных в разных сегментах сети и обеспечивает связь сегментов сети работающих на разных скоростях.
  • ВАЖНО:  На многих современных автомобилях CAN шина в диагностическом разъеме OBD2 отделена от других участков сети при помощи гейтвея (Gateway), поэтому подключившись к CAN шине OBD разъема невозможно увидеть поток данных. В этом случае можно увидеть только обмен между диагностическим инструментом и автомобилем во время процесса диагностики! Так же модулем Gateway оборудованы автомобили японских марок  >2016г. в зависимости от модели. Автомобили немецких марок оборудуются таким модулем с момента появления в них CAN шины.
  • ОБЯЗАТЕЛЬНО изучайте схемы на исследуемый автомобиль, чтобы знать к какому сегменту сети Вы подключаетесь!

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

Реализации CAN на уровне электрических сигналов

CAN шина может быть реализована физически тремя способами:

1 ISO11898-2 или CAN-High Speed.

Классическая витая пара нагруженная с обоих концов резисторами 120 Ом.

В этом случае уровни на шине CAN выглядят так:

Для такой реализации сети используются как правило обычные CAN трансиверы в 8 выводном корпусе, аналоги PCA82C250, TJA1050 и им подобные. Работает такая конфигурация на скоростях 500 кбитс и выше. (Но могут быть исключения) .

2 ISO11898-3 или CAN-Low Speed или Faut Tolerant CAN

В этом варианте используется та же витая пара, но линии CAN-Low и CAN-High подтянуты к напряжению питания и массе соответственно.
Подробное описание FT-CAN по ссылке
Такой вариант CAN шины способен переключаться в однопроводный режим в случае повреждения одной из линий. Работает на скоростях до 250 кбитс.Уровни сигнала на шине отличаются от High Speed CAN, при этом не теряется возможность работы с шиной FT-CAN используя трансиверы High-Speed CAN и соблюдая ряд условий.
Подробнее в нашей статье о FT-CAN – ссылка.

Fault tolerant CAN обычно используется для низкоскоростного обмена между блоками управления относящимися к сегменту сети СалонКомфортМультимедиа.

ВАЖНО: При подключении к шине Faul tolerant CAN, подключать терминальный резистор 120 Ом между линиями CAN-High и CAN-Low НЕ НУЖНО !

3 Single Wire CAN или SW-CAN

Однопроводный вариант шины CAN. Работает на скорости 33.333 кбитс

Используется специальный тип трансиверов. Для того что бы подключиться к такому варианту шины CAN необходимо линию CAN-High анализатора подключить к шине SW-CAN а линию CAN-Low к массеземле.

Понравилась статья? Поделить с друзьями:
  • Инструкция по технике безопасности для лифтера
  • Лекарство симбалта инструкция по применению цена отзывы
  • Препарат бефунгин инструкция по применению цена отзывы
  • Ibox alta laserscan signature dual инструкция
  • Doctor life прессотерапия аппарат инструкция по применению