Современное информационное обеспечение автосервиса. Как программное обеспечение помогает в проектировке и производстве автомобилей? Современное программное обеспечение для автомобиля

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



До начала текущего столетия в автомобилях было не так уж и много электронных систем. Некоторые дорогие модели имели электронное зажигание, круиз-контроль и климат-контроль, но это было довольно примитивные системы аналоговой электроники. С тех пор многое изменилось. Современные автомобили, даже базовые модели, имеют в своем составе десятки микропроцессоров и микроконтроллеров разной мощности, от крошечных 4-х битных устройств до 32-х или даже 64-х разрядных монстров.


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

  • Шина CAN – средство для надежного соединения множества электронных систем вместе с минимальным количеством проводов.
  • MISRA C (и C ++) – подробный список правил по использованию языка C в системах критической безопасности, таких как автомобили.
  • OSEK / VDX – стандарт для операционных систем реального времени, используемых в автомобилях и прочих подобных системах.
  • Genivi – стандарт для систем на базе Linux, используемых для информационно-развлекательных систем в автомобиле.

Рассмотрим каждый из этих стандартов поподробнее.


Шина CAN


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



Разработчики встраиваемых систем часто сожалеют о том, что ни один язык программирования не идеально подходит для их конкретных потребностей. В некотором смысле, эта ситуация неудивительна, потому что, хотя очень многие разработчики работают над созданием встраиваемых приложений, они по-прежнему представляют собой лишь весьма небольшой коллектив в мире программирования сообщества. Тем не менее, некоторые языки были разработаны с учетом их использования во встраиваемых системах, например, PL/M, Forth и Ada. Но они не являются общепринятыми.


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


Именно поэтому в конце 1990-х годов ассоциация Motor Industry Software Reliability Association (MISRA) представила ряд правил для использования языка C в системах транспортных средств. Этот стандарт стал известен под именем MISRA-C. Также был установлен аналогичный подход к использованию языка C++. Хотя эти принципы были написаны для разработчиков программного обеспечения, применяемого в автомобилях, вскоре они начали распространяться на другие области применения, где безопасность имеет важнейшее значение.


OSEK/VDX


OSEK/VDX является стандартом для ОСРВ, предназначенных для использования в системах управления автомобилями. Он был разработан с нуля для этой цели и включает в себя основные характеристики, необходимые для обеспечения безопасности критической системы. Ключевой особенностью является отсутствие динамических объектов; все создается статически во время сборки. Внутренняя простота этой реализации не ограничивает значительно разработчиков программного обеспечения, но устраняет значительный потенциальный источник сбоя системы. И это неудивительно, что другие отрасли проявляют интерес к данному стандарту. Операционные системы, поддерживающие OSEK/VDX, сегодня доступны от целого ряда поставщиков.



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

Занимаясь организацией или расширением автосервиса, необходимо помнить, что приобретенное оборудование и нанятые работники - это далеко не все, что необходимо для организации работы станции технического обслуживания, в том числе, диагностического поста. Как правило, один из самых необходимых компонентов -информационное обеспечение. Иногда на СТО пытаются утолить информационный голод книгами и компакт-дисками из магазинов и рынков, рассчитанными на использование автолюбителями и содержащими информацию по отдельной модели автомобиля определенных годов выпуска. Эти попытки обречены на провал по нескольким причинам: Во-первых, эти книги предназначены для частного, а не профессионального использования - в них отсутствуют важные аспекты ремонта, а главное - диагностики (при этим они изобилуют ненужными для профессионала подробностями), Во вторых, для хорошего покрытия такой информацией всего, кто и что у нас ездит, нужно много таких книг.

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

Должно использоваться) в любом автосервисе (от гаража до крупного дилерского центра):

1. Управленческо-учетное программное обеспечение (ПО)

К этому классу относится бухгалтерское ПО, ПО автоматизации бизнес-процессов, ПО ведения складского учета, ПО учета рабочего времени, ПО подготовки и учета заказ-нарядов и пр. Многие из программных продуктов обеспечивают интеграцию с каталогами запасных частей (для автоматической загрузки цен и моделей деталей в бухгалтерско-учетные документы), информационными базами нормо-часов (для автоматизации загрузки номенклатур работ и расчета их стоимости).

