De Arduino-microcontroller in de motorvoertuigentechniek (2)

Vergelijkbare documenten
De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

2 Algemene opbouw van een computersysteem

De Arduino-microcontroller in de motorvoertuigentechniek (4)

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

De Arduino-microcontroller in de motorvoertuigentechniek (3)

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3)

In- en uitgangssignalen van microprocessoren

THEORIE TALSTELSELS. 1 x 10 0 = 1 (een getal tot de macht 0 = 1) 8 x 10 1 = 80 2 x 10 2 = x 10 3 = Opgeteld: 9281d(ecimaal)

De Arduino-microcontroller in de motorvoertuigentechniek (8)

De Arduino-microcontroller in de motorvoertuigentechniek (6)

4,7. Praktische-opdracht door een scholier 1959 woorden 1 juni keer beoordeeld

Praktisch bestaan er enkele eenvoudige methoden om een decimaal getal om te zetten naar een binair getal. We bespreken hier de twee technieken.

Bijlage D. Binair rekenen

Binaire getallen? Werkboek. Doeblad

Wat is Arduino? Arduino = microprocessor (Atmel)

Hoofdstuk 7. Computerarchitectuur

2 Elementaire bewerkingen

Hexadecimale en binaire getallen

Registers & Adressering. F. Rubben, ing

scc = b) CD AB

Les A-03 Binaire en hexadecimale getallen

VRIJ TECHNISCH INSTITUUT Burg.Geyskensstraat BERINGEN. De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis

Informatica 2. Met uitwerkingen n.a.v. document van Elvire Theelen in Luc bijgewerkt door Peter van Diepen

Arduino CURSUS. door Willy - 09-juni-2017

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/

- Dé internetsite voor de Automotive Professional

De computer als processor

Talstelsels en getalnotaties (oplmodel)

2 Elementaire bewerkingen

Labo digitale technieken

Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/

Regeltechniek van het motormanagementsysteem

MegaSquirt motormanagement-simulatie Hoofdstuk: Inleiding

Inleiding elektronica Presentatie 1

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (8)

Regeltechniek van het motormanagementsysteem

Module 4 Hoofdstuk 1. Programmeertalen

LAAG: vwo-4 VAK: informatica PROGRAMMA

Hoofdstuk 6: Digitale signalen

Inleiding Digitale Techniek

Digitale technieken Microprocessoren

Kennismaking met programmeren

Fout detecterende en verbeterende codes

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek

Talstelsels, getalnotaties en Ascii code

talstelsels F. Vonk versie

talstelsels F. Vonk versie

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

Antwoorden vragen en opgaven Basismodule

COMPUTER GESTUURD LOOPLICHT

1 graduaat Elektriciteit/elektronica KHLim - dep. IWT HALFGELEIDER-GEHEUGENS HALFGELEIDER GEHEUGENS STATISCH DYNAMISCH ROM PROM EPROM EEROM

PROGRAMMA Vak: informatica..

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Getalformaten, timers en tellers

Verslag over computers

De uitleg in dit moduul is gebaseerd op een CASIO rekenmachine fx-82ms. Voor de verschillen met de TI-30X II zie de bijlage achterin.

Inhoud Auteurs IV Woord vooraf V

In deze mannual zal ik het voorbeeld van de Led cube gebruiken maar de principes zijn op alles toepasbaar.

Praktijkinstructie Industriële automatisering 3 (ICT09.3/CREBO:53270)

Motormanagement simulatie MegaSquirt Hoofdstuk 3

Naam: Oumaima Bekour Klas: M4b ICT De Lange. Hardware

Inleiding Digitale Techniek

scc =!F3.!F2 b) CD AB

+ = Talstelsels. Maar wat is dan: -

Oefeningen Interpretatie I Reeks 6 : Registermachines

Onderwijseenheid INLMIC Inleiding microcontrollers

Motormanagement simulatie MegaSquirt Hoofdstuk 1

De CB channel controller TMS1022NL/NLL en TMS1023NL/NLL. ( Dit is een maskrom-programmed version van de Texas Instruments TMS1000 family)

Studiewijzer Inleiding Digitale Techniek, versie 1.6, , J.E.J. op den Brouw

Slimme schakelingen (2)

Gebruikershandleiding. robotcar.nl

Rekenen met computergetallen

Studentnummer:... Opleiding:...

