Хабрахабр

[Перевод] Программный код в автомобиле

(Публикация 2009 года)

image

И это в скором времени станет еще сложнее. Требуется множество микропроцессоров, обрабатывающих 100 миллионов строк кода, чтобы обеспечивать работу машины премиум-класса (2009 год).

F-35 Joint Strike Fighter, появившийся в 2010 году, требует около 5,7 миллионов строк кода для работы бортовых систем. Система авионики в F-22 Raptor, реактивном истребителе военно-воздушных сил США, состоит примерно из 1,7 миллиона строк программного кода. А новому Boeing 787 Dreamliner требуется около 6,5 миллионов строк программного кода для работы систем бортового электронного оборудования.

Но если вы недавно купили автомобиль премиум-класса, он, вероятно, содержит около 100 миллионов строк программного кода. Впечатляет, не правда ли? Все это ПО запускается на 70-100 микропроцессорных электронных блоках управления (ECU), распределенных по всему кузову вашего автомобиля.
Альфред Катценбах, директор по управлению информационными технологиями в Daimler, сказал, что для радионавигационной системы в нынешнем Mercedes-Benz S-класса требуется более 20 миллионов строк кода. Так говорит Манфред Брой, профессор информатики в Техническом университете Мюнхена, ведущий эксперт по программному обеспечению в автомобилях. Программное обеспечение в автомобилях будет расти не только в количестве. В автомобиле содержится почти столько же ECU, сколько в новом Airbus A380 (без учета развлекательной системы на борту). В конце прошлого года исследовательская фирма Frost & Sullivan подсчитала, что для машин в ближайшем будущем потребуется от 200 до 300 миллионов строк программного кода. Сложность ПО с каждым разом увеличивается все сильнее.

Их можно найти практически где угодно. Даже в бюджетных автомобилях теперь есть от 30 до 50 ECU, встроенных в кузов, двери, приборную панель, крышу, багажник, сиденья. Это значит, что большинство новых автомобилей обрабатывают десятки миллионов строк программного кода, контролируя все, начиная от ваших тормозов и заканчивая громкостью радио. Все зависит от фантазии проектировщиков автомобиля.

image

Томас занимается разработкой интеллектуальных транспортных систем. «Автомобили больше не представляют собой только лишь батарею, распределитель или генератор переменного тока и карбюратор; они чрезвычайно современны по своей сложности», — говорит Thomas Little, профессор электротехники в Бостонском университете штата Массачусетс. «Преследуя цели экономии энергии, сокращения [выбросов] и повышения безопасности помимо прочего мы пришли к внедрению электроники».

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

Дюжины датчиков обеспечивают электронный контроллер подушки безопасности данными. Моя новая машина идет в комплекте с передними и боковыми подушками безопасности. Эти датчики должны работать годами при любых температурах — и в суровый мороз в Миннесоте и под жарким летним солнцем в Аризоне.

Но иногда подушки безопасности срабатывают, скажем, из-за столкновения нескольких транспортных средств. Большую часть времени система подушек безопасности просто отслеживает состояние автомобиля. В таком случае у программного обеспечения в ECU, управляющего их раскрытием, есть от 15 до 40 миллисекунд, чтобы определить, «какие подушки безопасности активируются и в каком порядке», — говорит Брой.

Например, у BMW многие модели 2009 года оснащены системой BMW Assist. В ближайшем будущем, по словам Броя, системы управления подушками безопасности будут использовать не только информацию о вероятности столкновения. Аварийно-технические службы получают информацию не только о месте происшествия, но и о вероятности получения серьезной травмы пассажирами. Эта система рассчитывает «риск серьезной травмы» на основе информации, полученной от контроллера подушки безопасности автомобиля и других его ECU.

Его использовали для электронного зажигания в 1977 году в General Motors в автомобиле Oldsmobile Toronado. Количество программного обеспечения в автомобилях в наше время поражает.
Первый серийный ECU автомобильного микрокомпьютера представлял собой однофункциональный контроллер. Компьютер представлял собой модифицированный микропроцессорный чип Motorola 6802. В 1978 году GM предложили поставить свой Cadillac Trip Computer на Cadillac Seville. Однако микросхема выполняла другую функцию: GM использовали ее для проверки того, насколько хорошо микропроцессор может управлять несколькими функциями, такими как впрыск топлива, электронная синхронизация зажигания и круиз-контроль. Он отображал информацию о скорости, топливе, поездке и двигателе.

