CAN-сеть - платформа создания распределенных систем управления
 

Д. Калачев, С. Третьяков

CAN-сеть - платформа создания распределенных систем управления

Несмотря на относительно небольшой срок существования, можно говорить о том, что у CAN есть своя история. Началась она с того, что в 1983 году Robert Bosch GmbH и Intel (подключилась к работам в 1984 году) начали совместные работы над проектом высокоскоростной сети с простым подключением узлов и блоков к шине, призванной заменить радиальную проводку в автомобилях. В 1986 была опубликована первая спецификация CAN, описывающая кроме всего прочего только стандартный (11-бит идентификатор) формат CAN-сообщения. В 1987 году Intel выпустил первый автономный CAN-контроллер - i82527. В 1991 году была опубликована CAN-спецификация для расширенного (29-бит идентификатор) формата CAN-сообщения.Большую работу по стандартизации CAN-технологий проводит международная ассоциация потребителей и производителей CAN - CAN in Automation (CiA), основанная в марте 1992 года (www.can-cia.org).Отличные характеристики CAN: широковещательный способ передачи (broadcasting), мультимастерность (multiMaster), превосходная обработка ошибок, различная среда передачи, наличие аппаратной поддержки - обусловили лавинное увеличение приложений на базе CAN и расширение областей применения: автомобильный и железнодорожный транспорт, авиация, судостроение, управление технологическим оборудованием, управление вооружениями и многие другие.

Аппаратная поддержка протокола

На начальном этапе становления CAN-технологий для аппаратной поддержки создаваемых решений использовались автономные (Stand-alone) CAN-контроллеры. В процессе развития и увеличения количества распределённых систем, созданных на основе CAN, был создан ряд однокристальных микроконтроллеров со встроенными CAN-контроллерами (табл. 1). Такое решение позволило существенно снизить сложность и стоимость систем.

Таблица 1. Фирмы, выпускающие контроллеры, поддерживающие CAN

Фирма, веб-сайт Один чип из многих Характеристики CAN-контроллера
Bosch,
www.can.bosch.com
CC750 2,0 B, Stand-alone, 14 Tx/Rx буферов + 1 сдвоенный Rx буфер, 2 глобальные маски + 1 маска для Rx сдвоенного буфера
Dallas Semi.,
www.dalsemi.com
DS80C390 2x2,0 B, 8-бит, 14 Tx/Rx буф. + 1 сдв. Rx буф.
Fujitsu,
www.fujitsu-fme.com
MB90F443G 2x2,0 B, 16-бит (16LX), 16 Tx/Rx буф., 16 пол. бит. масок + 2 гл. маски
Hitachi,
semiconductor.hitachi.com/h8
SH7055 2,0 B, 32-бит, 30 Tx/Rx буф. + 2 Rx буфер, 30 пол. бит. маски + 2 гл. маски
Infineon,
www.infineon.com
C515C 2,0 B, 8-бит, 14 Tx/Rx буф. + 1 Rx буф., 15 пол. бит. маски + 1 гл. маски
Inicore,
www.inicore.com
iniCAN 2,0 B, 8-бит или DSP, по спецификации заказчика
Intel,
developer.intel.com
AN87C196 2,0 B, 16-бит, 14 Tx/Rx буф. + 1 сд. Rx буф., 15 пол. бит. масок + 1 гл. маски
Microchip,
www.microchip.com
PIC18F248 2,0 B, 8-бит, 3 Tx буф.+ 2 Rx буф., 6 пол. бит. масок + 2 гл. маски
Micronas Inter.,
www.micronas.com
CDC1607E 3x2,0 B, 16-бит, 16 Tx/Rx буф., 16 пол. бит. масок + 1 гл. маски
Mitsubishi,
www.mitsubishichips.com
M306NOMCT 2x2,0 B, 16-бит, 16 Tx/Rx буф., 16 пол. бит. масок + 3 гл. маски
Motorola,
www.mot.sps.com
MC68F375 2,0 B, 32-бит, 16 Tx/Rx буф., 16 пол. бит. масок + 3 гл. маски
National Semi.,
www.national.com
CR16MCS9VJE 2,0 B, 16-бит, 15 Tx/Rx буф.+ 1 Rx буф., 14 пол. бит. масок + 1 гл. маски
NEC,
www.nec.com
SCAN - µPD703079Y 2x2,0 B, 32-бит RISC (V850), 32 Tx/Rx буф., 64 пол. бит. масок + 4 гл. маски
OKI Elec.,
www.oki-europe.de
MSM9225 2,0 B, Stand-alone, 16 Tx/Rx буф., 16 пол. бит. масок
Phili ps,
www-us.semiconductors.philips.com
P8XC592/8 2,0 В, 8-бит, 1 Tx буф. + 2 Rx буф., 1 гл. 8-бит. Масок
Sican,
www.sican.com
CAN Core 2,0 B, по спецификации заказчика
ST Microelec.,
www.st.com
ST72532J4 2,0 B, 8-бит, 3 Tx/Rx буф., 2 гл. 11-бит маски
Texas Instrum.,
www.ti.com
TMS320F2406 2,0 B, 16-бит DSP, 6 Tx/Rx буф., 2 пол. бит. масок + 1 гл. маски
Toshiba,
doc.semicon.toshiba.co.jp
TMP95FW54F 2,0 B, 16-бит, 15 Tx/Rx буф. + 1 Rx буф., 15 пол. бит. масок + 1 гл. маски

Дальнейшее развитие происходит как в направлении интеграции в одном микроконтроллере средств для аппаратной поддержки, помимо CAN и других сетевых протоколов (J1850: Motoro-la PC9S12DJ64, LIN: Fujitsu MB90F394, byteflight: Motorola PC9S12DB32 и другие), так и в увеличении CAN-интерфейсов (Fujitsu, Hitachi, Motorola, Micronas и другие) и мощности CAN-контроллеров (количество аппаратных буферов у Hitachi SH7055F, Bosch C_CAN, TTCAN увеличено до 32, тогда как стандартной величиной является 8ё16).

Стандартные прикладные CAN-протоколы

Спецификация CAN определяет только физический и канальный уровни (CAN Layer 2 Protocol по Эталонной модели OSI). При создании простых приложений - небольшое количество однотипных узлов, слабая изменчивость, например, сбор данных и передача в центральный модуль, - использование CAN Layer 2 вполне достаточно. Однако при создании сравнительно сложных систем (десятки и сотни узлов), в которых узлы существенно различаются по функциональности (например, управление технологическим процессом), требуется модификация и дополнение системы без полной её перестройки, использование только протоколов канального уровня становится уже неприемлемым. Для обеспечения большей надёжности разработки, модифицируемости и сопровождаемости системы возникает необходимость использования более высокого уровня абстракций - протоколов более высокого - прикладного уровня (High Level Protocol - HLP). Необходимость создания унифицированных решений обуславливает открытость таких протоколов.

Как правило, все HLP определяют два уровня - уровень управления сетью (Network Layer) и собственно прикладной уровень (Application Layer). Первый служит для обеспечения функционирования сети, выполнения подключения/отключения узлов, настройки и конфигурирования, второй - собственно обеспечивает работу приложений. В табл. 2 приведены наиболее известные в настоящее время протоколы прикладного уровня на базе CAN.

Таблица 2. Высокоуровневые протоколы, основанные на CAN

Имя HLP-протокола, веб-сайт Кто сопровождает Область использования
CAL,
www.can-cia.org
CiA Системы специального назначения. Определяет стандарт для обмена сообщениями - CMS и конфигурированием и управлением сетью - LMT, NMT и DBT
CANopen,
www.can-cia.org
CiA Системы общего назначения, промышленная автоматика. Определяется документами: DS-301 определяет профиль связи, DS-40x - профили различных устройств
DeviceNet,
www.odva.org
ODVA Системы общего назначения, промышленная автоматика
CAN Kingdom,
www.kvaser.se
Kvaser AB Приложения специального назначения
SDS - Smart Distributed System,
content.honeywell.com
Honeywell Системы общего назначения, промышленная автоматика
SAE J 1939,
www.sae.org
SAE Автомобилестроение, системы управления и диагностики грузовиков, прицепов, сельскохозяйственной и пожарной техники
CANaerospace,
www.mstock.com
M. Stock GmbH Авиация и космос, системы сбора данных и управления оборудованием самолётов и вертолётов.
CDA 101,
www.kvaser.se/canking/cda101
МО США Военные объекты и приложения
NMEA 2000,
www.nmea.org
NMEA Морское оборудование и морские приложения: военные корабли, подводные лодки, торговые суда
SeleCAN,
www.selectron.ch
Selectron Системы специального назначения
WesyCAN,
www.textile-mach-dir.co.uk
Sulzer Ruti Ltd. Текстильная промышленность

