Все про шину данных
Все про шину данных
Шины данных обеспечивают обмен информацией между программными блоками. Для того, чтобы многие блоки вообще работали, требуется подключение шин данных. Например, выходной сигнал из Программного блока случайных событий может быть отправлен только через шину данных.
Открытие концентраторов данных и создание шин данных
Вы создаете шину данных путем «извлечения” ее из концентратора данных программного блока. Практически все программные блоки имеют концентраторы данных и могут поддерживать шины данных.
Поместив блок в рабочую область, откройте концентратор данных блока, щелкнув по кнопке в нижней левой части блока.
Примечание: Иногда концентраторы данных не открываются полностью, и часть разъемов оказывается скрытыми. Откройте все разъемы концентраторов данных, повторно щелкнув в поле кнопки (как показано на левом изображении вверху). Вы также можете закрыть концентратор данных (или скрыть любые неиспользуемые разъемы, не подключенные к шинам данных), щелкнув в поле кнопки. При этом рабочая область будет очищена.
Извлечение шины данных
Курсор изменит свою форму, оказавшись над разъемом данных или возле него. Если вы затем нажмете на кнопку мыши и перетащите вправо, шина данных «развернется” так, что ее можно будет подключить к разъему на концентраторе данных другого блока.
Удаление шины данных
Чтобы удалить шину данных, которая размещена между левым и правым разъемами данных, щелкните по правому разъему.
Шины данных, передающие информацию на блок (т.е, выполняющие ввод), подключены к разъемам, находящимся на левой стороне его концентратора данных. Шины данных, передающие информацию от блока (т.е, выполняющие вывод), подключены к разъемам, находящимся на правой стороне.
[A] Входной разъем
[B] Выходной разъем
[C] Числовая шина данных (желтая)
[D] Логическая шина данных (зеленая)
[E] Текстовая шина данных (оранжевая)
[F] Поврежденная шина данных (серая)
Шины данных осуществляют передачу специфических типов данных
Каждая шина данных осуществляет обмен специфическими типами данных между блоками. Например, если шина данных перетянута с логического разъема на концентратор данных блока, ее можно подключить только к логическому разъему на концентраторе данных другого блока.
Окраски шин данных
Шины данных различаются особыми окрасками:
Поврежденные шины данных
Если вы пытаетесь подключить шину данных к разъему несоответствующего типа данных, шина будет «поврежденной» и будет окрашена в серый цвет. Вы не сможете загрузить вашу программу, если она содержит поврежденные шины данных.
Если вы щелкнете по поврежденной шине, то в небольшом окне контекстной справки в правом нижнем углу рабочей области вы сможете прочесть информацию о причине повреждения.
Данные должны соответствовать возможному диапазону, в котором работает разъем
Если шина данных входа передает значение, не попадающее в допустимый диапазон разъема, к которому она подключена, блок либо проигнорирует такие данные, либо трансформирует данные, попадающие в этот диапазон. Для разъемов, допускающих небольшое количество значений (например, только 0, 1 или 2), разъем проигнорирует входящий сигнал, если передаваемое значение не будет вписываться в диапазон разъема.
Для разъемов, допускающих более широкий диапазон значений (например, 0 – 100), разъем усилит любой входящий сигнал, если он не соответствует диапазону. Например, если разъем питания программного блока перемещения получает входящий сигнал со значением 150, блок преобразует входящее значение в 100 (т.е., в числовое значение, лежащее в пределах диапазона разъема мощности).
Передача данных от входного разъема на выходной разъем
Если для входного разъема есть соответствующий выходной разъем, входящие данные будут проходить от входного разъема на выходной разъем без изменений. В этом случае вы сможете использовать выходной разъем, если входной разъем подключен к шине данных входа; подключение шины данных выхода к такому выходному разъему без подключенной шины данных входа приведет к «поврежденной» шине данных выхода, и она будет окрашена в серый цвет.
Схема концентратора данных
Файл справки по каждому программному блоку содержит схему, на которой показаны различные характеристики разъемов на концентраторе данных блока. Например, схема Программного блока поддержания активного состояния выглядит так:
Шины микропроцессорной системы и циклы обмена
Циклы обмена информацией делятся на два основных типа:
В некоторых микропроцессорных системах существует также цикл «чтение-модификация- запись » или же «ввод-пауза- вывод «. В этих циклах процессор сначала читает информацию из памяти или устройства ввода/вывода, затем как-то преобразует ее и снова записывает по тому же адресу. Например, процессор может прочитать код из ячейки памяти, увеличить его на единицу и снова записать в эту же ячейку памяти. Наличие или отсутствие данного типа цикла связано с особенностями используемого процессора.
Особое место занимают циклы прямого доступа к памяти (если режим ПДП в системе предусмотрен) и циклы запроса и предоставления прерывания (если прерывания в системе есть). Когда в дальнейшем речь пойдет о таких циклах, это будет специально оговорено.
Во время каждого цикла устройства, участвующие в обмене информацией, передают друг другу информационные и управляющие сигналы в строго установленном порядке или, как еще говорят, в соответствии с принятым протоколом обмена информацией.
Длительность цикла обмена может быть постоянной или переменной, но она всегда включает в себя несколько периодов сигнала тактовой частоты системы. То есть даже в идеальном случае частота чтения информации процессором и частота записи информации оказываются в несколько раз меньше тактовой частоты системы.
Чтение кодов команд из памяти системы также производится с помощью циклов чтения. Поэтому в случае одношинной архитектуры на системной магистрали чередуются циклы чтения команд и циклы пересылки (чтения и записи) данных, но протоколы обмена остаются неизменными независимо от того, что передается — данные или команды. В случае двухшинной архитектуры циклы чтения команд и записи или чтения данных разделяются по разным шинам и могут выполняться одновременно.
2.1. Шины микропроцессорной системы
Прежде чем переходить к особенностям циклов обмена, остановимся подробнее на составе и назначении различных шин микропроцессорной системы.
Шина данных — это основная шина, ради которой и создается вся система. Количество ее разрядов (линий связи) определяет скорость и эффективность информационного обмена, а также максимально возможное количество команд.
Шина данных всегда двунаправленная, так как предполагает передачу информации в обоих направлениях. Наиболее часто встречающийся тип выходного каскада для линий этой шины — выход с тремя состояниями.
Шина управления — это вспомогательная шина, управляющие сигналы на которой определяют тип текущего цикла и фиксируют моменты времени, соответствующие разным частям или стадиям цикла. Кроме того, управляющие сигналы обеспечивают согласование работы процессора (или другого хозяина магистрали, задатчика, master) с работой памяти или устройства ввода/вывода (устройства-исполнителя, slave ). Управляющие сигналы также обслуживают запрос и предоставление прерываний, запрос и предоставление прямого доступа.
Сигналы шины управления могут передаваться как в положительной логике (реже), так и в отрицательной логике (чаще). Линии шины управления могут быть как однонаправленными, так и двунаправленными. Типы выходных каскадов могут быть самыми разными: с двумя состояниями (для однонаправленных линий), с тремя состояниями (для двунаправленных линий ), с открытым коллектором (для двунаправленных и мультиплексированных линий).
По используемому типу обмена магистрали микропроцессорных систем также делятся на синхронные и асинхронные.
Все про шину данных
Controller Area Network (шина данных CAN)
Или разговорно: «Шина CAN».
И как оказалось впоследствии, шина данных CAN действительно имела множество преимуществ перед обычными жгутами проводов, причислим некоторые:
Раньше об этом понятии задумывались мало или вообще не задумывались. Потому что автомобилям хватало небольшого пучка проводов и пару-тройку устройств для нормальной работы двигателя внутреннего сгорания.
Однако технический прогресс идет вперед, вопросы экологии, безопасности дорожного движения и водителя, как участника этого движения, выходят на первое место, что приводит к постоянному увеличению количества электронных устройств на автомобиле.
Что такое «Электромагнитная совместимость на автомобиле»?
Это способность одновременного и стабильного функционирования множества различных электронных устройств на автомобиле без создания электромагнитных помех друг другу .
Шина CAN как раз отвечает этим важным требованиям.
Более конкретно об этом вопросе чуть позже.
Уменьшение количества кабельных соединений
Сначала немного о том, что же такое эта шина и как она выглядит:
Шина данных CAN – это обычная «витая пара», вот как на фото справа. Это специально скрученный двухжильный провод.
К этой витой паре подключены различные блоки управления – их называют «пользователи». Передача данных идет одновременно по двум проводам этой «витой пары». Важно знать, что логические уровни шины имеют зеркальное отображение: если по одному проводу передается уровень логического «нуля», то по другому проводу одновременно передается уровень логической «единицы».
Почему используется двухпроводная схема передачи данных:
Предположим, что пик напряжения возникнет только на одном проводе (например, вследствии проблем по электромагнитной совместимости) .
И тогда блоки-приёмники могут идентифицировать это как ошибку и проигнорировать данный пик напряжения.
Если же произойдет короткое замыкание или обрыв одного из двух проводов, то благодаря интегрированной программно-аппаратной концепции надёжности произойдёт переключение в режим работы по однопроводной схеме, и повреждённая передающая линия использоваться не будет.
Так вот, продолжим о «уменьшении количества соединений между устройствами шины CAN»:
Пакет данных шины CAN
А сейчас давайте посмотрим, что представляет из себя «пакет данных» шины CAN. Он состоит из семи последовательных полей (отрезков).
На приведенном внизу рисунке показано восемь полей, последнее Intermission – « Пауза между пакетами данных» и оно не входит в Data Frame :
Цифры в каждом поле показывают количество битов, используемых в каждом сообщении (пакете данных).
Описание полей пакета данных Start of Frame
Маркирует начало сообщения (стартов, бит) и синхронизирует все модули шины.
Это поле состоит из идентификатора адреса в 11 бит и 1 контрольного бита и запрос (Remote Transmission Request-Bit).
Этот контрольный бит маркирует пакет как Data Frame (фрейм сообщения) или как Remote Frame (фрейм запроса) без байтов данных.
Control Field (управл. биты)
Поле данных может содержать от 0 до 8 байт данных. Сообщение по шине данных CAN длиной 0 байт используется для синхронизации распределённых процессов
CRC Field (контрольное поле)
Поле CRC (Cyclic-Redundancy-Check Field) содержит 16 бит и служит для контрольного распознавания ошибок при передаче данных.
АСК Field (подтверждение приема)
End of Frame (конец фрейма)
Маркирует конец пакета данных
Интервал между двумя пакетами данных. Интервал должен составлять не менее 3 битов. После этого любой блок управления может передавать следующий пакет данных.
Если ни один блок управления не передаёт сообщений, то шина данных CAN остается в режиме покоя до передачи следующего пакета данных.
Прием и передача данных
На приведенном выше рисунке слово Dashboard можно заменить на привычное (разговорное и чаще применяемое) «Шлюз».
К примеру на некоторых автомобилях, шлюзом между быстрой и медленной шиной является панель приборов (Ауди,Фольксваген), у Мерседеса функции шлюза выполняет EZS (замок зажигания), хотя сама панель работает в двух сетях, для отображения как салонной, так и моторной информации.
На следующих поколениях автомобилей с 2002 года начали использовать отдельный блок ZGW (центральный интерфейс), который выполняет функции шлюза, хранит кодировки комплектации авто и через него работает диагностика по CAN шине (именно по «чистому» CAN – без к-линий).
Шины данных CAN существуют с различными скоростями передачи данных и их иногда называют «быстрая шина» (High-Speed-CAN ) и «медленная шина» (Low- Speed-CAN).
Например, High-Speed-CAN – это шина двигателя, АКПП и т.п., имеет скорость передачи данных 500 Кбит
Порядок и формат передачи и приёма сообщений пользователями определён в протоколе обмена данных.
Существенным отличительным признаком шины данных CAN по сравнению с другими шинными системами, базирующимися на принципе абонентской адресации, является соотнесённая с сообщением адресация.
Блок-приёмник обрабатывает только те сообщения (пакеты данных), которые сохранены в его списке принимаемых по шине данных CAN сообщений (контроль назначения сообщения).
Пакеты данных могут передаваться только в том случае, если шина данных CAN свободна (то есть, если после передачи последнего пакета данных последовал интервал в 3 бита, и никакой из блоков управления не начинает передавать сообщение). При этом логический уровень шины данных является рецессивным (логическая «1»)
Шина данных CAN: РАСШИРЕННЫЕ ВОЗМОЖНОСТИ проведения Диагностики
Так как сигналы с одного датчика (например, датчика температуры, датчика скорости и др.), может использоваться различными системами, то в том случае, если наличие неисправности отображают все использующие данный сигнал системы, неисправным является, как правило, датчик или блок управления, обрабатывающий его сигналы.
Если же сообщение о неисправности поступает только от одной системы, хотя данный сигнал используется и другими системами, то причина неисправности, в большинстве случаев, заключается в обрабатывающем этот сигнал блоке управления или сервомеханизме
Высокий уровень защиты передаваемых данных
Высокий уровень защиты передаваемых данных беспечивается даже при сильных помехах.
При этом обеспечивается высокая скорость передачи данных (до 1 Mbit/s)
За счет чего это достигается:
Помехи при передаче данных могут приводить к возникновению ошибок. Такие ошибки при передаче данных надо распознавать и устранять. Протокол шины данных CAN различает два уровня распознавания ошибок:
на основе передаваемого по шине данных CAN сообщения модуль-передатчик рассчитывает контрольные биты, которые передаются вместе с пакетом данных в поле «CRC Field». Модуль-приёмник заново вычисляет эти контрольные биты на основе принятого по шине данных CAN сообщения и сравнивает их с контрольными битами, полученными вместе с этим сообщением.
Этот механизм проверяет структуру передаваемого фрейма, то есть перепроверяются битовые поля с заданным фиксированным форматом и длина фрейма.
Распознанные функцией Frame Check ошибки обозначаются как ошибки формата.
Механизмы на уровне битов
Каждый модуль при передаче сообщения отслеживает логический уровень шины данных CAN и на основе этого распознаёт различия между переданным и принятым битом. Благодаря этому обеспечивается надёжное распознавание глобальных и возникающих в блоке-передатчике локальных ошибок по битам.
В каждом пакете данных между полем «Start of Frame» и концом поля «CRC Field» должно быть не более 5 последовательных битов с одинаковой полярностью. После каждой последовательности из 5 одинаковых битов блок-передатчик добавляет в поток битов один бит с противоположной полярностью. Блоки- приёмники, в свою очередь, удаляют эти биты после приёма сообщения по шине данных CAN.
Механизм устранения ошибок
Если какой-либо модуль шины данных CAN распознаёт ошибку, то он прерывает текущий процесс передачи данных, отправляя сообщение об ошибке. Сообщение об ошибке состоит из 6 доминантных битов.
Благодаря этому сообщению об ошибке все подключённые к шине данных CAN блоки управления оповещаются о возникшей локальной ошибке и, соответственно, игнорируют переданное сообщение.
После короткой паузы все блоки управления снова смогут передавать сообщения по шине данных CAN, причём первым опять будет отправлено сообщение с наивысшим приоритетом (мотор, АКПП и т.п.).
ПРИОРИТЕТЫ шины данных CAN
Если несколько блоков управления одновременно начинают передавать сообщения, то вступает в силу « принцип приоритетности», согласно которому сообщение по шине данных CAN с наивысшим приоритетом будет передаваться первым без потери времени или битов (арбитраж доступа к шине данных) .
Каждый блок управления, утрачивающий право арбитража, автоматически переключается на приём и повторяет свою попытку отправить сообщение только после того, как шина данных CAN снова освободится.
Кроме пакетов данных существует также пакет запроса определённого сообщения по шине данных CAN. В этом случае блок управления, который может предоставить запрашиваемый пакет данных, реагирует на изданный запрос.
Для обработки данных в режиме реального времени должна быть обеспечена возможность их быстрой передачи. Это предполагает не только наличие линии с высокой физической скоростью передачи данных, но и требует также оперативного предоставления доступа к шине данных CAN, если нескольким блокам управления необходимо одновременно передать сообщения.
Если доминантный бит передаётся как минимум одним модулем шины, то рецессивные биты, передаваемые другими модулями, перезаписываются.
Для примера : Когда несколько блоков управления начинают одновременную передачу данных, то конфликт доступа к шине данных разрешается посредством «побитового арбитража запросов общего ресурса» с помощью соответствующих идентификаторов.
При передаче «поля идентификатора» блок-передатчик после каждого бита проверяет, обладает ли он ещё правом передачи, или уже другой блок управления передаёт по шине данных CAN сообщение с более высоким приоритетом. Если передаваемый первым блоком-передатчиком рецессивный бит перезаписывается доминантным битом другого блока- передатчика, то первый блок-передатчик утрачивает своё право передачи (арбитраж) и становится блоком-приёмником.
Первый блок управления (N 1) утрачивает арбитраж с 3-го бита.
Третий блок управления (N 3) утрачивает арбитраж с 7-го бита.
Второй блок управления (N 2) сохраняет право доступа к шине данных CAN и может передавать свое сообщение.
Другие блоки управления могут передавать свои сообщения по шине данных CAN только после того, как она освободится.
При этом право передачи опять будет предоставляться в соответствии с приоритетностью сообщения по шине данных CAN.
То есть, при использовании этого принципа «приоритетности», на шине данных CAN не должно происходить конфликта, если одновременно несколько устройств выставили различные логические уровни.
Виды существующих шин
(на примере VW, Audi, Opel, Mercedes)
Шина CAN силового агрегата (быстрая шина), позволяющая передавать информацию со скоростью 500 кбит/с. Она служит для связи между блоками управления на линии двигателя и трансмиссии.
Шина CAN системы «Комфорт» (медленная шина), позволяющая передавать информацию со скоростью 100 кбит/с. Она служит для связи между блоками управления, входящими в систему «Комфорт».
Виды шин по классификации Mercedes:
Шина CAN-С – «быстрая» шина силового агрегата.
Шина CAN-B – «медленная», салонная шина «комфорт».
Шина CAN-D – диагностическая шина (используется для диагностики).
В автомобилях, имеющих диагностику по CAN шине, в качестве шлюза всех трёх шин установлен блок ZGW (центральный интерфейс). Это на более современных Мерседесах с 2002 года выпуска.
Цветовая маркировка шин на Mercedes
«Быстрая» шина силового агрегата (500 кб/сек) – зелёный и зелёный с белой полосой.
На рисунках в различного рода руководствах и справочниках, провода шин CAN, для наглядности, могут быть обозначены приблизительно таким образом:
Общими для всех систем является следующее:
Области применения шины данных CAN
(применительно к Mercedes)
Для моторного отсека и салона применяются различные шинные системы CAN, которые отличаются друг от друга скоростью передачи данных.
Обмен данными между обеими шинными системами осуществляется через так называемые «межсетевые шлюзы», т.е. блоки управления, подключенные к обеим шинам данных.
CAN-C (шина данных CAN моторного отсека)
В оконечном блоке управления с каждой стороны установлен так называемый согласующий резистор шины данных с сопротивлением 120 Ком, подключённый между обеими проводами шины данных.
Шина данных CAN моторного отсека активирована только при включенном зажигании.
CAN-B (шина данных CAN салона)
Некоторые блоки управления, подключённые к шине данных CAN салона, активируются независимо от включения зажигания (например, система центральной блокировки).
Поэтому шина данных салона должна находиться в режиме функциональной готовности даже при выключенном зажигании (то есть, возможность передачи пакетов данных должна быть обеспечена и при выключенном зажигании).
Для максимально возможного снижения энергопотребления в состоянии покоя шина данных CAN переходит в режим «пассивного ожидания» при отсутствии передаваемых пакетов данных и активируется снова только при последующем доступе к ней.
Если в режиме «пассивного ожидания» шины данных CAN салона какой-либо блок управления (например, потолочная блок-панель управления (N70) передаёт сообщение по шине данных CAN, то его принимает только ведущий системный модуль (например, блок управления EZS (N73)
Соответствующий ведущий блок управления сохраняет это сообщение в памяти и посылает сигнал активации («Wake-up») на все блоки управления, подключённые к шине данных CAN салона.
При выполнении активации блок управления (N73) проверяет наличие всех абонентов шины данных CAN, после чего передаёт сохранённое ранее в памяти сообщение.
Топология шины CAN
Схема соединения шины CAN называется «топологией».
Или: «набор определенных правил, по которым к шине подключаются различные устройства».
Она зависит от модели конкретного автомобиля и Производителя.
Например, звездообразная топология запатентованная фирмой Daimler-Benz. Эта топология позволяет уменьшить резонансные проблемы в линии.
Наиболее широкое распространение получили два типа приемоперадатчиков (трансиверов):
Трансиверы, выполненные в соответствии со стандартом
«High-Speed» (ISO11898-2), наиболее просты, дешевы и дают возможность передавать данные со скоростью до 1 Мбит/c.
«Fault-Tolerant» приемопередатчики (не чувствительные к повреждениям на шине) позволяют построить высоконадежную малопотребляющую сеть со скоростями передачи данных не выше 125 кбит/c.
Теперь, когда мы немного ознакомились с понятием «шина данных CAN», можно коротко рассказать о том, как проводилась практическая работа по обнаружению и устранению неисправности шины данных CAN на автомобиле Mercedes ML350 рейстанлинговой модели.
Этот автомобиль попал в Россию из Америки, был привезен на продажу, дефект оказался непонятным и «плавающим»: «автомобиль может 15-20 минут работать нормально, а потом на панели загорается значок BAS ESP и отключается вся шина данных» .
Эти практические занятия проводились по учебному плану «Мастер-класс Mercedes» в компании BrainStorm, занятия проводил Дереновский Максим Васильевич (на фото вверху он слева: снимает разъем моторного блока) .
До этого момента автомобиль уже пытались ремонтировать в другой мастерской. Там поменяли «по показаниям» (?) блок BAS ESP, что не помогло устранить неисправность.
Тогда им посоветовали «прокинуть» два провода шины CAN минуя крыло автомобиля.
(Эта неисправность – гниение проводов на этом крыле и выход их из строя, является конструктивно-технологической недоработкой фирмы).
Тоже не помогло. И тогда автомобиль был доставлен на эти практические занятия с целью найти и устранить неисправность.
Для поиска неисправности применили два рекомендуемых метода:
Проверка по сопротивлениям
Шина представляет собой два провода витой пары.
Образно: «имеет начало и конец», которыми являются какие-либо два блока. В этих конечных блоках находятся согласующие сопротивления («терминаторы»,- разг.), номиналом 120 Ом.
Подключенные в параллель блоки мультиметром (по сопротивлению) не контролируются.
В ML350 один из конечных блоков будет моторный, второй, в зависимости от года выпуска, вероятнее всего AAM, EAM или EZS.
Определение КЗ (короткого замыкания) в шине данных CAN – определенно сложная задача. Как можно поступить:
Одним из обучаемых было предложено начать проверку с отключения стеклоподъемников: «Он же на CAN «висит».
Неправильно. Стеклоподъемники «висят» на «медленной» шине и даже «если сильно захотят», все-равно «не положат «быструю» шину».
Начали отключать другие блоки по «быстрой» шине. Их достаточно много…
На блоке EGS (управление коробкой) , расположеный справа в ногах у водителя, было, как обычно, обнаружено масло.
Именно масло иногда является причиной неисправности этого блока.
Эта ошибка конструктивная: некачественные уплотнения жгута проводов к соленоидам в коробке АКПП. По жгуту оно и поднимается в электронный блок.
Блок ААМ – тоже оказался исправным.
Кстати, если уж заговорили о нем:
Но сама шина такой «слёт» не вызовет. Максимум сигнал разрешения запуска от блока ААМ не дойдёт до моторного и не будет включен даже стартер.
Отключение блоков тоже ничего не дало.
Проверили номера блока, которого заменили – все нормально, хотя тут тоже может быть путаница, так как существуют три варианта спецификаций для заказа:
— номер фирмы Mercedes
Это достаточно важный момент, который нельзя упускать при проведении Диагностики.
Что такое «кодировки» для автомобиля:
Если просто, то это «единый язык, на котором блоки управления могут «разговаривать» между собой.
И так как автомобиль пришел из другой мастерской, а нам вообще неизвестна его история «жизни и ремонта», то проверять пришлось все кодировки.
И узнали, что в приборном щитке было прописано, что «BAS не интегрирован в ESP» .
Сделали наоборот – «BAS интегрирован в ESP», перезапустили систему управления и ошибка С1020 перестала появляться.
Какой можно сделать вывод : причиной неисправности С1020 на данном автомобиле явилась неправильно закодированная комплектация автомобиля.
Однако не стоит считать, что «ошибка по CAN» является простой и её можно быстро найти и быстро устранить.
Как говорят специалисты: «Это «головняк» и разобраться с ним можно только при отличном знании «психологии Mercedes».
Это на бумаге и в этой статье вся работа по определению неисправности уложилась в несколько строчек.
В жизни все намного труднее, сложнее и длиннее…
Информационный центр компании BrainStorm