Они обрабатывали около 50 000 строк кода. К 1981 году GM использовали микропроцессорное управление двигателем в производстве легковых автомобилей. Другие автомобильные компании быстро последовали их примеру.

Он был чертовски прав. Jonas Bereisa, инженер GM, написал в 1983 году в статье IEEE Transactions по промышленной электронике, что «разработка программного обеспечения станет наиболее важным фактором в разработке новых продуктов». ПО стало основным источником стоимости в автомобилях, в том числе прейскурантной. По оценкам Broy, более 80 процентов автомобильных инноваций происходят благодаря компьютерным системам. Соотношение стоимости электроники и стоимости транспортных средств у них приближается к 45 процентам. Соотношение стоимости электроники и стоимости транспортных средств в процентах возросло с 5 процентов в конце 1970-х годов до 15 процентов в 2005 году (без учета затрат на окончательную сборку).
У гибридов количество ПО, необходимого только для одного управления двигателем, почти вдвое больше, чем у стандартного автомобиля. В течение 10 лет, по прогнозам некоторых экспертов, процентная доля стоимости электроники от стоимости транспортного средства вырастет до 50 процентов у обычных транспортных средств и до 80 процентов у гибридов.

На разработку программного обеспечения приходится около 13–15 процентов от этой стоимости. Для современных автомобилей премиум-класса «стоимость программного обеспечения и электроники может достигать 35–40 процентов от стоимости автомобиля», — заявляет Брой. Он говорит, что если каждая строчка разработанного программного обеспечения стоит 10$ — что очень мало — у автомобиля премиум-класса, одно только его программное обеспечение представляет собой инвестицию на сумму около миллиарда долларов.

Voelcker сказал, что «из всех рабочих часов затраченных на создание двухрежимной коробке передач… около 70 процентов… ушли на разработку управляющего программного обеспечения». John Voelcker, редактор IEEE Spectrum, написал в апреле 2007 года о гибридном автомобиле GMC Yukon и его двухрежимной автоматической коробке передач.

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

IBM утверждает, что примерно 50 процентов гарантийных расходов на автомобили в настоящее время связаны с электроникой и их встроенным программным обеспечением. Из-за сложности кода возникают проблемы с надежностью. По данным на 2005 год автопроизводителям в Соединенных Штатах это обошлось примерно в 350 долларов за один автомобиль, а европейским автопроизводителям в 250 долларов.

Время, необходимое для ремонта программного обеспечения, оценивалось примерно в 90 минут на одно транспортное средство — около 240 000 рабочих часов. В 2005 году Toyota отозвала 160 000 своих гибридов Prius 2004 года выпуска и некоторые модели начала 2005 года из-за программной проблемы — автомобили глохли или внезапно останавливались. Это обошлось им дорого.

Например, в мае 2008 года Chrysler отозвал 24 535 своих Jeep Commanders 2006 года из-за проблемы в программном обеспечении автоматической трансмиссии. Только в прошлом году было несколько отзывов автомобилей, связанных с проблемами программного обеспечения. Эта проблема может привести к неожиданному увеличению оборотов двигателя в минуту при включении кондиционирования воздуха. Затем в июне Volkswagen отозвал около 4000 своих Passats и Passat Wagons 2008 года и около 2500 Tiguans из-за проблемы в программном обеспечении модуля управления двигателем. Тем не менее, стоит отдать должное разработчикам автомобильного ПО, так как отзывов автомобилей из-за программного обеспечения не так много. В ноябре GM отозвала 12 662 из своих автомобилей Cadillac CTS 2009 года из-за проблемы с программным обеспечением в системе обнаружения пассажиров, которая могла отключить подушку безопасности пассажира, сидящего спереди, когда она должна быть включена, или включить ее, когда она должна быть отключена.

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

«В автомобиле премиум-класса от 2000 до 3000 уникальных функций, связанных с программным обеспечением», — говорит Брой. Несложно понять почему. Затем они объединяются в 250–300 функций, используемых водителем и пассажирами для управления системами автомобиля.

У машин, в отличии от самолетов, происходит более сложная передача информации между электронными системами, используемыми для управления автомобилем, и системами, предназначенными для развлечения водителя и пассажиров. У большинства коммерческих самолетов есть межсетевые экраны между критически важными бортовыми системами и бортовыми развлекательными системами. Несколько лет назад некоторые водители Mercedes обнаружили, что их места сдвигались, если они нажимали определенную кнопку; проблема заключалась в том, что кнопка должна была управлять навигационной системой. В бизнес-школе Wharton была опубликована статья под заголовком «Проблемы с автомобилем: стоит ли отозвать автомобильную промышленность США?».

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

Механики заменяют ECU просто потому, что не могут починить машину иначе. Broy сказал мне, что более 50 процентов ECU, которые механики заменяют в автомобилях, технически не содержат ошибок: у них нет проблем ни с аппаратным, ни с программным обеспечением.

Удаленная диагностика и ремонт могут сделать механику ненужной для многих задач. «Работники СТО и любители повозиться с машиной в гараже действительно находятся в тех реалиях, когда ремонт автомобиля слишком сложен и требует больших затрат[для них]», — говорит Брой.

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

А производители в свою очередь будут анализировать данные для деталей, выходящих за пределы спецификации или для ПО, нуждающегося в обновлении. По словам Voelcker, он не удивится, если увидит, что бортовые системы, такие как BMW Assist, Ford Sync и GM OnStar, начнут регулярно передавать параметры рабочих данных обратно в централизованные системы, которыми управляют производители автомобилей. Водителя автоматически проинформируют о том, что автомобиль необходимо отвезти в ремонт.

«Мы вступаем в эпоху, когда помимо того, что мы знаем, что происходит внутри автомобиля, мы используем такие вещи, как радары для обнаружения присутствия внешних объектов, лазеры для измерения расстояния у круиз-контроля, а также видео и ультразвук для обнаружения объектов позади тебя, — говорит Little. Помимо контроля за состоянием своих внутренних деталей, автомобили начинают анализировать мир вокруг них. Затем эта информация будет использоваться для повышения безопасности. «Тенденция будет заключаться в том, чтобы извлекать информацию, которая относится к вашему автомобилю и к другим транспортным средствам. Например, автомобили перед вами сообщат вашему автомобилю, есть ли на шоссе лед или произошла ли авария.

В какой момент вы и я будем готовы сказать: «Хорошо. Little говорит: «Мы отказываемся от маленьких частей контроля в обмен на безопасность. Я не собираюсь вести машину, пусть она везет меня.

Об авторе

Robert N. Charette редактор IEEE Spectrum, самопровозглашенный «эколог риска», который исследует влияние меняющейся концепции риска на технологии и развитие общества. Charette также пишет IEEE Spectrum Online’s The Risk Factor.

Едем дальше

Манфред Брой и его коллеги написали исчерпывающую статью для февральского выпуска «Proceedings of the IEEE» под названием «Engineering Automotive Software» в феврале 2007 года. Она, вероятно, является одним из лучших обзоров на то, как разрабатывают и используют ПО для автомобилей.

В ней представлена ​​интересная хронология многих приложений микрокомпьютеров, которые использовались в автомобилях с 1977 по 1982 год. Хорошую раннюю историческую точку зрения на использование ПО в автомобилях ищите в статье Jonas Bereisa, опубликованную в мае 1983 года в журнале IEEE Transactions по промышленной электронике под названием «Applications of Microprocessors in Automotive Electronics.».

о журнале IEEE Spectrum

image

Institute of Electrical and Electronics Engineers — IEEE). (По материалам Википедии)
IEEE Spectrum — ежемесячный журнал, издаваемый Институтом инженеров электротехники и электроники (англ. Официальное описание журнала:

Он предвосхищает тенденции в области машиностроения, науки и техники, а также служит форумом для понимания, обсуждения и руководства в этих областях.» «Журнал «IEEE Spectrum», флагманская публикация IEEE, исследует развитие, применение и последствия внедрения новых технологий.

Тематика журнала охватывает широкий круг технических проблем и достижений компьютерной техники, средств связи и электроники. Журнал «IEEE Spectrum» читает более 385 000 инженеров по всему миру, что делает его одним из ведущих научных и инженерных журналов в мире. Материалы журнала пользуются авторитетом и часто цитируются другими изданиями. Как и в стандартных журналах, статьи «IEEE Spectrum» пытаются сделать доступными для неспециалистов, хотя предполагается их инженерное образование.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть