If you can't read please download the document
Upload
doananh
View
228
Download
6
Embed Size (px)
Citation preview
Mikrocontrollerselbstprogrammieren
UweBerger
03/2008(CLT) 2
MikrocontrollerselbstprogrammierenUweBerger
ZurckzudenAnfngen...
03/2008(CLT) 3
MikrocontrollerselbstprogrammierenUweBerger
Inhalt WassindMikrocontroller AVRMikrocontroller VoraussetzungenfrMikrocontrollerProjekte Projektbeispiele
03/2008(CLT) 4
MikrocontrollerselbstprogrammierenUweBerger
WassindMikrocontroller AVRMikrocontroller VoraussetzungenfrMikrocontrollerProjekte Projektbeispiele
03/2008(CLT) 5
MikrocontrollerselbstprogrammierenUweBerger
ZweiDefinitionen Mikrocontroller:
Mikrorechner,beidenenvieleKomponenteneinesComputersaufeinemSchaltkreisintegriertsind("EinChipComputer")
Prozessor,Speicher,Interruptcontroller,diverseEin/AusgabeEinheitenusw.
Mikroprozessoren: smtlicheKomponenteneinesProzessorsmitseinem
SteuerwerkaufeinemChip spezielleMechanismenzueffizientenBefehlsabarbeitung Speicher,Ein/AusgabeEinheitenusw.extern
03/2008(CLT) 6
MikrocontrollerselbstprogrammierenUweBerger
Mikrocontrollervs.Mikroprozessoren Mikrocontroller:
begrenzteRessourcen geringeRechenleistung bereitsmitwenig
Peripherielauffhig meistfrspezielle
Anwendungsgebiete Messen,Steuern,Regeln idealfrHobbyProjekte
Mikroprozessoren: skalierbareRessourcen hoheRechenleistung ohnezustzliche
Peripherienichtlauffhig universelleRechen
maschine PCs,Grorechner,
Supercomputer
03/2008(CLT) 7
MikrocontrollerselbstprogrammierenUweBerger
AndereProzessorfamilien DSP(Digitalsignalprocessor)
spezialisierteChipszurdigitalenVerarbeitungvonanalogenSignalen
Filter,Effekte,Datenkompression,Signalanalyse meistmitA/DundD/AWandlerausgestattet meistechtzeitfhig Audio/VideoBearbeitung Herstellerz.B.AnalogDevices,TexasInstruments,Motorola...
03/2008(CLT) 8
MikrocontrollerselbstprogrammierenUweBerger
AndereProzessorfamilien FPGA(FieldprogrammableGateArray)
"vorOrtmodifizierbarerLogikbausstein" frei,mittelseinerBeschreibungssprache,konfigurierbareund
kombinierbareHardwarekomponenten jederzeitrekonfigurierbar CPLD(ComplexProgrammableLogicDevice) ASIC(Applicationspecificintegratedcircuit)
03/2008(CLT) 9
MikrocontrollerselbstprogrammierenUweBerger
VerbreiteteMikrocontrollerFamilien MSP430
spezielleMCReihederFirmaTexasInstruments 16BitProzessorkern
ARM spezielle32BitRISCProzessorkernederFirmaARM diverseHerstellerverwendendiesenKernfreigeneProdukte Vorteil:einheitlicherBefehlssatz
03/2008(CLT) 10
MikrocontrollerselbstprogrammierenUweBerger
VerbreiteteMikrocontrollerFamilien PIC
Hersteller:MicrochipTechnologyInc. 8,16,32BitRISCProzessoren spezielleintegrierteKomponenten:LCD,USB,Ethernetetc. ebenfallsbeiHobbyElektronikernsehrbeliebt
8051 ProzessorarchitekturvonIntel,diverseDerivatevon
verschiedenenHerstellern 8BitCISCProzessorkern
AVR>MikrocontrollerReihederFirmaAtmel...
03/2008(CLT) 11
MikrocontrollerselbstprogrammierenUweBerger
WassindMikrocontroller AVRMikrocontroller VoraussetzungenfrMikrocontrollerProjekte Projektbeispiele
03/2008(CLT) 12
MikrocontrollerselbstprogrammierenUweBerger
AVRMikrocontrollerfamilien AVR:offiziellnureinEigenname bersicht:http://www.avrpraxis.de/content/view/34/53/ unterscheidensichin:
Prozessortakt Speicher AnzahlderI/OPins,ADWandler,Timer,Interrupt Stromverbrauch integrierteSpezialkomponenten
03/2008(CLT) 13
MikrocontrollerselbstprogrammierenUweBerger
AVRMikrocontrollerfamilien AT90Sxxx:veraltete,"klassische"AVRReihe AT90xxx:NachfolgerderClassicReihe(auchUSB,CAN) ATtiny:"kleine"AVRReihe;wenigeI/OPins,kleiner
Speicher ATmega:"groe"AVRReihe;teilweisebis256kBFlash,86
I/OPins,16ADWandler
AVR32(32BitRISCProzessorkern)gehrtnichtzurAVRReihe
03/2008(CLT) 14
MikrocontrollerselbstprogrammierenUweBerger
AVRMikrocontroller
03/2008(CLT) 15
MikrocontrollerselbstprogrammierenUweBerger
MikrocontrollerKompomenten(AVR) Prozessorkern
8BitRISCProzessorkern meist12TaktzyklenproBefehl Taktfrequenzbis20MHz
Taktgeber internerOszillator externerTakteingang SteuerungberFuseBits
03/2008(CLT) 16
MikrocontrollerselbstprogrammierenUweBerger
MikrocontrollerKompomenten(AVR) Speicher
HarvardArchitektur(getrennteDaten/Befehlsspeicher) Flash(nichtflchtigerProgrammspeicher) SRAM(flchtigerDatenspeicher,u.a.Stack,schnell) EEPROM(nichtflchtigerDatenspeicher,langsam)
Interruptsteuerung UnterbrechungdesHauptprogrammsdurchspezielle
Serviceroutinen(ISR) ZustanddesHauptprogrammswirdvollstndiggesichert diverseInterruptquellen
03/2008(CLT) 17
MikrocontrollerselbstprogrammierenUweBerger
MikrocontrollerKomponenten(AVR) I/OPorts
PinsdiealsEinoderAusgngekonfigurierbarsind ZustandviaspeziellerRegisterein/setzbar Interruptquelle
UART(UniversalAsynchronousReceiverTransmitter) asynchroneserielleSchnittstelle KommunikationmitderAuenwelt bis115kBit/s Interruptquelle
03/2008(CLT) 18
MikrocontrollerselbstprogrammierenUweBerger
MikrocontrollerKomponenten(AVR) SPI(SerialPeripherialInterface)
schnellesynchroneserielleSchnittstelle(bisca.1MBit/s) KommunikationzwischenMCsoderanderenexternen
Komponenten Interruptquelle
A/DWandler(Analog/DigitalWandler) UmwandlunganalogerSpannungeninDigitalwerte(max.10
Bit;max.Wandlerrateca.200kHz) Analogkomperator Interruptquelle
03/2008(CLT) 19
MikrocontrollerselbstprogrammierenUweBerger
MikrocontrollerKomponenten(AVR) Zhler/Zeitgeber
unabhngigeundfreikonfigurierbareZhler(8/16Bit) GenauigkeitabhngigvonderTaktquelle interneundexterneTaktquelle Interruptquelle(Compare,Capture,Overflow)
PWM(PulseWidthModulation) ErzeugungvondigitalenSignalenmitbestimmten
TastverhltnisbeifesterGrundfrequenz z.B.RegelungeinesGleichstromverbrauchers D/AWandler(Tiefpassnachschalten)
03/2008(CLT) 20
MikrocontrollerselbstprogrammierenUweBerger
MikrocontrollerKomponenten(AVR) I2C(InterICBus)/TWI(TwowireInterface)
synchronerseriellerBus(2Drhte) mind.1Masterundmax.128adressierbareSlaves bismax.3,4Mbit/s
Watchdog zuschaltbarerunabhngigerTimerzurProgrammberwachung lstnachkonfigurierbarerZeitund"Nichtauffrischen"einen
Resetaus sinnvollz.B.zumSchutzvonHardware
03/2008(CLT) 21
MikrocontrollerselbstprogrammierenUweBerger
MikrocontrollerKomponenten(AVR) JTAG/ISP(InSystemProgramming)
spezielleSchnittstellezumLadenderFirmwareundDebuggen JTAG:StandardIEEE1149.1der"JointTestActionGroup"
undeinigeweitereSpezialkomponenten...
03/2008(CLT) 22
MikrocontrollerselbstprogrammierenUweBerger
WassindMikrocontroller AVRMikrocontroller VoraussetzungenfrMikrocontrollerProjekte Projektbeispiele
03/2008(CLT) 23
MikrocontrollerselbstprogrammierenUweBerger
MinimalVoraussetzungMCHardware einMCmiteinigenweiteren
Bauteilen Stromversorgung einpaarLEDs,Taster,
Widerstnde Programmiergert
Bild:http://kreativeschaos.com
03/2008(CLT) 24
MikrocontrollerselbstprogrammierenUweBerger
Entwicklerboards fertigeBaugruppen,diebereitsmitdiversenI/Ound
Programmierschnittstellenausgestattetsind ReferenzboardsderFirmaAtmel:STK200,STK500,
STK1000,AVRButterfly zahlreichekommerzielleundfreieBoards:myAVR,
Etherrape,RNControlu.v.m. meistwerdendiverseZusatzbaugruppenzurErweiterung
angeboten
03/2008(CLT) 25
MikrocontrollerselbstprogrammierenUweBerger
SoftwarezurMCProgrammierung Programmiersprachen:Assembler,C/C++,Basic,Pascal,
Java,Forthu.v.m. EntwicklungsumgebungenfrC:
avrgcc,avrlibc,avrbinutils frWindowsWinAVR AVRStudio(FirmaAtmel),kompletteEntwicklungs
umgebungfrWindows AVREclipsePlugin
AVRPascal,BascomAVR,NanoVMetc.
03/2008(CLT) 26
MikrocontrollerselbstprogrammierenUweBerger
FlashenvonMikrocontrollern irgendwiemuderMaschinencodeindenProgrammspeicher
desMC Mglichkeiten:
Programmieradapter:Hardware,diedenMCberspezielldafrvorgeseheneAnschlsseprogrammiert(USBasp,USBprog,USBispetc.)
Bootloader:Software,diesichineinemgeschtztenBereichaufdemMCbefindetundz.B.eineserielleSchnittstellezumFlasheninitialisiert
Programmiertools:avrdude,PonyProg
03/2008(CLT) 27
MikrocontrollerselbstprogrammierenUweBerger
DebuggenvonMCProgrammen Debuggen"inderSchaltung":JTAG(spezielleHardware
erforderlich) Debuggen/SimulationaufdemPC:
Windows:z.B.SimulAVR/GDB(WinAVR),AVRStudio Linux:gdbavr/simulavr
FehlersuchedurchgezielteAusgaben: serielleSchnittstelleu.. LEDs,LCDisplay,Taster/Schalter Multimeter,Oszilloskop,Logikprferetc.
03/2008(CLT) 28
MikrocontrollerselbstprogrammierenUweBerger
MikrocontrollerProgramme allesistEINProgramm,esgibtkeinenachladbarenModule manmusichumallesselbstkmmern:Hardware/
Schnittstelleninitialisierung,Programmsteuerung,Ein/Ausgabesteuerungetc.
smtlicheProgrammteilemssen"kooperativ"untereinandersein
begrenzteProgrammundDatenspeicherbereiche,esgibtkeine"SwapPartition"
mglichstnichtmitgebrochenenZahlenrechnen
03/2008(CLT) 29
MikrocontrollerselbstprogrammierenUweBerger
MikrocontrollerProgramme(Struktur) Endlosschleifevs.Interruptroutinen
03/2008(CLT) 30
MikrocontrollerselbstprogrammierenUweBerger
WassindMikrocontroller AVRMikrocontroller VoraussetzungenfrMikrocontrollerProjekte Projektbeispiele
03/2008(CLT) 31
MikrocontrollerselbstprogrammierenUweBerger
Asuro einf