Специфика этого ПО пока не входит в сферу специализации нашей фирмы - поэтому более подробную информацию о нем я не даю. На рынке представлено большое количество программных продуктов для решения этих задач таких как автономных, так и являющихся надстройками к универсальным системам (например, продуктов на базе платформы 1С). Вот «для затравки» несколько ссылок - продукты компании «Автодилер», внедренческого центра 1С-Рарус, компании «BVS Logic», компании «VERDI», система «TurboService», система «LogicStar-Avto», система «АИС@».

2. ПО специализированного оборудования - сюда относится программное обеспечение сканеров, мотор-тестеров, ПО для работы с газоанализаторами и дымомерами, ПО для чип-тюнинга, ПО для измерительных систем кузовного ремонта и т.п. Здесь, в принципе все понятно. Как правило, такое ПО поставляется вместе с самим оборудованием. Зачастую программное обеспечение этого класса выполняет не только свои основные (диагностические и пр.), но и справочные, обучающие функции.

С одной стороны возможности того или иного программно-аппаратного комплекса ограничены возможностями существующего для него ПО. Например, очень популярный сейчас адаптер K-L-Line никак не сможет работать с большим количеством марок, чем работает сейчас без выхода для него нового программного обеспечения. С другой стороны, границы развития возможностей программного обеспечения жестко предопределены аппаратными возможностями «железа». Поэтому, например, тот же K-L-Line адаптер никак не сможет работать с автомобилями, имеющими диагностический протокол обмена OBD-II-VPW или OBD-II-PWM, так как они просто аппаратно несовместимы (то есть невозможно под него разработать ПО с соответствующими функциями).

Некоторое ПО специализированного оборудования может использоваться и отдельно (без аппаратной части) - например, программа Autorobot Data System для известного одноименного комплекса правки кузовов с электронной измерительной системой может использоваться отдельно как справочная система по контрольным точкам и размерам кузовов.

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

Дилерские базы данных включают в себя информацию по одной или нескольким родственным маркам автомобилей (например, VW-Audi) и подготовлены самим автопроизводителем. Информация в них по отдельной марке наиболее полная и достоверная. Однако, официально такие базы распространяются только в рамках дилерской сети соответствующей марки. Соответственно, недилерские станции(даже если они специализируются на одной марке) могут приобрести эту информацию только у пиратов. Наибольшую известность имеют дилерские базы по диагностике и ремонту VW-Audi (ELSA), BMW (BMW TIS, BMW WDS), Ford (Ford TIS), Mercedes (Mercedes WIS), Opel (Opel TIS), Renault (Dialogys), Volvo (VADIS) и пр., а также каталоги запчастей VW-Audi (ETKA), BMW (BMW ETK), Mercedes (Mercedes EPC) и пр.

Мультимарочные базы включают информацию сразу по многим маркам автомобилей (разработчики баз стараются охватить «все что ездит»). Мультимарочность базы не исключает того, что в ней содержаться и некоторые дилерские материалы. Наиболее известными продуктами являются базы по диагностике и ремонту BOSCH ESI, Alldata, Autodata, Mitchell-on-Demand, Atris WM-KAT-Technik, Open@Car, Workshop, CAPS, ATSG и др.

Лицензионные версии этих баз в России мало доступны в плане приобретения – так как нам известны всего два официальных распространителя - это фирма BOSCH (база ESIftronic]) и фирма Легион-Автодата (база Autodata). Стоимость лицензионных продуктов создает ДОС таточно высокий барьер перед мелкими и средними станциями - около 980 долл. за полную версию базы Autodata и от нескольких тысяч евро (!) за годовой абонемент (!) на полный ESI. Контрафактные версии мультимарчных баз предлагаются буквально на каждом шагу за десятикратно меньшие суммы - от 30 до 250 долл.

Мультимарочные базы могут быть неспециализированными (включают информацию практически обо всем - например, база Autodata содержит и регулировочные параметры, и нормо-часы и информацию по диагностике электронных систем управления, и электросхемы и многое-многое другое) и специализированными (касаются информации по отдельным системам автомобиля - например в базе CAPS рассматриваются электронные системы управления, а в базах ATSG и Mitchell for Transmissions - коробки передач). Естественно, каждая база содержит разное количество информационных разделов - как правило, мультимарочные базы содержат следующую информацию:

