Sodobna programska oprema za avto. Diagnostika elektronskih krmilnih sistemov

Ali poznate vrste programske opreme za popravilo avtomobilov?

Programska oprema za popravilo avtomobilov

Dve glavni vrsti programske opreme za popravilo avtomobilov se uporabljata za diagnostiko ali upravljanje pisarne. Diagnostični programske opreme za samodejna popravila lahko vsebuje veliko funkcij, vključno s postopki popravil, navodili za odpravljanje težav, znanimi "pravilnimi" vrednostmi za senzorje in drugimi neprecenljivimi informacijami. Ta programska oprema je pogosto na voljo v izbranih tujih in domačih servisih za popravilo avtomobilov določene blagovne znamke avtomobilov. Namenska programska oprema za popravilo avtomobilov je na voljo tudi za sodobna diagnostična orodja, od katerih so nekatera lahko precej zapletene računalniške naprave. Programska oprema na sprednji plošči lahko vključuje ocene, načrtovalce in generatorje delovnih nalogov. Kakovostno konfiguracijo programske opreme lahko izvedete na spletnem mestu http://savtom.com/, kjer popravljajo avtomobile Mercedes, Audi in BMW.

Mehaniki so v preteklosti večino svojih informacij izhajali iz priročnikov za popravila in izkušenj. Ustvarilo je več založnikov koristne informacije in ga priskrbel v obliki knjige. Dve glavni vrsti teh knjig so bili diagnostični priročniki in priročniki s fiksno hitrostjo. Diagnostična vodila so vsebovala specifikacije in postopke za popravilo, medtem ko so vodila s fiksno hitrostjo ocenjevala, kako dolgo bo trajalo posamezno opravilo. Z razširjeno uporabo osebnih računalnikov na delovnem mestu so se te vrste informacije prenesle v programsko opremo za popravilo avtomobilov.

Večina sodobnih objektov za popravila avtomobilov ima nekakšen računalniški informacijski sistem za pomoč pri diagnozi in popravilu. Najenostavnejša oblika to je en računalniški terminal z nizom zgoščenk (CD-jev) ali digitalnih vsestranskih diskov (DVD-jev), ki vsebujejo postopke popravila, specifikacije in druge informacije. Tehnik lahko vpiše leto, znamko in model vozilu v to vrsto sistema, da bi našli posebne informacije. Nekateri od teh programov vključujejo tudi različne shematske, žične in razstavljene diagrame.

Obstaja več različic te osnovne vrste programske opreme za popravilo avtomobilov. Nekateri ponudniki storitev vse te informacije posredujejo prek internetne povezave. Tako tehnik ali trgovina plačuje mesečno naročnino za dostop do informacij, ki so vedno posodobljene. Takšne storitve ponujajo kritične biltene in postopke popravil, ki so jih sestavili pravi strokovnjaki na tem področju. Programska oprema je običajno na voljo tudi za specializirane optične bralnike in diagnostično opremo, nekateri programi pa lahko prenosnik celo spremenijo v orodje za optično branje.

Druga glavna vrsta programske opreme za popravilo avtomobilov se pogosto uporablja v pisarni. Ocena poštene stopnje je ena izmed bistvene funkcije te programske opreme. Ta vrsta programske opreme omogoča razvijalcu tehnologije ali storitve, da vpiše leto, znamko in model vozila, da ve, kako dolgo naj traja popravilo. Te številke s fiksno obrestno mero lahko nato kombinirate s ceno delov, da ustvarite oceno. Ta vrsta programske opreme lahko ponuja tudi funkcije načrtovanja, ustvarja delovne naloge in spremlja prodajo.

Ni skrivnost, da je v naši visokotehnološki dobi vsako inovativno orodje, ki temelji na elektronski komponenti, začelo z mobilni telefon in konča s sateliti, vsebuje veliko notranjega "nadeva", ki nadzoruje procese delovanja enote.

V mnogih pogledih to velja tudi za vozila ali, bolj preprosto, za avtomobile. Sodobni avtomobili so tako napolnjeni z elektroniko, da se včasih vprašate, zakaj je tukaj pravzaprav voznik.

Kako varen je samodejni sistem?

Je pa vse tako preprosto in varno, ali lahko popolnoma zaupate, katerega glavna naloga je olajšati postopek vožnje avtomobila s strani voznika? Odgovor je popolnoma dvoumen.

Morda bo koga presenetilo, da programska oprema sodoben avto sestavljajo vrstice kode, ki so približno 2,5-krat več kot v enem izmed najbolj priljubljenih računalniških operacijskih sistemov našega časa - Windows 7.

Kakšen zaključek je mogoče iz tega narediti? Zelo preprosto - očitno je, da se pri tako ogromni količini podatkov lahko pojavijo napake, ki bodo posledično vplivale na okvare celotnega avtomobila.

Kot primer navedimo primer, ki se je zgodil Toyota Prius... Ne bomo se poglabljali v vse tankočutnosti sistema. samodejni nadzor motorja, ugotovil bo le, da se v primeru sistemske napake polprevodniki, vgrajeni v instalacijo, pregrejejo, kar vodi do dejstva, da se lahko avto nenadoma ustavi. Če želite posodobiti celoten sistem, boste morali obiskati servisni center.

Proizvajalci električnih avtomobilov

Najbolj priljubljen proizvajalec električnih avtomobilov na svetu danes v praksi uporablja naprednejšo metodo: sistem lahko posodobite na daljavo z uporabo brezžične povezave. Toda tu morate pozorno prisluhniti mnenju strokovnjakov, ki praktično soglasno trdijo, da ta metoda ni tako varna, kot se morda sprva zdi. Zakaj?

Dejstvo je, da lahko v tem primeru dober heker dobi dostop do avtomatizacije vozila z običajnim prenosnikom. Eksperiment računalniških strokovnjakov Charlieja Millerja in Chrisa Valaseka, ki so ga pokazali na konferenci Black Hat, je bil nazorna potrditev tega. Hekerji so simulirali vdor v elektroniko avtomobila in pokazali, do česa bi lahko prišlo.

Še dobro, da je bil to le znanstveni primer in nihče ni bil ranjen. Po povečanju hitrosti in doseganju 80 km / h se je avto nenadoma prenehal odzivati \u200b\u200bna ukaze, zavore so popolnoma odpovedale in ko je bil pritisnjen pedal za plin, se je avto močno zavil v desno.

Po tem se je zgodilo najbolj neverjetno: programska oprema, ki je škodila avtomatski sistem nadzor nad avtomobilom, s hitrostjo strele levo, tako da je bilo navzven vse videti kot nesreča. E

ta hekerski eksperiment je pokazal, da v svetu sodobne avtomobilske elektronike ni vse tako popolno in proizvajalci avtomobilov imajo še veliko dela za zagotovitev optimalne kombinacije udobja in varnosti pri uporabi elektronskih vgrajeni sistemi avto.

Članek o tem, kakšna je programska oprema sodobnega avtomobila. Značilnosti programske opreme, procesov in tehnologij. Na koncu članka - zanimiv video o 5 nujnih rešitvah za vaš avto!


Vsebina pregleda:

Nobenega sodobnega avtomobila si ni mogoče predstavljati brez elektronskega polnjenja, ki zahteva zapleteno programsko opremo. Med vožnjo avtomobila skoraj ne razmišljamo o tem, kakšni procesi se v njem odvijajo - ni monitorja, kot je računalnik, kar pomeni, da delovanje programov ni vizualizirano, kot da ne bi obstajali. Ampak so.

Značilnosti avtomobilske programske opreme


Sodobna programska oprema za vaše vozilo je zelo zanesljiva, saj je v enem letu stopnja okvare opreme le ena od milijon operacij in nato izjemoma.

Zdaj je v vsakem avtomobilu več elektronskih krmilnih enot (ECU) - elektronska krmilna enota ECU, ki med seboj komunicirajo prek elektronske mreže avtomobila.


Interakcija med temi bloki poteka po zaslugi arhitektur vodila, ki so nabor krmilnikov - CAN, omrežje krmilnika, pa tudi posebno omrežje, namenjeno prenosu informacij iz posebne digitalne opreme - MOST, medijsko usmerjenih sistemov trans, FIexRay, pa tudi sistema Local interconnect, (POVEZAVA).

