TSM - Важноста на концептот; Функционална безбедност; n развој на SW автомобилски производи
Раду Ивнуш - раководител на деловна единица за напредни вградени технологии @ ПОДАТОЦИ НА НТТ Романија
Нашата приказна ја започнувам опишувајќи ви што значи „ECU“, термин што обично се користи во корелација со автомобилската област. Името ECU доаѓа од англиски: Електронска контролна единица, означувајќи електронска опрема, која содржи неколку електронски компоненти и барем еден микроконтролер на кој работи софтвер, или напишан во ASM или C. Со други зборови, ECU се компјутери во машини.
Ако на почетокот автомобилите не беа опремени со ECU (единица за електронска контрола), почнувајќи од 1970-тите, тие станаа стандардна опрема. Првиот ECU беше претставен на пазарот во 1968 година, тој беше посветен на системот за гориво на моторот и беше произведен од Бош за автомобили Фолксваген.
Денешните машини содржат стотици ECU и милиони линии на код, достигнувајќи компјутерска моќ и сложеност. Со проширувањето на современите машини кои работат и се контролираат од нив, потребата за безбедносни карактеристики стана „Безбедна функционалност“ исто така неизбежна.
ЕКУ-те еволуирале многу со текот на годините, приврзани за нив денес, заедно со микроконтролерите и микропроцесорите. За оние curубопитни за резимето на еволуцијата на ECU низ годините, ги презентираме подолу следниве податоци:
Првиот компјутер лансиран од VW (1968)
1969 година - Форд го воведува првиот компјутерски потпорен систем за лизгање.
1971 година - General Motors го претстави својот прв компјутерски контролиран менувач.
1976 година - Generalенерал моторс и Моторола се опремени да се користат во нивните возила.
1978 година - Кадилак воведе компјутерски управуван компјутерски управуван од микроконтролер Motorola.
1981 година - Сите возила на General Motors имаат ECM базиран на Motorola 6802 со контрола на емисијата.
1983 година - Во возилата на Форд започнаа да се користат прилагодени чипови за микроконтролер Intel 8061
1986 година - Универзитетот Карнеги Мелон „Навлаб 1“ стана првиот самооден, автономен автомобил.
1986 година - Крајслер воведе мултиплекс кабелски комуникациски модули со чипови обезбедени од Харис полупроводник.
1987 година - Првите микроконтролери произведени со интегриран CAN чипсет од Интел и Филипс полупроводник.
1991 година - Ford и Motorola формираат партнерство за дизајнирање и производство на PTEC погонски и микроконтролери за пренос.
2000 година - Форд микроелектроника АД. (ММФ) е купена од Intel Corp.
2014 година - Воведено и продадено првото возило за самостојно управување, Navia.

2017 година - Тесла „Полу“ го претстави својот прв модел на товарен камион, електричен и полуавтономен.
2017 Intel Corp го стекнува Mobileye, развивач на напредни системи за помош на возачот заснован на визија.
2017 Ауди го лансираше првото возило од серијата А8 со автоматизација на ниво 3, „Пилот за сообраќаен метеж на Ауди АИ“.
Како процес, „функционалната безбедност“ стана суштинска компонента на циклусот на развој на софтвер ECU. Овие шеми за безбедност на автомобилот помагаат во откривање на дефекти (електрични и електронски) и специфицираат активности, техники и методи за ублажување на ризиците и штетите предизвикани од софтверски и хардверски грешки.
Недостаток или неправилна примена на безбедносните правила може да има сериозни последици: повреда на патници или дури и загуба на живот, што доведува до финансиски загуби и загуба на сликата/марката за производителите на автомобили.
Затоа, денес, современите автомобили мораат да бидат во согласност со меѓународните безбедносни стандарди дефинирани со ISO 26262: „Друмски возила - Функционална безбедност“
Ниво на интегритет за безбедност на автомобилот (ASIL) е шема за класификација на ризик во рамките на стандардот ISO 26262. Постојат четири дефинирани нивоа на безбедност во рамките на стандардот: ASIL A, ASIL B, ASIL C и ASIL D. ASIL D го диктира најстрогото ниво на безбедност. барање за безбедност на производот, ASIL A е најпустлив. Ризиците идентификувани како КВ („управување со квалитетот“) не вклучуваат никакви посебни мерки за заштита.
Поделбата на нивоата на ASIL се прави врз основа на три размислувања: фреквенција на појава (F), контролираност (C) и сериозност (S) на грешка во WW или SW, каде што Фреквенција = Изложеност * λ
Погоре ги опишавме безбедносните нивоа што се применуваат на системите, но кога максималното ниво на ASIL не може да се обезбеди директно во системот, стандардот ISO26262 дозволува нивно т.н. распаѓање како што е прикажано на сликата подолу. Колку е повисок безбедносниот рејтинг на системот, толку се поголеми трошоците за имплементација на HW и SW. Кога се применува распаѓање, тоа ни помага да го поделиме системот на излишни елементи со пониско ниво на безбедност, што доведува до исполнување на барањата на системот без да влијае премногу на трошоците.
Во следното, ќе опишам начини/примери на методи применети во SW за следење и откривање на системски грешки.
Откривање, контрола и означување на системски грешки на следниве компоненти на HW:
А. Грешки на ниво на микроконтролер:
- Заклучување на битките во регистарот (заглавено);
- Неточна пресметка на адреси за скокови во RAM меморија (заглавена);
- ALU - аритметичка и логичка единица на микроконтролерот (погрешна низа на кодови, време на извршување премногу бавно или пребрзо);
- рутина за вектор/прекин, рутирање на системски прекин.
Тестирање и следење на RAM меморијата (вклучително и CSA - област на контекстни прекинувачи) и стек на податоци (подметнување/прелевање на стек), ROM и EEPROM.
- Тестирање на RAM меморија може да се изврши при секое стартување на системот и по избор по секое ресетирање (зависи од системот и проектот). Цикличен или по потреба и додека ја извршувате програмата, на целата RAM меморија или само на одредени блокови. За ова, мора да се спроведат некои безбедносни методи, како во SW и во HW: заштита на безбедносните променливи или регистри со излишна вредност или комплемент. Активирање на механизмите за корекција и откривање на меморијата на кодови за корекција на грешки (ECC). Подолу е даден генерички пример за функции за манипулирање со безбедноста на меморијата на податоците.
- Заштита на меморијата со конфигурирање на одредени регистри на HW - начин можен само со некои микроконтролери.
- Користење на CRC или стандардни маркери за податоци.
Примена на CRC на одредени јасно дефинирани блокови на податоци;
Б. Тестирање и следење на периферни уреди: ADC (аналоген конвертор), SPI, CAN и други.
Конверторот ADC на микроконтролерот може да се тестира за следниве грешки:
Грешки во референтниот напон (повратен удел/повратна единица VA).
За да се открие овој вид грешка, еден од влезовите на аналогниот конвертор мора да биде поврзан со независен референтен фиксен напон, со просечна вредност помеѓу VGnd и VRref (на пр. За VGnd - 0V и VRef 3.3V -> Vref тест - > 1,6V);
Грешки во офсет (блокирани битови "заглавени на 1 или 0");
В. Следење и откривање на грешки во системот HW/ECU:
- Следење на главните водови за напојување/ECU: 1.5V, 3.3.V, 5V и 12V
Д. Следење на извршувањето на SW преку (PFM - Програмски монитор за проток)
Е. Следење на оперативниот систем - „Задачи на ОС“:
Правилно извршување на задачите на време (конфигурирано повторување);
на пр. За задача од 2 милисекунди што сакаме да ја следиме во интервал од 10 милисекунди, ќе очекуваме идеално да имаме број од пет извршувања на задачата од 2 милисекунди; вообичаено, ние исто така можеме да пресметаме толеранција на task 1 задача, што резултира во правилен интервал на извршување, што може да биде помеѓу [4-6] извршувања.
Ф. Следење и комуникација со Надворешна контрола (WDT). Ова е електронски чип што комуницира со SPI-базиран микроконтролер. Неговата улога е да го следи правилното функционирање на микроконтролерот, врз основа на ОК (игра со прашања и одговори) и генерирање на ресетирање, во спротивно.
Играта ОК работи врз основа на случајно генерирање на сет од 15 прашања (според претходно поставен алгоритам) кои се испраќаат до микроконтролерот на линијата СПИ во однапред утврдени временски интервали.
Секое прашање одговара на фиксен, предефиниран одговор дека WDT чека преку SPI, во конфигурираниот временски интервал.
За да добиеме високо ниво на безбедност, мора да ги извршиме следниве тестови:
намерно испраќање погрешен одговор и проверка на WDT, кој правилно реагира со зголемување на бројачот на грешки за читање на дневникот за грешки.
Нивото на ASIL дадено на системот е под влијание на неговата применливост во возилото: за каков тип на ECU станува збор и што контролира (на пр., Суспензија, менувач, мотор, седишта, инфо-забавен систем, итн.).
Важно е да се споменат неколку поими поврзани со зоната на автомобилската безбедност:
FTI (време на толеранција на грешка) - времето што изминува од моментот кога ќе настане грешка сè додека системот не се постави во таканаречената безбедна состојба („безбедна состојба“).
FDT (Време на откривање дефект) - времето што изминува од времето на грешка до откривањето од SW.
FRT (Време на реакција на грешка) - максимално прифатено време на реакција во случај на грешка, од неговото откривање до безбедната зона на системот.
Завршете го овој напис со презентирање подолу пример за контролна архитектура на ECU за електромагнетни вентили или електрични мотори, со применливост во областа на автоматскиот менувач, контролираната суспензија или управувачот на управувачот. Компонентите обележани со црвени точки ги претставуваат безбедносните зони во системот што мора да се следат и контролираат од SW за да се достигне потребното ниво на ASIL.