|
|
|
Покупка Тойоты - не очень хорошая идея ! |
||
Я владел в своей жизни 9 машинами марки Тойота, теперь хочу Хонду. Вот, только денег нет - все на ремонт Тойоты истратил....Теперь приходится работать - вспоминать все проблемы и писать заказные статьи. Но, про Тойотц это легко делать - столько накосячили они, что, может даже, на Акуру денег хватит! |
||
Главная страница > "Черный ноябрь" 2013 - Тойота морочила всем голову 6 лет или кошмар программирования! | |
|
|
|
Ноябрь 2013 однозначно запомнится Toyotе, как "Черный Ноябрь" - если вы
владелец Тойоты и у вас слабое сердце, дальше лучше не читать! Будет страшно по
настоящему, а я не хочу чтобы вы умерли прямо сейчас...
Итак, лет шесть назад две пожилые женщины в штате Оклахома поехали куда-то на своей Toyota Camry и поездка их закончилась трагически – одна из них погибла, вторая получила тяжёлые травмы. Ситуация была усложнена почтенным возрастом потерпевших, ведь трудно ожидать от старушек, что они хотели полихачить - стрелку спидометра "положить".... Однако, у Тойоты много денег на адвокатов, у это позволило затянуть историю на шесть лет! Хотя, уже через три года было ясно, что какой-то ужасный дефект в Тойотах есть и под отзывную компанию попало 9000000 машин, начиная с выпуска ноября 2009 года - им на полном серьёзе меняли педаль газа! До этого, Тойота морочила всем голову тем, что в проблеме вообще-то виноват коврик! Типа, он такой скользкий снизу, что может съехать на педаль газа и нажать её..... люди это хавали )))) Отзывная компания была на полном серьёзе! Однако, даже после всех этих "ремонтов" Тойоты продолжали самопроизвольно ускоряться и количество исков продолжало расти - только в прошлом (2012) году затратила более миллиарда долларов, при том, что некоторые иски в судах штатов были не удовлетворены, например, в Калифорнии суд отклонил $2,000,000 иск родственников погибшей в результате неуправляемого внезапного разгона Camry 2006 г.в. В итоге, не только я, но и тележурналисты разные стали глумиться над имитациями Тойоты в поисках проблемы - всё чаще звучали призывы проверить микропрограмму блока управления! Тем более, что многие годы существуют прекрасные отраслевые стандарты и специалистов в этом деле полно! Ну, и не осталось больше "подозреваемых", кроме мозгов и проводки.... Тут, вот Тойота и подключила к проверке специалистов NASA - видимо для того, что бы время затянуть.... те выводы, к которым пришли в NASA мало отличаются от тех, к которым пришел бы любой другой отраслевой специалист, зато отчет NASA занял 176 страниц !!! Правда, им понадобилось целых 10 месяцев для "наблюдения и изучения" проблемы с дросселированием... Группа NESC идентифицировала два гипотетических сбоя контроллера заслонки ETSC-i (за исключением прочих, связанных с электронными причинам), способных привести к внезапному ускорению автомобиля без генерации кодов диагностики – специфические ошибки в определении положения педали газа и систематические программные ошибки в вычислителе контроллера акселерации, которые не выявляются системой мониторинга автомобиля… Последний сценарий связан с открытием дроссельной заслонки без команды водителя и одновременным сохранением работоспособности систем непосредственного впрыска и зажигания. Доказательство того, что эти сбои привели к выявленным авариям, группой не получены, но это не означает, что из-за них подобные аварии невозможны. Ну, какой-то "комнатный Армагедон" .... если бы нам рассказали только это, то никто бы не испугался и никакой катастрофы не было! Подумаешь, какие-то потенциальные возможности нашли в процессе моделирования, может, в модели были свои ошибки и она выдала недостоверные результаты )) Настоящая засада случилась после, когда (после окончания суда, в котором Тойоту признали ответственной за инцидент шестилетней давности с двумя старушками - божьими одуванчиками) данные экспертизы прошивки перестали быть судебной тайной и стали доступны специалистам по embedded-программированию. Правду всем поведала группа экспертов, хорошо известные в своих кругах люди с сайта "гуру embedded программирования" (www.EmbeddedGurus.com), после анализа прошивки контроллера управления дроссельной заслонкой, эти эксперты пришли к выводу что (в дословном переводе) "это позорный образец проектирования и разработки ПО".
В выводах независимых экспертов отмечено – общее низкое
качество кода и наличие ошибок в нём, система контроля и обеспечения
безопасности исполнения кода организована по принципу "карточного домика", и,
наконец, вердикт, к которому прислушались судьи – ошибки в firmware стали
причиной аварии с тяжёлыми последствиями.
Кроме того, в отчете NASA о конструкции контроллера я нашел фотографии внутреннего устройства педали газа - там используется переменный РЕЗИСТОР! Знаете, в любом китайском электровелосипеде, электросамокате или электроскутере в рукоятке газа всегда установлен датчик Холла и пара магнитиков! Датчик Холла это такой полупроводниковый прибор, маленькая микросхема с тремя ножками, которая стоит пару центов, и реагирует на изменение магнитного поля - в автомобильной промышленности со времени Царя Гороха она используется в качестве датчика положения распредвала и датчиков вращения колес для системы АБС.... Я был уверен, что датчики Холла дивным давно используются и для определения уровня топлива в бензобаке и для педалей газа - но у Тойоты, видимо, есть план по продаже потребителям переменных резисторов!
Но, вернемся назад к нашему замечательному вычислителю - он считывает положение педали (или принимает его от другого контроллера по какой-то бортовой сети вроде CAN или более развитой FlexRay). Если он сам считывает информацию, то выдаёт CAN-датаграмму об этом прочим контроллерам, и, главное, формирует управляющий сигнал шаговому двигателю заслонки. Ещё он должен быть соединен с диспетчером круиз-контроля (система отвечающая за поддержание стабильной скорости). Так это реализовано в большенстве автомобилей и это подтверждается огроменным прошлогодним документом от самой Toyota (297 страниц pdf-файл с картинками, нам он интересен тем, что демонстрирует прошлогодние объяснения полные вранья и отмазок, переваливание ответственности на всех вокруг, и надежд на то, что они скроют правду). Можете скачать и посмотреть, сколько ерундени пришлось придумать бедолагам из Тойоты что бы скрыть правду! А чем больше картинок и графиков, тем больше в документе страниц и кажется, раз документ большой, значит он хорошо подготовлен и правдив! Ага, правдив! Держитесь за стул крепче - начинается самое интересное! В представленном firmware, решающем поставленные выше задачи, и являющемся надстройкой над операционной системой реального времени, экспертиза выявила… одиннадцать тысяч глобальных переменных. Код реализации firmware назван хорошо знакомым всем программистам словом "spaghetti". Анализ цикломатической сложности программы выдал 67 не пригодных для тестирования функций, а ключевая функция определения угла дроссельной заслонки в ходе этого анализа показала какую-то удивительную оценку, при которой не только тестирование, но и вообще какое-либо сопровождение программы невозможно. Соблюдение отраслевого стандарта кодирования (для автомобильной промышленности это стандарт MISRA-C, ассоциации Motor Industry Software Reliability Association) характеризуется выявленным числом его нарушений – их набралось 80 тысяч (в Toyota принят свой внутренний стандарт, который заимствует из MISRA-C всего 11 правил, хотя для написания кода используется 93 правила - молодцы, соответствуют стандарту только на 12%!). Также был выявлен тот факт, что в столь сложной системе полностью отсутствует учёт сбоев и ошибок. При всём этом великолепии все связанные с безопасностью функции контроллера в его программном коде оказались реализованными одним единственным процессом. Тема отдельного разговора – сторожевой код (или на сленге watchdog). В "настольном" программировании это нечастое явление (хотя, когда Windows рисует вам "синий экран смерти" - это очень похоже по сути процессов), а в мире встраиваемых систем – распространенный и необходимый функциона. Watchdog (сторожевой таймер) – внешнее по отношению к вычислителю устройство (хоть бы и реализованное на одном с вычислителем кристалле). Принцип его работы предельно прост – в начале работы любого процесса, он примерно оценивает сколько времени максимально нужно на своё исполнение и с некоторым запасом "взводит" таймер сторожевого кода. Соответственно, в конце каждого процесса, перед самым своим завершением, этот таймер сбрасывается (останавливается отсчет времени). И если какой-то процесс вовремя не сбросил ранее выставленный сторожевой таймер, последний вызовет аппаратное прерывание, оповещающее вычислитель, что с процессом что-то явно не так, или вообще инициируюет быстрый системный сброс. (Ну, или синий экран смерти Windows, в процессе которого делается снимок памяти, который можно использовать после восстановления системы для анализа ошибки). То, как использовали watchdog в "прошивке" Тойоты вызвало самые большие сомнения у экспертов – подконтрольным сторожевому таймеру в этой системе оказался по сути только процесс, обслуживающий редкие прерывания системного таймера, что означает – любой сбой в обработчике прочих прерываний мог приводить к исполнению неизвестно чего примерно… полторы секунды до сброса вычислителя от сторожевого таймера. И эксперты не взялись утверждать, что эти полторы секунды до сброса гарантированы, они не исключают возможности, что сброс вообще не наступит. Напоследок не менее прекрасное – коды возврата большинства вызовов RTOS, которые предназначены для сообщений об ошибках, в "прошивке" вообще игнорируются.
Честно скажу – когда я дошёл до одиннадцати тысяч
глобальных переменных, используемых в системе реального времени, где
любое лишнее состояние находящееся в общем для всех процессов доступе – уже
большая проблема, мне стало как-то не по себе. Что делается в остальных
контроллерах автомобиля? Так же точно управляются АБС, пневмоподвеска, SRC,
двигатель и АКПП?! Без сомнения это происходит давно и боссы об этом не имеют не малейшего представления! Совершенно ясно, что внутренние тойотовские стандарты не соответствуют отраслевым почти на 88%! Все то количество машин, которое они выпустили на протяжении последних 15-ти лет - потенциально опасно, а собранная статистика отказов - "филькина грамота"! Если за шесть лет людям меняли коврики и педали газа, сваливали ответственность на производителей микросхем, то о какой статистике может идти речь!? Они элементарно не понимают, что у них перед носом происходит... Я как всегда не завидую тойотовским репутационным менеджерам и маркетологам! Тяжело же им придется следующие несколько лет впаривать потребителям свои быдло-продукты..... Напомню пару интересных заметок, как они врали и изворачивались: - электрическая педаль - хрень полная, и никто не знает, как она работает! - двигатели Corolla, Matrix и Rav4 имеют проблемы с "мозгами"
|