Če naštete vodile primerjamo z Ethernetom, ki je namenjen osebnemu računalniku, delujejo z zmanjšano hitrostjo, saj je količina obdelanih podatkov v avtomobilih majhna. Toda to minimalno količino informacij je treba obdelati dobesedno v nekaj milisekundah.

Ko število ECU-jev narašča, morajo razvijalci ustvariti dovršene strukture avtomobilskih omrežij, ki zahtevajo bolj zapletene strukture. Poglejmo si glavno razliko med avtomobilsko programsko opremo in digitalnimi tehnologijami za druge namene.

  • Zanesljivost - sistemski programi avtomobila v precej zapletenem omrežju ECU morajo med celotnim obdobjem uporabe delovati čim bolj zanesljivo;
  • Varnost opravljenih funkcij - ESC in zavorni sistem morata delovati brezhibno, kar že pomeni precej resne zahteve glede programske opreme in samega procesa njihovega razvoja;
  • Hitrost interakcije - trenutna reakcija elektronskih komponent avtomobila (do milisekund) je nemogoča brez posebne programske arhitekture in izboljšanih operacijskih sistemov;
  • Trdna arhitektura - programska oprema vozila mora povečati elektromagnetno združljivost in se upreti učinkom popačenih signalov;
  • Komunikacija vozlišč elektronsko-mehanskega cikla.
Pozor: Nikoli ne zaženite ECU-ja med delovanjem!

Glavni sestavni deli ECU


ECU je precej zapletena plošča s stotinami drugih elementov poleg mikrokrmilnika. Oglejmo si glavne podrobnosti.
  1. Analogno-digitalni pretvornik (ADC) - ta oprema je zasnovana za odčitavanje nekaterih avtomobilski senzorjiin s senzorja kisika. Dejstvo je, da je procesor sposoben zaznati samo digitalne vrednosti in na primer indikator kisika proizvaja samo električne signale z napetostjo od 0 do 1,1V. ADC pretvori te podatke v desetbitno binarno število, da jih procesor lahko razume.
  2. Driver je program, zasnovan za nadzor digitalne opreme s pretvorbo signalov.
  3. Digitalno-analogni pretvornik (DAC) - daje analogne signale za sprožitev določenih komponent motorja vozila.
  4. Komunikacijski čip - ti čipi omogočajo najrazličnejše komunikacijske standarde, ki jih najdemo v vozilu. Takšnih standardov je v proizvodnji več, najpogostejši pa je CAN - Controller-Area Networking. Zagotavlja hitrost 500 k / bit na sekundo, kar je izjemno potrebno za module, ki izvajajo do stotine operacij na sekundo.

Procesi in tehnologija


Od predstavitve prve avtomobilske programske opreme se je veliko spremenilo. Če je sprva programsko opremo lahko nadzoroval le en proizvajalec, je to zdaj postalo skoraj nemogoče.

Sprva je bil v zadnjem stoletju kot programska oprema uporabljen montažni jezik. Jezik Xi se je začel širiti v devetdesetih letih. Robert Bosch in mnogi drugi ponudniki so začeli razvijati programsko opremo z uporabo Mathlab / Simulink in ASCET (nadzorne in simulacijske tehnologije).

Sistemi cAN avtobus naredijo avtomobilsko programsko opremo precej zapleteno. Razlog je v tem, da ne izključujejo interakcij med programi različnih ECU-jev. Sodobni avtomobili luksuzni razred lahko vsebuje zapleteno mrežo 80 ekujev s skupno do 100 milijoni vrstic kode.

Ker programska oprema nenehno postaja vse bolj zapletena, je treba izboljšati inženirske tehnologije. Zato se v industriji nenehno pojavljajo vzporedni tehnični in organizacijski procesi za zavedanje nove programske opreme.


Inženirske rešitve na procesni in arhitekturni ravni postajajo tudi eden glavnih pogojev za zunanje izvajanje. V zvezi s to okoliščino je Bosch od začetka 90-ih let prejšnjega stoletja začel dati nekaj napredka.

Trenutno delo na področju programske opreme za avtomobile opravlja več združenj, razdeljenih po vsem svetu. In tovrstne dejavnosti so postale povsem optimalne za posel.

Upravljanje motorja


