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 ?
:
Gesperrt durch Moderator
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.
Markus .. schrieb: > Der neue und zukünftige "mittelgroße" AVR ist der ATXMEGA ! Kannst du das belegen?
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.
Atmel Investor search results for ATMEGA http://ir.atmel.com/search.cfm?method=and&keyword=atmega Atmel Investor search results for XMEGA http://ir.atmel.com/search.cfm?keyword=xmega&SearchYear= Reicht das ?
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.
Hi
>ATXMEGA sind zukunftssicherer als ATMEGA.
Würdest du dafür die Hand ins Feuer legen?
MfG Spess
Gibt es inzwischen XMega mit CAN Bus Interface? Oder mit 5-Volt toleranten Eingaengen?
>>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.
Thomas Eckmann schrieb: > Tolles Argument. Was lernt man auf einem Intel8748 nicht. Ist der dem Atmega88 so aehnlich wie ein Atmega8? fonsana
fonsana schrieb: > Ist der dem Atmega88 so aehnlich wie ein Atmega8? Vor allen Dingen ist der noch älter. 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.
Ich hab eines mit 377 Seiten gefunden: http://www.atmel.com/images/doc2545.pdf Da muss ich wohl die Kurzfassung erwischt haben. fonsana
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.
fonsana schrieb: > Da muss ich wohl die Kurzfassung erwischt haben. Ne, nur ein uraltes. http://www.atmel.com/Images/doc8271.pdf mfg.
Thomas Eckmann schrieb: > Ne, nur ein uraltes. Ok, war der erste Link bei der Tante G "atmega88 data sheet". fonsana
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
Oliver J. schrieb: > Markus .. schrieb: >> Der neue und zukünftige "mittelgroße" AVR ist der ATXMEGA ! > > Kannst du das belegen? Hier ein weiterer Hinweis dazu: http://www.elektor.de/elektronik-news/xmega-e-serie-kleine-avr-controller-von-atmel.2404574.lynkx?referer=rss
Hm, schade... ich dachte die lassen USB Device auch mit der E Serie kommen...
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 ...
Die Kosten für Subnanometer-Masken - aber wäre auch gröbere so teuer die in nen neuen Belichter passen sollen?
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.