Technical data - различные регулировочные данные по автомобилям. В базах имеются сотни и тысячи различных параметров, нормативов и прочего. Помнить эти цифры даже по одной обслуживаемой марке невозможно, но также невозможно и заниматься ремонтом и/или диагностикой, не имея их под рукой;

Repair times - основные нормы времени на ремонтные и регулировочные операции. Этот раздел может быть «встроен» в базу (Autodata), поставляться как дополнительный модуль, поставляться в виде отдельной базы;

Maintenance и Service schedules - сервисные интервалы и описания сервисных операций;

TSB (Technical Service Bulletins) - технические сервисные бюллетени - руководства и рекомендации от автопроизводителей по устранению конкретных типичных неисправностей и по другим вопросам. Эти руководства содержатся практически по всех дилерских базах (Ford TIS, Opel TIS, BMW TIS), а также в некоторых мультимарочных базах (например, в Mitchell on Demand и Alldata). Также в мультимарочных базах, например в базе AutoData, встречается аналогичный по назначению раздел Trouble shooter (разрешение конкретных неполадок). Зачастую руководства по устранению неисправностей представляются в виде алгоритмов или блок-схем (такие блок-схемы можно купить и отдельно в виде книги - «Блок-схемы поиска неисправностей в системах впрыска и зажигания бензиновых двигателей».

Сюда можно отнести и полезные таблицы (Fault tables) с анализом диагностических кодов неисправностей (DTC - Diagnostic Trouble Code) - такие разделы есть практически во всех электронных базах (Mitchell, Autodata, ELSA, Opel TIS и пр.) и содержат не только расшифровки кодов неисправностей, но и симптомы их проявления, возможные причины их возникновения, перечни проверок для устранения. Такая информация особенно полезна для начинающих диагностов;

Workshop или Repair - описания устройства, ремонта и диагностики отдельных систем автомобиля - двигателя, КПП, АБС, системы кондиционирования и пр.;

Component locations - расположение электронных и механических компонентов в автомобиле;

Wiring diagrams или Current flow diagrams - электросхемы.

Также встречаются и другие «форматы» документации - OFM (Official Factory Manuals), SSP (Service Self Study Programm) и пр.

Отдельно можно выделить каталоги запасных частей (ЕРС -Electronic Parts Catalog). В них содержится информация о запасных частях, их применимости, взаимозаменяемости, цене, зачастую встречаются и изображения. Каталоги запчастей делятся на каталоги оригинальных (произведенных или рекомендованных автопроизводителем) и неоригинальных (произведенных сторонними производителями) запчастей. Также каталоги могут быть мономарочными (содержат информацию о, как правило, оригинальных запчастях для одной марки - наиболее известны Mercedes EPC, BMW ETK и пр.) и мультимарочные (содержат информацию по запчастям к многим маркам - например, Tecdoc). Также

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

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

Покупая информационную базу, необходимо учитывать (уточнить эти вопросы у продавца):

По каким автомобилям в базе имеется информация? Здесь важны марки, года выпуска (или модельные года), рынок, для автомобилей которого выпущена база. Относительно годов выпуска надо заметить, что практически все существующие базы содержат наиболее полную информацию только по автомобилям последнего десятилетия (в основном, начиная с 1993 г.) - в частности, это касается таких баз как ELSA, Autodata, BMW TIS и пр.

Требует пояснения момент относительно рынка автомобиля. Дело в том, что одна и та же модель автомобиля отличается в зависимости от того, в какой регион (рынок) она поставляется - причем отличия могут быть не только в комплектации (например,наличие кондиционера для жарких стран или предпускового подогревателя для Севера), но и конструкцией (правый руль вместо левого, увеличенный клиренс и т.п.). Соответственно, могут различаться электросхемы, расположение компонентов, каталожные номера запчастей и пр. В основном выделяются рынки Европы (отдельно выделяется Великобритания из-за левостороннего движения и, соответственно, машин с правым рулем), Азии (отдельно выделяется Япония - по той же причине,что и Великобритания) и Америки. «Российский рынок» обладает той спецификой, что у нас ездит понемногу и отовсюду.

При покупке базы дополнительно необходимо уточнить, для автомобилей какого рынка она предназначена. Например, база Mitchell on Demand содержит информацию об автомобилях американского рынка - то есть автомобилях, произведенных в США для внутреннего рынка, а также автомобилях, поставляемых на рынок США из других регионов (Европы, Азии). Некоторые автомобили имеет смысл искать в таких базах под другой маркой и/или с другой моделью (например, в базе нет Mitsubishi Pajero, но есть Mitsubishi Montero). Аналогичные предостережения касаются и базы Autodata (английский рынок). Однако, и в Mitchell, и в Autodata, как правило, указывается, когда приведенные параметры касаются только машин конкретного рынка.

По каким системам в базе имеется информация? Соответственно, если Ваша мастерская специализируется на КПП - надо иметь специализированную базу (например, Mitchell on Demand For Transmissions и/или ATSG), но и «общие» базы также не помешают.

На каком языке выполнена оболочка базы (меню и пр.) и на каком языке в базе представлена информация? Сразу скажу, что можете не обольщаться - на русском языке даже оболочки у считанных единиц программ. Полностью русские -BMW TIS, Volvo VADIS. Частично русские - BOSCH ESI, Mercedes WIS - эти базы имеют русские оболочки и часть информации. То есть для нормальной работы хотя бы английский язык знать необходимо. Хотя бы потому, что в некоторых базах кроме русского и английского встречаются и документы на немецком (ELSA, ESIftronic], Mercedes WIS). Однако, бояться этого не стоит - технические тексты читаются достаточно легко. Хорошими помощниками при этом служат специализированные электронные и бумажные словари. Как правило, современные базы поставляются на CD или DVD. При этом DVD формат стремительно приобретает популярность, особенно при поставке баз, занимающих более 3-5 компакт-дисков (Mitchell - около 15, ESI - около 30, Alldata - около 100 CD-дисков и т.п.). Грубо 1 DVD диск заменяет 6-7 CD. Последние версии некоторых баз поставляются уже только на DVD (например, ESI). Поэтому перед покупкой серьезной базы имеет смысл подумать о приобретении DVD-привода (тем более, что по сравнению со стоимостью самой базы это копейки).

