Выпуск #5/2010
Рассказывает директор ООО "Марафон", к.ф.-м.н. А.С.Чепурнов
Без CAN российским инженерам не выжить. О CAN-технологии и не только.
Без CAN российским инженерам не выжить. О CAN-технологии и не только.
Просмотры: 4166
Технология CAN уже достаточно давно занимает лидирующее положение среди последовательных промышленных интерфейсов. Она вышла за рамки бортового оборудования автомобилей, для которого изначально создавалась. Сегодня на основе CAN создан ряд международных стандартов, производится оборудование и системы. Однако в России эта технология хоть и хорошо известна, но не получила должного развития. О перспективах CAN-технологий – наш разговор с директором ООО "Марафон" Александром Сергеевичем Чепурновым. Напомним, что "Марафон" – это единственный разработчик полностью российского инструментария для CAN-систем, от аппаратных средств до оригинальной библиотеки CANopen.
Александр Сергеевич, ООО "Марафон" известно на российском рынке и как производитель сложных печатных плат, и как разработчик электронных устройств, и как поставщик решений на основе технологии CAN. Откуда такая многогранность?
Действительно, у компании "Марафон" несколько направлений работы. Одно из них – контрактное производство электронных изделий. Оно включает полный цикл – проектирование печатных плат, их производство и сборку, оформление конструкторской документации, подготовку механических чертежей и т.д. Второе направление – разработка сложных электронных устройств цифровой обработки сигналов. Третья область деятельности объединяет все, что связано с шиной CAN – от обучения специалистов, разработки универсальных аппаратных и программных средств до прикладных систем в различных областях применения.
Кроме того, мы проводим учебные семинары, плотно сотрудничая с такими вузами, как Московский государственный университет имени М.В.Ломоносова, Московский государственный университет леса, Белгородский государственный университет, Технологический институт "Южного федерального университета" в Таганроге (бывший Таганрогский радиотехнический институт).
Но все наши направления деятельности возникли не случайно, их объединяет общая идеология развития компании. "Марафон" – это частное конструкторское бюро, созданное больше 15 лет назад для разработки сложной электроники. Исторически мы очень тесно связаны с НИИ ядерной физики имени Д.В.Скобельцына Московского государственного университета. Среди наших сотрудников много выпускников МГУ.
Наша специализация – разработка очень сложной цифровой электроники на заказ, устройств на основе процессоров цифровой обработки сигналов и программируемых логических схем. Поскольку "Марафон" исторически связан с МГУ, а я до сих пор являюсь его сотрудником и 25 лет занимаюсь системами управления различными ядерно-физическими установками, "Марафон" вовлечен в различные международные проекты по созданию сложных установок для ядерной физики – системы управления для ускорителей, системы сбора данных для детекторов и т.п. В этой области мы работаем совместно с РНЦ "Курчатовский институт", с Объединенным институтом ядерных исследований в Дубне, с НИИЯФ МГУ и с их международными партнерами. У нас проходят практику и делают дипломы студенты, есть и аспиранты. В основном из МГУ, из МИФИ и из МГУЛ.
C 1999 по 2005 годы мы разрабатывали по заказу Астрокосмического центра Физического института им. П.Н.Лебедева РАН блок формирования цифровых потоков для космического радиотелескопа "РадиоАстрон". С нетерпением ждем, когда он будет запущен.
В Московском государственном университете леса мы сотрудничаем с кафедрой профессора В.К.Вороницына, которая занимается автоматизацией производств лесопромышленного комплекса. Кроме того, мы сотрудничаем с кафедрами, которые специализируются на разработках и вопросах эксплуатации лесных машин.
Тесные связи у нас установились с Научным автотракторным институтом (НАТИ), совместно с которым идет разработка элементов бортовых систем управления, и, в частности, блока управления новой гидротрансмиссией для нового российского сельскохозяйственного трактора.
Очевидно, чтобы разрабатывать и производить столь сложные изделия и участвовать в ответственных проектах, необходимо владеть современными технологиями изготовления электроники и иметь прочные связи с надежными производственными партнерами. Наше ключевое преимущество – мы хорошо знаем не только как разработать изделие, но и как его произвести. Поэтому, в частности, у нас спроектированная плата начинает сразу работать с вероятностью около 98%. Это сказывается и на сроках разработки, и на ее себестоимости, что очень важно для заказчиков. Решив эту задачу для себя, мы начали предлагать производственные услуги на российском рынке.
Сейчас в России немало компаний занимаются контрактным производством. В чем особенность "Марафона"?
Наша специфика – мы каждые несколько лет привносим что-то новое. Так, мы были первыми в России, кто в 1995 году предложил размещать заказы на производство сложных и очень сложных печатных плат за рубежом – сначала в Канаде, затем в Германии. Мы продолжаем поддерживать это направление, но когда все стали предлагать подобные услуги, наши приоритеты изменились.
В 1999 году мы одними из первых привезли в Москву лазерный фотоплоттер – тогда начался переход на поверхностный монтаж, у всех появились гигантские растровые шаблоны, на масочных фотоплоттерах изготавливать их стало невозможно. Мы рисовали фотошаблоны для многих производителей печатных плат московского региона, пока они сами не оснастились аналогичными установками.
Конечно, мы используем и развиваем наше основное производство печатных плат. Мы были одними из первых в России, кто отработал технологический процесс склейки обычного текстолита FR-4 и СВЧ-материала Rogers для изготовления двухсторонних печатных плат и предложил эту технологию своим заказчикам. Производим мы и печатные платы из высокотемпературных материалов. Причем срок выполнения подобных заказов у нас существенно меньше, чем у других фирм, поскольку эти материалы лежат на нашем складе – ведь они используются и в печатаных платах для изделий "Марафона".
Нами разработана технология для печатных плат с малыми поверхностными утечками. Мы поставили порядка 600 устройств на основе таких плат в США для систем высоковольтного питания большого ядерно-физического детектора. Еще одна производимая нами "экзотика" – плата с толстым (порядка 1 мм) слоем меди для эффективного отвода тепла на периферию печатной платы и далее. Есть и собственный небольшой сборочно-настроечный участок и свой отдел технического контроля. Причем выпуск изделий по нашим заказам у сторонних производителей контролируют представители нашей службы ОТК.
Почему в отдельное бизнес-направление компании "Марафон" выделен CAN – один из множества существующих шинных протоколов?
Технологией CAN мы начали заниматься в 1997 году. CAN (Controller Area Network) был выбран как базовый интерфейс в системах управления для ускорителей заряженных частиц. Отчасти это было связано с вышедшими в июне 1996 года рекомендациями CERN, предлагавшими ограничить разнообразие шинных интерфейсов в будущих проектах, таких как проект Большого адронного коллайдера. Среди трех протоколов рекомендовался именно CAN, наряду с PROFIBUS и WORLDFIP. И с тех пор "Марафон", одновременно с компанией "ДЭЙТАМИКРО" в Таганроге, начал внедрять этот стандарт в России.
Тогда же мы вступили в международную ассоциацию CAN in Automation (CiA), занимающуюся развитием и внедрением технологии CAN. Это дало нам доступ к международным стандартам и рекомендациям, в том числе находящимся в стадии разработки. Членство в CiA открыло для нас возможность общения с ведущими специалистам в области CAN в мире. Мы увидели, что этот протокол очень перспективен. И действительно, сегодня он используется практически везде. В первую очередь – в автомобильной индустрии, в транспортных системах (железнодорожных, авиационных, морских), в сельскохозяйственных и лесных машинах. А также в лифтах, в ткацких станках, в печатных машинах, в термопластавтоматах, в автоматизированных системах управления технологическими процессами (АСУ ТП), в навигационных системах, в морской электронике – везде в мире используется шина CAN.
Продвижение этой технологии в России мы начали с того, что стали проводить международные и российские школы с приглашением ведущих в мире специалистов, таких как Хольгер Цельтвангер и, в последние годы, Райнер Зицман из CiA. Одновременно мы обучались сами и стали наращивать объем собственных CAN-изделий. У нас принципиальная позиция – мы производим именно российские CAN-компоненты, с российским программным обеспечением. И на этом пути компания достигла ощутимых успехов. Например, нам удалось в 2002 году убедить Фонд поддержки малых предприятий Ивана Михайловича Бортника, что создание библиотеки CANopen стратегически важно для России. В результате при поддержке этого фонда "Марафон" разработал оригинальную лицензионно чистую библиотеку CANopen. И сегодня мы – единственные в России, кто продает собственные открытые коды библиотеки CANopen и отвечает за их целостность и внедряемость. Более того, в мире всего восемь фирм-разработчиков библиотеки стека CANopen и одна из них – "Марафон".
Наша компания предлагает и весь набор CAN-инструментария – анализаторы протокола, конфигураторы устройств и т.п. Кроме того мы изготавливаем серийно и под заказ модули и устройства ввода-вывода, в которых реализованы как стандартные, так и специализированные профили CANopen. Причем любое наше CANopen-устройство полностью и гарантированно совместимо с изделиями компаний WAGO, Moeller, Beckoff и других, поддерживающих CANopen. Мы стремимся к тому, чтобы на российском рынке был представлен такой же набор отечественных аппаратных и программных средств CAN, какой предлагают немецкие фирмы. Конечно, ассортимент продуктов, например, компании IXXAT или SYS TEC electronic шире нашего, поскольку они работают в этой области на десять лет больше, но мы производим тот минимум, который может закрыть потребности разработчиков систем CAN в России. И, разумеется, наша компания оказывает всеобъемлющую техническую поддержку. Последнее очень важно, ведь CAN – очень непростой для осознания протокол, нужно приложить определенные интеллектуальные усилия, чтобы эффективно с ним работать.
В чем его сложность? Ведь видимая прелесть CAN – в его реализации на уровне аппаратуры микроконтроллеров. Разработчику не нужно думать о поддержке стека CAN-протоколов, все уже сделано – покупай микроконтроллер и пользуйся.
Если говорить о системе из двух-трех устройств, то да, все довольно просто. Но CAN – это новая идеология, новый язык, его нужно освоить. Более того, мы говорим не о шине CAN, а о CAN-технологии. Она включает программные и аппаратные средства, а также набор спецификаций, от физического и канального уровня до протоколов верхнего уровня поверх CAN.
Канальный уровень CAN описан в спецификации CAN 2.0 B и закреплен в стандарте ISO 11898 (физический и канальный уровни). Он реализован в микроконтроллерах на уровне микропрограмм. Причем до недавнего времени существовала проблема с совместимостью различных микроконтроллеров с CAN-интерфейсами. Сегодня она в большей мере решена, тем не менее, в микроконтроллерах остается немало ошибок в реализации некоторых специфичных режимов работы CAN-протокола, вплоть до взаимной несовместимости. Причем проявляются они не при объединении двух устройств, которые разработал один специалист, а когда в сети взаимодействуют 20–30 устройств различных производителей. Выработаны достаточно жесткие рекомендации, как использовать CAN, чтобы обойти эти ошибки. На учебных курсах мы читаем на эту тему лекции. Конечно, ситуация становится все лучше и лучше, но проблемы есть.
Трудности создает и принципиальное отличие идеологии CAN от ряда традиционных шин. Так, многие не понимают, что спецификация CAN не регламентирует использование идентификаторов. В CAN нет понятий адреса узла, приемника, передатчика. Да, в каждом CAN-кадре есть 11- или 29-битный идентификатор, необходимый для арбитража. Но какую функцию он будет нести – сетевой адрес устройства, код команды и т.п. – это уже дело разработчика. Вот в протоколах верхнего уровня назначение идентификаторов жестко прописано.
Самое главное – многие разработчики привыкли работать с адресными шинами, особенно в режиме поллинга (опроса), когда все периферийные устройства опрашиваются центральным узлом. И большая проблема для таких специалистов – перейти на CAN. Многие из них успешно пытаются организовать поллинг на CAN-шине. А это неправильно. Ведь концептуальная красота и преимущество CAN в том, что он позволяет строить событийно-ориентированные системы. Каждый узел может послать сообщение в сеть, если только она не занята. Никаких дополнительных условий для этого не нужно. Иначе говоря, любой узел может генерировать прерывание и вся система реагирует на него.
Кроме того, приоритетность, жестко определяемая идентификаторами, позволяет создавать системы реального времени. Сам протокол CAN обеспечивает режим передачи срочных сообщений и их гарантированную доставку в любой ситуации. Это важно, например, в автомобильной электронике.
Сеть CAN – это очень вежливая сеть, и главная функция любого узла – это слушать, в том числе и себя. Каждый CAN-контроллер всегда слушает шину и принимает все сообщения. Если шина занята, все ждут. Если несколько узлов одновременно пытаются начать передачу, то узел, передающий кадр с более низким приоритетом (с большим значением идентификатора), слышит, что у другого узла есть более важное сообщение. Он останавливает передачу и начинает слушать другого.
Кроме того, CAN – высоконадежный протокол. Причем не потому, что гарантирует доставку каждого кадра – это в принципе невозможно, а потому, что он гарантирует детектирование недоставки сообщения. И располагает механизмом повторной отправки.
Перечисленные особенности CAN-протокола относятся к канальному уровню. Вы же говорите о CAN-технологии, охватывающей и протоколы верхнего уровня. В чем их достоинства?
CAN нельзя рассматривать в отрыве от протоколов верхнего уровня. Уже наработано несколько классов таких протоколов, каждый для своей предметной области. Например, для встраиваемых систем основной протокол – CANopen. CANopen – это в том числе и набор абстракций, позволяющих в полном объеме описать практически любую систему управления реального времени. Он стандартизован в Европе (EN 50325-4) и, кроме того, является общемировым стандартом во многих отраслях. Например, в железнодорожном транспорте есть стандарт IEC 61375-3-3, регламентирующий создания систем управления перспективными локомотивами на основе CANopen. Для задач авионики был разработан протокол CANaerospace. На его основе создан протокол ARINC 825, принятый фирмами Airbus и Boeing для будущих разработок. Весь грузовой транспорт и сельскохозяйственные машины используют протокол SAE J1939 и его вариации ISO 11992 для грузовиков с прицепами, ISO 11783 для сельскохозяйственных машин. Для военных транспортных средств применяют протокол MilCAN. Практически для каждой области применения создан CAN-протокол верхнего уровня, на их основе разрабатываются устройства и системы, и назад пути нет.
Поэтому если сегодня кто-то хочет разработать устройство, которое должно быть совместимым с устройствами других производителей, то поддержка какого-либо CAN-протокола верхнего уровня обязательна. Более того, всем начинающим нужно брать за основу какой-либо протокол верхнего уровня, не изобретая свой собственный. Таковы рыночные реалии уже свыше пяти лет. Используйте стандартные протоколы, они не так дорого стоят! Нет желания платить – есть открытый бесплатный код CANopen, правда, радиолюбительского уровня по качеству и стабильности. Но тут уж вопрос выбора – или платить за качественный продукт, или заниматься доработкой бесплатного. Но, подчеркну, любой из этих вариантов лучше, чем разрабатывать свой протокол.
Протоколы верхнего уровня жестко ориентированы на ту или иную область применения. Например, SAE J1939 предназначен для транспортных систем, CANopen – для необслуживаемых встроенных систем реального времени. Протокол DeviceNet создан компанией Allen Bradley (теперь – Rockwell Automation) для АСУ ТП. Нас часто спрашивают – чем CANopen лучше, чем DeviceNet? Ничем. Эти протоколы верхнего уровня создавались для разных задач. Например, CANopen не поддерживает горячей замены устройств в сети, устройства CANopen требуют изначального конфигурирования и т.п. DeviceNet – это объектно-ориентированная модель, поддерживается возможность plug and play, но там очень тяжелый стек протокола.
Более того, говорим мы именно о CAN-технологии еще и потому, что она выходит за рамки шины CAN. Сегодня явно видна тенденция – использовать идеологию, реализованную в CAN-протоколах верхнего уровня, поверх Ethernet и сделать эти решения открытыми и широко применяемыми. Этим активно занимается компания Rockwell Automation, перенося модель DeviceNet в среду Ethernet – EtherNet/IP. Аналогично, компания Beckoff – исторически одна из ведущих компаний, предлагающих решения с CANopen, – перенесла алгоритмические идеи конфигурирования и управления сетью в решения на основе сетей Ethernet – EtherCAT. И уже не важно, каков физический уровень – единым остается набор абстракций, язык, позволяющий описать систему управления в целом.
Но ведь существуют и альтернативные стандарты, например, RS-485 или LIN. Они являются конкурентами CAN?
Во встроенных системах одна из наиболее распространенных альтернатив CAN – протокол RS-485. Но сегодня RS-485 – это тупик для построения больших систем. Это интерфейс уровня трансиверов, он требует программной реализации протоколов канального уровня и выше. То, что реализовано в микроконтроллерах для CAN, в случае RS-485 приходится делать программно. Не говоря о том, что сети RS-485, как правило, предполагают только поллинговую архитектуру с одним выделенным "мастером".
Что касается протокола LIN, то здесь ситуация иная. В автомобильной электронике выражена тенденция к созданию иерархических систем. Например, в автомобиле может быть до восьми CAN-сетей, работающих на разных скоростях. Естественно стремление для медленных, не критических систем сделать еще более дешевый и простой механизм управления, нежели CAN. Им стал протокол LIN. Он подходит для управления стеклоподъемниками, замками дверей и т.п. LIN и CAN – это не конкурирующие, а иерархически взаимодополняющие протоколы.
В целом, можно смело утверждать, что на ближайшие 15–20 лет CAN будет безальтернативен в своей области применения.
В чем важность освоения CAN-технологий в России?
Для российских инженеров, работающих в области создания средств и систем автоматизации, единственный способ выжить в условиях мировой кооперации – это освоить CANopen. Подчеркну, единственный. И если мы не будем учить студентов соответствующих специальностей CANopen, они тоже никому не будут нужны. Знающий CANopen специалист и стоит дороже на рынке труда, и привлекательнее для работодателя.
То же относится и к разработчикам – если компании не перестанут создавать целиком закрытые системы, на основе своего внутреннего, пусть хорошо отработанного и верифицированного протокола, они окажутся в тупике. Ведь использовать такие системы достаточно бесперспективно для их заказчиков, поскольку они попадают в зависимость от одного конкретного производителя и не могут использовать в своих системах продукцию третьих фирм. Более того, у многих российских компаний-разработчиков, как правило, не хватает ресурсов на создание средств конфигурирования, верификации и т.п. А в случае закрытых систем взять их негде. В итоге это тупик и для самих разработчиков закрытых систем – их продукцию перестают заказывать.
Вообще, во всем мире появление стандартизированных CAN-протоколов верхнего уровня – это вынужденная мера, связанная с консолидацией рынков и борьбой малых и средних компаний за выживание в конкуренции с монополистами. Так, очень характерна история с рынком лифтовых систем. Основные производители лифтов – фирмы Otis, Kone, ThyssenKrupp – производят все компоненты лифтовых систем сами и используют закрытые протоколы управления. Менее крупные производители лифтового оборудования, производящие отдельные компоненты лифтов, в попытке выжить объединились в рамках CAN in Automation и создали спецификацию CiA DSP 417 (CANopen Lift), позволяющую им выпускать отдельные компоненты, совместимые для объединения в лифтовые системы. Это – лишь один из примеров.
Пример из нашей практики – один из крупнейших передовых российских производителей тракторной техники выпускает тракторы с двигателем американской компании Cummins. Для него НАТИ разработал новую российскую оригинальную гидротрансмиссию. Естественно, система управления американского двигателя построена на протоколе SAE J1939. Мы сейчас разрабатываем совместно с НАТИ систему управления трансмиссией и информационно-управляющую систему трактора в целом. Причем система строится таким образом, чтобы все подключенные к ней устройства общались с двигателем и между собой на языке SAE J1939. В результате появится качественный отечественный продукт – автоматизированная гидротрансмиссия, который можно использовать в любых, в том числе в импортных автотракторных системах, поскольку SAE J1939 – это фактически международный стандарт.
Какие продукты предлагает компания "Марафон" в области CAN?
Мы производим полный набор интерфейсов для всех стандартных универсальных компьютерных платформ (PCI, PCI Express, PC/104 и др.). Поверх этих аппаратных интерфейсов мы предлагаем набор драйверов, предоставляющих абстрактный CAN-интерфейс со стандартизированным API (программный интерфейс приложения). Он реализован как в рамках универсальных операционных систем (Windows, Linux), так и в микроконтроллерах. Более того, в компании разработана технология моделирования встроенных систем на компьютерах под управлением универсальных операционных систем. Мы все отрабатываем в универсальной среде, а затем портируем этот же код в микроконтроллеры. Поэтому наша реализация CANopen очень стабильна.
Заказчику предоставляется исходный код библиотеки, реализующей стек протоколов CANopen. Она также легко портируема – у нас уже есть решения для десятка микроконтроллеров, мы можем легко адаптировать библиотеку под любой новый микроконтроллер. Но квалифицированный заказчик без труда сделает это сам – для этого необходимо реализовать лишь уровень драйвера. Мы предлагаем для этого все необходимые решения и инструменты.
Наши специалисты готовы оказать содействие и в разработке прикладной системы в части организации передачи данных. Для этого мы описываем систему в терминах CANopen и решаем унифицированную задачу обмена данных. Неважно, что это за объект – самолет, трактор или станок, нас интересуют потоки данных. Описав их, можно или подобрать стандартные CANopen-профили устройств, или разработать их.
То есть в области CAN-технологий вы выступаете как системные интеграторы?
Ни одна фирма в мире, производящая аппаратные CAN-интерфейсы, не живет с продаж только этих устройств. Все продается в комплексе, включая библиотеки стека протоколов. Аналогично, мы предлагаем комплекс – и интерфейсные устройства, и программное обеспечение, а главное – решения по их интеграции. Самое же интересное для нас – создание и внедрение CAN в конечные системы.
При этом компания "Марафон" – не системный интегратор, поскольку она не привязана к какой-либо конкретной области применения. Мы только поставляем компоненты системным интеграторам, но эти компоненты настолько сложны, что нас приглашают для решения коммуникационной задачи. Конечно, в ряде проектов "Марафон" выступает и как системный интегратор.
Каковы основные задачи в деле внедрения CAN-технологий в России?
CAN-технология уже достаточно развита и стабильна. В России необходимо расширять ее использование. Для чего необходимо внедрение CAN-технологии в учебный процесс. Над этой задачей я бьюсь уже несколько лет, но пока безуспешно. В то же время в Германии, например, во всех технических университетах CAN читают в обязательном порядке.
В наших вузах идет постоянная реорганизация, переаттестация и прочие процессы. Не хватает преподавателей, падает уровень и студентов, и преподавания. Становится не до CAN-технологий. А ведь речь идет о смене требований к набору курсов, которые должен прослушать студент в рамках определенных специальностей. Причем CAN-технология должна проходить насквозь всего курса обучения, она должна быть правильно освещена на лекциях и закреплена на семинарских и лабораторных занятиях. СAN должен стать одной из базовых технологий, которой обязательно обучают студентов ряда специальностей. Иначе инженеры "АвтоВАЗ" так и будут использовать электронику концерна Siemens, поскольку сами сделать ее не в состоянии. И мы не сможем им помочь, поскольку разговариваем на разных языках. Вот этим современным языкам, которыми пользуются разработчики во всем цивилизованном мире, и нужно учить, начиная со студенческой скамьи.
Компания "Марафон" не может сама по себе решить задачу обучения студентов, но мы готовы всемерно сотрудничать с вузами. Ведь в своей области CAN – не менее массовая и важная технология, как например, Ethernet. И без CAN российским инженерам не выжить.
Спасибо за содержательный рассказ. Пожелаем компании "Марафон" новых интересных проектов и достижений.
С А.С.Чепурновым беседовали О.М.Овсиенко и И.В.Шахнович
Действительно, у компании "Марафон" несколько направлений работы. Одно из них – контрактное производство электронных изделий. Оно включает полный цикл – проектирование печатных плат, их производство и сборку, оформление конструкторской документации, подготовку механических чертежей и т.д. Второе направление – разработка сложных электронных устройств цифровой обработки сигналов. Третья область деятельности объединяет все, что связано с шиной CAN – от обучения специалистов, разработки универсальных аппаратных и программных средств до прикладных систем в различных областях применения.
Кроме того, мы проводим учебные семинары, плотно сотрудничая с такими вузами, как Московский государственный университет имени М.В.Ломоносова, Московский государственный университет леса, Белгородский государственный университет, Технологический институт "Южного федерального университета" в Таганроге (бывший Таганрогский радиотехнический институт).
Но все наши направления деятельности возникли не случайно, их объединяет общая идеология развития компании. "Марафон" – это частное конструкторское бюро, созданное больше 15 лет назад для разработки сложной электроники. Исторически мы очень тесно связаны с НИИ ядерной физики имени Д.В.Скобельцына Московского государственного университета. Среди наших сотрудников много выпускников МГУ.
Наша специализация – разработка очень сложной цифровой электроники на заказ, устройств на основе процессоров цифровой обработки сигналов и программируемых логических схем. Поскольку "Марафон" исторически связан с МГУ, а я до сих пор являюсь его сотрудником и 25 лет занимаюсь системами управления различными ядерно-физическими установками, "Марафон" вовлечен в различные международные проекты по созданию сложных установок для ядерной физики – системы управления для ускорителей, системы сбора данных для детекторов и т.п. В этой области мы работаем совместно с РНЦ "Курчатовский институт", с Объединенным институтом ядерных исследований в Дубне, с НИИЯФ МГУ и с их международными партнерами. У нас проходят практику и делают дипломы студенты, есть и аспиранты. В основном из МГУ, из МИФИ и из МГУЛ.
C 1999 по 2005 годы мы разрабатывали по заказу Астрокосмического центра Физического института им. П.Н.Лебедева РАН блок формирования цифровых потоков для космического радиотелескопа "РадиоАстрон". С нетерпением ждем, когда он будет запущен.
В Московском государственном университете леса мы сотрудничаем с кафедрой профессора В.К.Вороницына, которая занимается автоматизацией производств лесопромышленного комплекса. Кроме того, мы сотрудничаем с кафедрами, которые специализируются на разработках и вопросах эксплуатации лесных машин.
Тесные связи у нас установились с Научным автотракторным институтом (НАТИ), совместно с которым идет разработка элементов бортовых систем управления, и, в частности, блока управления новой гидротрансмиссией для нового российского сельскохозяйственного трактора.
Очевидно, чтобы разрабатывать и производить столь сложные изделия и участвовать в ответственных проектах, необходимо владеть современными технологиями изготовления электроники и иметь прочные связи с надежными производственными партнерами. Наше ключевое преимущество – мы хорошо знаем не только как разработать изделие, но и как его произвести. Поэтому, в частности, у нас спроектированная плата начинает сразу работать с вероятностью около 98%. Это сказывается и на сроках разработки, и на ее себестоимости, что очень важно для заказчиков. Решив эту задачу для себя, мы начали предлагать производственные услуги на российском рынке.
Сейчас в России немало компаний занимаются контрактным производством. В чем особенность "Марафона"?
Наша специфика – мы каждые несколько лет привносим что-то новое. Так, мы были первыми в России, кто в 1995 году предложил размещать заказы на производство сложных и очень сложных печатных плат за рубежом – сначала в Канаде, затем в Германии. Мы продолжаем поддерживать это направление, но когда все стали предлагать подобные услуги, наши приоритеты изменились.
В 1999 году мы одними из первых привезли в Москву лазерный фотоплоттер – тогда начался переход на поверхностный монтаж, у всех появились гигантские растровые шаблоны, на масочных фотоплоттерах изготавливать их стало невозможно. Мы рисовали фотошаблоны для многих производителей печатных плат московского региона, пока они сами не оснастились аналогичными установками.
Конечно, мы используем и развиваем наше основное производство печатных плат. Мы были одними из первых в России, кто отработал технологический процесс склейки обычного текстолита FR-4 и СВЧ-материала Rogers для изготовления двухсторонних печатных плат и предложил эту технологию своим заказчикам. Производим мы и печатные платы из высокотемпературных материалов. Причем срок выполнения подобных заказов у нас существенно меньше, чем у других фирм, поскольку эти материалы лежат на нашем складе – ведь они используются и в печатаных платах для изделий "Марафона".
Нами разработана технология для печатных плат с малыми поверхностными утечками. Мы поставили порядка 600 устройств на основе таких плат в США для систем высоковольтного питания большого ядерно-физического детектора. Еще одна производимая нами "экзотика" – плата с толстым (порядка 1 мм) слоем меди для эффективного отвода тепла на периферию печатной платы и далее. Есть и собственный небольшой сборочно-настроечный участок и свой отдел технического контроля. Причем выпуск изделий по нашим заказам у сторонних производителей контролируют представители нашей службы ОТК.
Почему в отдельное бизнес-направление компании "Марафон" выделен CAN – один из множества существующих шинных протоколов?
Технологией CAN мы начали заниматься в 1997 году. CAN (Controller Area Network) был выбран как базовый интерфейс в системах управления для ускорителей заряженных частиц. Отчасти это было связано с вышедшими в июне 1996 года рекомендациями CERN, предлагавшими ограничить разнообразие шинных интерфейсов в будущих проектах, таких как проект Большого адронного коллайдера. Среди трех протоколов рекомендовался именно CAN, наряду с PROFIBUS и WORLDFIP. И с тех пор "Марафон", одновременно с компанией "ДЭЙТАМИКРО" в Таганроге, начал внедрять этот стандарт в России.
Тогда же мы вступили в международную ассоциацию CAN in Automation (CiA), занимающуюся развитием и внедрением технологии CAN. Это дало нам доступ к международным стандартам и рекомендациям, в том числе находящимся в стадии разработки. Членство в CiA открыло для нас возможность общения с ведущими специалистам в области CAN в мире. Мы увидели, что этот протокол очень перспективен. И действительно, сегодня он используется практически везде. В первую очередь – в автомобильной индустрии, в транспортных системах (железнодорожных, авиационных, морских), в сельскохозяйственных и лесных машинах. А также в лифтах, в ткацких станках, в печатных машинах, в термопластавтоматах, в автоматизированных системах управления технологическими процессами (АСУ ТП), в навигационных системах, в морской электронике – везде в мире используется шина CAN.
Продвижение этой технологии в России мы начали с того, что стали проводить международные и российские школы с приглашением ведущих в мире специалистов, таких как Хольгер Цельтвангер и, в последние годы, Райнер Зицман из CiA. Одновременно мы обучались сами и стали наращивать объем собственных CAN-изделий. У нас принципиальная позиция – мы производим именно российские CAN-компоненты, с российским программным обеспечением. И на этом пути компания достигла ощутимых успехов. Например, нам удалось в 2002 году убедить Фонд поддержки малых предприятий Ивана Михайловича Бортника, что создание библиотеки CANopen стратегически важно для России. В результате при поддержке этого фонда "Марафон" разработал оригинальную лицензионно чистую библиотеку CANopen. И сегодня мы – единственные в России, кто продает собственные открытые коды библиотеки CANopen и отвечает за их целостность и внедряемость. Более того, в мире всего восемь фирм-разработчиков библиотеки стека CANopen и одна из них – "Марафон".
Наша компания предлагает и весь набор CAN-инструментария – анализаторы протокола, конфигураторы устройств и т.п. Кроме того мы изготавливаем серийно и под заказ модули и устройства ввода-вывода, в которых реализованы как стандартные, так и специализированные профили CANopen. Причем любое наше CANopen-устройство полностью и гарантированно совместимо с изделиями компаний WAGO, Moeller, Beckoff и других, поддерживающих CANopen. Мы стремимся к тому, чтобы на российском рынке был представлен такой же набор отечественных аппаратных и программных средств CAN, какой предлагают немецкие фирмы. Конечно, ассортимент продуктов, например, компании IXXAT или SYS TEC electronic шире нашего, поскольку они работают в этой области на десять лет больше, но мы производим тот минимум, который может закрыть потребности разработчиков систем CAN в России. И, разумеется, наша компания оказывает всеобъемлющую техническую поддержку. Последнее очень важно, ведь CAN – очень непростой для осознания протокол, нужно приложить определенные интеллектуальные усилия, чтобы эффективно с ним работать.
В чем его сложность? Ведь видимая прелесть CAN – в его реализации на уровне аппаратуры микроконтроллеров. Разработчику не нужно думать о поддержке стека CAN-протоколов, все уже сделано – покупай микроконтроллер и пользуйся.
Если говорить о системе из двух-трех устройств, то да, все довольно просто. Но CAN – это новая идеология, новый язык, его нужно освоить. Более того, мы говорим не о шине CAN, а о CAN-технологии. Она включает программные и аппаратные средства, а также набор спецификаций, от физического и канального уровня до протоколов верхнего уровня поверх CAN.
Канальный уровень CAN описан в спецификации CAN 2.0 B и закреплен в стандарте ISO 11898 (физический и канальный уровни). Он реализован в микроконтроллерах на уровне микропрограмм. Причем до недавнего времени существовала проблема с совместимостью различных микроконтроллеров с CAN-интерфейсами. Сегодня она в большей мере решена, тем не менее, в микроконтроллерах остается немало ошибок в реализации некоторых специфичных режимов работы CAN-протокола, вплоть до взаимной несовместимости. Причем проявляются они не при объединении двух устройств, которые разработал один специалист, а когда в сети взаимодействуют 20–30 устройств различных производителей. Выработаны достаточно жесткие рекомендации, как использовать CAN, чтобы обойти эти ошибки. На учебных курсах мы читаем на эту тему лекции. Конечно, ситуация становится все лучше и лучше, но проблемы есть.
Трудности создает и принципиальное отличие идеологии CAN от ряда традиционных шин. Так, многие не понимают, что спецификация CAN не регламентирует использование идентификаторов. В CAN нет понятий адреса узла, приемника, передатчика. Да, в каждом CAN-кадре есть 11- или 29-битный идентификатор, необходимый для арбитража. Но какую функцию он будет нести – сетевой адрес устройства, код команды и т.п. – это уже дело разработчика. Вот в протоколах верхнего уровня назначение идентификаторов жестко прописано.
Самое главное – многие разработчики привыкли работать с адресными шинами, особенно в режиме поллинга (опроса), когда все периферийные устройства опрашиваются центральным узлом. И большая проблема для таких специалистов – перейти на CAN. Многие из них успешно пытаются организовать поллинг на CAN-шине. А это неправильно. Ведь концептуальная красота и преимущество CAN в том, что он позволяет строить событийно-ориентированные системы. Каждый узел может послать сообщение в сеть, если только она не занята. Никаких дополнительных условий для этого не нужно. Иначе говоря, любой узел может генерировать прерывание и вся система реагирует на него.
Кроме того, приоритетность, жестко определяемая идентификаторами, позволяет создавать системы реального времени. Сам протокол CAN обеспечивает режим передачи срочных сообщений и их гарантированную доставку в любой ситуации. Это важно, например, в автомобильной электронике.
Сеть CAN – это очень вежливая сеть, и главная функция любого узла – это слушать, в том числе и себя. Каждый CAN-контроллер всегда слушает шину и принимает все сообщения. Если шина занята, все ждут. Если несколько узлов одновременно пытаются начать передачу, то узел, передающий кадр с более низким приоритетом (с большим значением идентификатора), слышит, что у другого узла есть более важное сообщение. Он останавливает передачу и начинает слушать другого.
Кроме того, CAN – высоконадежный протокол. Причем не потому, что гарантирует доставку каждого кадра – это в принципе невозможно, а потому, что он гарантирует детектирование недоставки сообщения. И располагает механизмом повторной отправки.
Перечисленные особенности CAN-протокола относятся к канальному уровню. Вы же говорите о CAN-технологии, охватывающей и протоколы верхнего уровня. В чем их достоинства?
CAN нельзя рассматривать в отрыве от протоколов верхнего уровня. Уже наработано несколько классов таких протоколов, каждый для своей предметной области. Например, для встраиваемых систем основной протокол – CANopen. CANopen – это в том числе и набор абстракций, позволяющих в полном объеме описать практически любую систему управления реального времени. Он стандартизован в Европе (EN 50325-4) и, кроме того, является общемировым стандартом во многих отраслях. Например, в железнодорожном транспорте есть стандарт IEC 61375-3-3, регламентирующий создания систем управления перспективными локомотивами на основе CANopen. Для задач авионики был разработан протокол CANaerospace. На его основе создан протокол ARINC 825, принятый фирмами Airbus и Boeing для будущих разработок. Весь грузовой транспорт и сельскохозяйственные машины используют протокол SAE J1939 и его вариации ISO 11992 для грузовиков с прицепами, ISO 11783 для сельскохозяйственных машин. Для военных транспортных средств применяют протокол MilCAN. Практически для каждой области применения создан CAN-протокол верхнего уровня, на их основе разрабатываются устройства и системы, и назад пути нет.
Поэтому если сегодня кто-то хочет разработать устройство, которое должно быть совместимым с устройствами других производителей, то поддержка какого-либо CAN-протокола верхнего уровня обязательна. Более того, всем начинающим нужно брать за основу какой-либо протокол верхнего уровня, не изобретая свой собственный. Таковы рыночные реалии уже свыше пяти лет. Используйте стандартные протоколы, они не так дорого стоят! Нет желания платить – есть открытый бесплатный код CANopen, правда, радиолюбительского уровня по качеству и стабильности. Но тут уж вопрос выбора – или платить за качественный продукт, или заниматься доработкой бесплатного. Но, подчеркну, любой из этих вариантов лучше, чем разрабатывать свой протокол.
Протоколы верхнего уровня жестко ориентированы на ту или иную область применения. Например, SAE J1939 предназначен для транспортных систем, CANopen – для необслуживаемых встроенных систем реального времени. Протокол DeviceNet создан компанией Allen Bradley (теперь – Rockwell Automation) для АСУ ТП. Нас часто спрашивают – чем CANopen лучше, чем DeviceNet? Ничем. Эти протоколы верхнего уровня создавались для разных задач. Например, CANopen не поддерживает горячей замены устройств в сети, устройства CANopen требуют изначального конфигурирования и т.п. DeviceNet – это объектно-ориентированная модель, поддерживается возможность plug and play, но там очень тяжелый стек протокола.
Более того, говорим мы именно о CAN-технологии еще и потому, что она выходит за рамки шины CAN. Сегодня явно видна тенденция – использовать идеологию, реализованную в CAN-протоколах верхнего уровня, поверх Ethernet и сделать эти решения открытыми и широко применяемыми. Этим активно занимается компания Rockwell Automation, перенося модель DeviceNet в среду Ethernet – EtherNet/IP. Аналогично, компания Beckoff – исторически одна из ведущих компаний, предлагающих решения с CANopen, – перенесла алгоритмические идеи конфигурирования и управления сетью в решения на основе сетей Ethernet – EtherCAT. И уже не важно, каков физический уровень – единым остается набор абстракций, язык, позволяющий описать систему управления в целом.
Но ведь существуют и альтернативные стандарты, например, RS-485 или LIN. Они являются конкурентами CAN?
Во встроенных системах одна из наиболее распространенных альтернатив CAN – протокол RS-485. Но сегодня RS-485 – это тупик для построения больших систем. Это интерфейс уровня трансиверов, он требует программной реализации протоколов канального уровня и выше. То, что реализовано в микроконтроллерах для CAN, в случае RS-485 приходится делать программно. Не говоря о том, что сети RS-485, как правило, предполагают только поллинговую архитектуру с одним выделенным "мастером".
Что касается протокола LIN, то здесь ситуация иная. В автомобильной электронике выражена тенденция к созданию иерархических систем. Например, в автомобиле может быть до восьми CAN-сетей, работающих на разных скоростях. Естественно стремление для медленных, не критических систем сделать еще более дешевый и простой механизм управления, нежели CAN. Им стал протокол LIN. Он подходит для управления стеклоподъемниками, замками дверей и т.п. LIN и CAN – это не конкурирующие, а иерархически взаимодополняющие протоколы.
В целом, можно смело утверждать, что на ближайшие 15–20 лет CAN будет безальтернативен в своей области применения.
В чем важность освоения CAN-технологий в России?
Для российских инженеров, работающих в области создания средств и систем автоматизации, единственный способ выжить в условиях мировой кооперации – это освоить CANopen. Подчеркну, единственный. И если мы не будем учить студентов соответствующих специальностей CANopen, они тоже никому не будут нужны. Знающий CANopen специалист и стоит дороже на рынке труда, и привлекательнее для работодателя.
То же относится и к разработчикам – если компании не перестанут создавать целиком закрытые системы, на основе своего внутреннего, пусть хорошо отработанного и верифицированного протокола, они окажутся в тупике. Ведь использовать такие системы достаточно бесперспективно для их заказчиков, поскольку они попадают в зависимость от одного конкретного производителя и не могут использовать в своих системах продукцию третьих фирм. Более того, у многих российских компаний-разработчиков, как правило, не хватает ресурсов на создание средств конфигурирования, верификации и т.п. А в случае закрытых систем взять их негде. В итоге это тупик и для самих разработчиков закрытых систем – их продукцию перестают заказывать.
Вообще, во всем мире появление стандартизированных CAN-протоколов верхнего уровня – это вынужденная мера, связанная с консолидацией рынков и борьбой малых и средних компаний за выживание в конкуренции с монополистами. Так, очень характерна история с рынком лифтовых систем. Основные производители лифтов – фирмы Otis, Kone, ThyssenKrupp – производят все компоненты лифтовых систем сами и используют закрытые протоколы управления. Менее крупные производители лифтового оборудования, производящие отдельные компоненты лифтов, в попытке выжить объединились в рамках CAN in Automation и создали спецификацию CiA DSP 417 (CANopen Lift), позволяющую им выпускать отдельные компоненты, совместимые для объединения в лифтовые системы. Это – лишь один из примеров.
Пример из нашей практики – один из крупнейших передовых российских производителей тракторной техники выпускает тракторы с двигателем американской компании Cummins. Для него НАТИ разработал новую российскую оригинальную гидротрансмиссию. Естественно, система управления американского двигателя построена на протоколе SAE J1939. Мы сейчас разрабатываем совместно с НАТИ систему управления трансмиссией и информационно-управляющую систему трактора в целом. Причем система строится таким образом, чтобы все подключенные к ней устройства общались с двигателем и между собой на языке SAE J1939. В результате появится качественный отечественный продукт – автоматизированная гидротрансмиссия, который можно использовать в любых, в том числе в импортных автотракторных системах, поскольку SAE J1939 – это фактически международный стандарт.
Какие продукты предлагает компания "Марафон" в области CAN?
Мы производим полный набор интерфейсов для всех стандартных универсальных компьютерных платформ (PCI, PCI Express, PC/104 и др.). Поверх этих аппаратных интерфейсов мы предлагаем набор драйверов, предоставляющих абстрактный CAN-интерфейс со стандартизированным API (программный интерфейс приложения). Он реализован как в рамках универсальных операционных систем (Windows, Linux), так и в микроконтроллерах. Более того, в компании разработана технология моделирования встроенных систем на компьютерах под управлением универсальных операционных систем. Мы все отрабатываем в универсальной среде, а затем портируем этот же код в микроконтроллеры. Поэтому наша реализация CANopen очень стабильна.
Заказчику предоставляется исходный код библиотеки, реализующей стек протоколов CANopen. Она также легко портируема – у нас уже есть решения для десятка микроконтроллеров, мы можем легко адаптировать библиотеку под любой новый микроконтроллер. Но квалифицированный заказчик без труда сделает это сам – для этого необходимо реализовать лишь уровень драйвера. Мы предлагаем для этого все необходимые решения и инструменты.
Наши специалисты готовы оказать содействие и в разработке прикладной системы в части организации передачи данных. Для этого мы описываем систему в терминах CANopen и решаем унифицированную задачу обмена данных. Неважно, что это за объект – самолет, трактор или станок, нас интересуют потоки данных. Описав их, можно или подобрать стандартные CANopen-профили устройств, или разработать их.
То есть в области CAN-технологий вы выступаете как системные интеграторы?
Ни одна фирма в мире, производящая аппаратные CAN-интерфейсы, не живет с продаж только этих устройств. Все продается в комплексе, включая библиотеки стека протоколов. Аналогично, мы предлагаем комплекс – и интерфейсные устройства, и программное обеспечение, а главное – решения по их интеграции. Самое же интересное для нас – создание и внедрение CAN в конечные системы.
При этом компания "Марафон" – не системный интегратор, поскольку она не привязана к какой-либо конкретной области применения. Мы только поставляем компоненты системным интеграторам, но эти компоненты настолько сложны, что нас приглашают для решения коммуникационной задачи. Конечно, в ряде проектов "Марафон" выступает и как системный интегратор.
Каковы основные задачи в деле внедрения CAN-технологий в России?
CAN-технология уже достаточно развита и стабильна. В России необходимо расширять ее использование. Для чего необходимо внедрение CAN-технологии в учебный процесс. Над этой задачей я бьюсь уже несколько лет, но пока безуспешно. В то же время в Германии, например, во всех технических университетах CAN читают в обязательном порядке.
В наших вузах идет постоянная реорганизация, переаттестация и прочие процессы. Не хватает преподавателей, падает уровень и студентов, и преподавания. Становится не до CAN-технологий. А ведь речь идет о смене требований к набору курсов, которые должен прослушать студент в рамках определенных специальностей. Причем CAN-технология должна проходить насквозь всего курса обучения, она должна быть правильно освещена на лекциях и закреплена на семинарских и лабораторных занятиях. СAN должен стать одной из базовых технологий, которой обязательно обучают студентов ряда специальностей. Иначе инженеры "АвтоВАЗ" так и будут использовать электронику концерна Siemens, поскольку сами сделать ее не в состоянии. И мы не сможем им помочь, поскольку разговариваем на разных языках. Вот этим современным языкам, которыми пользуются разработчики во всем цивилизованном мире, и нужно учить, начиная со студенческой скамьи.
Компания "Марафон" не может сама по себе решить задачу обучения студентов, но мы готовы всемерно сотрудничать с вузами. Ведь в своей области CAN – не менее массовая и важная технология, как например, Ethernet. И без CAN российским инженерам не выжить.
Спасибо за содержательный рассказ. Пожелаем компании "Марафон" новых интересных проектов и достижений.
С А.С.Чепурновым беседовали О.М.Овсиенко и И.В.Шахнович
Отзывы читателей