Antwoorden zijn afgedrukt!!!!!!!

1 computers (hardware)

- Dé internetsite voor de Automotive Professional

Stappenmotor Interface. Controller

Voorbeeld casus mondeling college-examen

Digitale en analoge technieken

Talstelsels. Het is belangrijk om de volgende twee zaken uit elkaar te houden:

BASIS MICROCONTROLLERS. INLEIDING EN ADDENDUM BIJ HET AduC800 DATABOEK.

Binair Binair = tweewaardig Beperkt aantal mogelijke waarden (discreet aantal in amplitude) Wij zijn gewoon aan decimaal (tiendelig)

Hoofdstuk 2. De Von Neumann-architectuur

Activiteit 1. Tel de punten Binaire Getallen. Samenvatting. Kerndoelen. Vaardigheden. Leeftijd. Materiaal

VBA voor Doe het Zelvers deel 20

FAT32 disk structuur 2007 stam.blogs.com

Inleiding Digitale Techniek

computerarchitectuur F. Vonk versie

Voorbeeld casus mondeling college-examen

Module nummer Elke speciale module krijgt een eigen module nummer om de betreffende module in te stellen en uit te lezen. Ethernet module FX3u-ENET

ES1 Project 1: Microcontrollers

Memoriseren: Een getal is deelbaar door 10 als het laatste cijfer een 0 is. Of: Een getal is deelbaar door 10 als het eindigt op 0.

Sequentiële Logica. Processoren 24 november 2014

Antwoorden Systeembord Fysische informatica voor de onderbouw havo/vwo

Faculteit Elektrotechniek - Capaciteitsgroep ICS Tentamen Schakeltechniek. Vakcodes 5A010/5A050, 26 november 2003, 14:00u-17:00u

led 0 aan Opdracht: 1 Opdracht: 4

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 3: Tijd, licht en warmte

b. Van veel apparaten bestaat een digitale variant naast de normale. Denk bijvoorbeeld aan klokken en thermometers.

7,3. Samenvatting door een scholier 1961 woorden 16 januari keer beoordeeld. Informatica Informatica actief

Transcriptie:

De Arduino-microcontroller in de motorvoertuigentechniek (2) E. Gernaat (ISBN 978-90-79302-11-6) 1 Procescomputer 1.1 Microprocessoren algemeen De informatie-verwerking zoals is behandeld, is vrijwel geheel overgenomen door microprocessoren. Wanneer we voortborduren op het idee van combinatorische schakelingen dan kunnen we een microprocessor indenken als een enorme hoeveelheid EN, OF en NIET-poorten. De bijzonderheid is dat we betrekkelijk eenvoudig door middel van software de logische schakelingen kunnen opbouwen. Maar er is meer. Een microprocessor onderscheidt zich van de overige digitale IC s doordat een processor opdrachten (software) nodig heeft om te kunnen werken. In de processor-chip zijn namelijk een aantal eenvoudige opdrachten ingebakken. Dit wordt wel vergeleken met de letters van het alfabet. Wanneer we immers (begrijpend) willen schrijven dan moeten de letters in de juiste volgorde worden gezet om woorden te krijgen. Vervolgens moeten de woorden worden gerangschikt tot zinnen waarna de zinnen het eigenlijke verhaal vormen. Een programmeur schrijft het verhaal dat de processor moet gaan uitvoeren. De programmeur kent de instructies van de processor (letters van het alfabet) en zet deze in de juiste volgorde zodat een regelalgoritme (het computerverhaal) ontstaat. Het verhaal zelf (het programma) wordt dan geplaatst in een het geheugen dat de processor voortdurend uitleest. Nu zijn er verschillende methoden (programmeertalen) om het computerprogramma te maken. Een processor afhankelijke taal noemen we de assembleertaal. We zouden dat voor kunnen stellen als het programmeren in losse letters. Hogere programmeertalen zoals de veel in de techniek gebruikte programmeertaal C zijn processor onafhankelijk maar nemen meer geheugenruimte in beslag. We zouden een hogere programmeertaal kunnen beschouwen als het programmeren in hele woorden of zelfs in hele zinnen om tot het eigenlijke computerverhaal te komen. Door de grote toepassing van processoren is een zekere processor-specialisatie ontstaan. Er zijn diverse fabrikanten die zich bezighouden met het ontwikkelen en vervaardigen van microprocessoren. Hoewel al die verschillende processoren uniek zijn, vertonen ze veel overeenkomsten. 1

