Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
Mikrocontroller-Architektur erklärt am ATmega328 (Arduino)
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 148 Zeilen
- ja endlich mal wieder zeit für einen gepflegten kaffee und ein bisschen theorie aus der welt der elektronik wir reden heute über microcontroller und
- deren architektur und das ganze machen wir am beispiel das a-team mega 328 das ist hier dieser längliche ic auf dem board des albino uno ich erkläre dir
- hier in dem video was es auf sich hat mit den begriffen risk & risk wir reden über architektur varianten speziell von neumann und hamburgs dann reden wir über
- cpu speicher und schnittstellen bei mathe mega 328 und wie viel man davon jeweils hat und was man beim entwickeln beachten muss und das video hier das ist
- das erste in einer ganzen reihe rund um den arduino und je mehr du weißt über aufbau und hardware desto besser wirst du ihn auch programmieren können
- deswegen dranbleiben lohnt sich auf jeden fall und jetzt ganz viel spaß beim video ich bin andreas von der für das endturnier und los geht's
- bevor wir jetzt einfach und hier in die welt der microcontroller reden wir erst mal über ein paar begriffe die in der praxis ganz oft verwechselt werden und
- die wir deswegen brauchen damit wir uns abgrenzen können von dem worum es hier geht vor allen dingen eben der microcontroller legen wir los mit dem
- personal computer den pc das ist ein sogenannter micro computer und das kommt aus einer zeit als es noch großrechner gab die teilweise raumfüllend war auf
- jeden fall schrank groß und die standen in unternehmen und die waren für den hausgebrauch gar nichts und dann hat man den personal computer eingeführt einen
- kleineren rechner deswegen mikro und der führende platz beispielsweise auf dem schreibtisch als desktop oder auf dem schoß als laptop bzw ein notebook also
- personal computer die erste große kategorie dann kommt microcontroller mikroprozessor fangen wir hiermit man mit dem microcontroller das ist im
- grunde ein einzelner chip und auf diesem chip da ist ein prozessor drauf die cpu da werden alle rechenoperationen durchgeführt und es gibt
- peripheriefunktionen das heißt speicher bussysteme schnittstellen und so weiter alles auf einem chip und man drückt eben mit diesem begriff microcontroller aus
- das ist ein kleiner wenig performant rechner ist vor allen dingen für steuerungsaufgaben wie beispielsweise er hier derart mega 328 auf dem domino uno
- und dann gibt es noch diesen begriff mikroprozessor und der gehört eigentlich gar nicht hier unten hin zum microcontroller der gehört hier oben hin
- zum personal computer das ist nämlich die cpu eines pcs also ein mikroprozessor ist ein einschnitt und der chip ist teil des personal computer
- und der hat nicht die peripherie funktionen die der microcontroller mitbringt das ist ein performant meistens performant prozessor der im pc
- arbeitet und ganz zum schluss gibt es noch das system on chip des ioc und im grunde ist ein microcontroller auch ein system on chip also ein ganzes system
- auf einem einzelnen chip man drückt aber mit diesem separaten begriff hier etwas anderes aus wie gesagt microcontroller wenig performant gedacht für steuer
- aufgaben und ein system on chip das hat zwar auch alles an bord ist aber in der regel deutlich performanter und deswegen hat das noch einen eigenen namen
- bekommen system on chip und da verwendet man das auch in der praxis in den kontext zb der raspberry pi da läuft einem system und chip drauf
- ja zwischendurch auf keinen fall vergessen genügend kaffee zu trinken ohne kaffee läuft hier überhaupt nichts in der welt der ingenieurinnen und
- ingenieure also reden wir jetzt über den arduino insbesondere über den microcontroller auf dem dyno das ist der artega 328 das ist dieses längliche
- dieser längliche er mit den vielen pins und das blaue bord drumherum ein beispiel dass adriano das stellt im grunde die die schnittstellen nach außen
- hin geleitet zur verfügung das heißt ich kann hier auf die ganzen digitalen pins zu greifen auf die analogen input fans ich kann verschiedene spannungen
- abnehmen ich kann das ganze mit usb an einen rechner anschließen ich kann das ganze mit strom versorgen das hier ist der oszillator der 16 megahertz takt
- generiert also das blaue board hier der eigentliche arduino der schafft ein sehr komfortables umfeld für das herz des ganzen nämlich diesen mega 328
- microcontroller und wir werden heute hier vor allen dingen über den microcontroller reden und nicht so sehr über den arduino legen wir los mit einer
- allgemeinen klassifizierung von rechnerarchitekturen bzw befehls setzen das ist wichtig um zu verstehen was den arduino beziehungsweise at mega
- unterscheidet von beispielsweise einem intel core i7 oder so fahren wir an mit dem oberen dem reduced instruction set computer risk und das ist ein
- befehlssatz der ist reduziert im gegensatz zu einem komplex instruction set computer reden wir gleich darüber wo es viele befehle gibt hier gibt es
- weniger befehle und befehl heißt eine anweisung die von von der cpu von der ästhetik logical unit in dem microcontroller ausgeführt werden kann
- und bei risk da gibt es eben weniger befehle und die sind auch noch in hardware sehr sehr stark integriert dh sie können direkt gerechnet werden da
- gibt es ein ganz ganz ganz ein ganz hohen performance vorteil gegenüber anderen maschinen geht zum beispiel ist es vor allen dingen weil ich keinen
- zwischen code erzeugen muss kein mikro code das heißt maschinen die sind sehr schnell und deswegen werden die auch hier in microcontroller meistens
- verwendet und der artega 328 das hier ist auch eine rizk maschine dann gibt es eben diese maschinen komplex instruction set computer und da zeigt der name ja
- schon dass das ein befehlssatz ist der deutlich größer ist als hier oben der die bei der iss maschine und der wird im grunde in normalen pcs verwendet
- meistens gibt es aber misch varianten heutzutage wo man beides vermischt aber um das hier klarer zu machen kann ich das jetzt einfach nach ansage hier oben
- er microcontroller hier unten er pcs und so einen zipfel satz der ist deutlich größer als beim risk befehlssatz heißt aber auch dass der dass eine so genannte
- deko die reinheit diesen komplexen befehl runterbrechen muss in kleinere fehler in sogenannte mikro code befehle und die müssen dann zum einen decodiert
- werden dann auch als ausgeführt werden das kostet performance und wenn ich sowieso eine schwache maschine habe dann ist das keine gute architektur deswegen
- ist es befehle da kann man deutlich mehr machen wird aber die brauchen eben auch die performance daher sei um das auszuführen deswegen in normalen pcs ja
- das ist eine allgemeine klassifizierung und wie gesagt die meisten microcontroller das sind eben risk maschinen und jetzt gucken wir uns noch
- einen weiteren punkt an der ganz wichtig ist das ist eine architektur gegenüberstellung von von neumann und herbert von neumann versus harvard
- architektur und das ist deswegen wichtig zu wissen und zu verstehen wie ein rechner aufgebaut ist das hier oben das sind so komponenten in einem typischen
- mikroprozessor hier ist diese r is magic logical unit daneben berechnungen durchführt dann gibt es ja noch so ein bisschen speicher gibt es ein paar
- register aber darum geht es gar nicht so sehr die dicken pfeile das ist schon wichtiger das sind die bus komponenten der data bass und darüber werden dann
- programm befehle und daten geschickt und das ist ganz ganz wichtig bei der von neumann architektur was man hier sehen kann hier gibt es nämlich nur einen
- einzigen speicher und in diesem speicher darlegen befehle und daten das bedeutet wenn ich hier oben in meinem prozessor in der eu irgendwas ausrechnen will
- wofür ich beispielsweise daten brauche und ich muss noch den befehl wir holen den nicht ausführen will dann muss beides nacheinander aus dem speicher
- ausgelesen werden und das kostet zeit und dieses nacheinander das nennt man auch den sogenannten von neumann flaschenhals weil ich eben das nicht
- parallelisieren kann ich muss es sequenziell machen und das kostet performance vorteil ist ich habe weniger hardware aufwand ich habe nur einen
- speicher der bus ist effizienter aus diesem grund aber ist es auch ein kostenvorteil aber es ist eben langsamer und deswegen findet man auch im
- mikroprozessor bereich die von neumann architektur eher selten da findet man meistens das hier nämlich die architektur von neumann das wiederum
- meistens in pcs häufig ist auch heute mischform aber in unserer klar getrennten welt hier in diesem video da sagen wir von neumann er pc und
- microcontroller er architektur und dass wir sie jetzt ähnlich aus wir haben ja auch solche spyder eingezeichnet über die die daten
- fließen hier ist auch wieder die awo gerechnet wird dass es mir steht für mikrocontroller und hier da kann man sehen dass der speicher getrennt worden
- ist links der programmspeicher rechts der datenspeicher und hier kann ich jetzt gleichzeitig parallel die befehle aus lesen die in der eu gerechnet werden
- sollen und mir gleichzeitig die daten holen die dafür benötigt werden und das macht das ganze deutlich schneller deutlich effizienter aber ich brauche
- eben auch zwei speicher die muss badi müssen beide an den bus angebunden werden und das verursacht eben kostensteigerung in diesem prozessor und
- das führt dazu dass man dann eben nicht per se immer einsetzen kann sondern manchmal da versucht man auch dann mischform zu generieren wo die vorteile
- der architektur kombiniert werden mit den vorteilen der von neumann architektur aber grundsätzlich wenn man sich den artega sich hier mal wieder
- anschaut der ist in harvard architektur aufgebaut gucken wir mal weiter das nächst da ist jetzt hier so ein umfangreiches bild das wollen wir gar
- nicht im detail verstehen das ist aus dem datenblatt des atm mega 328 und das sind die einzelnen komponenten die da so miteinander verbunden sind dass hier das
- rot markierte das ist die cpu und an die cpu angebunden da sind diese orangefarbenen blöcke hier das ist der speicher es gibt drei typen die gucken
- wir uns gleich noch im detail an flash speicher essraum und e tron und diese grauen dicken pfeiler hier das sind die bus leitungen über die dann eben die
- informationen zwischen den komponenten ausgetauscht werden dann gibt es ja noch diese gelben module und das sind timer und counter das heißt das sind meine
- zeitgeber die ich nutzen kann und damit kann man auch wunderbar zählen im autokino also in der hardware zählen das sind die gelben module dann gibt es ja
- noch diese grau markierten das sind a d wandler module mit denen bin ich in der lage analoge spannung umzuwandeln in digitale signale und ich will jetzt
- nicht im detail darauf eingehen dann mache ich noch mal ein eigenes video irgendwann dazu dieser ins ferne band gap das ist eine referenz spannung mit
- der ich in der lage bin die werte die von außen anlegen beispielsweise einen sensor wert zumessen an einer referenz spannung und dann eben diese wandlung
- von analog auf digital vorzunehmen kurzer insider-tipps sozusagen die ist spezifiziert 1,1 volt im datenblatt im mittel die kann aber schwankungen und
- zwar zwischen 1,0 und 1,2 das heißt wer ganz genau wandeln möchte von analog nach digital der muss hier vielleicht noch ein bisschen was tun und sich genau
- anschauen wie diese interne bernd gehabt aussieht in dem jeweiligen albino der verwendet werden sollte ist unter anderem auch temperaturabhängig also da
- muss man so ein bisschen aufpassen aber wie gesagt da mache ich noch mein eigenes video dazu dann gibt es hier die schnittstellen die nach draußen führen
- ich gehe da jetzt auch nicht auf details groß ein das sind kommunikations interfaces mit der außenwelt um beispielsweise andere alois hier
- anzuschließen oder du ihn mit komponenten kommunizieren zu lassen überleitung meistens 2 draht leitung die eben dann zu anderen komponenten in
- einem elektronischen gerät führen dass hier unten das sind die digitalen ports für eingänge und ausgänge und wir gucken uns jetzt hier im folgenden in diesem
- die in diesen kästchen markierten komponenten noch ein bisschen genauer an prozessor speicher und eben aber auch die ein und die ausgänge vorher aber
- unbedingt noch den schluck kaffee deren her wir fangen wir an mit der cpu wir wollen hier vor allen dingen auf zwei
- komponenten fokussieren einmal den takt und die bus breite klappt noch die information die zentrale prozessoreinheit die cpu eben das ist
- das herzstück von einem rechner und auch von einem mikrocontroller von deck von von dieser von dieser komponente da werden alle befehle ausgeführt alles
- wird ausgerechnet von der cpu und je nach befehlssatz risko das ist haben wir schon gehört dass das eben einfache befehle oder komplexere befehle der cpu
- typ der legt auch fest wie breit der interne daten bus ist eine 8 bit cpu dh ich habe acht parallelen leitungen das kann zum beispiel hier diese information
- für arbeiten die hier steht und eine 64 bit cpu dicker neben acht mal diese information hier verarbeiten also 8 mal 1 8 bit blog und das heißt auch ich kann
- zu einem gleichen zeitpunkt mit einer 64 bit cpu deutlich mehr informationen prozessen als beispielsweise mit zu einer 8 bit cpu und die cpu die legt
- auch fest wie schnell der microcontroller arbeitet im fall des artega 328 da ist die taktung eben bei 16 megahertz und im fall des intel core
- i7 da liegt die so um die 4 gigahertz kommen je nach ausstattungsvariante hier in dem beispiel da und da sind es dann eben 3,7 ghz bei 64 bit breite am preis
- das erst 2021 ungefährer preis da kann man auch sehen dass das kein günstiger prozessor ist und der mega 328 der liegt irgendwo hier
- nach variante so um die fünf euro rum der das natürlich deutlich günstiger kann aber auch deutlich weniger mit 16 megahertz in acht bewusst breit und man
- kann die beiden auch nicht eins zu eins vergleichen weil das hier ist ein mikroprozessor das heißt im grunde die cpu eines pc und das hier ist ein
- microcontroller und der enthält eine cpu also das hier ist nicht die cpu das ist das komplette system im artega 328 und so kann man sich auch dann verschiedene
- cpu s angucken kann die vergleichen im hinblick auf solche performance kenngrößen hier gibt aber natürlich noch andere kennen grüßen dann gucken wir mal
- auf die speicherkarten es gibt da mehrere man kann generell unterscheiden zwischen read only memory und access memory hier oben zwei typische varianten
- heraus gepickt vom speicher einmal baum und flash rom steht für electric label program that only memory und das ist also elektronisch lösch und
- beschreibbaren speicher und den kann man wunderbar nutzen um zum beispiel programmcode abzulegen wobei der er im flash-speicher legt die unterscheiden
- sich noch mal so ein kleines bisschen vom vom aufbau her aber im flash-speicher da liegt der programmcode und im raum das könnten wir uns gleich
- noch mal etwas genauer an da kann man dann aus dem programm heraus dass man geschrieben hat informationen permanent ablegen auf einem auf einem
- speicherbereich hier im mega 328 und da kann ich zum beispiel passwörter speichern oder irgendwelche messwerte und die bleiben eben auch dann erhalten
- wenn die stromversorgung schon lange abgerissen ist dann gibt es noch das einem access memory und da ist es so dass ist flüchtiger speicher und das
- bedeutet wenn der strom weg ist ist die information auch weg hier gibt es zwei varianten einmal statisches rahmen das hat man auf älteren rechnern ganz häufig
- noch und das ist deutlich schneller als flash speicher aber die daten sind eben weg wenn der strom weg bricht und dann irgendwann vor vielen jahren schon kam
- dann das dynamic raum das drm auf dass das statische an vielen stellen abgelöst hat das hat eine deutlich höhere integrationsdichte als rahmen da ist
- dann neben einem transistor noch einen kondensator verbaut und kondensatoren wäre das schon mal gehört hat das sind ja kleine speicher verladung die
- verlieren eben irgendwann ihre ladung und die ladung ist eben die information und das heißt ich muss in diesem 3 oder der rechner muss dann ständige refresh
- machen damit eben die information erhalten bleibt und der m & s drum das sind speicher arten die wir in den rechnern ganz häufig verwenden auch hier
- auf dem mega 23 28 und zwar als arbeitsspeicher kommen wir uns einmal an wie viel von welchem speichertyp hier dann so drauf ist also wir haben hier
- unten kann man das bild noch mal sehen flash ist ramon und wir haben 32 gb flash speicher der ist nicht flüchtig das heißt er bleibt auch ohne strom
- erhalten 16 bit breit und der enthält unter anderem den sogenannten boot das ist wenn man will ein einfaches betriebssystem das alu uno und den
- auszuführenden programmcode das heißt jedes mal wenn ich hier über die usb-schnittstelle das ganze kopplung mit meiner entwicklungsumgebung und dann
- neues programm drauf lade dann landet das hier im flash-speicher und der ist irgendwann aber auch folgt er ist nämlich nur 32 kilobyte groß und man
- muss beachten der hat eine obergrenze was die wiederbeschreibbare kite angeht lesen so oft wie man möchte aber wieder beschreiben nur circa 10.000 mal ich
- glaube dass in den meisten fällen wenn man jetzt 10.000 mal sein programm hier drauf geschrieben hat das würde ja wahrscheinlich dann doch ein paar jahre
- dauern dass das keine wirkliche grenze ist aber man muss trotzdem das im hinterkopf behalten die anzahl der schreibzyklen für den flash speicher die
- ist eben endlich dann gibt's noch dass esra davon auch wirklich sehr sehr wenig 2,25 kilobyte nur das ist auch ein flüchtiger speicher und das ist der
- eigentliche arbeitsspeicher das at mega 328 der 8 bit breit das heißt eine folge von nullen und einsen jeweils acht stück die gleichzeitig bearbeitet werden
- können der ist ja schnell im vergleich zum flash aber wie gesagt er ist eben flüchtig und wer das schon mal gehört hat steck und hieb dass das so dass
- speicher modell dahinter da kann man dann informationen auf eine bestimmte art und weise ablegen hierzu habe ich schon mal in anderen kontexten video
- gemacht dass linke ich hier mal rein und da kommt auch im kontext also in oder demnächst noch ein video dazu wie man diesen speicher hier sinnvoll verwalten
- kann und dann gibt es noch das ein kilobyte de kommen auch 8 bit breit nicht flüchtig er ist ja langsam aber großer vorteil der bleibt eben auch
- erhalten wenn spannungs verlust aufgetreten ist und ich kann ihnen aus meinem eigenen programmcode heraus beschreiben wie das geht dann mache ich
- auch noch mal ein beispiel dazu und er kann ungefähr 100000 mal neu beschrieben werden und das ist eben auch einer der gründe warum man hier im raum nimmt und
- nicht beispielsweise flash weil er eben eine deutlich höhere wiederbeschreibbare hat trotzdem muss man aufpassen wenn man das hier in der schleife immer und immer
- und immer obst immer und immer wieder beschreibt dann kann das auch sein dass das irgendwann nicht mehr richtig funktioniert ja das war einmal eine
- übersicht zu den speicherkarten auf dem martina 328 gucken wir mal weiter jetzt ganz schnell auch zum schluss die schnittstellen drei grundsätzliche typen
- haben wir hier einmal analoge inputs digitale inputs und serielle input output gucken wir uns einmal hier auf dem auf dem eigentlichen chip das ganze
- an hier unten das ist der analoge input damit kann ich analoge spannungssignale messen hier drin ist ein sogenannter adc ein analog digital converter 10 bit
- breit das bedeutet ich kann die bandbreite von 0 bis 5 volt in 1024 schritten rastern weil 1024 eben 218 ist und das ist eben die auflösung die
- spannungs auflösung des a d wandlers hier ich habe zwar sechs eingänge insgesamt aber nur einen adac und das wird von einem sogenannten multiplexer
- verteilt auf den einen adc und zwar nacheinander das heißt wenn ich jetzt hier gleichzeitig sechs eingänge ab frage wann ist die verarbeitung diamanti
- mega 328 nacheinander und wird herr umgeschaltet umgeschaltet von einem internen multiplexen meisten anwendungen ist das kein problem aber wenn es
- wirklich gleichzeitig sein muss dann geht das hier eben nicht mit diesen mit diesem microcontroller dann gibt es noch den digitalen ein ausgangsbereich hier
- oben das sind diese vielen fans und da wird im grunde einer unterscheidung gemacht zwischen high pegel 5 volt und lob hegel 0 volt und ich kann auch noch
- sachen machen wie software pull up widerstände was das ist wie gesagt eigenes oder dann mache ich noch mal ein eigenes video dazu damit kann man
- konstante spannungs pegel garantieren so viel ganz kurz gesagt und es gibt auch noch die möglichkeit einer puls weiten modulation auch das ist ein thema für
- ein anderes video aber das ist hier so in diesem bereich digitaler input und output dann gibt es noch serieller input und output das ist habe ich schon kurz
- erwähnt vorher für die kommunikation mit anderen komponenten gedacht ich kann beispielsweise wenn ich ein display anschließen an den arduino das ganz
- komfortabel machen über die iquadrat c schnittstelle hier oben und ich kann auch dass das gerät in aluminium mit anderen komponenten kommunizieren lassen
- beispielsweise an albinos oder irgendwas ganz anderem über diese standardschnittstellen sp und johann und kommunikation mit alu uno und der umwelt
- das gibt ein ganz eigenes ausführliches video in den nächsten wochen so viele nur gesagt es gibt hier drei möglichkeiten das zu tun
- ja das war es auch schon zu diesem theorielastigen video im nächsten video gucken wir uns was ganz praktisches an da wollen wir nämlich den domino hier
- benutzen um die ganze kette eingabe verarbeitung ausgabe mal zu erproben und zwar hier mit dieser mit dieser schaltung hier die habe ich auf tinker
- grad mal vorab schon simuliert hier gibt es eine temperatur sensor drei leds zwei knöpfe und ein display und daraus baue ich ein digitales fieberthermometer dass
- wir eben anzeigt ob ich spiele oder nicht und hier auch dann so ein paar informationen auf dem display dazu ausgibt aber wie gesagt das dann im
- nächsten video jetzt erstmal vielen dank fürs zuschauen und wie immer gilt bei fragen einfach rein schreiben und die kommen sich helft da echt gerne weiter
- hat mich gefreut dass du dabei geblieben wirst bis zum nächsten mal hier auch für viele ingenieure
- [Musik]