Microcontrollerbesturingen 2 (MICB2).

© Harry Broeders.

Deze pagina was bestemd voor studenten van de Haagse Hogeschool - TH Rijswijk/Academie voor Engineering.

Microcontrollerlab THRijswijk ruimt op!

Wij stellen 68HC11 ontwikkelsystemen en borden beschikbaar aan (oud)studenten. Dit is vooral interresant voor studenten die vroeger met THRSim11 hebben gewerkt. Belangstelling? Mail bd@hhs.nl.

Inleiding.

Het vak microprocessorbesturingen verschaft je inzicht in de toepassingsmogelijkheden van microcontrollers. Heel veel producten en systemen zijn tegenwoordig uitgerust met een of meerdere microcontrollers die deze producten en systemen besturen. Microcontrollers worden ook wel "embedded controllers" genoemd omdat de controller volledig in het produkt of systeem is opgenomen (je ziet er aan de buitenkant niets van). Het gebruik van een microcontroller in producten en systemen heeft (ten opzichte van een volledig hardwarematige besturing) de volgende voordelen:

Omdat de producten waarin een microcontroller kan worden opgenomen sterk variëren in complexiteit en kostprijs bestaan er een groot aantal verschillende soorten microcontrollers. In de Microcontroller FAQ (Frequently Asked Questions) worden de volgende toepassingen van microcontrollers genoemd:

Embedded processors and microcontrollers are frequently found in: appliances (microwave oven, refrigerators, television and VCRs, stereos), computers and computer equipment (laser printers, modems, disk drives), automobiles (engine control, diagnostics, climate control), environmental control (greenhouse, factory, home), instrumentation, aerospace, and thousands of other uses. In many items, more than one processor can be found. Microcontrollers are typically used where processing power isn't so important. Although some of you out there might find a microwave oven controlled by a Unix system an attractive idea, controlling a microwave oven is easily accomplished with the smallest of microcontrollers. On the other hand, if you're putting together a cruise missile to solve the problem of your neighbor's dog barking at 3 in the morning, you'll probably need to use processors with a bit more computing power. Embedded processors and microcontrollers are used extensively in robotics. A special application that microcontrollers are well suited for is data logging. Stick one of these chips out in the middle of a corn field or up in a ballon, and monitor and record environmental parameters (temperature, humidity, rain, etc). Small size, low power consumption, and flexibility make these devices ideal for unattended data monitoring and recording.

Microprocessoren worden zelfs al in sportschoenen toegepast!

Schoen met batterij, sensor, motor en microprocessor.
Adidas heeft een ´slimme´ loopschoen ontwikkeld die zich dankzij een ingebouwde computerchip aanpast aan de fysieke eigenschappen van de drager en het soort ondergrond. Als de loper vermoeid begint te worden, worden de demping en de ondersteuning groter. De fabrikant heeft drie jaar in het diepste geheim gewerkt aan een techniek die er voor zorgt dat de schoen zich gedurende de loop aanpast. De microprocessor berekent het juiste niveau van demping. Volgens Adidas is het ´s werelds eerste intelligente schoen. De wereld van het lange afstandlopen en -trainen zal hier ingrijpend door veranderen, aldus de fabrikant. Adidas verwacht de schoen in december op de markt te brengen voor ongeveer 250 euro.
Bron: Artikel uit de Telegraaf (2004).
Zie ook: http://www.adidas.com/campaigns/adidas_1/content/adidas_1.asp
Als je de schoen van Adidas een beetje "over the top" vindt dan moet je eens kijken naar Verb for Shoe. Die kan zelfs draadloos communiceren!

Het aantal microcontrollers dat wordt toegepast in embedded systems is veel groter (ongeveer 100x volgens dit artikel) dan het aantal microprocessors dat in desktop en laptop systemen wordt toegepast.