Какие системные требования к компьютеру и операционной системе предъявляет база? Большинство баз работают нормально под любой операционной системой -от Windows 98 (работа под Windows 95, как правило, не гарантируется, но и проблем не возникает) до Windows XP и Vista. Однако, бывают и «привередливые» базы - например, дилерская база по VW-Audi ELSA работает только под управлением систем на NT-платформе (Windows NT, 2000, XP, Vista). Особых требований к процессору и оперативной памяти базы, как правило, не предъявляют (естественно, чем современнее ПК - тем быстрее и комфортнее будет работа).

Важное требование - свободное место на жестком диске (винчестере). Всегда удобнее, когда база полностью будет перенесена на жесткий диск (некоторые базы предоставляют такую возможность как опцию, некоторые ставятся только в таком режиме) - это освобождает CD/DVD привод, делает ненужным постоянный поиск дисков и операции с ними, снижает вероятность порчи базы (диск легко поцарапать, облить и т.п.), ускоряет работу и т.п. Например, та же база ELSA ставится только полностью на жесткий диск и занимает на нем около 11 Гб.

Как осуществить регистрацию базы? Каков период беспрепятственного использования базы после покупки? Срок работы лицензионных баз, как правило, ограничен сроком действия абонемента (как правило, год). После его истечения требуется платное продление абонемента или покупка новой версии базы. Ограничения в работе нелицензионных версий зависят от способа регистрации базы, защиты базы, «качества взлома».

Каков порядок и стоимость обновлений? При покупке лицензионных баз эти условия обязательно оговариваются - как правило, обновления в рамках действия абонемента осуществляются бесплатно (например, у BOSCH - ежеквартально в течение года). Обновления для нелицензионных баз пиратами, как правило, не распространяются. При необходимости получения свежей версии базы Вы просто покупаете более свежую версию (справедливости ради надо отметить, что и пираты во многих случаях идут на встречу и дают в такой ситуации скидку).

4. Дополнительное (вспомогательное) справочное ПО - сюда можно отнести словари, программы для расшифровки VIN-кодов и пр. Некоторые из этих программ Вы можете даже найти в Интернет в бесплатном доступе.

5. Обучающее ПО - к сожалению, толковое обучающее ПО для специалистов сферы автосервиса нам не известно. Тем не менее, можно сказать, что некоторые производители уже включают обучающие подсистемы в поставляемое со специальными стендами ПО.