Инструментальные средства разработки

Разработка сложных распределённых систем на базе CAN требует использования разнообразных инструментальных средств на базе PC, которые резко сокращают время разработки как программного обеспечения, так и всей системы в целом. К ним относятся:

  • мониторы и анализаторы шины, обеспечивающие выполнение функций:
    • мониторинг трафика - показ всех (или в соответствии с заданным фильтром) CAN-кадров;
    • измерение загрузки шины и индикация ошибок;
    • запись принятых CAN-кадров в файл (так называемый CAN Log);
    • генерация CAN-кадров и воспроизводство предварительно записанных - эмуляция трафика;
  • конфигураторы, обеспечивающие функции загрузки конфигурации и настройки узлов, управления их состоянием;
  • редакторы EDS- и DCF-файлов - средства описания и редактирования конфигурации узлов;
  • библиотеки, обеспечивающие поддержку как CAN Layer 2 Protocol, так и высокоуровневых протоколов - CANopen, DeviceNet и других;
  • эмуляторы узлов сети (ориентированные на определённый тип высокоуровневых протоколов).

Как правило, предлагаемые на рынке средства разработки представляют собой комплексные продукты, реализующие всю или большую часть указанной выше функциональности. Наиболее типичными представителями являются пакеты canAnalizer/32 и CANalyzer.

Для обеспечения взаимодействия PC с CAN-устройствами выпускается достаточно большой спектр интерфейсных плат - CAN-контроллеров (табл. 3), обладающих различными характеристиками. Отрадно отметить, что в данном секторе CAN-устройств представлены и изделия Российских производителей.

Таблица 3. Инструментальные ср-ва и аппаратная поддержка CAN-протокола

Фирма, веб-сайт ПО и Tools Аппаратная поддержка
IXXAT Automation GmbH
www.ixxat.de
canAnalyser/32 (lite, professional)
CANopen Client
CANopen Node Manager
CANopen EDS Editor
CANopen Config Studio
Data Interpreter Client …
iPC-I 320/ISA/AT96/PCI/104
iPC-I 165/ISA/PCI
tinCAN (PCMCIA)
CANdy, CANdy lite (Centronics)
USB-CAN
CANcorder (CAN Log Unit) …
Kvaser AB
www.kvaser.se
CANscope
CANking
CANopen Founder
Kingdom Founder …
PCIcan-S/-D/-Q
PCcan- S/-D/-Q
LAPcan/LAPcanII
WAVEcan (wireless)
USBcan …
Vector Informatik GmbH
www.vector-informatik.de/english
CANalyser
proCANopen/CANsetter
CANoe, CANape,
CANscope, CANdbLib
CANeds
CANdid, CANdb++ …
CANcardX (PCMCIA)
CAN-AC2/-AC2-PCI
CANcard2
CANextender, CANpar i
CANscope, CANview
CANstress …
esd GmbH
www.esd-electronics.de
CANalyser CAN-PCI/360/331
CAN-ISA/331/200
CAN-PCC (Centronics)
CAN-PCMCIA
VME-CAN4/-CAN2/CAN2B
CAN-SB01
CAN-IP65
CAN-CDI16/CDO16/CDIO1616 …
port GmbH
www.port.de/index_e.html
CANopen Library EtherCAN (gateway)
CPC_XT1
CPC_PP …
Марафон (Москва)
www.marathon.ru
- PC-CAN/ISA/PCI
Каскод (Санкт-Петербург)
www.kaskod.ru
- CAN104D
CANPC527D

