Ich möchte die Programmierung von AVR-Mikrokontrollern in Assembler
lernen. Mein Hauptinteresse liegt in Signalerzeugung wie z.B.
DDS-Schleifen sowie allgemeinen Steueraufgaben die ich bisher noch mit
CMOS-Gräbern erledige.
Damit ich später nicht gleich wieder umlernen muß möchte ich mit einem
mittelgroßem ATMEGA anfangen der Zukunftssicher ist. Insbesondere will
ich die Details zu Speicheraddressierung und Interrupttabelle nur einmal
lernen und später bei Bedarf auch mal auf einem großen ATMEGA einsetzen
falls ich mal mehr Speicher brauche.
Welchen Typ würdet ihr mir empfehlen, wäre der ATMEGA16 (oder 164 oder
168) eine gute Wahl?
Habe ich etwas übersehen oder wären die 32x und 64x dazu kompatibel im
Sinne daß ich dann den Code nur neu assemblieren aber nicht teilweise
neu schreiben müßte wie beim -8 ?
Hallo,
wenn man die ATMEL Investor Nachrichten verfolgt dann setzt ATMEL auf
- ATTINY
- ATXMEGA
- ARM
Der neue und zukünftige "mittelgroße" AVR ist der ATXMEGA !
Und jetzt wird gleich die ARM Lawine auf Dich hereinbrechen.
Wenn's 8bit AVR sein soll lerne C und nehme die Mega-ATs.
XMega sind neuer und Leistungsfähiger aber die 8bitter dürften in den
nächsten Jahren kaum "sterben".
Wenn Du DDS machen möchtest nimm einen ATMega mit ausreichend Flash um
die Tabellen ablegen zu können.
Der ATmega328 sollte für Dich ausreichend sein, der aktuell größte ist
der ATmega1284 alles 8bit AVR-RISC.
Such Dir die Datenblätter raus und seh nach welcher Dir am sinnvollsten
erscheint.
AVRs wirst Du noch eine ganze Weile kaufen können. Aber es ist eine alte
Halbleitertechnologie, d.h. die weltweiten Produktionslinien, die diese
Chips produzieren können (bedenke: Atmel hat im Gegensatz zu Microchip
keine eigene Fertigung mehr) werden abnehmen, und die Bausteine werden
teurer werden und irgendwann vom Markt verschwinden. Bei Microchip sieht
man das ganz deutlich. Die haben die PIC18F-Serie langsam von 5V auf
3.3V portiert (die neuen Bausteine haben ein J oder K in der
Bezeichnung), und die 3.3V-Typen kosten nur noch die Hälfte von dem, was
die alten 5V-Typen kosten (die man alle noch kaufen kann, selbst den
16C54 von 1984), und sie sind natürlich auch wesentlich stromsparender.
Von daher ist klar, dass Atmel auf die XMegas setzen wird.
Was die Zukunftssicherheit angeht, habe ich bei Microchip ein deutlich
besseres Gefühl. Immerhin haben die seit 1992 noch nie was abgekündigt.
Wer eigene Fabs hat, hat eben kein Problem damit, eben mal alte
Maskensätze aus dem Schrank zu holen und damit eben mal ein Dutzend
Waferstarts zu machen. Das siehst Du auch daran, dass die jetzt auch
8051'er fertigen, die NXP abgekündigt hat, weil die Stückzahlen für die
nicht mehr interessant waren. Für Microchip scheint sich das zu rechnen,
weil sie ihre Fabs damit besser auslasten können.
Im Übrigen bin ich der Meinung dass ein dsPIC33E für Deine Anwendungen
besser geeignet ist.
fchk
Hi
>Reicht das ?
Nicht wirklich. Das für eine neue Reihe mehr Werbung als für eine
etablierte gemacht wird, dürfte normal sein.
Allerdings finde ich es schon merkwürdig, einem Anfänger in
Assemblerprogrammierung die XMegas aufschwatzen zu wollen.
@ A-Freak (Gast)
So unterschiedlich sind die AVRs nicht. Schon gar nicht die neueren
ATMegas.
>Aber es ist eine alte Halbleitertechnologie,...
Begründung.
MfG Spess
Spess53 schrieb:> So unterschiedlich sind die AVRs nicht. Schon gar nicht die neueren> ATMegas.
Das wär auch mein Argument.
Und bei einem Mega wirds ja nicht bleiben. Das was man jetzt mit einem
(von mir aus auch älteren Modell) lernt, ist ja nicht verloren sondern
ein Baustein, auf dem man dann weiter aufbauen kann.
Und die paar Euro für den ersten µC ... irgendeine Anwendung findet sich
immer. Und sei es die Weihnachtsbeleuchtung, die auch schön blinken
will.
Aus meiner Sicht ist ein wichtiger Punkt, sich am Anfang nicht von zu
viel Information erschlagen zu fühlen. Zu schwach soll der µC auch nicht
auf der Brust sein (die kleinen Tinys), denn dann steht man schnell an
den Grenzen an. So gesehen hab ich persönlich den M8 bzw. M16 immer als
gesunden Mittelweg empfunden. Nicht zu umfangreich aber umfangreich
genug um universell nützlich zu sein.
Spess53 schrieb:> Nicht wirklich. Das für eine neue Reihe mehr Werbung als für eine> etablierte gemacht wird, dürfte normal sein.
Es geht hier um Investor Nachrichten und die interessiert nur wo in
Zukunft die Kohle bei ATMEL herkommt. Und das ist offensichtlich im
"mittleren Segment" von den ATXMEGA's.
D.h. auch da wird ATMEL in Zukunft investieren.
Ich hab nicht geschrieben das ATMEGA's abgekündigt werden.
ATXMEGA sind zukunftssicherer als ATMEGA.
ATTINY sind auch noch da !
Aber ohne "umlernen" wird es sowieso nicht funktionieren. Denn es kommt
doch immer anders.
>>ATXMEGA sind zukunftssicherer als ATMEGA.>Würdest du dafür die Hand ins Feuer legen?>MfG Spess
was ist das für eine aussage. natürlich kann niemand die zukunft
vorhersagen.
er hat seine aussage plausibel begründet. nimm die begründung entweder
an oder widerlege sie.
Wenn die CAN Bus und 5V tolerante I/Os hätten, hätte ich sogar ein
Projekt damit umgesetzt. Aber so dann halt doch ARM ;-)
Atmel, was hat euch nur dazu getrieben gerade bei den I/O Pins die
Spannngstoleranz gegenüber älteren I/O Standards schlechter zu machen
als bei den neumodischen ARMs?
Spess53 schrieb:> Hi>>>ATXMEGA sind zukunftssicherer als ATMEGA.>> Würdest du dafür die Hand ins Feuer legen?
Nein, ich hab ja nichts davon.
Wir können diesen Thread ja in 5 Jahren weiterführen, dann werden wir
sehen was passiert ist.
Aber ich kann noch einen Preisvergleich anfügen.
Und die Preispolitik bei ATMEL spricht auch für sich.
Preisvergleich bei Abnahme von 1 stck.:
ATXMEGA 256K:
ATXMEGA256A3U-AU (mit USB) 5,75 € (mouser) bzw. 10,55€ (reichelt)
ATXMEGA256D3-AU 4,79€ (mouser)
ATMEGA 256K:
ATmega2561-16AU 13,92€ (mouser) bzw. 11,40€ (reichelt)
ATXMEGA 32K:
ATXMEGA32D4-AU 2,37€ (mouser)
Und ich hab schon die ersten ATXMEGA32E5 gesehen für 1,89 US$ !!! (Avnet
Express)
ATMEGA 32K:
ATMEGA32A-PU 2,61 € (mouser) bzw. ATmega32-16AU für 3,50€ (reichelt)
Uwe Bonnes schrieb:> Gibt es inzwischen XMega mit CAN Bus Interface? Oder mit 5-Volt> toleranten Eingaengen?
Das war auch bei mir der Todesstoß für den Einsatz der Xmega.
Solche Krüppel-MCs können se sich sonstwo hinstecken.
Die Tiny,Mega werden daher auch die Xmega überleben.
Peter
cppler schrieb:> XMega sind neuer und Leistungsfähiger aber die 8bitter dürften in den> nächsten Jahren kaum "sterben".
Nur nebenbei, die XMegas sind auch 8-Bitter und verstehen die gleichen
Opcodes wie Megas und Tinys.
"Das siehst Du auch daran, dass die jetzt auch 8051'er fertigen, die NXP
abgekündigt hat" ... irgendjemand nimmt die Fackel immer auf (von zig
kleinen Chipgiessern abgesehen), und irgendwie hab ich das warme Gefühl
es wird 2053 wahrscheinlicher sein dass man noch problemlos einen 51er
im 44er Standardpinout bekommt als irgendeinen AVR :)
Markus .. schrieb:> Aber ich kann noch einen Preisvergleich anfügen.> Und die Preispolitik bei ATMEL spricht auch für sich.>> Preisvergleich bei Abnahme von 1 stck.:
Blödsinn.
Wen interessiert denn, was 1 IC im DIL-Gehäuse kostet. Das sind
gewürfelte Einzelhandelspreise. Rückschlüsse auf die Preispolitik des
Herstellers kannst du bei >10.000 in SMT ziehen.
mfg.
Matthias Sch. schrieb:> Nur nebenbei, die XMegas sind auch 8-Bitter und verstehen die gleichen> Opcodes wie Megas und Tinys.
Man kann sie aber nicht sorglos am Li-Ion-Akku (kann bis gut 4,2V sein)
betreiben, auch das Ansteuern von FETs ist aufgrund der 3,3V nicht ganz
so einfach. Das erfordert (aus meiner Sicht) unnötige Kunstgriffe
betreffs Stromversorgung und Peripherie, weshalb es mir leicht fällt,
auf die XMegas zu verzichten.
...
Hannes Lux schrieb:> Man kann sie aber nicht sorglos am Li-Ion-Akku (kann bis gut 4,2V sein)> betreiben, auch das Ansteuern von FETs ist aufgrund der 3,3V nicht ganz> so einfach.
Das ist aber bei der gesamten 3V3 Technik so, STM32 und Konsorten haben
das gleiche 'Problem', was als solches in Zukunft stärker werden dürfte.
Der Trend geht zu feineren Strukturen und niedrigerer Leistungsaufnahme,
das mal als Vorhersage, hehe. 5V Technik ist nahezu out und nur noch bei
Hobbyprojekten interessant, wer verbaut denn heute noch die 74(LS)er
Serien? Auf 3V3 werden wir uns einstellen müssen.
Übrigens läuft mein Xplained A1 Board sehr wohl von einer LiIon Zelle,
ein paar geschickte Dioden laden sie sogar auf, wenn USB anliegt.
Matthias Sch. schrieb:> STM32 und Konsorten haben> das gleiche 'Problem'
Nein, einige Cortexe haben interne Regler, z.B. Nuvoton NUC120:
• Build-in LDO for wide operating voltage ranges from 2.5 V to 5.5 V
Peter
Diese 5 Volt Toleranz stelle ich immer mit einem 2kOhm ?
Serienwiderstand kurz vor dem Pin her. Also so dimensionieren das nur
0,5 mA durch die intere Schutzdiode am Eingangspin fließen, oder ist das
sträflich?
Für meine Hobbyprojekte gabs bis jetzt keine Probleme. Kann mir das wer
erläutern, oder geht es bei den "nicht 5 Volt Toleranten" Eingängen um
die Low Schaltschwelle?
Grüße
Basti
Zum Einstieg wuerde ich ja den kleinsten mit ADC vorschlagen.
Alle groesseren koennen dasselbe und werden extrem aehnlich behandelt.
Zum Einstieg ein Datenblatt von ~100 Seiten oder ~500 Seiten spricht
eindeutig fuer den mit dem ~100-seitigen DB.
Alles was man mit einem Atmega8 lernt, gilt (mit evtl. klitzkleinen
Aenderungen) auch fuer die anderen Atmegas.
Also meine Empfehlung waere ein Atmega8.
fonsana
fonsana schrieb:> Also meine Empfehlung waere ein Atmega8.
Er sucht:
A-Freak schrieb:> Suche Empfehlung für zukunftssicheren ATMEGA
und keine alte Gurke.
Also wenn schon, dann Atmega88.
mfg.
Thomas Eckmann schrieb:> und keine alte Gurke.>> Also wenn schon, dann Atmega88.
Ohne jetzt die Datenblaetter verglichen zu haben: Was kann man am
Atmega88 nicht verwenden, was man am Atmega8 gelernt hat? Was lernt man
am Atmega8 nicht, was man am Atmega88 braucht?
fonsana
Frank K. schrieb:> Wer eigene Fabs hat, hat eben kein Problem damit, eben mal alte> Maskensätze aus dem Schrank zu holen und damit eben mal ein Dutzend> Waferstarts zu machen.
Nur wenn man die Fabs nie modernisiert.
Alte Fabs zu betreiben lohnt sich nur, wenn man da etwas produziert das
noch in grossen Mengen verkauft wird.
fonsana schrieb:> Ohne jetzt die Datenblaetter verglichen zu haben: Was kann man am> Atmega88 nicht verwenden, was man am Atmega8 gelernt hat? Was lernt man> am Atmega8 nicht, was man am Atmega88 braucht?
Tolles Argument. Was lernt man auf einem Intel8748 nicht...
Der Atmega88 ist einfach ein modernerer Controller mit mehr Funktionen.
Und nein, der 8er reicht nicht für einen Anfänger. Anfänger müssen nicht
grundsätzlich mit irgendwelchem alten Kram anfangen. Das mag vielleicht
für Autos gelten, aber in µC kann man keine Beulen reinfahren.
mfg.
Schon interessant was für eine Diskussion diese verständliche Frage
auslöst.
Ich habe eine ganze Reihe µC vom alten RCA 1802 über die
8048 / 8051 (die es sicher noch lange gibt) PIC, AVR und MSP430 kennen
gelernt, auch ein paar "4 Bit-Exoten" waren dabei.
Daher glaube ich daß die Empfehlung, gerade wenn jemand Assembler lernen
möchte, einen AVR zu nehmen so schlecht nicht ist, würde dann halt einen
neueren wie aus der ATMEGA48, 88, 168, 328 -Reihe oder
die ATMEGA 164, 324, 644- Reihe nehmen.
Ich wähle heute den µC nach den Anforderungen aus, (auch Kundenwunsch
wird berücksichtigt).
So unterschiedlich sind die Assembler nicht, ich möchte das eher mit
Dialekten vergleichen als mit unterschiedlichen Sprachen.
Ein weiterer Punkt, gerade für Anfänger ist eine vernünftig zu
bedienende
IDE und ein brauchbares Programmiertool. Da ist ATMEL recht brauchbar.
Eine Anmerkung sei noch gestattet:
Ein Assembler-Programm direkt von einer µC-Reihe auf eine andere kann
man vergessen, da schreibt man das Programm besser gleich neu (nach der
Vorlage)
Bei C-Code ist es (etwas) einfacher kann aber auch nette Überraschungen
geben.
Ich habe eine DDS auf einem ATTiny861A realisiert: Der DDS Loop laeuft
in 8 Takten, bei 20MHz CPU Clock komme ich auf 2.5MHz DDS Clock. f_max ~
40% vom DDS Clock ergibt 1MHz maximale Ausgabe-Frequenz. Das Ganze geht
ueber ein R/2R Netzwerk als DAC und ein Rekonstruktionsfilter. Das
Spektrum habe ich mir auf einem Analyzer angeschaut: es sieht sauber
aus, Spurs alle kleiner -50dBc. Ich habe mir viele AVRs angeschaut. Der
ATTiny861A ist es aus folgenden Gruenden geworden:
- 512Byte SRAM, d.h. 256 Byte Sinus LUT kann page-aligned im SRAM
angelegt werden. Damit kann man effizient ueber indizierte
Adressierung zugreifen. Kleinere Chips wie der ATTiny4313
koennen das nicht. Da muss die Sinus LUT ins Flash, das kostet
einen Takt, DDS f_max sinkt damit auf ~ 770kHz.
- alle Pins von Port A werden auf einer Seite des Gehaeuses
rausgefuehrt. Dies erleichtert die Anbindung der R/2R Netzwerks
ungemein. Viele (nicht alle) ATMegas haben die Pins eines Ports
verstreut herausgefuehrt, teilweise sogar auf entgegengesetzten
Gehaeuseseiten.
- Der ATTiny861 hat im Gegensatz zum ATTiny4313 einen ADC an Bord,
die ADC Pins werden alle auf Port B (also der anderen
Gehaeuseseite) herausgefuehrt. So komme ich nicht mit Port A/DAC
in Konflikt. Den ADC plane ich, ueber angeschlossene Potis als
manuelle Frequenzeinstellung zu benutzen (noch nicht fertig)
- Der ATTiny861 hat ein USI, d.h. man kann auch ueber z.B. I2C mit
dem Chip kommunizieren. Damit kann man z.B. ueber die "Bruecke"
Arduino den ATTiny861 mit einem Host PC kommunizieren lassen.
Fuer DDS nicht so interessant, aber evtl. fuer andere Sachen:
Der ATTiny861 hat auch noch zwei Timer. Einer davon ist ein highspeed
timer mit drei unabhaengigen Output Compare Match Units. Das schreit
geradezu nach RGB LED Controller Loesungen ;o)
Ach ja: Den ATTiny861 kann ich bereits fuer 1.50EUR kaufen.
... huch, ist das lang geworden ...
Frank K. schrieb:> (bedenke: Atmel hat im Gegensatz zu Microchip> keine eigene Fertigung mehr)
Das ist eine Falschaussage. Wenn du's nicht weißt, solltest du dich
mit derart pauschalen Aussagen etwas zurückhalten.
> werden abnehmen, und die Bausteine werden> teurer werden und irgendwann vom Markt verschwinden.
Klar, deshalb haben sie ja gerade erst eine Reihe von "Dauerbrennern"
als die-shrink-Version herausgebracht. Das sind die mit dem "A"
an der Typenbezeichnung, die kosten übrigens auch deutlich weniger
als die älteren Kollegen in der größeren Technologie. Aber: im
Gegensatz zu den Xmegas sind sie halt immer noch 5-V-fähig. Wenn
man dafür keinen längerfristigen Markt (neben den Xmegas) sehen
würde, hätte man kaum einen derartigen Schritt getan, denn sowas
ist ja immer mit recht viel Aufwand verbunden (nicht nur neue
Masken, sondern auch das komplette Qualifizierungsprogramm muss
erneut durchfahren werden).
Ob es in 5 Jahren noch megaAVR oder Xmega geben wird, kann man
natürlich nur spekulieren, aber die Wahrscheinlichkeit ist recht
hoch, dass dem so ist.
> Wer eigene Fabs hat, hat eben kein Problem damit, eben mal alte> Maskensätze aus dem Schrank zu holen und damit eben mal ein Dutzend> Waferstarts zu machen.
Irgendwann funktioniert der alte Technikschrott in einer alten Fab
aber halt nicht mehr, von Wirtschaftlichkeit ganz zu schweigen (und
allein die permanenten Kosten einer Fab sind enorm). Da hilft einem
die beste eigene Fab dann nichts. Ich denke nicht, dass es Maxim
Freude gemacht hat, einen Geldbringer wie den MAX038 abzukündigen,
aber wenn es eben auf der Welt keine betriebsfähige Fab mehr gibt für
die verwendete Technologie, ist Schluss. Ob Microchip beim Ausfall
eines nicht mehr beschaffbaren Stücks Technik in einer alten Fab
wirklich den 16C54 nochmal anfassen wird, um ihn auf eine neuere Fab
zu portieren? Da müsste $Kunde wohl schon mit der Abnahme von mehr
als nur einem Scheibenlos drohen ...
Die Mega8 und Mega88 sind sehr ähnlich, so dass man in den aller meisten
Fällen den einen durch den anderen ersetzen kann, ggf. nur mit neu
übersetzen des Programms. Der Mega88 ist neuer, etwas sparsamer, hat ein
ganz paar extra Features (z.B. Teiler für Takt) und die Datenblätter und
Include Files benutzen die neuere Namenskonvention für die Register. Von
daher wäre der Mega88 schon eine bessere Wahl.
Die AVRs (Mega Serie, vor allem die neueren) sind sind untereinander
sehr ähnlich - da macht es praktisch keinen Unterschied ob man ASM auf
den Mega88, Mega324 oder 1281 schreibt. Den Code (auch ASM) kann man in
den meisten Fällen einfach für den anderen µC übersetzen. Etwas
trickreich wird höchstens der Fall mit mehr als 128 kBytes Speicher -
aber für so etwas nimmt man dann wenn es geht auch keinen 8 Bit µC und
kein ASM mehr.
Auch die Tinys sind nicht viel anders - es fehlt halt einiges an
IO_Modulen und ein paar ASM Befehle für die Multiplication.
Für ASM braucht man auch eher keinen großen µC - mehr als etwa 8 kBytes
ASM-Code ist schon etwas für Masochisten und Genies.
Auch wenn man später vom Mega auf den XMega umsteigt, ist der schritt
nicht so groß wie z.B. vom PIC16 zum PIC18. Es kommt dann auch vor allem
was dazu. Bei den Xmegas sind auch eher noch Änderungen zu erwarten
(Bugfixes, Erweiterungen und ggf. neue Typen). Zum ASM lernen ist die
ATmega Serie schon ein gute Wahl - der Code ist relativ übersichtlich
und einfach. Der Umstieg auch einen anderen µC, auch wenn es ein ganz
anderer ist, ist nicht so schwer, wenn man erst mal das Prinzip
verstanden hat.
Ulrich schrieb:> ganz paar extra Features (z.B. Teiler für Takt) und die Datenblätter und> Include Files benutzen die neuere Namenskonvention für die Register. Von> daher wäre der Mega88 schon eine bessere Wahl.
OK, da gehe ich mit.
Allerdings wird ein Assembler-Anfaenger von dem DB trotzdem vermutlich
erschlagen (377 Seiten).
fonsana
Ulrich schrieb:> hat ein ganz paar extra Features (z.B. Teiler für Takt)
Pinchange-Interrupt
Bessere Timer
20Mhz
GPIOR
pico power
debug wire
sind schon ein paar mehr extra Features.
Und zwei größere Brüder. Falls man sich beim Speicher mal verschätzt
hat.
fonsana schrieb:> Allerdings wird ein Assembler-Anfaenger von dem DB trotzdem vermutlich> erschlagen (377 Seiten).
Das Datenblatt ist 546 Seiten lang. + Anhang.
mfg.
Firmen vermerken nicht umsonst das ein Bauteil "obsolet" geworden ist
und man doch besser den meist pinkompatiblen Nachfolger nehmen soll.
Wie ich schonmal geschrieben habe ...
cppler schrieb:> Der ATmega328 sollte für Dich ausreichend sein
Der hat genügend Pins, Timer, ADC, PWM, Flash und RAM für die meisten
Aufgaben.
Sinnvoller ist es natürlich erstmal das Projekt für den µC zu
dimensionieren und dann je nach Anforderung den passenden heraussuchen.
Ulrich schrieb:> Der Mega88 ist neuer, etwas sparsamer, hat ein> ganz paar extra Features (z.B. Teiler für Takt) und die Datenblätter und> Include Files benutzen die neuere Namenskonvention für die Register.
Die Namenskonvention für die Register kann eigentlich kein ernstes
Argument sein, da sich die Übersetzung mit einem Include-File erledigen
läßt.
cppler schrieb:> Firmen vermerken nicht umsonst das ein Bauteil "obsolet" geworden ist> und man doch besser den meist pinkompatiblen Nachfolger nehmen soll.
Das gilt ja für den 8er noch nicht einmal. Der ist ja auch durch die
die-shrink-Renovierung gegangen (Atmega8A).
Aber mehr als 2 Gründe, den 8er zu verwenden fallen mir beim besten
Willen nicht ein: Altes Projekt oder man hat noch die ganze Schublade
davon voll.
Deswegen: 48/88/168/328(p)a.
mfg.
A-Freak schrieb:> Ich möchte die Programmierung von AVR-Mikrokontrollern in Assembler> lernen. Mein Hauptinteresse liegt in Signalerzeugung wie z.B.> DDS-Schleifen
Es ist schon erstaunlich, was es für seltsame
Interessenzusammenstellungen gibt.
Nun, wenn jemand einen AVR in Assembler zu programmieren lernen möchte,
dann nur zu. Gut in Assembler zu sein, ist immer ein Vorteil. Ob es
gerade jetzt ein AVR sein sollte, ist hingegen Geschmacksfrage.
Aber was hat das Ganze bloß mit DDS-Schleifen zu tun? Wer ein NF- oder
HF-Signal erzeugen möchte, benutzt heutzutage einen passenden Chip von
AD. Die haben durchweg bessere Y-Auflösungen (10 Bit bis 14 Bit) und von
hause aus wesentlich höhere Taktfrequenzen, bei den simpelsten Typen so
ab 25 MHz, was die Konstruktion des Tiefpaßfilters für die
Sinuserzeugung enorm vereinfacht - da kommt kein AVR jemals mit (was ja
auch nicht der ursprüngliche Sinn eines uC ist), und billig genug sind
zumindest die kleineren DDS-IS's auch.
Was also hat unser TO dabei bloß im Sinne? Oder ist es der fehlende
Blick hinaus über die eigene Furche im Acker?
W.S.
fonsana schrieb:> Ok, war der erste Link bei der Tante G "atmega88 data sheet".
Ja. ist auch richtig. Ich habe auch immer vom Atmega88 geschrieben. Der
ist ja auch schon wieder Asbach. 88(p)a ist aktuell. Ist vor allen
Dingen auch preislich interessanter. Die neuen sind teilweise nur halb
so teuer.
mfg.
Thomas Eckmann schrieb:> Aber mehr als 2 Gründe, den 8er zu verwenden fallen mir beim besten> Willen nicht ein: Altes Projekt oder man hat noch die ganze Schublade> davon voll.
In ganz esoterischen Fällen kann man davon profitieren, dass beim
ATmega8 noch sämtliche IO-Register mittels IN und OUT ansprechbar
sind, während die Nachfolger einen Teil der Register auf den Bereich
jenseits 0x60 verteilt haben. Aber das muss schon eine sehr "auf
Kante genähte" Applikation sein, die sich genau deshalb mit einem
ATmega8 realisieren lässt, aber mit einem ATmega88 nicht mehr.
W.S. schrieb:> Wer ein NF- oder> HF-Signal erzeugen möchte, benutzt heutzutage einen passenden Chip von> AD.
Kosten aber auch ein Vielfaches an Geld und Strom.
W.S. schrieb:> Was also hat unser TO dabei bloß im Sinne?
Wenn sich der TO nicht mehr meldet, dann werden wir es nicht mehr
erfahren.
Aber solche Fragen kommen bald wieder.
Bis dann....
A-Freak schrieb:> Ich möchte die Programmierung von AVR-Mikrokontrollern in Assembler> lernen.
Neben dem µC gehört auch ein Assembler dazu, und da gibt's mehr als nur
einen.
Ein paar Kriterien (bei denen jeder andere Prioritäten hat):
- Wie "mächtig" ist die Syntax, etwa vorhandene Makro-Prozessoren?
- Lässt sich der Assembler-Code mit C-Code kombinieren?
- Soll der Assembler nur auf einer bestimmten plattform wie MS-Windows
laufen, oder wird plattformunabhängigkeit angestrebt?
- Kann man ein großen Projekt in mehrere Module aufspalten?
Und falls ja: wie geht das konkret?
- Wie einfach sind Hardwareabhängigkeiten, etwa bei Umstieg auf
einen verwandten µC, zu beschreiben und in den Griff zu bekommen?
Gerade die Kombinierbarkeit mit C-Code wäre für mich ein wichtiger Punkt
– auch dann, wenn aktuell eine solche Kombination noch nicht geplant
ist. Zeitkritische Sachen können dann in Assembler gemacht werden und
Sachen, die das Anwender-Interface ingehen in C.
Dadurch wird das Projekt besser wart- und portierbar.
A-Freak schrieb:> Ich möchte die Programmierung von AVR-Mikrokontrollern in Assembler> lernen.
Warum Assembler ?
Lern C , damit bist du wesentlich flexibler und schneller am Ziel.
Wenn du den Autoführerschein machst, willst du ja auch nur lenen wie du
Pedalen, Lenkung und Schaltung bedienst.
Oder willst du dann lernen wie die einzelnen Zahnräder im Getriebe oder
Motor zusammen spielen müssen das sich die Räder drehen ?
Erfahrungsgemäß kommst du mit allen ATmegas und ATtinys klar, wenn du
dich mal mit einem beschäftigt hast. Die Unterschiede sind Minimal..
der ATxmega ist wieder ein bisschen ne andere Nummer da er ein bisschen
mehr kann, aber das ist auch nicht so schlimm.
ul5255 schrieb:> Ich habe eine DDS auf einem ATTiny861A realisiert: Der DDS Loop laeuft> in 8 Takten
Wenn der OP dieses DDS meint, dann ist es völliger Unsinn, einen ATmega
zu nehmen. Denn das ist ein arme-Leute-DDS, der MC kann dabei nichts
anderes mehr machen. Also ist der kleinst mögliche AVR gerade richtig.
Peter
Etwas OT:
"Ich denke nicht, dass es Maxim Freude gemacht hat, einen Geldbringer
wie den MAX038 abzukündigen, aber wenn es eben auf der Welt keine
betriebsfähige Fab mehr gibt für die verwendete Technologie"
Was ich bisher nicht verstanden habe bei diesem Thema: Was hindert einen
daran in einem höher "auflösenden" Prozess gröbere Strukturen zu
erzeugen - naiv gedacht kann ich ja auch ein 150dpi Bild auf einem
1200dpi Drucker drucken :) ... lässt sich die "Ätztiefe" in der dritten
Dimensionen nicht erzielen?
Andy D. schrieb:> Was ich bisher nicht verstanden habe bei diesem Thema: Was hindert einen> daran in einem höher "auflösenden" Prozess gröbere Strukturen zu> erzeugen
Dass "Prozess" dabei weit mehr bedeutet als nur Strukturgröße.
Die bei der Halbleiterfertigung benutzten Maschinen haben eben auch
nicht das ewige Leben, und irgendwann sind sie nicht mehr wartbar.
Nicht für jede dieser Maschinen gibt es dann einfach einen adäquaten
Ersatz, und wenn man den nicht mehr hat, müsste man das Produkt auf
einen neuen Prozess rüberheben. Das ist ein erheblicher Aufwand,
weil dann nicht nur Prozessparameter neu zu ermitteln sind, sondern
auch die sogenannte Qualifizierung des Bauteils (Langzeittests zur
Ermittlung der Stabilität über die geplante Bauteillebensdauer)
nochmal gemacht werden muss.
Auch kommen bei neuen Prozessens durchaus andere Strukturierungs-
techniken (insbesondere Belichtung) zum Einsatz als noch vor 20
Jahren. Das wiederum würde bedeuten, dass man selbst dann, wenn man
in der alten Strukturgröße weiter fertigen will, zumindest neue
Maskensätze machen müsste, damit die aktuellen Belichter überhaupt
damit arbeiten können.
Die Kosten eines Maskensatzes belaufen sich (je nach Anzahl der
Masken) bei einigen 100000 bis Millionen. Dabei ist es dann schon
fast unerheblich, ob es nun EUR oder USD sind ;), das entsprechende
Produkt müsste (nach dem Technologietransfer) diese Kosten in jedem
Falle wieder einspielen, damit sich die Sache rentiert. Dabei ist
es völlig egal, ob der Hersteller nun TI, Maxim, Microchip, Atmel,
NXP oder STM heißt, und es spielt auch keine Rolle, ob der alte
Proezss in seiner eigenen Fab oder bei einem Auftragsfertiger nicht
mehr zu haben ist ...
Andy D. schrieb:> Die Kosten für Subnanometer-Masken - aber wäre auch gröbere so teuer die> in nen neuen Belichter passen sollen?
Ja, genauso wie dein 1200-dpi-Drucker ja auch teuer bleibt, wenn du
mit ihm nur ein 150-dpi-Bild drucken willst.
...aber wenn keiner mehr die "groben" Prozesse kann müssten ja auch
diskrete Planartransistoren, 741er OPVs, 74LS...., 78xx und einiges
anderes inzwischen verschwunden sein :)
Andy D. schrieb:> Was hindert einen> daran in einem höher "auflösenden" Prozess gröbere Strukturen zu> erzeugen - naiv gedacht kann ich ja auch ein 150dpi Bild auf einem> 1200dpi Drucker drucken :) ... lässt sich die "Ätztiefe" in der dritten> Dimensionen nicht erzielen?
Das bedeutet nicht nur die Belichtung mit kleineren Strukturen und einer
anderen Wellenlänge. Dann könnte man die paar Wafer auch direkt
belichten. In neueren Prozessen kommen womöglich andere Materialien zum
Einsatz, Dotierungsprofile sind anders, der neue Prozess benutzt z.B.
eine Trenchisolierung,... Die Wafer sind auch größer geworden. Das alles
ist fein aufeinander abgestimmt. Der so erzeugte IC wird wahrscheinlich
nicht funktionieren. In den hier diskutierten Fällen müssen ja ev.
mehrere Generationen übersprungen werden.
Ein Reinraum (eher ein mehrstöckiges Industriegebäude, der Reinraum ist
nur ein Bruchteil der Fläche, den Rest füllen die Hilfseinrichtungen)
ist kein billiges Vergnügen, der Energieaufwand alleine für die
Aufrechterhaltung der Betriebsbereitschaft ist immens. Die Luft muss
immer umgewälzt, temperiert und gereinigt werden.
Deshalb werden oft auch entsprechend dem geschätzten und von Großkunden
angemeldeten voraussichtlichem Bedarf fertig prozessierte Wafer
eingelagert und die alte Fab dann "geplättet" oder auf einen neuen
Prozess umgerüstet.
Andy D. schrieb:> ...aber wenn keiner mehr die "groben" Prozesse kann müssten ja auch> diskrete Planartransistoren, 741er OPVs, 74LS...., 78xx und einiges> anderes inzwischen verschwunden sein :)
Nein, für die ist einfach genügend Absatz da, dass es sich lohnt,
den jeweiligen Technologietransfer zu machen. Am Ende aber auch
nicht für alle. Einen echten 7400 wirst du heute auch nirgends
mehr gefertigt bekommen, weil's halt genügend alternative 74er
Serien gibt, die ihn ersetzen können, genauso einen 74F00 oder
einen 74S113.
Andy D. schrieb:> "Das siehst Du auch daran, dass die jetzt auch 8051'er fertigen, die NXP> abgekündigt hat" ... irgendjemand nimmt die Fackel immer auf (von zig> kleinen Chipgiessern abgesehen), und irgendwie hab ich das warme Gefühl> es wird 2053 wahrscheinlicher sein dass man noch problemlos einen 51er> im 44er Standardpinout bekommt als irgendeinen AVR :)
also von den microchip gefertigen nxp 8051ern war letztes jahr last-buy.
was ich weis gibts nur ein paar exotische typen noch in volumen wenn man
die letzten jahre brav über 100k/a abgenommen hat.
73
..und doch sind in den letzten Jahren sogar noch Bausteine mit 51er
Kernen dazugekommen - PSOC3 und diverse Wireless-Chips zB...
Und einige 74LS... sind bei TI immer noch als "active" gelistet.
"echten 7400"
Mal bei Lansdale schauen :) IIRC gab es beim pre-LS-TTL aber wirklich
ein paar Besonderheiten im Prozess (Golddoping...)
Andy D. schrieb:> ..und doch sind in den letzten Jahren sogar noch Bausteine mit 51er> Kernen dazugekommen
Das ist aber was ganz anderes: das sind ja neue Designs, keine
alten Teile, die vor X Jahren für eine völlig andere Technologie
entworfen worden sind.
> Und einige 74LS... sind bei TI immer noch als "active" gelistet.
Ja, 74LS, aber eben nicht 74[ohne Buchstabe]. Schrieb ich ja, dafür
ist offensichtlich immer noch genug Bedarf da, als dass sich ein
Technologietransfer lohnt.
> "echten 7400">> Mal bei Lansdale schauen :)
Haben die die verschrotteten Produktionslinien aufgekauft? ;-)
Vermutlich wird man sich aber nach einem "Request Quote" dann auf
den Hosenboden setzen ...
A-Freak schrieb:> Ich möchte die Programmierung von AVR-Mikrokontrollern in Assembler> lernen.A-Freak schrieb:> Damit ich später nicht gleich wieder umlernen muß
Wenn Du wirklich zukunftssicher sein möchtest, nimmst Du keinen AVR.
Dann nimmst Du einen ARM oder einen '51er. Eben Controller, die von
mehreren Herstellen produziert werden.
Für Assembler ist der '51er auch wesentlich besser geeignet, als ein
AVR.
Besser wäre natürlich ein ARM, allerdings nicht für Anfänger in ASM ...
Aber eigentlich ist es gar nicht mehr so schlimm, auf einen anderen
Controller umzusteigen, wenn man Assembler auf einer Plattform erst
einmal beherrscht.
Gruß
Jobst
Jobst M. schrieb:> Wenn Du wirklich zukunftssicher sein möchtest, nimmst Du keinen AVR.
Thema verfehlt, setzen.
Die Frage war doch eindeutig, warum muss jetzt nach einem Monat
wieder jemand daherkommen und Evangelismus verbreiten? Bitte
eröffne einen neuen Thread dafür, wenn du das unbedingt für
nötig hälst.
Markus .. schrieb:> wenn man die ATMEL Investor Nachrichten verfolgt dann setzt ATMEL auf> - ATTINY> - ATXMEGA> - ARM
Nein, Atmel setzt bei 32 Bit auf ARM und nur bei 8 Bit auf AVR. So
wurden die Investitionen geplant. Ich bin einmal auf den Messestand auf
der Embedded World gespannt und welche Produkte dort im Vordergrund
stehen.
AVR war gestern schrieb im Beitrag #3036566:
> Nein, Atmel setzt bei 32 Bit auf ARM und nur bei 8 Bit auf AVR.
Genau das stand obendrüber. Warum also "nein"?
Jörg Wunsch schrieb:> Jobst M. schrieb:>> Wenn Du wirklich zukunftssicher sein möchtest, nimmst Du keinen AVR.>> Thema verfehlt, setzen.>> Die Frage war doch eindeutig, warum muss jetzt nach einem Monat> wieder jemand daherkommen und Evangelismus verbreiten? Bitte> eröffne einen neuen Thread dafür, wenn du das unbedingt für> nötig hälst.
Weil die Mikrocontroller-Welt eben nicht nur aus AVR besteht. Das wissen
viele Leute nicht oder verdrängen es. Es muss hier möglich sein, den
Leuten sagen zu können: Falsche Plattform! Auf diesem Weg hier kommst Du
schneller/besser/einfacher/billiger/...... (nichtzutreffendes bitte
streichen) zum Ziel.
Ansonsten würde ich seit mehr als 30 Jahren nur Z80 machen.
fchk
Frank K. schrieb:> Das wissen> viele Leute nicht oder verdrängen es.
Andere Leute wiederum glauben, dass nur das, was sie machen, der
Stein der Weisen ist.
> Es muss hier möglich sein, den> Leuten sagen zu können: Falsche Plattform!
Ja, aber nicht, nachdem der Thread schon einen Monat alt ist und
der TE vermutlich sowieso über alle Berge.
Davon abgesehen: gerade dein "Falsche Plattform" hat bereits sehr
nervige, evangelisierende Züge angenommen mittlerweile. Deine Brille
hat nur ein anderes rosarot als die derjenigen, denen du eine
AVR-Lastigkeit vorwirfst.