Mednarodni predpisi o okoljskih vprašanjih zahtevajo zmanjšanje porabe goriva vozil in ustrezno zmanjšanje onesnaževanja okolje... To pomeni, da obstaja spodbuda za izboljšanje menjalnika, da se zagotovi optimalno vbrizgavanje goriva in čas vžiga.

Na primer moderno dizelski motorji lahko vbrizgajo gorivo v najmanj sedmih količinah na kap. In to je za štirivaljni motor, ki razvije hitrost vrtenja do 1800 vrt / min, 420-krat na sekundo. Vse to zahteva nove programske funkcije in bolj dovršene nadzorne algoritme, da se zmanjšajo kakršna koli odstopanja.

Potreba po zmanjšanju škodljivih emisij zahteval posodobljene tehnologije in metode prometne podpore. Zato dopolnjuje običajni motorji notranje izgorevanje, v prihodnosti bodo električni motorji in mešani modeli lastniki levji delež na avtomobilskem trgu. Poleg tega se bo povečala potreba po alternativnih gorivih, programska oprema pa bo glavni vzvod za reševanje teh izzivov.

Nadzorni center menjalnika vozila je krmilni modul motorja. Sodobni moduli imajo prostornino več kot 2 megabajta digitalnega pomnilnika in delujejo na taktni frekvenci do 160 MHz. To vključuje programe do 300 tisoč vrstic kode.

Standardizacija


Pri razvoju sodobnih digitalnih programov za avtomobile se jasno upošteva specifičnost zahtevanega ECU-ja: programska oprema neposredno deluje z določeno opremo. Z vedno večjim številom avtomobilskih ECU postaja recikliranje programske opreme prednostna naloga. Zato je v takšnih razmerah primerno govoriti o standardizaciji.

Leta 2003 so dobavitelji in proizvajalci oblikovali avtomobilsko arhitekturo odprtega sistema (Autosar). Namen organizacije je izpolnjevanje skupnih standardov in enotnih tehnologij. Danes to združenje vključuje več kot 150 organizacij, ki skupaj razvijajo novo strukturo ECU, osnovno programsko opremo in vse, kar je potrebno za ustvarjanje delujoče programske opreme.

Ta vrsta interakcije vključuje ustvarjanje vozlišč, ki so neodvisna od strojne opreme. To dobaviteljem in proizvajalcem omogoča izmenjavo modelov in njihovo ponovno uporabo na najrazličnejših ECU-jih.

Autosarjeva zasnova je sestavljena iz več abstraktnih slojev, v katerih je programska oprema ločena od strojne opreme. Na samem vrhu je aplikacijska programska oprema, ki izvaja vse uporabljene dejavnosti. Spodaj je osnovna, nominalna programska oprema. Zagotavlja želeno abstrakcijo s strojne opreme, tako kot se to zgodi na primer v osebnem računalniku. Autosar Runtime Environment skrbi za komunikacijo znotraj ECU.

Tehnologija Autosar vsebuje vse potrebne oblike izmenjave in predloge, ki se uporabljajo tako za generiranje in konfiguriranje infrastrukture kot za njen opis.

Najpogostejši v sodobna avtomobilska industrija so (hitri) Ethernet vodili. Zanesljivo podpirajo komunikacijo med ECU-ji in nove možnosti, tudi glede varnosti.


Najbolj raznolike informacije se kvalitativno analizirajo, da se ustvari objektivni model okolja, ki omogoča oblikovanje novih možnosti, ki v skrajnih primerih podpirajo voznika.

Na primer, voznika je potnik med vožnjo zmotil. V tem primeru aplikacija zazna zaviranje vozila spredaj, nato opozori voznika ali sam zavira. Mimogrede, voznik morda niti takoj ne izve za prisotnost takšne programske opreme, dokler ni v nevarnem položaju.

Zaključek

V sodobni avtomobilski industriji se danes pojavljajo predpogoji za naslednjo znanstveno-tehnološko revolucijo na področju razvoja programske opreme, ker se digitalne tehnologije in zmogljivosti potrošniške elektronike začenjajo širše uporabljati. Ni še daleč čas, ko se bodo avtomobili začeli povezovati z internetom prek vseh fiksnih in internetnih povezav mobilne naprave... Hkrati pa se bo povečala vloga brezplačne programske opreme za reševanje praktičnih problemov.

5 nujnih življenjskih hack za avto - v videoposnetku:

09.04.2010 Jurgen Messinger

Kdaj boste kupili svojega naslednji avtobo vseboval že 100 milijonov vrstic kode in verjetno bi morali pomisliti na težave, povezane z ustvarjanjem takšnih sistemov programske opreme na vozilu, in nove priložnosti, ki jih odpirajo v avtomobilski industriji.

Prvi elektronski sistemi so se v avtomobilih pojavili v 60. letih, zahvaljujoč temu pa se je industrija močno spremenila - danes sta elektronika in zlasti programska oprema glavni vir inovacij. Programska oprema izboljšuje zanesljivost z aktivnimi in pasivna varnostna primer protiblokirni zavorni sistem in elektronski nadzor stabilnosti (ESC). Poleg tega je danes v avtomobile postopno vključevanje potrošniške elektronike.

Avtomobilska programska oprema je zelo zanesljiva s stopnjo napak, ki ne presega ene napake na milijon operacij na leto. Večina ljudi se sploh ne zaveda, koliko funkcij avtomobila danes nadzoruje programska oprema, vendar skoraj nikoli niste slišali za modri zaslon v avtomobilu, čeprav je to v osebnem računalniku običajno.

Dandanes ima vsak avtomobil več elektronskih krmilnih enot (ECU-jev), ki jih povezuje omrežje znotraj stroja. Ti bloki komunicirajo prek standardnih arhitektur vodila, kot so omrežje krmilnika (CAN), podatkovno omrežje multimedijski sistemi (medijsko usmerjeni sistemski promet, MOST), FlexRay in lokalno medomrežno omrežje (LIN). V primerjavi z Ethernetom, ki se pogosto uporablja za komunikacijo z osebnim računalnikom, so ti vodili počasnejši - v avtomobilih je količina poslanih informacij majhna, vendar jih je treba obdelati v nekaj milisekundah. Povečanje števila priključenih ECU vodi do potrebe po ustvarjanju bolj zapletenih struktur znotrajstrojnih omrežij, kar zahteva posebno električno in elektronsko arhitekturo. Glavne razlike med avtomobilsko programsko opremo in drugimi vrstami programske opreme so:

  • zanesljivost: avtomobilski programski sistemi morajo v celotni življenjski dobi vozila delovati izredno zanesljivo v zapletenem omrežju ECU;
  • funkcionalna varnost:funkcije, kot sta protiblokirni zavorni sistem in ESC, zahtevajo nemoteno delovanje, kar postavlja velike zahteve v procese razvoja programske opreme in v same programe;
  • delo v realnem času: hiter odziv (od mikrosekund do milisekund) na zunanje dogodke zahteva optimizirane operacijske sisteme in posebno programsko arhitekturo;
  • minimalna poraba virov: vsako dodajanje računalniških virov ali pomnilnika poveča stroške izdelkov, kar z milijoni izvodov pomeni veliko denarja;
  • robustna arhitektura: avtomobilska programska oprema mora biti sposobna prenesti popačenje signala in vzdrževati elektromagnetno združljivost;
  • elektronsko mehansko krmiljenje z zaprto zanko.

Upoštevati je treba, da je ponovni zagon med delovanjem za večino ECU-jev nesprejemljiv.

Procesi in tehnologija

Če jo je v zgodnjih letih pojava avtomobilske programske opreme lahko nadzoroval en razvijalec, zdaj to ni več mogoče.

V sedemdesetih so razvijalci avtomobilske programske opreme začeli uporabljati sestavljalnik, C pa je v 90. letih postal glavni jezik. V zadnjem desetletju so Robert Bosch in drugi avtomobilski dobavitelji začeli razvijati programsko opremo, ki temelji na modelih, z uporabo ASCET (Advanced Modeling and Control Engineering Toolkit) in Mathlab / Simulink.

Bus sistemi, kot je CAN, dodajo resno zapletenost programske opreme, saj omogočajo interakcije med programi na različnih ECU-jih. V luksuznih avtomobilih zapleteno omrežje zdaj povezuje do 80 ECU-jev, skupaj pa do 100 milijonov vrstic kode. Ko programska oprema postaja bolj zapletena, je treba izboljšati inženirske metode, zato danes industrija ponuja vzporedne organizacijske in tehnične procese za razvoj programske opreme. Bosch ima dolgo zgodovino razvoja inženiringa in procesa upravljanja CMMI 3. stopnje, njegov inženirski oddelek v Indiji pa je že dosegel 5. stopnjo.

Razvoj, ki temelji na procesih in arhitekturi, je tudi predpogoj za učinkovito zunanje izvajanje - Bosch je svoje zunanje izvajanje začel izvajati že v zgodnjih devetdesetih letih. Danes dela na področju programske opreme več geografsko porazdeljenih oddelkov, kar se je izkazalo za zelo koristno za poslovanje, na primer zdaj v podružnici v Indiji dela več kot 6 tisoč inženirjev.

Upravljanje motorja

Cilj zmanjšanja porabe goriva in emisij škodljivih snovi spodbuja dejavnosti za izboljšanje prenosa, na primer izpolnjevanje zahtev mednarodne zakonodaje o emisijah škodljivih snovi zahteva skladnost z zagotovljenim časom vbrizgavanja goriva in vžiga. Poleg tega se je pogostost vbrizga znatno povečala - moderno dizelski sistemi lahko vbrizga kapljice goriva manj kot glava zatiča do sedemkrat na hod, kar je 420-krat na sekundo pri štirivaljnem motorju, ki se vrti pri 1800 vrt / min. Za to so potrebni zelo dovršeni nadzorni algoritmi in programske funkcije, da se odstopanja čim bolj zmanjšajo.

Potreba po zmanjšanju emisij CO2 je privedla do številnih pogonskih tehnologij - poleg tradicionalnih motorjev z notranjim zgorevanjem bodo sčasoma pomemben tržni delež imeli hibridni sistemi in električni motorji. Povečala se bo tudi poraba alternativnih goriv, \u200b\u200bprogramska oprema pa bo ključna za uresničitev teh tehnologij.

Modul za upravljanje motorja je osnova za nadzor menjalnikov osebnih avtomobilov. Sodobni moduli vsebujejo več kot 2 MB vgrajenega bliskovnega pomnilnika, delujejo na taktni frekvenci do 160 MHz in izvajajo programe do 300 tisoč vrstic kode.

Dobavitelji avtomobilski sistemi pogosto prodajo več izdelkov kot kateri koli posamezni proizvajalec avtomobilov. Leta 2008 je eden največjih proizvajalcev avtomobilov prodal približno 9 milijonov vozil s svetovno proizvodnjo 65 milijonov, prodaja prodajalcev programske opreme pa je veliko večja. To daje ponudnikom sistemov več prostora za ustvarjanje prihrankov masovna proizvodnjapotreben za obsežen razvoj programske opreme.

Standardizacija

Programski sistemi za avtomobile so praviloma razviti ob upoštevanju posebnosti določene ECU - programska oprema je tesno povezana z ustrezno opremo. Z naraščajočim številom avtomobilskih ECU postaja ponovna uporaba programske opreme vse pomembnejša, kar zahteva standardizacijo.

Leta 2003 so vodilni proizvajalci avtomobilov in dobavitelji ustanovili skupnost Automotive Open System Architecture (Autosar, www.autosar.org), da bi razvili enotni globalni standard in sorodne tehnologije. Danes ima Autosar več kot 150 podjetij in s tem partnerstvom razvija arhitekturo ECU, osnovno programsko opremo, metodologijo in standardizirane vmesnike za aplikacijsko programsko opremo. Partnerstvo spodbuja razvoj od strojne opreme neodvisnih komponent, kar proizvajalcem in dobaviteljem omogoča skupno rabo in ponovno uporabo programske opreme v različnih ECU-jih.

Arhitektura Autosar ECU ima več stopenj abstrakcije, ki ločujejo programsko opremo od strojne opreme (glej sliko). Zgornja raven vsebuje programsko opremo, ki izvaja vse aplikacijske funkcije. Sledi osnovna programska oprema, ki zagotavlja potrebno abstrakcijo strojne opreme, podobno kot operacijski sistem za osebni računalnik. Autosar Runtime Environment (RTE) zagotavlja vse interakcije znotraj ECU in med njimi. Metodologija Autosar vključuje predloge in formate za izmenjavo, ki se uporabljajo za opis, konfiguriranje in ustvarjanje infrastrukture.