Необходимо отметить, что информация предлагается на рынке не только в электронном виде на CD и DVD, но и в виде профессиональной литературы. Преимуществами книг по сравнению с электронными базами являются доступность персоналу, не владеющему или слабо владеющему ПК (и такой еще есть!), меньшая цена лицензионных версий, наличие изданий на русском языке. Недостатками являются - неудобность поиска и работы с информацией, необходимость иметь большое количество литературы, чтобы заменить информацию по объему, соответствующую 1 компакт-диску, изнашиваемость.

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

Все, что у вас есть - это множество терминов и инструментов, о которых вы понятия не имеете. Когда во время собеседования в одной автомобильной компании я поинтересовался, какую IDE они используют, интервьюеру мой вопрос, мягко говоря, не понравился. Я привык к Visual Studio, и наивно надеялся, что здесь для разработки встроенного программного обеспечения понадобится что-то аналогичное. Я даже не представлял, что меня ожидало! Просто море мелких и серьезных (по сложности) инструментов, которым нужна была очередная жертва.

Причем, когда речь идет о разработке программного обеспечения для автомобилей, инструменты отнюдь не единственная проблема. Практически невозможно найти литературу для новичков или просто обучающие материалы, касающиеся библиотек или архитектуры соответствующих программ. Термин «учебное пособие» и вовсе звучит неуместно, ведь сфера автомобилестроения – весьма закрытое сообщество. Да и сообществом ее вряд ли назовешь, ведь при такой конкуренции никто не должен догадаться, как вы создаете ту или иную программу. Чтобы узнать хоть что-то об отдельных инструментах и механизмах этого сегмента программирования, вы можете записаться на запредельно дорогие курсы, но ваша компания должна быть готова выложить немалую сумму и потребуется не меньше нескольких недель, чтобы получить опыт, который вам нужен уже сейчас. Очень жаль, что разобраться в специфике программирования для автомобилестроения так сложно, а потому я решил посвятить свою статью именно этой теме.

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

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

Какие темы мы рассмотрим?

  • Как встроенное программное обеспечение повышает производительность автомобиля?
  • Как встроенные приложения позволяют управлять автомобилем?
  • Какие существуют типичные ограничения CPU?
  • Как благодаря встроенным программам осуществляется процесс непрерывной обработки данных с датчиков?
  • Как это программное обеспечение структурировано и как отдельные приложения взаимодействуют между собой для управления автомобилем?
Я отвечу на эти вопросы, рассмотрев конкретный пример, а заодно сделаю обзор по разработке архитектуры встроенного программного обеспечения. В качестве примера мы возьмем полностью электронную систему рулевого управления. Это не настоящая модель, но по строению она, в принципе, похожа на то, что вы, скорее всего, видели в своем автомобиле. Мы поговорим подробнее об архитектуре, а затем перейдем к упрощенной схеме, раскрывающей суть функционала системы.

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

Данная модель частично управляется программно. Частично означает, что специализированное ПО лишь помогает водителю, но полный контроль над системой имеет именно он.

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

Работу ПО обеспечивает крошечный процессор или, если говорить точнее, микроконтроллер, по сети подключенный к датчику.

Когда водитель поворачивает руль, благодаря датчику, который постоянно передает информацию о текущем угле поворота, ПО получает соответствующий сигнал. Например, если водитель поворачивает руль на 90 ° вправо, в течение секунды сигнал датчика обрабатывается по следующему принципу:

Помимо этого, ПО также управляет работой электрического двигателя, который перемещает зубчатую рейку слева направо и в обратном направлении, а, значит, изменяется угол поворота передних колес автомобиля. Соответственно, ПО может направить машину влево или вправо. Связь между микроконтроллером, запускающим ПО, и электродвигателем обеспечивается благодаря электронному блоку управления (ECU), в состав которого входит собственно микроконтроллер и усилитель мощности, регулирующий систему питания двигателя. Таким образом, наша программа варьирует подачу тока в двигателе и положение зубчатой рейки изменяется в нужном направлении.


Электронный блок управления (ECU)

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


Руль - синий, рулевая рейка - розовый (прим.)

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

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

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


Содержание обзора:

Ни один современный автомобиль не мыслим без электронной начинки, которая предполагает сложное программное обеспечение. Управляя автомобилем, мы почти не задумываемся о том, какие при этом процессы протекают у него внутри – монитора-то как у компьютера нет, а, значит, действие программ не визуализировано, словно бы их и нет. Но они есть.

Особенности автомобильного софта


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

Сейчас в каждом автомобиле имеется в наличие несколько электронных блоков управления (ЭБУ) – electronic control unit, ECU, которые взаимодействуют между собой через электронную сеть автомобиля.


Взаимодействие между этими блоками выполняется благодаря шинным архитектурам, которые представляют собой совокупность контроллеров - CAN, controller area network, а также специальную сеть, предназначенную для передачи информации специального цифрового оборудования - MOST, media-oriented systems trans, FIexRay, а также систему Local interconnect, (LIN).

Если сравнить перечисленные шины с Ethernet, который предназначен для ПК, они работают с пониженной скоростью, так как объем обрабатываемых данных в автомашинах небольшой. Но это минимальное количество информации должно обрабатываться буквально за считанные миллисекунды.

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

  • Надежность - системные программы автомашины в достаточно сложной сети ECU в продолжение всего периода использования должны работать максимально надежно;
  • Безопасность выполняемых функций - ESC и система торможения должны действовать безотказно, и это уже предполагает довольно серьезные требования к ПО и к самому процессу их разработок;
  • Скорость взаимодействия – мгновенная реакция электронных узлов автомобиля (до миллисекунд) невозможна без специальной программной архитектуры и усовершенствованных операционных систем;
  • Надежная архитектура - ПО автомобиля должно осуществлять максимальную электромагнитную совместимость, а также не поддаваться влияниям искаженных сигналов;
  • Связь узлов электронно-механического цикла.
Внимание: Ни в коем случае не допускать перезагрузку ECU во время работы!

Основные составляющие ECU


ECU представляет собой довольно сложную плату, на которой, помимо микроконтроллера, имеются сотни других элементов. Рассмотрим основные детали.
  1. Аналого-цифровой преобразователь(ADC) - это оборудование предназначено для снятия показателей с определенных автомобильных датчиков, и с датчика кислорода в том числе. Дело в том, что процессор способен воспринимать только цифровые значения, а, например, показатель кислорода выдает лишь электрические сигналы напряжением от 0 до 1,1V. ADC преобразует эти данные в десятибитное двоичное число, и оно становится понятным для процессора.
  2. Драйвер – программа, предназначенная для управления цифровым оборудованием за счет преобразования сигналов.
  3. Цифро-аналоговый преобразователь (DAC) - предоставляет аналоговые сигналы, чтобы запустить определенные компоненты двигателя автомобиля.
  4. Чип связи – эти чипы позволяют реализовать самые разные стандарты связи, имеющиеся в автомобиле. В производстве имеется несколько таких стандартов, но самым распространенным из них является CAN - Controller-Area Networking. Он обеспечивает скорость 500 к/бит в секунду, что крайне необходимо для модулей, которые совершают до сотни операций в ежесекундно.

Процессы и технология


С тех пор, как появилось первое ПО для автомобилей, многое изменилось. Если изначально программное обеспечение мог контролировать всего лишь один производитель, то теперь это стало практически невозможно.

Изначально в прошлом столетии в качестве ПО использовался ассемблер. Язык же Си стал распространяться в 90-е годы. Компания Robert Bosch и многие другие производители начали разрабатывать ПО с помощью Mathlab/Simulink и ASCET (управляющие и моделирующие технологии).

Системы шин CAN делают ПО автомашины достаточно сложным. Причина заключается в том, что они не исключают взаимодействия между программами разных ECU. Современные автомобили класса люкс могут содержать сложную сеть, состоящую из 80 ECU, которые в общей сложности имеют до 100 млн. строк кода.

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


Инженерные решения на уровне процессов и архитектуры тоже становятся одним из главных условий аутсорсинга. В связи с этим обстоятельством компания Bosch некоторые разработки начала отдавать на сторону еще с начала 90-х годов прошлого столетия.

В настоящее время работа над ПО для автомашин проводится несколькими объединениями, распределенными по всему миру. И такого рода деятельность стала довольно оптимальной для бизнеса.

Управление двигателем


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