Таблица 4. Сравнительные характеристики различных систем, реализованные на CAN

Проект Рассто- яние, м Кол-во, тип узлов Ско- рость, Кбит/с Трафик, frames/s Арх-ра HLP Инструментальные средства, драйверы, пакеты разработки
GPSC 500 20 (CAN), до 48 125 20÷100 шина CAL ОС РВ dmOS-51, драйвер dmDRV-51.CAN,
dmCAL, реализующий уровни CMS и DBT протокола CAL, CANPC527D
ACS-2000 (I) 4000 24 (CAN) 125 На сег.:
ср. - 60
пик. - 200
Между сег.:
ср. - 15
пик. - 150
иерархия HCDA ОС РВ dmOS-51, драйверы dmDRV-51.CAN,
dmVCI-SERVER, VCI (IXXAT), iPC-I 320/PCI
ACS-2000 (II) 1000 20 (CAN)
60 (LIN)
125 ср. - 60
пик. - 200
шина HCDA ОС РВ dmOSEK-16LX,
драйверы dmDRV-16LX.CAN,
dmVCI-SERVER,
VCI (IXXAT),
canAnalyser/32, iPC-I 320/PCI
HACS 100÷4000 до 60000 125÷1000   иерархия eHCDA eHCDA
СЭС 100 10 (CAN), до 127 500 ~ 3200 шина CAN canAnalyser/32, iPC-I 320/PCI
СКВ 100 8 (CAN) 500 ~150 шина CAN canAnalyser/32, iPC-I 320/PCI
Тепловоз 40 до 16 500 ~100 шина CAN canAnalyser/32, iPC-I 320/PCI
Стенд-тренажёр 20 до 127 (CAN) 1000 ~ 7000 шина CAN dmOSEK-16LX, драйвер dmDRV-16LX.CAN, VCI (IXXAT), dmVCI-SERVER

Использование CAN при построении распределенных систем

CAN-протокол обладает великолепными характеристиками:

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

Различные варианты архитектурной реализации распределенных систем

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

Простая (шинная) CAN-сеть

Все существующие стандарты HLP и большинство применений CAN основаны на шинной архитектуре. Основные характеристики таких применений: не более нескольких десятков узлов, протяжённость не более нескольких сот метров. Это автомобильный транспорт, отдельные подсистемы морских судов и самолётов.

Иерархическая CAN-сеть

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

Можно указать следующие проблемы построения иерархических сетей:

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

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

CAN-сеть в интеграции с локальными сетями более низкого уровня

С целью понижения стоимости оборудования систем управления и контроля автомобилей фирмами Audi AG, BMW AG, DaimlerChrysler AG, Motorola Inc, Volcano Com-munications Technologies AB, Volkswagen AG и Volvo Car Corporation был разработан новый протокол - Local Interconnect Network - LIN (www.lin-subbus.org). Это сравнительно низкоскоростной протокол (до 20 Кбит/с), предназначенный для подключения интеллектуальных датчиков и исполнительных механизмов. Таким образом, встаёт задача создания гетерогенных сетей, использующих CAN и LIN.

Построение иерархических распределенных приложений

Цель создания HCDA

Протокол прикладного уровня для построения иерархических распределённых приложений на базе CAN - Hierarchical CAN Distributed Application (HCDA) представляет собой разработку стандарта, предназначенного для создания сложных распределённых при-ложений, базирующихся на CAN-протоколе. Данный стандарт имеет смысл использовать при разработке систем (проектов), характеризующихся следующими параметрами:

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

Сетевая архитектура HCDA

Уровень управления сетью HCDA обеспечивает:

  • управление состояниями контроллеров;
  • охрану узлов - обнаружение отключений и подключений узлов;
  • возможность уникальной идентификации каждого узла в рамках всей сети;
  • автоматическое определение идентификатора подключенного (подключаемого) узла;
  • загрузку конфигурации и ПО.

Уровень приложения HCDA обеспечивает: определение прикладных сущностей - объектов распределённого приложения (Distributed Appli-cation Object) и их идентификацию в пределах всей системы, не зависящую от идентификации узлов (контроллеров) сети; обмен данными между DAO в реальном времени с использованием двух основных типов сообщений: подтверждаемых - команд и не подтверждаемых - событий; привязку прикладного уровня к физической конфигурации сети.

