TSM - важливість концепції; Функціональна безпека; Розвиток SW автомобільної продукції

Раду Івєнуш - керівник підрозділу передових вбудованих технологій @ NTT DATA Румунія

Я починаю нашу історію з того, що описую вам, що означає "ЕБУ", термін, який зазвичай використовується у співвідношенні з автомобільною сферою. Назва ECU походить від англійської: Electronic Control Unit, що позначає електронне обладнання, яке містить кілька електронних компонентів і принаймні один мікроконтролер, на якому працює програмне забезпечення, написане ASM або C. Іншими словами, ECU - це комп’ютери в машинах.

Якщо на початку машини не були обладнані ЕБУ (електронним блоком управління), починаючи з 1970-х років, вони стали стандартним обладнанням. Перший ЕБУ був представлений в 1968 році, він був присвячений паливній системі двигуна і випускався Bosch для автомобілів Volkswagen.

Сучасні машини містять сотні ЕКЮ та мільйони рядків коду, що досягає обчислювальної потужності та складності. З розширенням сучасних машин, які працюють і контролюються ними, потреба в засобах безпеки стала "Функціональною безпекою", також неминучою.

ЕБУ протягом багатьох років значно еволюціонували, приєднуючись до них сьогодні, разом з мікроконтролерами та мікропроцесорами. Для тих, хто цікавиться резюме розвитку ЕКЮ за ці роки, ми наводимо нижче такі дані:

Перший комп'ютер, випущений VW (1968)

1969 рік - Ford представляє першу систему протиковзкої роботи за допомогою комп’ютера.

1971 - General Motors представляє свою першу передачу, керовану комп'ютером.

1976 - General Motors та Motorola обладнані для використання на своїх автомобілях.

1978 - Cadillac представляє бортовий комп’ютер, керований комп’ютером, що живиться від мікроконтролера Motorola.

1981 - Усі автомобілі General Motors мають ECM на базі Motorola 6802 з контролем викидів.

1983 - Спеціальні мікросхеми мікроконтролера Intel 8061 починають використовуватися в автомобілях Ford

1986 - Університет Карнегі Меллона "Навлаб 1" стає першим автономним автономним автомобілем.

1986 - Chrysler представляє мультиплексні модулі кабельного зв'язку з мікросхемами, наданими Harris Semiconductor.

1987 - Перші мікроконтролери, виготовлені з інтегрованим набором мікросхем CAN від Intel і Philips Semiconductor.

1991 - Ford та Motorola укладають партнерські стосунки з проектування та виробництва силових та трансмісійних мікроконтролерів PTEC.

2000 - Ford Microelectronics Inc. (МВФ) придбано Intel Corp.

2014 - Перший самохідний автомобіль Navia був представлений і проданий.

  • 2015 - "Freightliner Inspiration" від Daimler стає першим напівавтономним вантажним автомобілем ("самокерованим") Sem Truck.
  • безпека

    2017 - Tesla "Semi" представила свою першу модель вантажних вантажівок, електричну та напівавтономну.

    2017 Intel Corp придбає Mobileye, розробника вдосконалених систем допомоги водію на базі зору.

    2017 Audi випускає перший автомобіль серії A8 з автоматизацією рівня 3, "Пілот заторів Audi AI".

  • 2018 Розробка першої годинита ін "Розумне місто", Лас-Вегас, партнерство штату Невада, США та японської компанії NTT (Nippon Telegraph and Telephone Corporation).
  • Як процес, "функціональна безпека" стала важливою складовою циклу розробки програмного забезпечення ЕКЮ. Ці схеми автомобільної безпеки допомагають виявляти несправності (електричні та електронні) та визначають дії, прийоми та методи зменшення ризиків та збитків, спричинених помилками програмного та апаратного забезпечення.

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

    Ось чому сьогодні сучасні автомобілі повинні відповідати міжнародним стандартам безпеки, визначеним ISO 26262: "Дорожні транспортні засоби - Функціональна безпека"

    Рівень доброчесності в автомобільній безпеці (ASIL) - це схема класифікації ризиків у рамках стандарту ISO 26262. В рамках стандарту передбачено чотири визначені рівні безпеки: ASIL A, ASIL B, ASIL C та ASIL D. ASIL D диктує найсуворіший рівень безпеки. вимоги безпеки до продукту, ASIL A є найбільш дозвільним. Ризики, визначені як QM ("управління якістю"), не передбачають ніяких окремих заходів захисту.

    Розподіл рівнів ASIL проводиться на основі трьох міркувань: частота зустрічальності (F), керованість (C) та тяжкість (S) щодо помилки HW або SW, де Частота = Експозиція * λ

    Ми описали вище рівні безпеки, що застосовуються до систем, але коли максимальний рівень ASIL не може бути забезпечений безпосередньо в системі, стандарт ISO26262 допускає їх так зване розкладання, як показано на зображенні нижче. Чим вищий рейтинг безпеки системи, тим вищі витрати на впровадження HW та SW. Коли застосовується декомпозиція, це допомагає нам розділити систему на зайві елементи з нижчим рівнем безпеки, що призводить до задоволення вимог системи, не впливаючи на занадто великі витрати.

    Далі я опишу способи/приклади методів, що застосовуються в SW для моніторингу та виявлення системних помилок.

    Виявлення, контроль та індикація системних помилок на таких компонентах HW:

    A. Помилки рівня мікроконтролера:

    • Блокування розрядного реєстру (застрягло);
    • Неправильний розрахунок адрес переходу в оперативній пам'яті (застряг);
    • ALU - арифметичний та логічний блок мікроконтролера (неправильна послідовність кодів, час виконання занадто повільний або занадто швидкий);
    • рутина вектора/переривання, маршрутизація системних переривань.

    Тестування та моніторинг оперативної пам'яті (включаючи CSA - область перемикання контексту) та стеку даних (переповнення/переповнення стека), ПЗУ та EEPROM.

    • Тестування оперативної пам’яті можна проводити при кожному запуску системи та за бажанням після кожного скидання (залежно від системи та проекту). Циклічний або за потреби та під час запуску програми, на всій оперативній пам'яті або лише на певних блоках. Для цього мають бути впроваджені деякі методи безпеки як в SW, так і в HW: захист змінних безпеки або регістрів із надлишковим значенням або доповненням. Активація механізмів корекції та виявлення помилок з виправленням помилок HW (ECC). Нижче наведено загальний приклад функцій для управління безпекою пам'яті даних.

      Застосування CRC до певних чітко визначених блоків даних;

      • Захист пам'яті шляхом налаштування певних регістрів HW - спосіб, можливий лише на деяких мікроконтролерах.

      • Використовуйте CRC або маркери даних із значенням за замовчуванням.

    B. Тестування та моніторинг периферії: ADC (аналоговий перетворювач), SPI, CAN та інші.

    Перетворювач АЦП мікроконтролера можна перевірити на наявність таких помилок:

    Помилки опорної напруги (коефіцієнт посилення несправності/значення дрейфу VA).

    Для того, щоб виявити цей тип помилки, один із входів аналогового перетворювача повинен бути підключений до незалежної опорної фіксованої напруги із середнім значенням між VGnd і VRref (наприклад, для VGnd - 0В і VRef 3,3 В -> тест Vref - > 1,6 В);

    Помилки зміщення (заблоковані біти "застрягли на 1 або 0");

  • Помилки мультиплексора; Для виявлення помилок зсуву та мультиплексора один з входів аналогового перетворювача повинен бути підключений до напруги "тумблер", яка може змінюватися між VGnd та Vref (00000000xxxx, 1111111xxxx) або двома входами, підключеними до VGnd (V перемикач HIGH - 3.3 V) і V перемикають LOW - 0 V).
  • C. Моніторинг та виявлення помилок у системі HW/ECU:

    • Моніторинг основних ліній електроживлення/ЕБУ: 1,5 В, 3,3 В, 5 В та 12 В

    D. Моніторинг виконання SW через (PFM - Program Flow Monitor)

    Е. Моніторинг операційної системи - "Завдання ОС":

    Правильне виконання завдань у часі (налаштована повторюваність);

  • Перевірка їхньої циклічності (їх виконання або невиконання в часі);
  • напр. Для 2-мілісекундного завдання, яке ми хочемо контролювати з інтервалом у 10 мілісекунд, ми очікуємо, що в ідеалі буде виконано п’ять виконань 2-мілісекундного завдання; як правило, ми також можемо розрахувати допуск ± 1 завдання, що призводить до правильного інтервалу виконання, який може бути між [4-6] виконаннями.

    F. Моніторинг та зв’язок із зовнішнім сторожовим псом (WDT). Це електронний чіп, який взаємодіє з мікроконтролером на базі SPI. Його роль полягає у моніторингу належного функціонування мікроконтролера на основі контролю якості (гра запитань та відповідей) та генерації скидання, інакше.

    Гра QA працює на основі випадкової генерації набору з 15 питань (за заздалегідь заданим алгоритмом), які надсилаються мікроконтролеру на лінії SPI через заздалегідь визначені інтервали часу.

    Кожне запитання відповідає фіксованій, заздалегідь визначеній відповіді, яку WDT чекає через SPI, у заданий інтервал часу.

    Щоб отримати високий рівень безпеки, ми повинні провести такі тести:

    навмисне надсилання неправильної відповіді та перевірка WDT, який реагує правильно, збільшуючи свій лічильник помилок, щоб прочитати журнал помилок.

  • надсилання/опускання відповіді протягом часу, очікуваного WDT (так зване "вікно сторожового пса"), і перевірка його відповіді.
  • На рівень ASIL, що надається системі, впливає її придатність у транспортному засобі: який це тип ЕБУ та чим він керує (наприклад, підвіска, трансмісія, двигун, сидіння, інформаційно-розважальна система тощо).

    Важливо згадати кілька термінів, що стосуються зони безпеки автомобілів:

    FTI (Fault Tolerant Time) - час, що проходить з моменту виникнення помилки до переведення системи в так званий безпечний стан ("безпечний стан").

    FDT (Fate Detection Time) - час, що проходить від часу помилки до виявлення SW.

    FRT (Fault Reaction Time) - максимальний прийнятий час реакції у разі помилки, від її виявлення до безпечної зони системи.

  • Debounce counter - значення відгуку системи у разі виявленої помилки (у разі повторюваних помилок програмне забезпечення збільшує чисельник, який періодично перевіряє його з пороговим значенням, у разі рівності система переходить із нормального в безпечний робочий стан) "). Застосування скидання системи не завжди є необхідним і залежить від проекту та системи.
  • Завершіть цю статтю, представивши нижче приклад архітектури управління ЕБУ для електромагнітних клапанів або електродвигунів, що застосовується в області автоматичної коробки передач, керованої підвіски або управління рульовим управлінням. Компоненти, позначені червоними крапками, представляють зони безпеки в системі, які повинні контролюватися і контролюватися SW, щоб досягти необхідного рівня ASIL.