Elektronika danes predstavlja približno 80% funkcionalnih inovacij v avtomobilski industriji, za večino pa je ključna programska oprema. Ker programska oprema postaja vse pomembnejši del stroškov strojne opreme, poslovni modeli začenjajo upoštevati potrebo po ponovni uporabi in izmenjavi programske opreme.

Hitri avtobusi, kot je Ethernet, se danes v avtomobilski industriji vedno bolj uporabljajo za podporo komunikaciji med ECU-ji in razvoju novih funkcij, zlasti na področju varnosti. Informacije iz različnih virov se analizirajo in konsolidirajo, da tvorijo celovit model okolja, ki omogoča razvoj novih funkcij, ki podpirajo voznika v kritične situacije... Če na primer pozornost voznika moti potnik, lahko aplikacija ugotovi, da avtomobil spredaj upočasni in o tem opozori voznika ali začne avtonomno zavirati. Voznik ne bo nikoli vedel za obstoj takšne programske opreme, dokler se ne bo pojavila nevarna situacija.

V avtomobilski industriji je danes zrela naslednja revolucija programske opreme - vedno bolj se uporabljajo multimedija in zabavna elektronika. Avtomobili se bodo povezovali z internetom in vsemi vrstami mobilnih in doma nameščenih naprav, delež brezplačnih programskih rešitev pa bo nenehno naraščal.



Ko se večina razvijalcev programske opreme sooči z realnostmi v strojniški industriji, jim ne uspe - obstajajo zelo usko specializirani izdelki, s katerimi morajo delati. To ni za vas, da ustvarjate programe za uporabnike interneta, računalnike ali celo mobilne aplikacijetako se novinci počutijo kot Thomas iz filma Maze Runner. Oglejte si približno 50 sekund prikolice in razumeli boste šok, ki so ga doživeli tisti, ki se prvič ukvarjajo z razvojem avtomobilske programske opreme.

Vse, kar imate, so različni izrazi in orodja, o katerih nimate pojma. Ko med intervjujem v enem avtomobilsko podjetje Vprašal sem, kakšno IDE uporabljajo, anketarju moje vprašanje, milo rečeno, ni bilo všeč. Navajen sem Visual Studia in naivno upal, da bo nekaj podobnega potrebno za razvoj vdelane programske opreme tukaj. Nisem vedel, kaj me čaka! To je samo morje majhnih in resnih (glede na zapletenost) orodij, ki so potrebovala še eno žrtev.

In ko gre za razvoj programske opreme za avtomobile, orodja še zdaleč niso edina težava. Skoraj nemogoče je najti literaturo za začetnike ali zgolj izobraževalno gradivo o knjižnicah ali arhitekturi ustreznih programov. Izraz " vadnica”Sliši se povsem neprimerno, saj je avtomobilska industrija zelo zaprta skupnost. In temu skorajda ne morete reči skupnost, saj ob takšni konkurenci nihče ne bi smel ugibati, kako ustvarite ta ali oni program. Če želite izvedeti vsaj nekaj o posameznih orodjih in mehanizmih tega programskega segmenta, se lahko vpišete na pretirano drage tečaje, vendar mora biti vaše podjetje pripravljeno plačati precejšnjo vsoto in trajalo bo vsaj nekaj tednov, da dobite trenutno potrebne izkušnje. Škoda le, da je tako težko razumeti posebnosti programiranja za avtomobilsko industrijo, zato sem se odločil, da bom svoj članek posvetil prav tej temi.

Ker sem že večkrat moral preiti z ustvarjanja aplikacij za uporabnike interneta / računalnikov na razvoj vdelane programske opreme in obratno, iz prve roke vem o težavah, s katerimi se srečujejo novinci, ki se ukvarjajo predvsem s prvim blokom izdelkov. Podobne težave se pojavljajo pri programerjih, ki se nikoli niso srečali s posebnostmi avtomobilske industrije.

V tem in naslednjem članku bi rad spregovoril o tem, kako deluje vgrajena programska oprema za avtomobile, in se zazrl v globino eksotične arhitekture vdelanih aplikacij.

Katere teme bomo pokrivali?

  • Kako vgrajena programska oprema izboljša zmogljivost vozila?
  • Kako vam vgrajene aplikacije omogočajo vožnjo avtomobila?
  • Katere so tipične omejitve procesorja?
  • Kako vgrajena programska oprema neprekinjeno obdeluje podatke senzorja?
  • Kako je strukturirana ta programska oprema in kako posamezne aplikacije med seboj sodelujejo pri vožnji vozila?
Na ta vprašanja bom odgovoril s konkretnim primerom in hkrati dal pregled nad razvojem vgrajene programske arhitekture. Kot primer bomo vzeli popolnoma elektronski krmilni sistem. To sicer ni pravi model, a je po strukturi načeloma podoben tistemu, ki ste ga najverjetneje videli v svojem avtomobilu. Podrobneje bomo govorili o arhitekturi, nato pa prešli na poenostavljeni diagram, ki razkriva bistvo funkcionalnosti sistema.

Ogledate si lahko video o razvoju elektronskega krmilnega sistema. Mimogrede, tudi jaz sem delal v tej ekipi.

Ta model deloma temelji na programski opremi. Delno pomeni, da specializirana programska oprema pomaga le vozniku, vendar ima popoln nadzor nad sistemom.

Recimo, da želimo ustvariti popolnoma elektronski krmilni sistem, pri katerem volan ni neposredno povezan s kolesi. Namesto tega senzor izmeri kot krmiljenja in te podatke pošlje našemu programu. V avtomobilski terminologiji je to servo. Verjeli ali ne, Nissan je na trg že prišel s servo modelom.

Programsko opremo poganja majhen procesor ali natančneje mikrokrmilnik, povezan s senzorjem prek omrežja.

Ko voznik zavrti volan, programska oprema prejme ustrezen signal, zahvaljujoč senzorju, ki nenehno prenaša informacije o trenutnem kotu krmiljenja. Če na primer voznik zasuče volan za 90 ° v desno, se v sekundi sekunda signal senzorja obdela po naslednjem principu:

Poleg tega programska oprema tudi vodi delo električni motor, ki zobnik prestavi od leve proti desni in v nasprotni smeri, kar pomeni, da se kot vrtenja prednjih koles avtomobila spremeni. Skladno s tem lahko programska oprema krmili avto levo ali desno. Komunikacija med mikrokrmilnikom, ki poganja programsko opremo, in elektromotorjem zagotavlja elektronska enota krmilna enota (ECU), ki vključuje sam mikrokrmilnik in ojačevalnik moči, ki uravnava sistem napajanja motorja. Tako naš program spreminja trenutni pretok do motorja in položaj stojala se spremeni v želeno smer.


Elektronska krmilna enota (ECU)

Če vdelana programska oprema deluje pravilno, se položaj stojala spremeni skoraj v trenutku, ko je volan obrnjen.


Volan je modre barve krmilno letev - roza (približno)

Postane jasno, da celo obdelava informacij tukaj ne upošteva niti logike programiranja na podlagi dogodkov, kot je to v primeru običajnih aplikacij za grafični uporabniški vmesnik, niti zakonov paketnih datotek. Namesto tega zahteva stalno in pravočasno obdelavo vhodnih podatkov. Če program analizira odčitke senzorja predolgo, se volanska letva in sprednja kolesa avtomobila premikajo z zamudo in voznik to opazi. Najverjetneje v skrajni situaciji to bo povzročilo izgubo nadzora nad vozilomna primer, ko obračate volan, da se izognete oviri, stroj ne bo takoj reagiral na manever. Ta posebnost povečuje zahteve glede časovnih kazalnikov za avtomobilske programe, zlasti glede na omejeno zmogljivost procesorja standardnih elektronskih krmilnih enot.

V nadaljevanju serije si bomo ogledali programsko arhitekturo, ki vam omogoča reševanje teh težav, in upam, da bodo s pomočjo teh materialov začetniki razvijalcev vdelanih aplikacij za avtomobile veliko hitreje spoznali osnovna načela tega področja.