2 Algemene opbouw van een computersysteem Een eenvoudig computersysteem kan bestaan uit vijf functieblokken waarvan verscheidene functies veelal weer ondergebracht zijn in één IC. Fig. 2.1 geeft het blokschema. Het microprocessor-ic vervult de besturings- en rekenfuncties. De geheugen-ic s, onderverdeeld in een - en ROM-geheugen bevatten het regelprogramma en de programmagegevens. Het Input-Output (I/O) blok is de toegang tot de buitenwereld, dat wil zeggen dat de sensoren vanuit het I/0- blok worden ingelezen en dat de actuatoren (bijv. injectoren) vanuit dit blok worden aangestuurd. Een klok is nodig om het gehele regelproces stapgewijs uit te voeren. Wanneer we de besturingscomputer willen vergelijken met een personal computer dan kan het toetsenbord worden vergeleken met de sensoren en de monitor met de actuatoren. Als sensoren en actuatoren op een klok ROM microprocessor geheugen geheugen I/O monitor actuatoren sensoren toetsenbord Figuur 1: De opbouw van een micro-computersysteem in vijf functieblokken. Communicatie tussen de blokken vindt plaats door een data-, een adres- en een besturingsbus. spanningsniveau werken dat niet door de computer kan worden verwerkt dan is een interfaceschakeling nodig. De processor communiceert met het I/O blok en het geheugenblok via een, een en een besturingsbus. De is bij de eenvoudige besturingsprocessoren 8 bits breed, dat wil zeggen dat de bestaat uit 8 datalijnen. De bestaat dan bijv. uit 16 lijnen zodat de processor dan kan beschikken over maximaal 2 16 = 65.536 verschillende geheugenadressen. 2

3 - en ROM-geheugens In het geheugen bevindt zich het computerprogramma. Om zo n programma in een elektronisch geheugen te kunnen opbergen maakt men gebruik van adressen. In elk adres kan een code (de data), bestaande uit acht nullen of enen, worden opgeborgen. Een geheugen kan worden uitgelezen (LEES) of met gegevens (data) worden gevuld (SCHRIJF). Kan een geheugen worden uitgelezen en weer worden overschreven dan spreekt men van een -geheugen. Kan een geheugen in een systeem alleen maar worden uitgelezen dan spreekt men van een ROM-geheugen. Er zijn diverse soorten ROM- en -geheugens verkrijgbaar. Van de ROM-geheugens zijn vooral de EPROM, de EEPROM en flash EPROM populair, omdat deze door de gebruiker (op een speciale manier) kunnen worden gewist en weer opnieuw kunnen worden geprogrammeerd. Fig. 2.2 geeft aan op welke wijze data naar een -geheugen kan worden gestuurd. De schrijflijn wordt dan actief gemaakt. Het betreffende adres komt op de te staan waarna de data via de naar het geheugen-ic wordt geschreven. Op dezelfde wijze kan een - of een ROM- geheugen worden uitgelezen met dit verschil dat nu de leeslijn actief wordt gemaakt (fig. 2.2). De schrijf- en de leeslijn maken deel uit van een derde computerbus nl. de besturingsbus. Schematisch worden de geheugenplaatsen met de binaire respectie- schrijf actief Processor 0100h 6Ah Geheugen Processor lees actief 0100h 6Ah Geheugen a Figuur 2: Data kan vanuit de processor naar het geheugen worden geschreven (a) of vanuit het geheugen worden opgehaald (b). velijk hexadecimale inhoud door fig. 2.3 weergegeven. In dit voorbeeld bevindt zich het getal B3h in adres 0000h. Enige toelichting behoeft het hexadecimale talstelsel. Het hexadecimale talstelsel is in feite niets anders als een vereenvoudigde weergave van het binaire talstelsel. Omdat de computer-eenheid de byte is (= 8 bits), die maximaal het getal 2 8 = 256 vertegenwoordigt, is omzetting van binair naar decimaal lastig. Aan de andere kant zijn het wel erg veel enen en nullen om grote getallen voortdurend binair weer te geven. Het hexadecimale talstelsel biedt uitkomst. We verdelen de binaire getallen in groepjes van 4 bits. 4 bits tellen van 0 t/m 15. Aangezien we in ons tientallig stelsel van 0 t/m 9 tellen zullen we om door te kunnen tellen naar 15, meer cijfervormen moeten bedenken. We hebben hiervoor de eerste 6 letters van het alfabet gekozen. We komen tot de volgende tabel (fig. 2.4). Het is nu eenvoudig om grote b 3

