You dont have javascript enabled! Please enable it!

Drift av en ECU

Emner:

  • introduksjon
  • Systembuss
  • Prosessor (CPU)
  • RAM-minne
  • ROM-minne

Forord:
En ECU mottar eller måledata fra sensorer, behandler informasjonen og utfører beregninger for å kontrollere aktuatorene. Figuren under viser et blokkskjema over et kontrollsystem.

Sensorer er sensorer som reagerer på en fysisk mengde. Elektronikken i sensoren konverterer dette til et elektrisk signal. ECU-en mottar dette elektriske signalet som "input" og sammenligner dette signalet med den forhåndsprogrammerte verdien. Avhengig av hva signalet er for, skjer styringen ved å justere aktuatorkontrollen deretter.

Følgende figur viser en ECU med tre pluggforbindelser. Fra venstre til høyre: strømforsyning og nettverk, sensorer, aktuatorer.

I et bensinmotorstyringssystem finner vi blant annet følgende sensorer:

  • veivakselposisjonssensor for å måle veivakselhastigheten;
  • kjølevæsketemperatursensor for å måle oppvarmingen av kjølevæsken;
  • gassposisjonssensorer for å måle posisjonen til gassventilen og dermed motorbelastningen;
  • MAP eller luftmassemåler for å måle undertrykket eller luftstrømmen;
  • lambdasensor for å måle oksygeninnholdet i avgassene;
  • den barometriske sensoren og inntakslufttemperatursensorer;
  • bankesensor for å fremme tenningen så langt som mulig.

Ovennevnte sensorer tjener som inngang for å kontrollere injektorene og tennspolen(e). For dette formålet søkes alle sensorverdier i et forhåndsprogrammert karakteristikkfelt.

Vi tar injektorkontrollen som et eksempel. Ved tomgangsturtall sprøyter injektorene inn et x-antall grader etter TDC.

  • Ved lav kjølevæsketemperatur forlenges injeksjonstiden (anrikning);
  • Ved forsiktig akselerasjon forlenges også injeksjonstiden. Det tas også en måling som holder styr på hvor raskt gasspedalen trykkes inn: ved brått full gass skjer ytterligere berikelse;
  • Undertrykket i inntaksmanifolden påvirker injeksjonstimingen og varigheten;
  • Lambdasensoren (for eksempel hoppsensoren) måler om blandingen er for rik eller for mager. Hvis blandingen er for mager for en rekke veivakselrotasjoner, forlenges injeksjonstiden ved hjelp av drivstofftrimmer til blandingen er støkiometrisk igjen;
  • Den barometriske sensoren og inntakslufttemperatursensoren måler lufttrykket og temperaturen for å bestemme oksygennivået i den sugde luften.

Injeksjonsvarigheten avhenger derfor av verdiene til opptil fem sensorer. I moderne motorer spiller enda flere sensorer en rolle i dette.

Under og etter styring av en aktuator, sender sensorene informasjon tilbake til ECU. Den målte verdien sammenlignes med ønsket verdi i programvaren. Dette kan brukes til å bestemme om en aktuatorstyring kan forbli konstant, må forkortes eller utvides. ECU-en fungerer derfor som en kontroller, og skaper en kontrollsløyfe.

Følgende figur viser et diagram der den grunnleggende innsprøytningstiden bestemmes ut fra veivakselhastigheten sammenlignet med undertrykket i inntaksmanifolden, som er et mål på motorbelastningen. Temperaturene og lambdasensoren danner en korreksjonsfaktor og har hvert sitt karakteristiske felt.

Systembuss:
Systembussen lager forbindelser mellom komponentene i ECU (se bildet under). På toppen av ECU finner vi klokken. Denne såkalte oscillatoren produserer en firkantbølgespenning med en frekvens på vanligvis 16 mHz. Klokkefrekvensen bestemmer hastigheten til kontrollenheten. Komponentene i en kontrollsløyfe koordineres av denne timeren.

CPU, minne og I/O-grensesnitt (I/O står for: input/output) er sammenkoblet med en systembuss, bestående av flere tilkoblinger på kretskortet. Vi kan dele disse inn i:

  • adressebuss: denne bussen sikrer dataoverføring fra mikroprosessoren til bestemte minneplasseringer;
  • databuss: data mellom minnet, CPUen og grensesnittene transporteres via databussen;
  • kontrollbuss: fungerer som en kontroller ved å gjøre lese- og skrivevalg, forespørsler og tilbakestillinger basert på timingen av systemklokken.

Prosessor (CPU):
Prosessoren (Central Processing Unit) er hjertet i datamaskinen. Kombinasjonskretsene, som består av et enormt antall AND, OR og NOT-porter, bygges opp i ECU ved hjelp av programvare. En rekke instruksjoner (programvaren) er bakt inn under produksjonen av prosessoren. Disse instruksjonene utfører handlinger og setter dem i riktig rekkefølge. Eksempel:

  1. bokstavene i alfabetet er digitalt lagret i prosessoren. I realiteten vil det ikke være bokstaver, men digitale instruksjoner som representerer enkle handlinger;
  2. ved å sette bokstavene i riktig rekkefølge kan vi lage ord;
  3. ved å sette ordene i riktig rekkefølge kan vi lage setninger;
  4. setningene utgjør historien: i virkeligheten dataprogrammet.