Например, современные дизельные двигатели способны впрыскивать топливо в минимальном количестве семь раз за один такт. А это для двигателя с четырьмя цилиндрами, который развивает скорость вращения до 1800 оборотов в минуту, составляет 420 раз в секунду. Все это требует новых функций ПО и более продуманных алгоритмов управления, чтобы любые отклонения свести к минимуму.

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

Центром управления трансмиссиями автомашин является модуль управления двигателем. Современные модули имеют объем более 2 мегабайт цифровой памяти и функционируют с частотой тактов до 160 МГц. При этом задействуются программы до 300 тыс. строк кода.

Стандартизация


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

В 2003 году поставщиками и производителями было создано объединение «Automotive Open System Architecture»(Autosar). Цель создания организации – выполнение общего стандарта и единых технологий. Сегодня это объединение охватывает свыше 150 организаций, которыми сообща разрабатывается новое строение ECU, базовое ПО и все необходимое для создания рабочего программного обеспечения.

Такого рода взаимодействие предполагает создание узлов, которые не зависят от оборудования. Это дает возможность поставщикам и производителям обмениваться разработками, а также использовать их повторно на самых разных ECU.

Строение Autosar состоит из нескольких абстрактных уровней, в которых ПО отделяется от аппаратного обеспечения. На самом верху находится прикладное ПО, которое реализует всю прикладную деятельность. Ниже следует базовое, номинальное ПО. Оно гарантирует нужную абстракцию от аппаратного обеспечения точно так же, как это происходит, например, в персональном компьютере. Autosar Runtime Environment (среда исполнения в реальном времени) осуществляет связи внутри ECU.

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

Самыми распространенными в современном автомобилестроении являются шины (высокоскоростные) Ethernet. Они надежно поддерживают связи между ECU, а также новые опции, в том числе и в отношении безопасности.


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

Например, водитель во время следования отвлекся на пассажира. В этом случае приложение определяет торможение движущегося впереди автомобиля, затем предупреждает водителя или самостоятельно включает торможение. Кстати, водитель может даже сразу не узнать о наличие такого ПО, пока не окажется в опасном положении.

Заключение

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

5 нужных лайфхаков для автомобиля - в видео:

На Женевском автосалоне, прошедшем буквально несколько недель назад, компания Apple официально заявила о запуске продукта CarPlay. Как стало известно, многие производители автомобилей уже купили права на данное программное обеспечение. Это означает, что, возможно, уже через несколько месяцев, обрутившись в любой салон, где ведется продажа иномарок в Москве, можно будет приобрести новый автомобиль с установленным CarPlay.
Что же принципиально нового содержится в ПО от Apple? На первый взгляд, это всего лишь компьютерная программа, которая обеспечивает интерфейс автомобильных новинок. Список возможностей: развлекательные функции, карты, обмен сообщениями, голосовое управление. И почему вообще производители автомобилей стали активно участвовать в разработке программного обеспечения?
Вероятнее всего, в предыдущие годы автомобильные компании осознали, что их традиционный подход к автоэлектронике в современном мире обречен. Когда все развлечения в автомобиле включали лишь радио и проигрыватель компакт-дисков, автомобильные компании чувствовали себя в пределах своей зоны комфорта. Но как только у водителей появились новые потребности, в ответ на которые приборные панели стали оснащаться программным обеспечением, автомобильные компании поняли, что они не способны создать интересный для потребителя продукт самостоятельно. Ведь до сих пор навигационные и развлекательные системы, установленные стандартно в автомобилях, остаются намного менее функциональными, чем приложения, доступные для смартфонов и планшетов.
Однако теперь времена меняются и автомобильное ПО просто должно стать сложнее и удобнее, в нем должны появиться такие функции как возможность хранения музыкальных файлов, возможность прослушивания радиостанций онлайн, навигация, напоминания, адресная книга, подключение к социальным сетям и многое другое. Однако это должно быть не устройство, автономно встроенное в автомобиль, а система, помогающая использовать имеющийся у нас девайс (планшет или смартфон) для управления развлекательными функциями автомобиля. Так вот именно такую функцию и будет выполнять CarPlay.
Вероятно, в США это изобретение вызовет всплеск спроса на новые автомобили, оснащенные новой функцией. А также все больше пользователей смартфонов будут производить обмен старого авто на новый, уже содержащий новейшее программное обеспечение.

Об авторе: Андрей Страшко

    Другие новости