Hallo Leute, kann jemand mir erklären, was beim Reset passiert, vielleicht anhand des Blockdiagramms vom ATtiny13a, welches gerade vor mir liegt? Warum ist die Programming Logic mit der Interrupt Unit und Timer/Counter0 verbunden?! Welche Unit setzt beim Reset den Program Counter auf den ersten Befehl?
:
Gesperrt durch Moderator
Beim Reset werden alle Hardwarekomponenten und Register in einen sinnvollen Ausgangszustand versetzt. Dann startet die Programmausführung. Mehr muss man nicht wissen. Es macht keinen Sinn sich tiefer mit dem internen "Schaltplan" des µC zu befassen, da dieser geheim ist, jederzeit geändert werden kann (sofern die äußere Funktion gleich bleibt) und weil es hier keine allgemein gültige Lösung gibt die auf alle µC zutrifft. Bei AVR kommt noch dazu, dass die Tage dieser Architektur schon angezählt sind. Wenn du wirklich ins Detail gehen willst, dann mache das besser mit einer brandneuen Architektur, die du für vielversprechend hältst.
Stefanus F. schrieb: > alle µC zutrifft. Bei AVR kommt noch dazu, dass die Tage dieser > Architektur schon angezählt sind. Bestimmt nicht, wo hast du das her ? AVR (ATMEL/MICREOCHIP) als Firma mag verschwinden aber die Architektur (8-bit, RISC) wird noch lange da sein. Es werden immer noch 4-bit uC eingebaut.
ATtiny13A geek schrieb: > Hallo Leute, kann jemand mir erklären, was beim Reset passiert, Das steht alles ganz ausführlich im Datenblatt, Kapitel 8. System Control and Reset
> aber die Architektur (8-bit, RISC) wird noch lange da sein.
Ja klar und alle 8-bit RISC Mikrocontroller funktionieren im Detail ganz
bestimmt genau gleich? Wohl kaum.
Also für mich sieht es jetzt auch nach aller Befürchtung nach der Übernahme durch Microchip nicht so aus als wenn AVR ausstirbt. Im Gegenteil, da sind noch einige neue AVRs gerade erschienen sind und auch in der Zukunft noch kommen. OMHO ist AVR auch die modernere Architektur. Und insbl. die sehr modulare Xmega Architektur, die sich leider noch nicht so richtig durchgesetzt hat. 8 Bit wird denke ich in naher Zukunft nicht so wirklich aussterben. Es gibt nach wie vor die Daseinsberechtigung für AVR/8-Bit und das wird sich auch nicht allzuschnell ändern.
ATtiny13A geek schrieb: > Hallo Leute, kann jemand mir erklären, was beim Reset passiert, > vielleicht anhand des Blockdiagramms vom ATtiny13a, welches gerade vor > mir liegt? > > Warum ist die Programming Logic mit der Interrupt Unit und > Timer/Counter0 verbunden?! Mit der Interruptlogik ist sie verbunden, um sie in einen definierten Zustand versetzen zu können. Warum sie mit Timer0 verbunden ist: keine sicheres Wissen (steht halt nicht im Datenblatt). Nur die Ahnung, dass der zur Ablaufsteuerung während des Programmierens verwendet wird. Könnte aber natürlich genausogut sein, das es sich schlicht um einen Zeichenfehler im Diagramm handelt. Welche Unit setzt beim Reset den Program > Counter auf den ersten Befehl? Natürlich die Program Counter-Unit. Mit der ist die Programming Logic ja ebenfalls verbunden.
Stefanus F. schrieb: > Bei AVR kommt noch dazu, dass die Tage dieser > Architektur schon angezählt sind. Reine Vermutung, Hörensagen, Weissagung?? Ich denke nicht, dass die 8bit-Welt in absehbarer Zeit ausstirbt, wenn man sich mal anschaut, wo die Kerlchen inzwischen (sinnvollerweise) drin sitzen. Von der Druckerpatrone über die Mirowellenuhr, massig als LIN-Slave im Kfz, jeder beschissene Akkupack und so weiter und so fort. Selbst der popelige PWM-Generator im Akkuschrauber ist inzwischen in MC. All diesen Anwendungen ist gemeinsam: Massenprodukt mit geringen Anforderungen an Rechenleistung und Kommunikationsfähigkeiten. Aber dennoch deutlich mehr vorhanden, als für die og. beispoielhaften Anwendungen gebraucht werden. Also einfach das perfekte Bauelement, um die geforderte Funktionalität (oft genug als Einchip-Lösung) billig zu erreichen. Ein mehr Rechenleistung/Speicher/Kommunikationsfähigkeit bringt Null Vorteile. Das willst du alles mit Boliden erledigen? Kann man, muss man aber nicht. Es wird nicht jeder Knopf einen WLAN/Inernetanschluss bekommen. Einfache Logik in Software, in sinnvoller (ausreichender) Geschwindigkeit wird uns noch lange begleiten.
H.Joachim S. schrieb: > Ich denke nicht, dass die 8bit-Welt in absehbarer Zeit ausstirbt, Zumindest nicht bei mir. Ich habe noch so viele Controller hier, die reichen bis an mein Lebensende.
F. F. schrieb: > Ich habe noch so viele Controller hier, die > reichen bis an mein Lebensende. Und die Freundlichen werden alle versorgen, bei denen Mangel herrscht. Da muss man sich nur den LGT8F88A und MD328D anschauen... Vermutlich, sowas wie die "Spitze eines Eisberges" ;-) Jedenfalls eine fundierte Basis.
c-hater schrieb: > ATtiny13A geek schrieb: > >> Hallo Leute, kann jemand mir erklären, was beim Reset passiert, >> vielleicht anhand des Blockdiagramms vom ATtiny13a, welches gerade vor >> mir liegt? >> >> Warum ist die Programming Logic mit der Interrupt Unit und >> Timer/Counter0 verbunden?! > > Mit der Interruptlogik ist sie verbunden, um sie in einen definierten > Zustand versetzen zu können. > > Warum sie mit Timer0 verbunden ist: keine sicheres Wissen (steht halt > nicht im Datenblatt). IMHO ist das eine Fehlinterpretation des Blockschaltbilds. Nach meiner Interpretation sind alle diese Einheiten im wesentlichen mit "Timing And Control" verbunden. Und weil ohnehin schon zu viele Verbindungen dahin gehen, hat man die Verbindungen dieser 3 Einheiten zusammengefaßt. >> Welche Unit setzt beim Reset den Program >> Counter auf den ersten Befehl? > > Natürlich die Program Counter-Unit. Nicht so wirklich. Der PC wird ja auch nicht "auf den ersten Befehl" gesetzt, sondern schlicht auf den Wert 0. Die allereinfachste Vorstellung dazu wäre, daß der Reset-Eingang dieses Zählers (das C in PC steht ja für counter = Zähler) mit dem µC-Reset verbunden ist. Die Details sind natürlich komplexer, insbesondere bei AVR-Familienmitgliedern, die einen Bootloader unterstützen (tut der Tiny13 nicht).
> Ich denke nicht, dass die 8bit-Welt in absehbarer Zeit ausstirbt, Oh Mann, da habe ich ja was losgetreten. In diesem Forum muss man echt aufpassen, was man sagt. Ich benutze unterschiedliche 8bit Mikrocontroller gerne und auch weil ich darauf hoffe, dass man sie mindestens bis zu meiner Rente noch problemlos kaufen kann. Ich erwarte, dass einzelne Typen (zum Beispiel der ATMega32) abgeschafft werden, aber für die wird es Ersatz geben. Nichts desto Trotz ist für mich offensichtlich, dass alle Hersteller auf 32 und mehr Bits setzen. Die 8 bit AVR Kerne betrachte ich als ausgereift und daher langweilig. Wenn etwas geändert wird, dann nur noch an der Peripherie drumherum. Immerhin möchte ich meinen Enkeln etwas nützliches davon beibringen können. Wenn ich heute etwas neues durch Erforschen erlernen möchte, dann werden das ganz sicher nicht Vergaser-Motoren, Röhren-Fernseher und Glühlampen sein.
Stefanus F. schrieb: > Immerhin möchte ich meinen Enkeln etwas > nützliches davon beibringen können. Wer das Bit nicht verstanden hat brauch mit > 4bit nicht weiter machen. Lehre deinen Enkeln die Grundlagen dann spielt die Menge der Bits einer Architektur auch keine Rolle mehr. > Die 8 bit AVR Kerne betrachte ich als > ausgereift und daher langweilig. mmhhh ausgereift auf jedenfall langweilig ?? Sicher nicht! Vom Prinzip her ist es egal ob die Architektur 4/8/16/24/32/64/128...Bit verarbeiten kann letztendlcih immer das gleiche. Führt alles auf die Addition zurück.... und das haben alle Architekturen gemeinsam! Und auch mit 8bit kann man eine Menge Aufgaben abdecken, natürlich keine superhochauflösenden Grafiken aber eben viele Steuer/Regelungsaufagben wo eine sehr hochbittige Architektur absolut oversized ist/wäre. > Wenn ich heute etwas neues durch Erforschen erlernen möchte, dann werden > das ganz sicher nicht Vergaser-Motoren, Röhren-Fernseher und Glühlampen > sein. Eben doch nennt sich Grundlagen! Man trifft es zwar nur noch mit geringem Anteil im Alltag aber wer die Geschichte/Entwicklung nicht kennt weiß nicht welche Errungenschaften die Neurerungen darstellen! ATtiny13A geek schrieb: > Hallo Leute, kann jemand mir erklären, was beim Reset passiert, > vielleicht anhand des Blockdiagramms vom ATtiny13a, welches gerade vor > mir liegt? Das schöne ist das alle AVR's bis auf die ATmegaX von der Struktur ähnlich sind und nur durch Kleingkeiten unterscheiden... Ob Tiny13A oder Atmega328 werden grundsätzlich gleich programmiert. https://www.bernd-leitenberger.de/harvard-neumann.shtml http://www.lernort-mint.de/Informatik/EDV/computer_architektur.html Das schöne, heutige CPU's(PC-bezogen) nutzen beide Arhcitekturen sowie CISC und RISC, so wie es in Zukunft den Motor geben wird der Diesel und Benzin verarbeiten wird natürlciuh nicht gleichzeitig.. ;) http://service.projektlabor.tu-berlin.de/projekte/spannungswaechter/material/mikrocontroller-handout.pdf http://www.ruhr-uni-bochum.de/nds/lehre/vorlesungen/eingebetteteprozessoren/ss05/Mikrocontroller.pdf
chris schrieb: > Wer das Bit nicht verstanden hat brauch mit > 4bit nicht weiter machen. > Lehre deinen Enkeln die Grundlagen Meine Güte, kann hier eigentlich niemand ohne persönliche Angriffe posten? "Wer das Bit nicht verstanden hat..." Darauf könnte man ja gleich antworten "Wer Dativ und Akkusativ nicht verstanden hat, braucht mit der Sprache/dem Schreiben nicht weiter zu machen." Lehren wird mit Akkusativ verwendet, nicht mit Dativ. Und: "Wer brauchen ohne zu gebraucht, ist nicht zu gebrauchen."
Danke für die vielen Posts! Mir ist es egal ob die AVRs später noch hergestellt werden - wenn nicht gründe ich später mal eine Firma die das tut ;) Außerdem habe ich noch ca. 50 allein von den ATtiny13A zu Hause - die sind sehr nützlich
Ich verfolge diverse Fragen in diesem Forum schon einige Zeit. Dieser Beitrag hier hat mich gerade auch interessiert... Was mir auffällt: Stefanus schreibt sehr oft Kommentare, die völlig subjektiv sind und überheblich klingen. Der Typ ist doch nicht ganz normal, oder?
nicht weiter machen schrieb: > Meine Güte, kann hier eigentlich niemand ohne persönliche Angriffe > posten? > "Wer das Bit nicht verstanden hat..." Das ist und war kein persönlicher Angriff!! Aber wo ist dein Beitrag der was nützliches zum Thema beigetragen hat ??
Oli, du hast korrekt erkannt, das ich hier oft meine persönliche Meinung basieren auf meiner persönlichen Erfahrung kund tue. Ich denke das dies unter anderem der Sinn von Diskussionsforen ist. Wir diskutieren hier Fakten und Meinungen. Da dich dieses Thema interessiert teile uns doch bitte auch deine Meinung ZUM THEMA mit.
Stefan ich bin immer sehr dankbar, gerade für deine Meinung, die auf vielen Erfahrungen beruht. Ebenso wie von anderen hochkarätigen Mitglieder (da sind auch einige Gäste mit gemeint). Das ist es gerade, was für mich dieses Forum ausmacht. Wenn du was über Metall wissen willst, ist Bernd sicher immer ne gute Hausnummer. Atmel Programmierung, da ist Jörg ganz vorne dabei. Alle mögliche Elektronik und insbesondere Schiffe, frag Matthias.
Beitrag #5497318 wurde von einem Moderator gelöscht.
Beitrag #5497561 wurde von einem Moderator gelöscht.
Der Hauptvorteil der 8-Bitter ist, daß alles streng synchron und vorhersagbar ist. Es gibt nur einen einzigen Takt für CPU, Busse und IO. Damit sind z.B. Delayschleifen auf den Zyklus genau berechenbar. Und es gibt auch keine spurious Interrupts, Exceptions, falsche Daten im Cache usw. Auch der große Spannungsbereich ist oft von Vorteil. Man kann einen Lithiumionenakku (2,5 .. 4,3V) direkt ohne Spannungsregler benutzen.
Beitrag #5497619 wurde von einem Moderator gelöscht.
Peda, die Vorteile die du da für 8 bit µC genannt hast treffen auf alle mir bekannten 8 bit Mikrocontroller zu. Gibt es denn wirklich keine 32 bit Controller die ebenfalls all diese Vorteile haben? Klar wäre das aus Kosten der Performance, aber die muss eben nicht immer maximiert werden. Hauptsache, die sind für den Anwendungsfall schnell genug.
Stefanus F. schrieb: > Hauptsache, die sind für den Anwendungsfall schnell > genug. Genau. Und sehr oft reicht eben eine 8-Bit CPU. wendelsberg
Stefanus F. schrieb: > Gibt es denn wirklich keine 32 bit > Controller die ebenfalls all diese Vorteile haben? Nein. Mir zumindest nicht bekannt. Es ist immer ein Abwägen..... AVR: 1,8 bis 5,5V Alleine da kommt kein mir bekannter ARM mit
> Alleine da kommt kein mir bekannter ARM mit Ja schon, aber es heißt ja nicht zwangsläufig, dass 32bit = ARM sein muss.
Muss nicht... Aber ansonsten ist die Luft recht dünn... Teilweise exorbitante Stückpreise. Hier, zum selber suchen: https://www.mouser.de/Semiconductors/Embedded-Processors-Controllers/Microcontrollers-MCU/32-bit-Microcontrollers-MCU/_/N-a85nm
Beitrag #5497769 wurde von einem Moderator gelöscht.
Viel Konfiguritis könnte man durch sinnvolle Defaults erreichen. Wobei das beim STM32F1 größtenteils schon der Fall ist. Nur abstrahiert die HAL (bzw. SPL) das wieder derart weg, dass man normalerweise jedes einzelne Konfigurationsbit ausdrücklich programmiert, bevor man den I/O Pin anspricht. Ich gehöre ja eher zu den Leuten, die sich auf das Datenblatt verlassen. Wenn da steht, dass der Port durch einen Reset soundso eingestellt wird, dann verlasse ich mich darauf. Entsprechend weniger Zeilen Code brauche ich dann, um ihn (ohne HAL) zu benutzen. Soweit ich bisher mitbekommen habe, kann man beim STM32F1 fast alle Register außer acht lassen, die man vermutlich gerade nicht benötigt. Bei den AVR ist das mit den Defaults sogar perfekt umgesetzt, finde ich. Nachtrag: Toll, jetzt ist der Bezug zu meiner Antwort gelöscht worden.
> Toll, jetzt ist der Bezug zu meiner Antwort gelöscht worden.
Logisch, Hausverbot ist Hausverbot, der Forumsbetreiber kann sich doch
nicht ganz offen zum Affen machen lassen (und das ist dann auch zum
Besten aller anderen hier). Der Betroffene sollte sich vielleicht ein
anderes Pseudonym zulegen, dann wäre es nicht gar so offensichtlich und
eventuell ließe sich damit leben.
Ok. Für diejenigen, die den Beitrag zur "Konfiguritis" nun nicht mehr lesen können: jemand hatte kritisiert, dass größere Mikrocontroller zunehmend aufwendig konfiguriert werden müssen. Unter anderen auch, weil sie immer mehr Features anbieten, die man nur selten benötigt. So habe ich das jedenfalls im Gedächtnis.
Beitrag #5497924 wurde von einem Moderator gelöscht.
Kindskopf! Da fallen einem die Schultern runter und man pfeift durch die Nase.
Beitrag #5497935 wurde von einem Moderator gelöscht.
Pardon, ich bin Physiker, kein Erzieher. Guten Tag.
Beitrag #5497945 wurde von einem Moderator gelöscht.
Beitrag #5497955 wurde von einem Moderator gelöscht.
Beitrag #5497972 wurde von einem Moderator gelöscht.
Beitrag #5497974 wurde von einem Moderator gelöscht.
Beitrag #5497976 wurde von einem Moderator gelöscht.
Beitrag #5497977 wurde von einem Moderator gelöscht.
Beitrag #5497989 wurde von einem Moderator gelöscht.
Beitrag #5497990 wurde von einem Moderator gelöscht.
ATtiny13A geek schrieb: > Hallo Leute, kann jemand mir erklären, was beim Reset passiert Im Prinzip passiert nichts weiter, als dass der ProgramCounter auf den Wert 0 gesetzt wird. Es werden noch ein paar weitere einzelne Bits gesetzt bzw. gelöscht: z.B. DDR, InterruptEnable, usw. Das steht alles im Datenblatt beim der jeweiligen Registerbeschreibung. RAM wird nicht gelöscht. Der Reset ist quasi ein Interrupt mit dem Interruptvector 0, bei dem noch ein paar Bits mehr beeinflusst werden.
Stefanus F. schrieb: > Für diejenigen, die den Beitrag zur "Konfiguritis" nun nicht mehr lesen > können: jemand hatte kritisiert, dass größere Mikrocontroller zunehmend > aufwendig konfiguriert werden müssen. Unter anderen auch, weil sie immer > mehr Features anbieten, die man nur selten benötigt. Das liegt daran, dass es mittleierweile möglich ist, sehr viel Hardware in einen einzelnen Chip zu packen. Es sit billiger nur eine Variante herzustellen, als mehrere verschiedene uC mit verschiedenen Ausstattungen. Die Mentalität der Käufer ist doch auch so: Da ist mehr drinne für den gleichen Preis als beim anderen und deshalb wird der mit mehr Features genommen, egal ob man die Funktionalität braucht oder nicht.
Beitrag #5498012 wurde von einem Moderator gelöscht.
Beitrag #5498013 wurde von einem Moderator gelöscht.
Beitrag #5498014 wurde von einem Moderator gelöscht.
Beitrag #5498015 wurde von einem Moderator gelöscht.
> Im Prinzip passiert nichts weiter, als dass der ProgramCounter > auf den Wert 0 gesetzt wird. Das sämtliche I/O Register auf einen definierten Wert gesetzt werden, gehört meiner Meinung nach zum "Prinzip" schon noch dazu.
Beitrag #5498034 wurde von einem Moderator gelöscht.
Beitrag #5498037 wurde von einem Moderator gelöscht.
Beitrag #5498050 wurde von einem Moderator gelöscht.
Beitrag #5498051 wurde von einem Moderator gelöscht.
Beitrag #5498053 wurde von einem Moderator gelöscht.
Beitrag #5498054 wurde von einem Moderator gelöscht.
Beitrag #5498108 wurde von einem Moderator gelöscht.
Beitrag #5498110 wurde von einem Moderator gelöscht.
Beitrag #5498111 wurde von einem Moderator gelöscht.
Beitrag #5498112 wurde von einem Moderator gelöscht.
Beitrag #5498129 wurde von einem Moderator gelöscht.
Beitrag #5498130 wurde von einem Moderator gelöscht.
Beitrag #5498131 wurde von einem Moderator gelöscht.
Beitrag #5498133 wurde von einem Moderator gelöscht.
Beitrag #5498137 wurde von einem Moderator gelöscht.
Beitrag #5498139 wurde von einem Moderator gelöscht.
Beitrag #5498140 wurde von einem Moderator gelöscht.
Beitrag #5498141 wurde von einem Moderator gelöscht.
Beitrag #5498142 wurde von einem Moderator gelöscht.
Beitrag #5498143 wurde von einem Moderator gelöscht.
Beitrag #5498145 wurde von einem Moderator gelöscht.
Beitrag #5498152 wurde von einem Moderator gelöscht.
Beitrag #5498154 wurde von einem Moderator gelöscht.
Beitrag #5498155 wurde von einem Moderator gelöscht.
Beitrag #5498156 wurde von einem Moderator gelöscht.
Beitrag #5498166 wurde von einem Moderator gelöscht.
Beitrag #5498167 wurde von einem Moderator gelöscht.
Beitrag #5498168 wurde von einem Moderator gelöscht.
Beitrag #5498169 wurde von einem Moderator gelöscht.
Beitrag #5498171 wurde von einem Moderator gelöscht.
Beitrag #5498172 wurde von einem Moderator gelöscht.
Beitrag #5498174 wurde von einem Moderator gelöscht.
Beitrag #5498176 wurde von einem Moderator gelöscht.
Beitrag #5498179 wurde von einem Moderator gelöscht.
Beitrag #5498181 wurde von einem Moderator gelöscht.
Beitrag #5498182 wurde von einem Moderator gelöscht.
Beitrag #5498184 wurde von einem Moderator gelöscht.
Beitrag #5498200 wurde von einem Moderator gelöscht.
Beitrag #5498201 wurde von einem Moderator gelöscht.
Beitrag #5498202 wurde von einem Moderator gelöscht.
Beitrag #5498206 wurde von einem Moderator gelöscht.
Beitrag #5498207 wurde von einem Moderator gelöscht.
Beitrag #5498208 wurde von einem Moderator gelöscht.
Beitrag #5498209 wurde von einem Moderator gelöscht.
Beitrag #5498211 wurde von einem Moderator gelöscht.
Beitrag #5498212 wurde von einem Moderator gelöscht.
Beitrag #5498213 wurde von einem Moderator gelöscht.
Beitrag #5498214 wurde von einem Moderator gelöscht.
Beitrag #5498217 wurde von einem Moderator gelöscht.
Beitrag #5498219 wurde von einem Moderator gelöscht.
Beitrag #5498220 wurde von einem Moderator gelöscht.
Beitrag #5498221 wurde von einem Moderator gelöscht.
Beitrag #5498245 wurde von einem Moderator gelöscht.
Beitrag #5498258 wurde von einem Moderator gelöscht.
Beitrag #5498264 wurde von einem Moderator gelöscht.
Beitrag #5498279 wurde von einem Moderator gelöscht.
Beitrag #5498280 wurde von einem Moderator gelöscht.
Beitrag #5498281 wurde von einem Moderator gelöscht.
Beitrag #5498283 wurde von einem Moderator gelöscht.
Beitrag #5498294 wurde von einem Moderator gelöscht.
Beitrag #5498295 wurde von einem Moderator gelöscht.
Beitrag #5498296 wurde von einem Moderator gelöscht.
Beitrag #5498297 wurde von einem Moderator gelöscht.
Beitrag #5498323 wurde von einem Moderator gelöscht.
Beitrag #5498325 wurde von einem Moderator gelöscht.
Beitrag #5498327 wurde von einem Moderator gelöscht.
Beitrag #5498328 wurde von einem Moderator gelöscht.
Beitrag #5498332 wurde von einem Moderator gelöscht.
Beitrag #5498333 wurde von einem Moderator gelöscht.
Beitrag #5498334 wurde von einem Moderator gelöscht.
Beitrag #5498336 wurde von einem Moderator gelöscht.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.