In de P fase en in het H1 project heb je al kennisgemaakt met de 68HC11 microcontroller een populaire 8 bits microcontroller van Freescale (voorheen de semiconductor devision van Motorola). (Zie: http://www.freescale.com/). In het onderwijsdeel MICB2 gaan we dieper op deze 68HC11 controller in. We doen dit zoveel mogelijk aan de hand van concrete voorbeelden en opdrachten waarbij naast de software ook de hardware een belangrijke rol speelt. Met name de koppeling tussen de controller en zijn omgeving (de interface) krijgt de nodige aandacht. In het bijzonder de timer, de analoge en de seriële interface. Ook het werken met interrupts komt aan de orde. Bij MICB1 heb je de microcontroller in assembler geprogrammeerd. Bij MICB2 leer je om C/C++ te gebruiken om de microcontroller te programmeren. De voordelen van het gebruik van C/C++ ten opzichte van assembler zijn:

Globale leerdoelen.

Na afloop van deze module:

Ervoor en erna.

Veel vaardigheden en kennis die je hebt opgedaan tijdens het H1 project zul je bij MICB2 nodig hebben. Als je nog meer wilt weten over het toepassen van microcontrollers en microprocessors in embedded systemen kun je kiezen voor de C&D richting (Computers en Datacommunicatie). In het C&D thema ESWE1 in H4 leer je onder andere software ontwikkelen voor complexe 32 bits processoren die ook met behulp van C/C++ (met en zonder real-time operating systeem) geprogrammeerd worden. In het C&D thema SOPC1 komt ook het ontwerpen van de hardware van embedded systems aan de orde.

Onderwijsvorm.

MICB2 bestaat uit een theoriedeel (7 uur college) , een begeleid practicumdeel (2 uur/week) en een onbegeleid practicumdeel (2 uur/week). De theorie wordt in het eerste deel van het kwartaal verzorgd door Harry Broeders en het practicum wordt gegeven door Cor Diependaal en Harry Broeders. Klik op de namen om een mailtje te sturen. Tijdens de theorie en het practicum gebruiken we het boek: Microcomputer Engineering van Gene Miller. MICB2 omvat 84 SBU's. De toetsing vindt plaats in week 8 van dit kwartaal (op donderdagmorgen 14 juni 2007 en vrijdagmorgen 15 juni 2007 in lokaal 419). Als we ervan uitgaan dat het voorbereiden op de toets je ongeveer 7 uur kost dan moet je dus in 7 lesweken van dit kwartaal 11 uur/week aan MICB2 besteden! Gemiddeld 5 uur in de week hebben wij al voor je gepland (gemiddeld 1 uur college, 2 uur begeleid practicum en 2 uur onbegeleid practicum) de overige 6 uur/week moet je dus zelf plannen! Op het practicum werkt ieder voor zichzelf. Iedereen moet 4 opdrachten uitvoeren. De eerste twee opdrachten zijn voor iedereen gelijk en de overige 2 worden door de practicumdocent toegewezen. Je aanwezigheid op het begeleide practicum is verplicht en wordt gecontroleerd. Ongeveer 1 maal per week zal de practicumdocent een voortgangsgesprek(je) met je voeren. Hij zal je dan vragen naar de stand van zaken, de manier waarop je het denkt aan te gaan pakken, je theoretische kennis enz. Bereid je op deze gesprekjes voor! De eerste drie opdrachten worden afgesloten door een demonstratie van het werkende programma aan de practicumdocent gevolg door een evaluatiegesprek(je). De docent kan dan vragen naar de manier van aanpak, bepaalde details van jou oplossing, achterliggende theorie enz. Bereid ook deze evaluaties goed voor! Na afloop van een demonstratie/evaluatie zal de docent je vertellen welke opdracht je daarna moet doen. Als je alle opdrachten hebt afgerond, uiterlijk de laatste lesdag van de laatste lesweek om 12:00 uur (vrijdag 8 juni 2007 voor 12:00 uur), moet je de programma's inleveren bij Harry Broeders.

De programma's moeten via email worden ingeleverd: Maak een zip bestand je_eigen_naam.zip. In dit bestand moeten alle programma's en bijgaande bestanden zijn opgenomen. Bij het uitpakken moet elk programma (met bijbehorende bestanden) in een apart directory komen. Voeg ook andere documenten die je hebt gemaakt (plan van aanpak en dergelijke) toe aan de zip file (eventueel ingescand en opgenomen in een Word document). Stuur de mail naar J.Z.M.broeders@hhs.nl.

Let op: Alle ingeleverde opgaven worden met elkaar vergeleken. Het inleveren van een programma van een ander wordt beschouwd als fraude (net zoals het spieken bij tentamens).

Wat gebeurt er als je niet op tijd bent met inleveren?

Als je niet op tijd bent met inleveren kun je niet meedoen met het mondeling tentamen op donderdagmorgen 14 juni 2007 of vrijdagmorgen 15 juni 2007. Omdat het dit semester de laatste keer is dat MICB2 wordt aangeboden is er dit semester een extra herkansing. Als je mee wilt doen aan deze herkansing dan moet je alle opdrachten hebben afgerond en ingeleverd voor woensdag 4 juli 12:00 bij Harry Broeders. De mondelinge herkansing wordt gehouden op vrijdag 6 juli 2007 in lokaal 419.

Als het je niet lukt om de opdrachten voor 4 juli af te ronden dan kun je contact opnemen met Harry Broeders om MICB2 alsnog (in het volgend studiejaar) af te ronden. Je krijgt dan een extra opdracht!

Toetsvorm.

Het onderwijsdeel MICB2 wordt afgesloten met een mondelinge toets in week 8 van dit kwartaal. Deze toets duurt ongeveer 25 minuten. De vragen zullen betrekking hebben op de door jou ingelevende programma's maar bedenk goed dat er ook algemene theorievragen gesteld kunnen worden.

Studiemateriaal.

Practicumomgeving.

We maken op het practicum gebruik van de GNU toolchain voor de 68HC11, de GNU utilities for Win32, de SciTE programma editor, de 68HC11 simulator THRSim11 en de Motorola 68HC11 EVM.

Meer informatie over al deze tools:

Je kunt deze tools ook thuis installeren:

Practicumopdrachten.

Beschikbaar materiaal voor het practicum: