Forum: Mikrocontroller und Digitale Elektronik AVR tiny0/tiny1/megaAVR0/DA/DB/DD/DE Systematik der internen Peripherie


von Wilhelm M. (wimalopaan)


Lesenswert?

Bisher habe ich mir keine großen Gedanken darum gemacht, sondern wie 
immer in das konkrete Datenblatt des µC geschaut. Auf den ersten Blick 
erscheint es ja so, als ob die im Betreff genannten AVR µC Serien eine 
gewisse Regularität bzgl. der internen Peripherie aufweisen würden.

Also z.B. USART oder TCA ist etwa in DA/DB/Tiny1 gleich 
(Registerdefinitionen). Dies kann ich nur durch manuelles Vergleichen 
der DBs herausfinden, oder?

Oder gibt es vllt. eine Übersichtsmatrix, die gleiche Komponenten in den 
Serien darstellen bzw. die Unterschiede (z.B. Events oder 
Kaskadierbarkeit TCB) deutlich machen?

Beitrag #7391124 wurde vom Autor gelöscht.
Beitrag #7391133 wurde von einem Moderator gelöscht.
von Wilhelm M. (wimalopaan)


Lesenswert?

Asm F. schrieb im Beitrag #7391133:
> DE gibts nicht, aber schon EA und demnächst EB.

Stimmt ;-)

von S. L. (sldt)


Lesenswert?

> DE gibts nicht, aber schon EA

'Status: Future Product' - Ich sehe ja mit gewissem (anerkennenden) 
Staunen, dass es die AVRnEA28 sogar in SPDIP gibt, aber das nur in einem 
'Product Brief', finde kein richtiges Datenblatt - ...?

Beitrag #7391275 wurde von einem Moderator gelöscht.
von S. L. (sldt)


Lesenswert?

Ah ja: "gibts ... schon" klang so, als seien sie bereits erhältlich, und 
da fürchtete ich schon, ich sei (wieder einmal) unfähig, richtig zu 
suchen.

Beitrag #7391289 wurde von einem Moderator gelöscht.
von S. L. (sldt)


Lesenswert?

I'll be darned - da gibt es ja schon einige Typen sofort, sogar ein 
'Evaluation Kit', andere im Spätsommer, und das ohne Datenblatt?

von Wilhelm M. (wimalopaan)


Lesenswert?

Bei den EBs gibts es wieder neue Timer TCE und TCF sowie die 
WaveFormExtension WEX.

Dann wird es echt Zeit für die Matrix ;-)

von A. B. (Firma: ab) (bus_eng)


Angehängte Dateien:

Lesenswert?

Ich habe vor längerer Zeit die Register mehrerer AVR-Controller mit 
ihren Registerflags in einer Exel-Tabelle aufgelistet. Durch Vergleich 
der Registerflags einzelner Peripherie-Komponenten lassen sich 
ähnliche/gleiche Komponenten typisieren.

von Wilhelm M. (wimalopaan)


Lesenswert?

A. B. schrieb:
> Ich habe vor längerer Zeit die Register mehrerer AVR-Controller mit
> ihren Registerflags in einer Exel-Tabelle aufgelistet. Durch Vergleich
> der Registerflags einzelner Peripherie-Komponenten lassen sich
> ähnliche/gleiche Komponenten typisieren.

Das ist sicher eine wertvolle Arbeit, doch darum ging es in diesem Post 
nicht.

von A. B. (Firma: ab) (bus_eng)


Lesenswert?

Wilhelm M. schrieb:
> doch darum ging es in diesem Post
> nicht.

Wenn Microchip die gewünschte Übersichtsmatrix nicht zur Verfügung 
stellt, dann muss man sie selber erstellen. Eventuell indem man die 
Registerflags der Peripherie-Komponenten der verschiedenen 
Microcontroller der neuen Baureihen systematisch auflistet und so die 
Komponenten typisiert. War nur so ein Gedanke ..

von Wilhelm M. (wimalopaan)


Lesenswert?

A. B. schrieb:
> Wilhelm M. schrieb:
>> doch darum ging es in diesem Post
>> nicht.
>
> Wenn Microchip die gewünschte Übersichtsmatrix nicht zur Verfügung
> stellt, dann muss man sie selber erstellen.

Genau. Vielleicht hat da jemand schon mal dran gearbeitet?

> Eventuell indem man die
> Registerflags der Peripherie-Komponenten der verschiedenen
> Microcontroller der neuen Baureihen systematisch auflistet und so die
> Komponenten typisiert. War nur so ein Gedanke ..

Ja, genau.
Es gibt manchmal konzeptionelle Unterschiede wie etwa die 
Kaskadierbarkeit von TCB. Auf der anderen Seite gibt es in der z.B. DA 
Serie Unterschiede, die abhängig von der Größe des µC abhängig sind wie 
etwa die Anzahl der Event-Channel.

von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?

Wilhelm M. schrieb:
> die Kaskadierbarkeit von TCB

Das ist nicht das Schwierigste, das sieht man sofort.

von Wilhelm M. (wimalopaan)


Lesenswert?

Georg M. schrieb:
> Wilhelm M. schrieb:
>> die Kaskadierbarkeit von TCB
>
> Das ist nicht das Schwierigste, das sieht man sofort.

Darum geht es nicht.

Die Antwort wäre gewesen, welche Serien das Feature haben und welche 
nicht ... In Form einer Tabelle.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Wilhelm M. schrieb:
> Die Antwort wäre gewesen, welche Serien das Feature haben und welche
> nicht ... In Form einer Tabelle.

Das steht alles in den .XML, bzw. in den .INC Files.
Jedes bit in jedem Register ist da genau beschrieben.

von C-hater (c-hater)


Lesenswert?

Marc V. schrieb:
> Wilhelm M. schrieb:
>> Die Antwort wäre gewesen, welche Serien das Feature haben und welche
>> nicht ... In Form einer Tabelle.
>
> Das steht alles in den .XML, bzw. in den .INC Files.
> Jedes bit in jedem Register ist da genau beschrieben.

Genau. Und da wimalopaan scheinbar eh' nix anderes zu tun hat, als 
sinnlos mit C++ rumzuspielen, um sich an dieser ach so tollen Sprache 
aufzugeilen, könnte er sie ja zur Abwechslung auch mal sinnvoll nutzen, 
um damit ein Programm zu schreiben, was aus diesen ganzen *.inc- oder 
*.xml-Files selbst so eine Tabelle generiert. Damit wäre allen gedient. 
Er hätte weniger Zeit, um uns hier mit seinem C++-Geschwalle zuzutexten 
und am Ende käme vielleicht eine Tabelle raus, die allen als Referenz 
dienen kann. Dabei setze ich natürlich voraus, dass er nicht nur seine 
geliebte Sprache beherrscht, sondern obendrein tatsächlich auch darin 
programmieren kann.

Das Programm wird nämlich recht aufwendig, weil es nicht ohne 
menschliche Interaktion abgehen wird (also: GUI), weil die Bezeichner in 
den Quellen leider nicht über alle Parts hinweg 100% konsistent sind und 
diese "Inkonsistenzen" zwar oft einen tatsächlichen technischen 
Hintergrund haben (also wirklich funktionale Unterschiede bestehen), 
manchmal aber halt auch nicht. Das kann kein Programm entscheiden, dazu 
müsste es die Datenblätter lesen und verstehen können.
Was aber das Programm sicher selbstständig feststellen könnte, wären die 
Analogien (um so eben auf die Unterschiede zu stoßen und nur in diesen 
Fällen den Menschen zu Hilfe rufen zu müssen.)

Ich hatte auch schon mal darüber nachgedacht, so ein Programm zu 
schreiben, mir ist aber kein vernünftiges Konzept zur Kategorisierung 
dieser tatsächlichen funktionalen Unterschiede eingefallen. Also sprich: 
mit welchen Abweichungen ist z.B. ein TCB noch ein "normaler" TCB. Oder 
andersrum: welcher genaue Ausprägung eines TCB ist eigentlich der 
"Normal-TCB"?

Und bei den TCBs ist die Sachlage noch relativ einfach und 
übersichtlich, die Zahl der Varianten gering. Es gibt da andere Teile 
der Peripherie, bei denen die Vielfalt noch wesentlich größer ist. So 
ein Programm wird also viel komplexer, als man im ersten Moment meinen 
könnte. Dementsprechend: Auch die Vergleichstabelle wird viel 
umfangreicher als man glauben könnte, wenn sie eben auch solche 
Unterschiede wie die Kaskadierbarkeit von Timern als Merkmal enthalten 
soll.

von A. B. (Firma: ab) (bus_eng)



Lesenswert?

AVR128DA | AVR128DB | AVR64DD | AVR16|32DD | AVR4808|4809

Es gibt viele identische Peripherie-Komponenten, aber auch 
unterschiedliche und welche mit minimalen Differenzen.

von Wilhelm M. (wimalopaan)


Lesenswert?

Das ist eine schöne Übersicht, allerdings nicht das, was ich gesucht 
habe. Besser wäre ein schlankere Tabelle, in der solche Unterschiede wie 
bei TCB zwischen tiny und tiny2 hervorgehoben werden.

von A. B. (Firma: ab) (bus_eng)


Lesenswert?

Step by step. DX kommt vor TINY ..

von Wilhelm M. (wimalopaan)


Lesenswert?

Leider hat sich ja erst mit den Dx/Ex/tiny2 dazu entschlossen in den 
XMLs die Komponenten sinnvoll zu benennen wie etwa "tmr_16b_capture_v1" 
statt "I2119". Meine ursprüngliche Idee war ja das auszuwerten.

Stattdessen finden sich immer wieder so nette Änderungen wie das 
Einführen eines zusätzlichen "_" in den Header-Files.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.