Описание объектов и их элементов через профили

Для обеспечения возможностей гибкой настройки и реконфигурируемости обеспечена стандартизация механизмов конфигурирования контроллеров и объектов распределённого приложения. Стандартизация реализована через профили (аналогично тому, как это сделано в CANopen) - типовые конфигурации контроллеров, объектов распределённого приложения, элементов - датчиков, управляющих механизмов и т.п.

Примеры создания территориально распределенных систем

Комплексная система автоматизации переработки зерна и зернопродуктов

Комплексная система автоматизации переработки зерна и зернопродуктов - GPSC (Grain Processing Control System) состоит из подсистем:

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

В настоящее время GPSC реализована на зерновом терминале Таганрогского миниэлеватора:

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

Система тревожной (охранно-пожарной) сигнализации

Комплексная система управления тревожным (охранно-пожарным) оповещением ACS-2000 (Alert Control System) предназначена для организации охранной, пожарной и охранно-пожарной служб гостиничных, санаторных и туристических комплексов, вузов, учебных корпусов, банков, бизнес-центров, супермаркетов, а также жилых многоквартирных домов. Система способна взять на себя все заботы, связанные с обеспечением безопасности имущества граждан, а также материальных ценностей, находящихся в служебных помещениях как в пределах здания, так и на удалении от него на расстояние до 6000 м.

Комплекс ACS 2000 представляет собой специализированную локальную многоуровневую территориально распределённую систему, реализованную на CAN- и LIN-сетях.

Одна из реализаций системы ACS-2000 представляет собой пример иерархической CAN-сети, при построении которой в полной мере были оценены преимущества использования протокола прикладного уровня HCDA.

Дальнейшее развитие проект ACS-2000 получил в системе комплексной автоматизации работы гостиничного комплекса - HASC (Hotel Automation Control System).

Управления системой кондиционирования воздуха в самолете

Система кондиционирования воздуха (СКВ) является одной из важнейших систем обеспечения полётов современных самолётов в различных погодных и высотных условиях.

Центральным звеном СКВ является промышленная установка охлаждения воздуха, содержащая обычно несколько ступеней с регулирующими заслонками и датчиками. Кроме того, в СКВ входит ряд запорно-соединительных заслонок и воздушных магистралей, с помощью которых обеспечиваются различные режимы работы СКВ. Размещение, параметры и характеристики указанных элементов СКВ в значительной мере определяются конструкцией и назначением самолёта. Поэтому основная проблема создания СКВ заключается в разработке блока управления (ЦБУК) и объединения всех элементов СКВ в единую систему.

Одной из основных конструктивных особенностей ЦБУК является применение модульного принципа построения и сетевой системы связи модулей и подсистем СКВ. Для этой цели применяется CAN. ЦБУК состоит из модуля центрального процессора, основного и резервного модулей ввода/вывода. Модули соединены между собой по CAN-шине. Также по CAN-шине связаны и оба блока ЦБУК (левый и правый борт). Применение CAN придаёт ЦБУК высокую универсальность и надёжность, так как позволяет осуществлять дистанционную загрузку и полное изменение управляющей программы без демонтажа блока.

Система электроснабжения самолета

Для системы сбора и обработки параметров качества электроэнергии системы электроснабжения (СЭС) самолёта был разработан сетевой измерительно-вычислительный комплекс (СИВК), представляющий собой совокупность контроллеров сбора данных в реальном времени, объединённых в локальную CAN-сеть под управлением PC.

Большой объём передаваемых данных и жёсткие временные ограничения потребовали создания собственного прикладного протокола, основанного на CAN Layer 2.

СИВК успешно применяется на ТАНТК им. Бериева при проведении стендовых и бортовых испытаний СЭС самолётов Бе-200 и А-50.

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

 
Автор документа: Сергей Гаврилюк , http://www.gaw.ru"
Дата публикации: 08.08.2007
Дата редактирования: 08.08.2007
Кол-во просмотров 6886
 
 Все новости одной лентой