Hallo,
wenn ich mir den Reichelt Katalog so ansehe, gibt es ATClassic AVRs die
mit AT90... beginnen und ATtiny und ATmega.
Der Unterschied zwischen ATtiny und ATmega ist klar (größe/Speicher).
Sind wohl die neueren Chips. Daraus schließe ich, das ATClassic (AT90)
Typen schon etwas in die Jahre gekommene Chips sind.
Schaut man aber nun auf der Atmel Homepage in die AVR Übersicht, fällt
auf, dass es spezielle AVRs AT90PWM, AT90USB und AT90CAN gibt. Da diese
teilweise auch bis 20MHz gehen, können die ja nicht wirklich alt sein.
Wodurch unterscheiden sich denn nun aber AT90xxx von ATmega/ATtiny?
Oder ist die Bezeichnung AT90xxx nach wie vor auch für aktuelle Chips
gängig?
Danke,
Bernd
Richtig ist, dass die AT90 von den ATTiny und ATMega abgeloest wurden.
Die PWM, USB und CAN sind auch noch relativ neu, basieren aber
offensichtlich auf den alten Kernen. Die AT90 hatten noch 5V Betrieb,
der Brownout war ungenuegend, und noch einiges. Falls sich jemand die
Arbeit machen moechte, ich haette noch die alten Datenblaetter der
AT90er...
mit AT90 bezeichnet Atmel alle Controller der AVR 8 Bit Familie, wobei
die AT90S Reihe die ältere Classic-Familie in 0,5µ Technologie ist. Bei
der ATmega Familie gab`s einige frühe Versionen 103, 161, 163, 323 die
auch noch in 0,5µ Technik gefertigt wurden und auch nur bis 6 bzw. 8 MHz
verfügbar waren. Alle AVR Prozessoren mit Sonderfunktionen PWM, CAN, USB
werden wohl AT99xx benannt. Allerdings ist das System doch recht
übersichtlich.
Das "S" ist das entscheidende:
AT90Sxxxx: "Classic" AVRs, ohne Hardware-Multiplier und kein
self-programming Flash, schon länger allesamt abgekündigt
ATMegaxxxx: Mega-AVRs für umfangreichere Anwendungen, durchgehend mit
Hardware-Multiplier, self-programming Flash, einige mehr oder weniger
kompatible Nachfolger für die AT90S-Bausteine
(AT90S8515/8535->ATMega8515/8535, AT90S4433->ATMega8 und später
ATMega48/88/168)
ATTinyxxx: Tiny-AVRs, für kleinere Anwendungen, ohne
Hardware-Multiplier, Nachfolge-Bausteine für die kleinen AT90S-Teile
(z.B. AT90S2313->ATTiny2313)
AT90PWMxxx, AT90USBxxx, AT90CANxxx: Spezial-AVRs, Grundlage bildet
generell die Mega-Architektur (alle Bausteine haben afaik
Hardware-Multiplier).
Ach ja, was mmerten schon angeführt hat, ist natürlich auch richtig: Die
ursprüngliche, eigentliche Bezeichnung für alle 8-Bit-AVRs ist AT90....
Die ARMs heißen AT91...., die 32-Bit-AVRs (erstaunlicherweise) AT32....
und die 8051er AT89.... . ATMega und ATTiny sind quasi
Sonderbezeichnungen außer der Reihe, die einen Hinweis auf den
Funktionsumfang enthalten.
Holger Krull wrote:
> GPS wrote:>> Was bisher noch vergessen ging... Die ATTiny haben kein UART.>> Ach? und was ist mit dem Attiny2313, der ein UART hat...?
Der hat sogar ein U*S*ART...
Aber im Prinzip hat GPS schon recht: Der Tiny2313 ist die absolute
Ausnahme und hat eigentlich (vermutlich) nur wegen der
Abwärtskompatibilität zum AT90S2313 ein echtes USART abgekriegt. Alle
anderen Tinys haben nur das berüchtigte USI...
Hallo zusammen,
danke erst einmal.
Sagt mal, gibt es inzwischen bei den ATmega auch schon 2 Generationen?
Zumindest gibt es inzwischen auch bei Atmel mehr als einen
Programmieralgorithmus zum Flash programmieren. Ich hatte es bisher
Atmel zugute gehalten, dass alle Chips mit nur einem Flash-Algorithmus
auskamen. Bei den PIC18 gibt es inzwischen nämlich schon 5 oder 6
unterschiedliche Algorithmen für eine Chipfamilie.
Nun ja, gibt es eigentlich irgendwo einen Überblick, welche Chips noch
lange Zeit aktuell sind, welche abgekündigt sind, und was uns vielleicht
noch an neuen Chips erwartet?
Bernd
Bernd wrote:
> Sagt mal, gibt es inzwischen bei den ATmega auch schon 2 Generationen?> Zumindest gibt es inzwischen auch bei Atmel mehr als einen> Programmieralgorithmus zum Flash programmieren.
Aber nicht bei den AVRs. Da hat sich eigentlich seit Anfang (soweit ich
betroffen bin) nicht wirklich nennenswertes geändert. Es gibt nur
unterschiedliche Programmierverfahren (ISP, JTAG/dW, HV-Parallel...)
> Nun ja, gibt es eigentlich irgendwo einen Überblick, welche Chips noch> lange Zeit aktuell sind, welche abgekündigt sind, und was uns vielleicht> noch an neuen Chips erwartet?http://www.atmel.com/dyn/products/devices.asp?family_id=607
Bernd wrote:
> Sagt mal, gibt es inzwischen bei den ATmega auch schon 2 Generationen?
Mindestens drei, würde ich aus dem Bauch raus sagen. Die ersten waren
die ATmega103, möglicherweise fallen auch ATmega161 und ATmega163 in
diese Gruppe.
Danach dann ATmega16/32/64/128, die bilden die zweite Generation.
Die aktuellen ATmegas bilden die dritte. Der ATmega2560/2561 ist
ein wenig zwischen den letzten beiden. Der hat sein Leben mal als
ATmega256 anfangen wollen, wurde aber in dieser Form offenbar nie
freigegeben. Inzwischen wurde er vom Design her auf die neueren
ATmega1280 &c. umgestellt (mehr Peripherie und so), dürfte aber vom
Prozess her noch dem ATmega128 entsprechen. Das merkst du daran,
dass man ihn bei niedrigen Spannungen nicht mit 4 MHz takten kann
wie seine Geschwister ATmega640/1280/1281, sondern nur mit 2 MHz.
> Zumindest gibt es inzwischen auch bei Atmel mehr als einen> Programmieralgorithmus zum Flash programmieren.
Einen wirklich anderen Algorithmus hat(te) eigentlich nur der AT90S1200.
Das dürfte der erste Schuss damals gewesen sein. Daher unterstützen
manche Programmer den auch nicht (richtig). Ansonsten hat sich nur
das Timing bzw. die Poll-Werte geändert, wenn man während des
Programmierens abfragen will, ob die Zelle schon ordentlich beschrieben
worden ist.
@Johannes M.:
Du meinst die Devices unter "View Mature Devices" (not for new design?).
Die Typen, die da aufgelistet sind galten schon vor Jahren als alt. Für
den ATmega103 hatte mein bald 3 Jahre alter ATMega64 schon ein
Emulations-Flag.
Ich meine, ich hätte hier im Forum vor kurzem gelesen, dass z.B. auch
der ATMega8 bald an der Reihe sei.
Mit Flashalgorithmen meine ich nicht so sehr das Verfahren "ISP", als
vielmehr das Protokol, dass dort verwendet wird. Z.B. hat sich bei
neueren Chips was beim Polling geändert.
Mit 2. Generation meine ich z.B. auch, dass die Timer/PWM Module
erweitert wurden. Ich hatte beispielsweise einen Timer auf einem
ATmega64 laufen. Nach der Umstellung im AVR Studio auf einen neueren
ATmega329 tauchten dann compilerfehler auf, da es von einem Register
(TCCR0) früher nur ein Register und jetzt ein A und ein B Register gab.
Somit war der Code nicht Quelltextcompatibel.
Mega8? Glaube ich nicht. Der ist Klasse für eine Vielzahl von Aufgaben.
Eher triffts den Mega16, komplikationslos ersetzbar durch den Mega32. By
the way: ich hatte mal ne Stange Mega16, die hatten mehr RAM, als sie
eigentlich haben :-), und das hat auch komplett funktioniert. Insofern
glaube ich, dass die Mega16 die Resteverwertung fehlerhafter (Flash,
SRAM oder EEPROM) Mega32 sind. Ich hätte sie mal aufheben sollen.
crazy horse wrote:
> Mega8? Glaube ich nicht. Der ist Klasse für eine Vielzahl von Aufgaben.
Wär ich mir nicht sicher. Schließlich gibts schon länger pinkompatible
Nachfolger (Mega48/88/168). Ich denke auch, dass der Mega8 einer der
nächsten sein wird, der in die Kiste "mature devices" wandert.
> Eher triffts den Mega16, komplikationslos ersetzbar durch den Mega32.
Richtich...
Bernd wrote:
> Mit Flashalgorithmen meine ich nicht so sehr das Verfahren "ISP", als> vielmehr das Protokol, dass dort verwendet wird. Z.B. hat sich bei> neueren Chips was beim Polling geändert.
Richtig, sagte Jörg ja schon. Aber zumindest hat es bei den AVRs nicht
so einschneidende Änderungen gegeben wie bei gewissen anderen
µC-Familien...
Das mit der Source-Kompatibilität ist natürlich eine andere Sache. Wenn
man den Funktionsumfang erweitert, sollte man natürlich auch versuchen,
eine logische Bezeichnung der Register beizubehalten. Und da ATMEL
möglicherweise zu Beginn noch nicht wusste, wie erfolgreich die AVRs
werden und dementsprechend wieviele Weiterentwicklungen es gibt, kann
man sich auch denken, dass die damals im Leben nicht dran gedacht haben,
dass es einmal beim Timer 0 zwei Steuerregister geben wird.
Und für die meisten Pin- aber nicht Code-kompatiblen AVRs gibt es recht
übersichtlich gestaltete Migration Notes, in denen kurz und bündig
beschrieben ist, was man ändern muss, damit es auch mit dem Nachfolger
klappt.
Alles in Allem habe ich den Eindruck, dass ATMEL schon versucht hat, dem
Anwender den Wechsel auf neuere Devices so einfach wie möglich zu
machen, sowohl in der Programmierung als auch in der Anwendung.
Johannes M. wrote:
> crazy horse wrote:>> Mega8? Glaube ich nicht. Der ist Klasse für eine Vielzahl von Aufgaben.> Wär ich mir nicht sicher. Schließlich gibts schon länger pinkompatible> Nachfolger (Mega48/88/168). Ich denke auch, dass der Mega8 einer der> nächsten sein wird, der in die Kiste "mature devices" wandert.
Schwer zu sagen was Atmel macht.
Einerseits ist der mega8 mittlerweile der älteste noch produzierte AVR,
andererseits ist der auch vermutlich einer der am weitest verbreiteten
(kleinster mit ADC und UART).
Ich denk mal auch, daß der Atmega8 noch lange produziert wird. Man wird
ihn aber teurer machen als den ATmega88.
Die Unterschiede im IO-Bereich sind ja doch beträchtlich.
Einige Bits sind z.B. in anderen Registern und die meisten Register sind
vom IO-Bereich in den Memory-Bereich verschoben worden.
Mich wundert allerdings, daß der ATtiny26 schon abgekündigt ist, ehe die
ATtiny261/461/861 richtig verfügbar sind.
Peter
Andreas Kaiser wrote:
> Umstellungen können auch von Produktionsanlagen abhängen. Es ist> anzunehmen, dass die neueren Modelle mit anderer Fertigungstechnik> arbeiten.
Ja, klar. Nur dadurch erreicht man ja auch höhere Taktfrequenzen
bei gleicher Betriebsspannung, sowie den nötigen höheren Integrations-
grad (mehr Features) bei ungefähr gleichem Preis. Kommt hinzu, dass
Atmel in der Vergangenheit Fertigungslinien verkauft hat bzw.
verkaufen will, da wird man sich sicher auch Mühe geben, alle
wesentliche Produktion, die Geld bringt, auf den hauseigenen Linien
laufen zu lassen.
Dass das Marketing natürlich die Markteinführung neuer Produkte immer
schon gern viel früher hätte, als es am Ende tatsächlich möglich ist,
dürfte ja kein Alleinstellungsmerkmal der Halbleiterindustrie sein...