De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012 1 De AT90CAN32 microcontroller 1.1 Uitvoering,algemeen De AT90CAN32 is een microprocessor van de Amerikaanse firma ATMEL en wordt veelvuldig gebruikt voor het regelen van technische processen. Afhankelijk van het interne Flash-geheugen (32k, 64k of 128k) zijn er verschillende uitvoeringen van dit processortype verkrijgbaar. Wij beperken ons hier tot de 32k uitvoering die verkrijgbaar is in een 64 pins QFN (QFN=Quad Flat No lead) of TQFP (Thin Quad Flat Pack) behuizing voor oppervlakte montage (SMD). Fig. 1 toont ons de zgn. pin-out tekening. De AT90CAN wordt ingedeeld bij de micro-controllers. Op de chip is niet alleen de processor aanwezig is, maar ook alle extra hardware die noodzakelijk is voor de verschillende besturingsen regelfuncties. Op de chip (dus in de behuizing) bevinden zich onder meer de volgende functie-eenheden: de processor (CPU-core) met 133 instructies en 32 achtbits registers; 32k/64k/128k Flash geheugen en 1k/2k/4k EEPROM-geheugen; 2k/4k/4k RAM geheugen; een A/D omzetter; diverse timers; seriële communicatie interfaces; 53 programmeerbare I/O lijnen; een CAN-controller. Dit houdt in dat met een minimum aan externe componenten een volledig computersysteem voor besturingsdoeleinden wordt verkregen. 1.1.1 Toelichting Zoals gezegd is een eenvoudig maar compleet computersysteem opgebouwd rond een aantal functie-elementen waarvan de belangrijkste de processor is. 1
Figuur 1: De AT90CAN controller in TQFP-behuizing (tek. Atmel) 2
Verder is een klok nodig, alsmede een RAM- en (EP)ROM-geheugen. Wanneer het om regelen en besturen gaat, dan moeten signalen kunnen worden inlezen. We hebben voor de digitale signalen een Input/Output interface en voor de analoge signalen een A/D-omzetter nodig. Als we willen tellen en timen zoals bijv. nodig is voor het bepalen van het toerental en het genereren van een PWM-signalen dan is een timer onontbeerlijk. Wanneer we willen communiceren met een PC of andere processoren, dan hebben we behoefte aan seriële interfaces. Een bijzondere seriële communicatie interface is de CAN-controller. Moderne autoprocessoren zoals de AT90CAN heeft een CAN-controller standaard ingebouwd. Fig. 2 geeft het overzicht van de Atmel controller. Alle genoemde functie-eenheden kan men op de chip terugvinden. Wanneer we fig. 2 bekijken, dan zien we aan de buitenkant de communicatie-poorten. De meeste poorten zijn op verschillende manieren te gebruiken. We geven een beknopt overzicht: poort A kan voor INPUT of voor OUTPUT doeleinden worden gebruikt; poort B kan als INPUT, als OUTPUT, als timer of seriëel worden gebruikt; poort C kan als INPUT- of als OUTPUT-poort worden gebruikt; poort D is een INPUT/OUTPUT-poort maar dient ook als CAN-bus en kan voor externe interrupten worden gebruikt; poort E is een digitale INPUT-poort, maar kan ook worden gebruikt voor externe interrupten; poort F is de analoge inputpoort maar kan ook als universele INPUT/OUTPUT-poort dienen. poort G is een 5 bit INPUT/OUTPUT-poort maar wordt ook gebruikt voor de timer/counter Mocht men nog meer geheugenruimte nodig hebben dan kan men extern nog geheugen IC s aanbrengen. Hiervoor worden dan wel de poorten A en C opgeofferd. 1.2 Uitvoering van de AT90CAN32 Fig. 3 toont de oefenprint van de AT90CAN32 zoals die oorspronkelijk door Elektor werd geleverd. Op de controllerprint zijn tevens 8 leds, 8 dipswitches (mini-schakelaars), een potmeter en diverse connectoren waaronder een CANbus aansluiting gemonteerd. Om extra printen zoals bijv. een stappenmotorprint te kunnen aansluiten bevindt zich op de controllerprint een 34-polige connector. Met behulp van een flatcable kunnen dan de oefenprinten worden aangesloten. Fig. 4 geeft het elektrische schema van de print weer. De laatste versie die door TTDS wordt geleverd omvat een onderprint met grotere schakelaars. Ook de voor het programmeren noodzakelijke ISP interface bevindt zich op deze onderprint. Zie ook de omslagfoto. 3
Figuur 2: Een compleet computersysteem (controller) dat gebruikt kan worden voor technische procesregelingen (tek. Atmel). 4
Figuur 3: De componentenopstelling van Elektor-Timloto print met de 34-polige connector voor het aansluiten van extra oefenprinten. 2 Vragen en opgaven 1. Hoe groot kan het eigenlijke autoprogramma zijn dat we met de AT90CAN32 kunnen uitvoeren? 2. Wat wordt verstaan onder de SMD-techniek? 3. Welke poort kunnen we gebruiken wanneer we analoge signalen willen inlezen? 4. Hoe wordt het kristal (de clock) aangeduid in fig. 2? 5. Welke poort moeten we gebruiken wanneer we de timerfunctie nodig hebben? 6. Welke poort gebruiken we voor de aansluiting op de CAN-bus? 7. Wat zal de functie zijn van IC3 in fig. 4? 8. Welk logisch niveau wordt door de controller ingelezen in de getekende schakelstand van de dipswitches in fig. 4? 5
Figuur 4: Het elektrische schema van de print. K2 en K7 zijn aansluitingen voor de CAN-bus, K1 is de aansluiting voor de ISP-download interface (tek. Elektor) 6