Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

Mikrocontroller-Architektur erklärt am ATmega328 (Arduino)

FearlessEngineers - Elektrotechnik & Programmieren20:46 29.693 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 148 Zeilen
Herunterladen
  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. personal computer die erste große kategorie dann kommt microcontroller mikroprozessor fangen wir hiermit man mit dem microcontroller das ist im
  13. grunde ein einzelner chip und auf diesem chip da ist ein prozessor drauf die cpu da werden alle rechenoperationen durchgeführt und es gibt
  14. peripheriefunktionen das heißt speicher bussysteme schnittstellen und so weiter alles auf einem chip und man drückt eben mit diesem begriff microcontroller aus
  15. 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
  16. 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
  17. 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
  18. und der hat nicht die peripherie funktionen die der microcontroller mitbringt das ist ein performant meistens performant prozessor der im pc
  19. 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
  20. 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
  21. 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
  22. 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
  23. ja zwischendurch auf keinen fall vergessen genügend kaffee zu trinken ohne kaffee läuft hier überhaupt nichts in der welt der ingenieurinnen und
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. allgemeinen klassifizierung von rechnerarchitekturen bzw befehls setzen das ist wichtig um zu verstehen was den arduino beziehungsweise at mega
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. zwischen code erzeugen muss kein mikro code das heißt maschinen die sind sehr schnell und deswegen werden die auch hier in microcontroller meistens
  37. 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
  38. 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
  39. 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
  40. 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
  41. deko die reinheit diesen komplexen befehl runterbrechen muss in kleinere fehler in sogenannte mikro code befehle und die müssen dann zum einen decodiert
  42. 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
  43. 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
  44. das ist eine allgemeine klassifizierung und wie gesagt die meisten microcontroller das sind eben risk maschinen und jetzt gucken wir uns noch
  45. einen weiteren punkt an der ganz wichtig ist das ist eine architektur gegenüberstellung von von neumann und herbert von neumann versus harvard
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. ausgelesen werden und das kostet zeit und dieses nacheinander das nennt man auch den sogenannten von neumann flaschenhals weil ich eben das nicht
  53. parallelisieren kann ich muss es sequenziell machen und das kostet performance vorteil ist ich habe weniger hardware aufwand ich habe nur einen
  54. 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
  55. mikroprozessor bereich die von neumann architektur eher selten da findet man meistens das hier nämlich die architektur von neumann das wiederum
  56. 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
  57. microcontroller er architektur und dass wir sie jetzt ähnlich aus wir haben ja auch solche spyder eingezeichnet über die die daten
  58. 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
  59. ist links der programmspeicher rechts der datenspeicher und hier kann ich jetzt gleichzeitig parallel die befehle aus lesen die in der eu gerechnet werden
  60. 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
  61. eben auch zwei speicher die muss badi müssen beide an den bus angebunden werden und das verursacht eben kostensteigerung in diesem prozessor und
  62. 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
  63. der architektur kombiniert werden mit den vorteilen der von neumann architektur aber grundsätzlich wenn man sich den artega sich hier mal wieder
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. von analog auf digital vorzunehmen kurzer insider-tipps sozusagen die ist spezifiziert 1,1 volt im datenblatt im mittel die kann aber schwankungen und
  74. 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
  75. anschauen wie diese interne bernd gehabt aussieht in dem jeweiligen albino der verwendet werden sollte ist unter anderem auch temperaturabhängig also da
  76. 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
  77. ich gehe da jetzt auch nicht auf details groß ein das sind kommunikations interfaces mit der außenwelt um beispielsweise andere alois hier
  78. anzuschließen oder du ihn mit komponenten kommunizieren zu lassen überleitung meistens 2 draht leitung die eben dann zu anderen komponenten in
  79. 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
  80. 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
  81. unbedingt noch den schluck kaffee deren her wir fangen wir an mit der cpu wir wollen hier vor allen dingen auf zwei
  82. komponenten fokussieren einmal den takt und die bus breite klappt noch die information die zentrale prozessoreinheit die cpu eben das ist
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. auf die speicherkarten es gibt da mehrere man kann generell unterscheiden zwischen read only memory und access memory hier oben zwei typische varianten
  96. 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
  97. beschreibbaren speicher und den kann man wunderbar nutzen um zum beispiel programmcode abzulegen wobei der er im flash-speicher legt die unterscheiden
  98. 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
  99. noch mal etwas genauer an da kann man dann aus dem programm heraus dass man geschrieben hat informationen permanent ablegen auf einem auf einem
  100. speicherbereich hier im mega 328 und da kann ich zum beispiel passwörter speichern oder irgendwelche messwerte und die bleiben eben auch dann erhalten
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. auszuführenden programmcode das heißt jedes mal wenn ich hier über die usb-schnittstelle das ganze kopplung mit meiner entwicklungsumgebung und dann
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. speicher modell dahinter da kann man dann informationen auf eine bestimmte art und weise ablegen hierzu habe ich schon mal in anderen kontexten video
  120. 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
  121. 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
  122. erhalten wenn spannungs verlust aufgetreten ist und ich kann ihnen aus meinem eigenen programmcode heraus beschreiben wie das geht dann mache ich
  123. 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
  124. 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
  125. 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
  126. übersicht zu den speicherkarten auf dem martina 328 gucken wir mal weiter jetzt ganz schnell auch zum schluss die schnittstellen drei grundsätzliche typen
  127. 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
  128. 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
  129. 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
  130. 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
  131. 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
  132. mega 328 nacheinander und wird herr umgeschaltet umgeschaltet von einem internen multiplexen meisten anwendungen ist das kein problem aber wenn es
  133. wirklich gleichzeitig sein muss dann geht das hier eben nicht mit diesen mit diesem microcontroller dann gibt es noch den digitalen ein ausgangsbereich hier
  134. 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
  135. 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
  136. 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
  137. 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
  138. 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
  139. komfortabel machen über die iquadrat c schnittstelle hier oben und ich kann auch dass das gerät in aluminium mit anderen komponenten kommunizieren lassen
  140. beispielsweise an albinos oder irgendwas ganz anderem über diese standardschnittstellen sp und johann und kommunikation mit alu uno und der umwelt
  141. 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
  142. 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
  143. 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
  144. 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
  145. 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
  146. 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
  147. hat mich gefreut dass du dabei geblieben wirst bis zum nächsten mal hier auch für viele ingenieure
  148. [Musik]

Zum Nachlesen