besturingsbus (read/write) (8 datalijnen) 16 adreslijnen B3h 0000h 0001h 0002h 0003h 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 geheugen Figuur 3: De schematische voorstelling van het geheugen met adressen en data decimaal binair 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 hex 0 1 2 3 4 5 6 7 8 9 A B C D E F Figuur 4: Het decimale, het binaire en het hexadecimale talstelsel 4

binaire getallen om te zetten in hexadecimale getallen. Bijv. 1011 0011 1111 0100 wordt dan B3F4. Om verwarring tussen de talstelsels te voorkomen wordt dit vaak aangegeven bijv. 1010b of 1010d of 1010h Hoewel de cijfers gelijk zijn is de waarde van 1010 in de verschillende talstelsel geheel verschillend. 4 Processor In de processor zelf kan men weer verschillende functieblokken onderscheiden. De belangrijkste zijn de ALU, het eigenlijke rekenblok alsmede een aantal registers en tegenwoordig ook de en ROM-geheugens. Ook de instructies (de instructieset) bevinden zich in de processor. Onder een register verstaat men een geheugenplaats die zich in de processor bevindt en die rechtstreeks contact kan maken met de ALU. De verschillende register hebben een unieke naam; zo spreekt men van het R1 of R5 register, het X het Y of Z-register. Fig. 2.5 geeft de principe opstelling weer. poort A poort B poort C General purpose registers x,y,z register FLASH instructies ALU EEPROM status decoder clock besturing Figuur 5: Men kan een processor verdelen in een aantal functieblokken. Men onderscheidt de rekenkundige en logische eenheid (ALU), een aantal registers, de geheugens en de klok. De poorten zorgen voor de verbinding met de buitenwereld. 4.1 Microprocessor versus microcontroller Onder een microprocessor wordt een digitaal IC verstaan dat tezamen met een aantal andere IC s zoals de geheugen IC s, het I/O-IC en anderen een microcomputersysteem vormen. Zo n microcomputer is zeer breed inzetbaar en kan 5

eenvoudig worden uitgebreid door bijv. extra geheugen toe te voegen. Voor veel toepassingen is slechts een beperkte flexibiliteit nodig. De functie van de wasmachine-computer zal beperkt blijven tot het besturen van de wasmachine. Hetzelfde geldt voor de auto. De motormanagement-computer heeft alleen als taak om de motor te besturen. Men maakt dan gebruik van controllers. Zo n controllerchip bezit behalve de eigenlijke processor ook de geheugens, de I/O en andere functie-eenheden. Een controller kan worden beschouwd als een volledige computer op één enkele chip. Fig.2.6 geeft het blokschema van een echte controller weer. We bekijken hier (als voorbeeld) de ATmega328/P microcontroller van de firma Atmel omdat deze controller het hart vormt van de Arduino. Figuur 6: Men kan een processor verdelen in een aantal functieblokken. Via de en de I/O modulen communiceert de controller met de buitenwereld (Fig. databoek Atmega 328). 6

5 Vragen en opgaven 1. Omschrijf waarin een microprocessor verschilt van een gewoon digitaal IC. 2. Wat is de functie van de software bij een microprocessor? 3. Wat doet nu precies een programmeur? 4. Wat is het verschil tussen de assembleertaal van een processor en de hogere programmeertaal C? 5. Welke functieblokken worden er in een eenvoudige microprocessor onderscheiden? 6. Omschrijf het verschil tussen de en de. 7. Uit hoeveel lijnen (draden) bestaat een hier? 8. Wat is het verschil tussen een en een ROM-geheugen? 9. Wat is het verschil tussen een EPROM en een EEPROM-geheugen? 10. Zet het getal 0111 0001 1010 1100b om in het hexadecimale talstelsel. 11. Zet het getal AFBCh om in het binaire talstelsel. 12. Wat verstaat men onder een register? 13. Noteer de benaming van een drietal registers. 14. Omschrijf het verschil tussen een processor en een controller. 7