Современные приемопередатчики сети CAN
компании ON Semiconductor
Ирина РомАДИнА
Последовательный протокол обмена данными CAN (Controller Area Network) был предложен в середине 1980-х фирмой Robert Bosch GmbH для использования в автомобильной электронике. однако сети CAN оказались приемлемыми не только для автомобильных приложений, но и для промышленной электроники и встраиваемых систем. В статье рассматривается линейка приемопередатчиков для сетей CAN, предлагаемая компанией ON Semiconductor.
Сети CAN
Коротко рассмотрим отличительные
свойства сетей, реализованных на основе
протокола CAN:
• Режим мультимастер. Сети CAN не имеют узла, который постоянно был бы ведущим в сети. Любой узел, запросивший доступ к шине и выигравший арбитраж, становится ведущим на время передачи по шине пакета данных.
• Получение сообщений всеми узлами одновременно. Каждый из узлов самостоятельно определяет: имеет ли данный пакет отношение к нему.
• Неразрушающий арбитраж доступа к шине. Если в текущий момент шина свободна, то любой узел может начать передачу. Однако если два или более узла начинают передавать в одно и то же время, то конфликт автоматически разрешается при помощи поразрядного арбитража, использующего идентификатор пакета. Арбитраж выигрывает пакет с меньшим номером идентификатора, а узел, пытавшийся передать менее приоритетное сообщение, отключается от сети.
• Конфигурационная гибкость. Любой узел может в произвольный момент времени подключиться к сети или отключиться от нее, не оказывая при этом влияние на работу сети.
• Обнаружение ошибок и передача сигналов об ошибках. Различие между случайными ошибками и постоянными отказами узлов с возможностью выключения дефектных узлов.
• Автоматическое повторение передачи сбойных сообщений при получении возможности повторного доступа к шине. Непосредственно протокол CAN от Bosch
не определял физический способ передачи
данных. В настоящее время протокол CAN регламентируется стандартом ISO-11898, который определяет объектный, транспортный и физический уровни сетей CAN. Физический уровень определен как единая и общая дифференциальная пара.
Каждый узел сети CAN состоит как минимум из трех основных частей: это приемопередатчик физического уровня сети, контроллер CAN-протокола и микроконтроллер, реализующий функциональное назначение узла. Часто контроллер CAN-протокола не является отдельной микросхемой, а входит в состав многих современных микроконтроллеров. Но приемопередатчик выполняется в виде отдельной микросхемы. Причина — при необходимости гальванической развязки ее проще всего реализовать между контроллером CAN-протокола и приемопередатчиком.
Непосредственно шина CAN реализована в виде витой пары из двух проводников — CAN-H и CAN-L, зашунтирован-ных резисторами 120 Ом в крайних точках. Логическому «0» соответствует высокий уровень сигнала (3,6 В) на линии CAN-H и низкий уровень (1,4 В) на линии CAN-L, то есть между линиями CAN-H и CAN-L присутствует разность потенциалов 2,2 В. Логической «1» соответствуют равные напряжения (2,5 В) на этих линиях. В терминах CAN-протокола логический «0» определяют как доминант-
3,6 В
>2,5 В
Рецессивное Доминантное Рецессивное
состояние состояние состояние
Рис. 1. Уровни сигналов на CAN-шине
ное (или доминирующее) состояние, а логическую «1» — как рецессивное состояние. Рецессивное состояние в современных приемопередатчиках реализовано как отключение выходного буфера от нагрузки. Уровни сигналов на CAN-шине показаны на рис. 1.
Более подробно принципы построения CAN-сетей, организация арбитража, структура пакетов рассмотрены в [ 1].
основные параметры приемопередатчиков сети CAN
Основные параметры, характеризующие CAN-приемопередатчики компании ON Semiconductor, приведены в таблице.
Некоторые комментарии по всей линейке приемопередатчиков сети CAN.
Напряжение питания. Все приемопередатчики компании ON Semiconductor используют питание +5 В. Компании TI, Maxim выпускают приемопередатчики с напряжением питания 3 или 3,3 В. Это связано с тем, что многие микроконтроллеры используют для питания напряжения этих номиналов, и встает вопрос согласования уровней цифровых сигналов микроконтроллера и приемопередатчика. Однако при использовании номиналов 3 или 3,3 В возникают затруднения в реализации уровней, приведенных на рис. 1. Подход компании ON Semiconductor несколько иной. Входные сигналы всех приемопередатчиков ON Semiconductor совместимы по уровням с 3-вольтовой логикой. Полное согласование с 3-вольтовой логикой (как по входам, так и по выходам) обеспечивают только AMIS-30663, AMIS-41683 и AMIS-42673 — за счет использования второго источника питания.
Все приемопередатчики имеют расширенный температурный диапазон: -40.. . + 125 °С.
Таблица. Параметры CAN-приемопередатчиков компании ON Semiconductor
Изделие напряжение питания, В Потребляемый ток, мА Макс. скорость передачи, кбит/с Задержка распространения сигнала, нс Макс. напряжение на шинах CAN, В Корпус
Домин. Рецесс. Standby Rec -> Dom Dom -> Rec
AMIS-30660 4,75-5,25 45 4 - 1000 70-245 100-245 ±45 SOIC-8
AMIS-30663 4,75-5,25 45 4 - 1000 100-230 100-245 ±45 SOIC-8
AMIS-41682 4,75-5,25 3,7 0,03 125 350-1400 0 о 0 о ±40 SOIC-14
AMIS-41683 4,75-5,25 3,7 0,03 125 350-1400 200-700 ±40 SOIC-14
AMIS-42665 4,75-5,25 45 4 0,01 1000 90-230 90-245 ±35 SOIC-8
AMIS-42670 4,75-5,25 45 4 - 1000 70-245 100-245 ±45 SOIC-8
AMIS-42671 4,75-5,25 45 4 - 1000 70-245 100-245 ±45 SOIC-8
AMIS-42673 4,75-5,25 45 4 - 1000 100-230 100-245 ±45 SOIC-8
AMIS-42675 4,75-5,25 45 4 0,01 1000 70-230 100-245 ±35 SOIC-8
AMIS-42700 4,75-5,25 137,5 19,5 - 1000 65-235 95-260 ±45 SOIC-20
AMIS-42770 4,75-5,25 137,5 19,5 - 1000 65-235 95-260 ±45 SOIC-20
Задержка распространения сигнала в обоих случаях дана для тракта «вход TxD - шина CAN - выход RxD».
Универсальные CAN-приемопередатчики
В эту группу имеет смысл включить те изделия, которые предназначены для выполнения своей основной функции — интерфейса между контроллером протокола CAN, с одной стороны, и физическими линиями CAN-шины — с другой. Наличие каких-либо дополнительных функций не является существенным. Типовое исполнение — 8-выводная микросхема в корпусе SOIC. Назначение выводов: два вывода — линии CAN-шины, два — связь с контроллером, два — питание микросхемы. Назначение двух оставшихся выводов может быть различным. Базовым изделием этой группы можно считать AMIS-30663, структурная схема которого приведена на рис. 2.
Рассмотрим основные функциональные узлы, которые присутствуют во всех приемопередатчиках сети CAN без исключения.
Тракт приема — дифференциальный приемник синфазного сигнала, обеспечивающий детектирование доминантного и рецессивно-
го состояний СА^шины, и формирователь цифрового сигнала RxD.
Тракт передачи — буфер цифрового сигнала TxD, формирователь фронтов, управление передатчиком и выходной каскад на полевых транзисторах. В доминантном состоянии оба транзистора открыты, и на линиях СА^Н и CAN-L сформированы, соответственно, высокий и низкий уровни. Назначение формирователя фронтов — ограничение скорости нарастания фронтов сигнала для снижения уровня электромагнитного излучения. «Сглаживание» фронтов дает возможность исключить внешние синфазные дроссели, что уменьшает и размеры, и стоимость решения.
Таймер предназначен для ограничения продолжительности доминантного состояния. Это одна из защитных функций, которая не позволяет при «зависании» или выходе из строя СА^контроллера одного узла парализовать работу сети в целом. При нормальной работе доминантное и рецессивное состояния на шине будут чередоваться: в шину не могут передаваться только нули, во-первых, заголовок и окончание пакета обязательно содержат единицы, а во-вторых, контроллер, обнаружив в подготовленном пакете пять последова-
тельно идущих одинаковых битов, дополняет их битом противоположного значения (разумеется, на приеме биты дополнения будут удалены). Но если контроллер не исправен и выдает на линию TxD только нули, то, по завершению тайм-аута, приемопередатчик отключится от шины, возвратив ее в рецессивное состояние.
Схема температурной защиты предохраняет интегральную схему от выхода из строя, отключая передатчик, если температура перехода превышает значение, приблизительно равное 160 °C. Поскольку передатчик рассеивает большую часть мощности, то прекращение передачи приведет к снижению рассеиваемой мощности, и, следовательно, температура кристалла будет снижаться. Все другие функции микросхемы при этом продолжают работать. Схема тепловой защиты необходима для того, чтобы избежать выхода микросхемы из строя при наличии короткого замыкания на линиях шины.
Приемопередатчик AMIS-30663 предназначен для работы с 3-вольтовыми логическими уровнями, поэтому сам приемопередатчик запитан от напряжения +5 В, а выходной формирователь сигнала RxD — от источника питания +3 или +3,3 В.
Приемопередатчик AMIS-30660, структура которого представлена на рис. 3, имеет близкие к AMIS-30663 параметры, но работает с 5-вольтовыми логическими уровнями. Следовательно, необходимость в дополнительном напряжении питания пропадает.
Освободившийся контакт 8 используется для дополнительного входа S (Silent). Если на вывод S подан низкий уровень (или вывод оставлен свободным), то приемопередатчик находится в нормальном режиме и в состоянии получить доступ к линиям CAN-шины. Если на вывод S подан высокий уровень, то приемопередатчик переводится в режим молчания, то есть передатчик заблокирован.
Рис. 2. Структурная схема приемопередатчика АМ^-30663 Рис. 3. Структурная схема приемопередатчика АМ^-30660
Все другие функции микросхемы продолжают работать. Отметим, что данный режим не является режимом энергосбережения — приемопередатчик, не работая на передачу, будет потреблять меньше, но это стандартное потребление в рецессивном состоянии.
По своим параметрам приемопередатчик AMIS-42665 весьма близок к AMIS-30660. Однако вместо функции Silent в нем реализован полноценный режим энергосбережения (спящий режим). Если контроллер подает на вход STB (контакт 8) высокий уровень сигнала, то приемопередатчик переходит в спящий режим. Очевидно, что это имеет смысл, если CAN-шина в течение продолжительного времени не подает «признаков жизни». В отличие от режима молчания, в спящем режиме блокируется не только передатчик, но и тракт приема. На выходе RxD микросхемы — постоянный высокий уровень сигнала. Состояние на CAN-шине отслеживает только дополнительный маломощный дифференциальный усилитель. Это позволяет снизить потребляемую приемопередатчиком мощность до 0,01 мА. Если дифференциальный приемник определяет на CAN-шине доминантное состояние, продолжительность которого составляет пороговое значение, то он выставляет на выход RxD низкий уровень сигнала, который контроллер должен воспринимать как запрос на снятие спящего режима. Если на входе STB выставляется низкий уровень, приемопередатчик возвращается в нормальный режим. Если контроллер не снимает спящий режим, то, как только на CAN-шине восстановится рецессивное состояние, сигнал на выходе RxD опять станет высоким — до следующей активности на шине.
Приемопередатчики AMIS-42670, AMIS-42673 и AMIS-42675 по основным параметрам, типу корпуса, цоколевке выводов являются аналогами AMIS-30660, AMIS-30663 и AMIS-42665 соответственно. Компания позиционирует их для работы с сетями CAN большой протяженности (порядка 1 км), например, для CAN-сетей, управляющих распределенным промышленным оборудованием. Понятно, что скорость обмена при большой протяженности шины должна быть снижена, в частности, компания ON Semiconductor для подобных приложений рекомендует скорость 100 кбит/с или ниже. Обратим внимание, максимальная скорость обмена для AMIS-4267x — 1000 кбит/с, то есть та же, что и у AMIS-3066x и AMIS-42665. Но специалисты ON Semiconductor отмечают, что при работе в сети большой протяженности качество связи у AMIS-4267x будет лучше, чем у AMIS-3066x (при прочих равных условиях).
С некоторой натяжкой, но можно отнести к универсальным приемопередатчикам и AMIS-42671, имеющий возможность автоматического определения скорости передачи данных по шине CAN. Для этой цели предусмотрен дополнительный вход AUTB
(Autobaud). Высокий логический уровень на этом входе отключает вход TxD от передатчика и подключает его к выходу RxD, объединяя его с данными, поступающими от приемника по схеме логического «И». В этом режиме CAN-контроллер «слушает» сеть: если он принимает из сети пакет на скорости, отличной от собственной, то автоматически формируется пакет ошибки, который по «внутренней» петле вернется в контроллер. Перебирая все определенные стандартом CAN скорости, можно определить верную скорость работы шины и затем настроиться на нее. Отключение от CAN-сети необходимо для того, чтобы не пропускать в сеть сообщения на неверной скорости, что дезориентирует остальные узлы. Аналогично другим приемопередатчикам семейства AMIS-4267x он также ориентирован на работу с протяженными сетями.
Отказоустойчивые приемопередатчики AMIS-41682 и AMIS-41683
Новые микросхемы AMIS-41682 и AMIS-41683 играют роль интерфейса между контроллером CAN-протокола и физическими линиями CAN-шины. Различие между приемопередатчиками AMIS-41682 и AMIS-41683 — в логических уровнях цифровых сигналов интерфейса с контроллером CAN (5 или 3,3 В соответственно). Не затрагивая вопросов отказоустойчивости, отметим ряд основных ограничений по сравнению с универсальными приемопередатчиками CAN: скорость передачи до 125 кбит/с, а нагрузочная способность позволяет поддерживать сети с числом узлов до 32. Цель данных ограничений — существенно (до 8 мА) снизить
потребляемый ток в доминантном состоянии. Компания ON Semiconductor считает AMIS-41682 и AMIS-41683 оптимальными решениями для низкоскоростных коммуникаций в автомобильных приложениях.
Упрощенная структурная схема AMIS-41682 приведена на рис. 4.
По сравнению с универсальными приемопередатчиками появились новые внешние выводы и блоки. Рассмотрим их назначение.
Выводы RTL и RTH предназначены для подключения внешних резисторов к линиям шины CAN-L и CAN-H. Они используются для автоматических коммутаций, восстанавливающих работоспособность приемопередатчиков при наличии неисправностей на шине.
VBAT — вход батарейного питания (7-36 В). Как правило — сеть автомобильного аккумулятора. Питание VCC формируется стабилизатором напряжения, запитанным от VBAT.
Выход микросхемы INH отключает стабилизатор напряжения от питания VCC. Контакты VBAt и INH используются для коммутаций, устраняющих последствия замыкания линий шины CAN-H или CAN-L на сеть аккумулятора.
Входы STB, EN (Enable) и WAKE определяют работу схемы управления режимами работы и энергосбережения приемопередатчика. Назначение схемы сброса при включении питания (POR) очевидно — установить внутренние схемы в исходное, предопределенное состояние.
Выход ERR — интегрированный признак наличия ошибки или нештатной работы микросхемы. Признак ошибки формируется специальной схемой.
И, наконец, схема детектирования неисправности и управления коммутациями
Vrat Vq
TxD
RxD
ERR
RTL
Vbat
RTH
0,6 Vcc
TxD
RxD
ERR
Рис. 5. Коммутации при коротком замыкании линии СА^Н на сеть аккумулятора
(на рис. 4 не показана). Перечислим определяемые нештатные ситуации:
1. Обрыв линии СА^Н.
2. Обрыв линии CAN-L.
3. Короткое замыкание линии СА^Н на сеть аккумулятора.
4. Короткое замыкание линии CAN-L на сеть аккумулятора.
5. Короткое замыкание линии СА^Н на «землю».
6. Короткое замыкание линии CAN-L на «землю».
7. Короткое замыкание линии СА^Н на питание VСС.
8. Короткое замыкание линии CAN-L на питание VСС.
9. Короткое замыкание линий СА^Н и CAN-L между собой.
Функции отказоустойчивости приемопередатчиков заключаются в возможности определить нештатное состояние линий СА^шины и произвести необходимые пе-рекоммутации, которые, с одной стороны, защищают исправные микросхемы приемопередатчиков от выхода из строя, а с другой — позволяют осуществлять обмен по сети в этих условиях.
Строго говоря, наличие одной из исправных линий СА^Н или CAN-L достаточно для приема и распознавания сигнала (пусть и с некоторой потерей помехоустойчивости). С этой целью на приемной стороне, при необходимости, производятся коммутации, а вместо неисправной линии используется некое фиксированное напряжение. На передающей стороне, опять же при необходимости, размыкаются связи неисправной линии с передатчиком, «землей» или питанием.
Рамки статьи не позволяют проанализировать все варианты, рассмотренные в документации на микросхему [2]. Рассмотрим один пример, представленный на рис. 5.
Как видим, на передающей стороне произведено размыкание неисправной линии СА^Н от выхода передатчика и «земли», на приемнике — в качестве замены линии СА^Н используется постоянный потенциал 0,6 Vсс.
Разумеется, все рассмотренное выше имеет смысл, если все узлы сети выполнены однотипным образом.
Двухканальные приемопередатчики AMIS-42700 и AMIS-42770
Данные изделия ON Semiconductor заслуживают самого пристального внимания. Их электрические характеристики практически совпадают с характеристиками описанных выше CAN-приемопередатчиков. Самая примечательная особенность этих изделий — наличие в них двух одинаковых приемопередатчиков, предназначенных для их подключения к двум шинам CAN
и одному CAN-контроллеру. Структурная схема приемопередатчика AMIS-42700 представлена на рис. 6.
Входы разрешения ENB1 и ENB2 разрешают доступ, соответственно, к первой и второй шинам, а вход TEXT и выход RINT предназначены для построения расширителя CAN-шины. Назначение схем подавления обратной связи будет пояснено далее.
На рис. 7 приведен пример включения AMIS-42700 в качестве приемопередатчика резервированной CAN-сети.
Обе сети управляются от микроконтроллера через каналы данных Rx0 и Tx0. Выбор сети осуществляется сигналами EN1 и EN2. Отметим, что одновременная работа двух сетей нежелательна, поскольку различное состояние сетей возможно даже в том случае, если все узлы системы выполнены аналогичным образом. Следовательно, конфликты и искажение информации на линиях Rx0 и Tx0 могут иметь место. Целесообразными применениями будут системы с холодным резервированием или поочередное подключение микроконтроллера к одной из двух различных сетей.
Следующий пример — применение AMIS-42700 для построения повторителя (ретранслятора) шины показано на рис. 8.
CANH1с CANL1 с
Температурная защита
POR
Тактовый генератор
AMIS-42700
- -
»3 Т Я о. а> т я
о
о а. с\о о 1- Е ч og. с\о о
Тай-
мер
ENB1 Text ТхО RxO Rint ENB2
GND
Рис. б. Структурная схема приемопередатчика AMIS-42700
Vbat
Регулятор 5 В
-±ЕГ~
Т 100 нф
CAN BUS 1 CAN BUS 2
05 ї Q-< О
^ S
ГБ
Text
Rint
=bCD T 100 нф
AMIS-42700
5 6 15 16 17
GND
I ijl I
CANH1
Rlt
CANL1 J 60 Ом
CANH2
W
CANL2 160 Ом
GND
Рис. 7. Применение приемопередатчика AMIS-42700 в резервированной CAN-сети
Vbat
Регулятор 5 В
EN1 10
EN2
RxO 7
ТхО 4
Text 3
Rint 9
=h cd Т 100 нф
I Vre
AM IS-42700
5 6 15 16 17
I 1 1 -I GND
CAN BUS 1 CAN BUS 2
|Rlt
CANL1 J60 Ом
CANH2 _
Vt
CANL2 I 60 Ом
Рис. 8. Применение приемопередатчика AMIS-42700 как повторителя CAN-сети
о*Ь
Регулятор 5 В
~ТГ
■=■ VC[
4=cD
Т 100 нф
Q. Ш
<0 О О ^ s'
Q-< о
о
Ті
GND
EN1
Rint
Г
100 нф
| Vre
7,
AMIS-42700
5 6 15 16 17
I ijl I
CANH1
GND
I EN2
RxO
TxO
Text
Rint
T 100 нф
J
CAN BUS 1 CAN BUS 2
CANL1 |Rlt I 60 Ом
CANH2
w
CANL2 I 60 Ом
AMIS-42700
5 6 15 16 17
I GND
CAN BUS 1 CAN BUS 2
|Rlt
CANL1 Jeo Ом
CANH2 _
w
CANL2 I 60 Ом
Рис. 9. Применение приемопередатчика AMIS-42700 как расширителя CAN-сети
В этом случае нет необходимости в контроллере СА^протокола. При отсутствии подключения к внешним выводам Rx0 и Тх0 внутренние выводы Rx1, Тх1 и Rx2 и Тх2 первого и второго каналов, соответственно, соединены «крест-накрест», то есть выход
Rx1 с входом Тх2 и наоборот. Тогда появление на первой шине доминантного состояния отображается на выходе Rx1. Поскольку вход Rx1 подключен внутренним контроллером к Тх2, то и вторая шина (с некоторой задержкой) перейдет в доминантное состо-
яние, которое отобразится на выходе Rx2. Становится понятным назначение схемы подавления обратной связи на рис. 6. Если не разомкнуть связь Rx2 с Tx1, то ноль на Tx1 поддержит доминантное состояние на первой шине, которое повторится на второй, и так до бесконечности. Иными словами, обе шины «зависнут» в доминантном состоянии. Для предотвращения этого необходимо разорвать связь Rx2 с Tx1 на то время, пока на первой шине — доминантное состояние. Соответственно, если доминантное состояние возникает первоначально на шине 2, то будет разорвана связь Rx1 с Tx2. Более подробно описание принципов построения схемы подавления обратной связи изложено в [3].
На рис. 9 приведен пример использования AMIS-42700 в качестве расширителя шины.
Варианты построения расширителей на произвольное число каналов приведены в материалах компании ON Semiconductor [4].
Заключение
Мы рассмотрели линейку приемопередатчиков для сетей CAN компании ON Semiconductor. Линейка содержит как универсальные изделия, сравнимые по параметрам с продукцией других производителей (NXP, Maxim, TI), так и уникальные по своим возможностям. Но в любом случае продукцию ON Semiconductor отличают низкая потребляемая мощность, низкий уровень электромагнитного излучения, защита по току выходных цепей, защита от перегрева, широкий диапазон рабочей температуры (-40___125 °С). Расширенная функциональ-
ность микросхем позволяет использовать их в различных областях применения. ■
Литература
1. Карпенко Е. Возможности CAN-протокола// СТА. 1998. № 4.
2. AMIS-41682, AMIS-41683. Fault Tolerant CAN-Transceiver. Data sheet компании ON Semiconductor.
3. AMIS-42700 Dual High-Speed CAN Transceiver. Feedback Supression. Документ AND8358.pdf компании ON Semiconductor.
4. AMIS-42700. Multiple CAN Bus Network. Документ AND8360.pdf компании ON Semiconductor.