Programmet for å sette instruksjonene kjent av prosessoren i riktig rekkefølge har blitt bakt inn i programvaren av programmereren. Dette programmet lastes inn i flashminnet til ECUen.

Når ECUen startes, hentes instruksjonene fra flashminnet og utføres en etter en av prosessoren, i samsvar med klokken. Etter at programmet har kjørt og avsluttet, starter syklusen på nytt.

Dataene som kreves for å laste inn data, for eksempel tenningstidspunktene, lastes fra ROM-minnet. Prosessoren starter opp fra ROM-minnet og kopierer data fra ROM til RAM. Etter oppstart henter CPU alle data og kommandoer fra det raske RAM-minnet. Et relativt lite RAN-minne er nødvendig for midlertidig lagring av data og beregnede mellomverdier.

CPU er koblet til minnet via en adressebuss og databuss.

  • Sett: biter lagres i RAM
  • Aktiver: biter hentes fra RAM

Biter og byte med data i RAM kan inkludere:

  • tall: data fra sensorer / data til aktuatorer / beregninger
  • adresser til sensorer (inngang) og aktuatorer (utgang)

Dataene i RAM kan være:

  • bokstaver: ASCII-koder, tall, bokstaver, symboler
  • instruksjoner: prosessor instruksjonssett

Prosessoren fungerer etter en såkalt ISA (Instruction Set Architecture) eller et instruksjonssett. ISA er en liste over instruksjoner programmert av produsenten og brukt av prosessoren. ISA varierer fra prosessor og er svært avhengig av applikasjonen som prosessoren brukes til. Nedenfor er noen eksempler:

  • LOAD prosessoren henter en verdi fra RAM-minnet
  • STORE prosessoren lagrer en verdi i RAM-minnet
  • ADD prosessoren legger sammen to tall
  • CLR prosessoren sletter en verdi i RAM-minnet
  • SAMMENLIGN prosessoren sammenligner to tall med hverandre
  • JUMP HVIS prosessoren hopper til en spesifikk minneadresse i RAM (tilstand fra sammenligning)
  • OUT sender prosessoren informasjon til en utgang
  • IN prosessoren ber om informasjon fra en inngang

For at en prosessor skal fungere med full klokkehastighet, bruker den internt RAM-minne. Disse kalles "registre". Register er spesielt viktige funksjonsblokker i mange digitale systemer. De består av en samling flip-flop-kretser som midlertidig kan holde (derved huske) et binært tall. De ulike typene registre er:

  • A-register: registrer deg for A-inngang til ALU
  • B-register: registrer deg for B-inngang til ALU
  • Arbeidsregister: generelt formål, for lagring av (foreløpige) resultater
  • Instruksjonsregister: Her lagres gjeldende instruksjon som skal utføres for prosessoren
  • Adresseregister (programteller): inneholder adressen til neste instruksjon som skal utføres
  • Flaggregister: tall (etter en beregning) er: null, negativ, positiv, for stor, partall eller oddetall
  • Flytpoengregister: tall med sifre etter desimaltegnet
  • Skiftregister: minne der dataene skifter en bit under hver klokkepuls
  • Minnedataregister: buffer mellom CPU og RAM for minnedata
  • Minneadresseregister: buffer mellom CPU og RAM for minneadresse

ALU (Aritmetic Logic Unit) utfører alle aritmetiske og logiske operasjoner (AND, OR, NOT, etc.).

  • 2 innganger til ALU: A og B
  • 1 inngang: hvilken operasjon skal ALU utføre
  • 1 utgang: R (Resultat) går til et register
  • 1 utgang: flaggregister

Bildet nedenfor viser den forenklede ALU (venstre) og ALU med skjematisk representasjon av de logiske portene (høyre).

1. ALU ønsker å sende 01010101

2. Først må kontrollenheten opprette sett "1".

3. Registeret er fullført

4. Etter dette gjøres Aktiver "1".

5. Dataene fra ALU settes på en buss

CPU-en ønsker å hente data fra RAM:

1. CPU sender en adresse til RAM (01001001)

2. CPU ønsker å motta informasjon; "aktiver" = 1

3. RAM sender data fra adresse 01001001 til CPU

4. CPU behandler informasjonen

CPUen ønsker å lagre data i RAM:

1. CPU sender en adresse til RAM (01001011)

2. CPU ønsker å lagre informasjon; "sett" = 1

3. CPU sender data (00111100) til adresse 01001011 i RAM.
Dataene i RAM-en er nå overskrevet fra: 11111001 til: 00111100

ROM-minne:
ROM er en forkortelse av: Read Only Memory. Dette minnet er programmert av produsenten. Minnekretsen er ordnet med faste forbindelser. ECU-en starter programvaren (oppstart) fra ROM-minnet. ROM-minnet er et tregt minne. Under oppstart kopieres dataene fra ROM til RAM.

Nedenfor er fire eksempler på lesing av ROM.