ATtiny13A bzw. allgemein AVRs: was passiert beim Reset?

Gast #5494800
Lesenswert?

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?
Gast #5494896
Lesenswert?

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.
#5495100
Lesenswert?

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.
Gast #5495209
Lesenswert?

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.
#5495241
Lesenswert?

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.
Gast #5495275
Lesenswert?

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.
#5495366
Lesenswert?

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).
Gast #5495367
Lesenswert?

> 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.
Gast #5495409
Lesenswert?

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
Gast #5495429
Lesenswert?

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."
Gast #5495454
Lesenswert?

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
Gast #5496052
Lesenswert?

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?
Gast #5496311
Lesenswert?

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.
#5496354
Lesenswert?

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.
#5497586
Lesenswert?

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.
Gast #5497625
Lesenswert?

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.
Beitrag #5497769 wurde von einem Moderator gelöscht.
Gast #5497823
Lesenswert?

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.
Gast #5497838
Lesenswert?

> 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.
Gast #5497852
Lesenswert?

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.
Beitrag #5497935 wurde von einem Moderator gelöscht.
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.
Gast #5497997
Lesenswert?

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.
Gast #5498004
Lesenswert?

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.
Gast #5498017
Lesenswert?

> 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.