цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Программное обеспечение и стандарты в современных автомобилях

Программное обеспечение и стандарты в современных автомобилях

Автор: Mike(admin) от 25-10-2016, 09:35

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


Программное обеспечение и стандарты в современных автомобилях

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


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


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

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


Шина CAN


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


MISRA C


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


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


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


OSEK/VDX


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


Genivi


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


Заключение


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




Теги: авто




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

Комментарии:

Оставить комментарий