Hi Ich steh vor der Wahl ob ich einen alten bewerten ATmega644P nehme oder einen XMega. Die XMega sind etwas schneller, wenn ichs richtig verstanden habe? Es gibt aber auch etliche Leute, die sich über Fehler auf dem Die, Probleme beim Programmieren und und und beschweren. Ich muss eigentlich nur einen Transistor zu einer bestimmten Millisekunde auf High oder Low schalten. Was soll ich nehmen? mfg Spinnerich
Also für so eine hochkomplexe Aufgabe würde ich schon mindestens einen Supercomputer mit mehreren Petaflops greifen...
Spinnerich schrieb: > Ich muss eigentlich nur einen Transistor zu einer bestimmten > Millisekunde auf High oder Low schalten. So eine Aufgabe ist mit den heutigen Mittel nicht realisierbar.
dazu kommt noch die Ansteuerung eines LCD Displays, eventuell über 74HC595 und SPI, eine Tastaturmatrix, die über einen ADC ausgelesen werden soll und eventuell kleinere andere Features, wie LEDs die halt den übertragenen Wert anzeigen. Die Angaben über die Zeit in Millisekunden in der der µC den Transistor schalten soll, wird über I2C oder SPI von einem IO Warrior (musste ich leider nehmen) übertragen. lg Spinnerich
Spinnerich schrieb: > Ich muss eigentlich nur einen Transistor zu einer bestimmten > Millisekunde auf High oder Low schalten. Puhh... das ist natürlich eine Anforderung an die Hardware, welche mit heutigen Mitteln sehr sehr schwer zu realisieren ist. Normalerweise schaffen aktuelle µC das schalten eines Transistors nur im Stundentakt, da müsstest du aber schon einen Cortex M3 nehmen. Nein Spaß bei Seite... Für diese Anforderung einfach mal den kleinsten Tiny (z.b. Tiny25) suchen den du finden kannst. ;) Wenn du was im millisekunden Bereich schalten willst, langweilt sich dieser sowieso zu tote. ;) Spinnerich schrieb: > dazu kommt noch die Ansteuerung eines LCD Displays, eventuell über > 74HC595 und SPI, eine Tastaturmatrix, die über einen ADC ausgelesen > werden soll und eventuell kleinere andere Features, wie LEDs die halt > den übertragenen Wert anzeigen. Die Angaben über die Zeit in > Millisekunden in der der µC den Transistor schalten soll, wird über I2C > oder SPI von einem IO Warrior (musste ich leider nehmen) übertragen. Aha, da sieht die Sachen schon anders aus... Was soll das denn mal werden? Warum nicht gleich: i/O Warrior ---------- | | ---------- Atmega-------------------- | | | | | | | | LCD Tastmatrix LEDs Transe Kommt halt auch ein wenig darauf an, wie groß deine Tastenmatrix ist. Aber dafür dürfte ein ATmega644 vollkommen ausreichend sein.
genau sowas, was du aufgezeichnet hast, hab ich mir vorgestellt. Die Tastaturmatrix besteht aus 12 Tastern, die über unterschiedliche Widerstandskombinationen einen Wert an einen ADC liefern. Ich frag mich aber trotzdem obs nicht doch besser wäre einen XMega zu nehmen, wären ja immerhin neuer. Haben die XMega villeicht programmiertechnisch ein paar Vorteile? Mich beunruhigen eigentlich nur die zahlreichen Threads über angebliche Die Fehler und massive Schwierigkeiten mit den Adaptern zum Flashen
Nimm den, mit dem Du umgehen kannst. Zähle mal die benötigten Portpins, vielleicht reicht ja schon der Mega48, ansonsten würde ich den Mega8535 nehmen. Schieberegister würde ich ohne Not nicht einsetzen, ich bevorzuge (wenn möglich) die Einchip-Lösung, das macht die Platine und das Programm einfacher. ...
>massive Schwierigkeiten mit den Adaptern zum Flashen
Blödsinn. Mit einem avrispkk2 für ein paar Euro funktioniert das auch
Ich hätte halt schon gerne ein paar Reserven, es kann sehr gut sein, dass in 3 Monaten die Schaltung nochmal erweitert werden muss. Mein Ausbilder siehts nicht gerne, wenn ich dann nochmal anfangen muss. Deshalb stell ich mir die Frage auch, XMega oder doch nicht? Die Anzahl der verfügbaren Busse ist auch höher bei den XMega Meine Erfahrungen mit den Atmel sind eh sehr begrenzt, ich hab mal was mit nem Tiny gemacht. Für jedes private Projekt habe ich bisher einen PIC 16 oder 18 hergenommen, hasse diese Teile aber mittlerweile. Hat jemand von euch zufällig einen XMega und kann über Probleme berichten?
Spinnerich schrieb: > Die Tastaturmatrix besteht aus 12 Tastern, die über unterschiedliche > Widerstandskombinationen einen Wert an einen ADC liefern. Zähl einfach die benötigten Pins zusammen und dann nimm den kleinsten AVR, der soviele hat. Spinnerich schrieb: > Ich frag mich aber trotzdem obs nicht doch besser wäre einen XMega zu > nehmen, wären ja immerhin neuer. Ist aber nicht hardware kompatibel zu den ATtiny/mega, nur der Befehlssatz ist gleich. Und wenn Du etwas länger mit MCs arbeitest, wirst Du merken, daß es unklug ist, immer die neuesten grünen Bananen zu nehmen. Es sei denn, man braucht wirklich die Features der neuen ICs. Spinnerich schrieb: > Haben die XMega villeicht programmiertechnisch ein paar Vorteile? Nö. Peter
Spinnerich schrieb: > Haben die XMega villeicht programmiertechnisch ein paar Vorteile? Nein. Sie haben mehr Features, die auch programmiert werden müssen. Spinnerich schrieb: > Ich frag mich aber trotzdem obs nicht doch besser wäre einen XMega zu > nehmen, wären ja immerhin neuer. Ist relativ. Wenn Du Performace brauchst (32Mhz, DMA, Event-System, 16MByte RAM), dann XMEGA, ansonsten reicht ein normaler Mega auch. Hat immerhin bis zu 20 MIPS.
@Spinnerich
>dazu kommt noch....
In dem Fall würde ich, unter der Voraussetzung, dass du dich in die
XMEGA`s mal reinfinden möchtest, es mal mit diesem probieren. Dieser
bietet tolle neue Funktionen z.B. DMA, Event System etc.
Zeit ist dabei wohl der kritischste Punkt, nicht die Errata.
Grüße
Nimm einfach einen AVR mit genug Pins, dann passt das schon. Wenn dir das USI der ATTinys nicht passt, dann nimm einen ATMega. Ein XMega ist für deine Aufgabe Overkill.
Der ATMega 644p hat den Vorteil, dass es hier im Forum schon recht viel Code Beispiele für LCD,ISP etc. gibt und du somit beim Programmieren viel Zeit sparen kannst. Beim XMega ist es zwar nicht viel schwieriger, aber dennoch musst du den Code eventl. erst anpassen oder wo anders suchen oder dir selber aneignen, was natürlich enorm zum Verständnis beitragen würde :)
Max Power schrieb: > Der ATMega 644p hat den Vorteil, dass es hier im Forum schon recht viel > Code Beispiele für LCD,ISP etc. gibt Ein XMega hat den Vorteil, an fast jedem Port mehrere UARTs, SPIs, I2Cs und Timer zu bieten, was einerseits den Anschluss vieler Bausteine ermöglicht und andererseits das Design sehr vereinfacht.
unwissender schrieb: > Zeit ist dabei wohl der kritischste Punkt, nicht die Errata. Damit ist die Entwicklungszeit für Dein Programm gemeint. Dein Projekt hat null Anforderungen an CPU-Geschwindigkeit, warum sich also zusätzliche Entwicklungszeit ans Bein binden? Du kannst den AVR ruhig mit den internen 1MHz laufen lassen, das schafft der dicke. Es sei denn, die 1ms müssen genau sein, dann brauchst Du nen Quarz. Peter
ich brauch die 1ms so genau wie nur irgendwie möglich, deshalb wollte ich an die Pins TOSC1 und TOSC2 einen 32,768kHz Quarz ranhängen und das über den Timer 2 lösen. Die Zeiten in der eine Leitung auf High oder Low geschalten werden soll, müssen eingestellt werden können mit einer Auflösung von 1ms, so genau wie irgendwie möglich
Spinnerich schrieb: > ich brauch die 1ms so genau wie nur irgendwie möglich, deshalb wollte > ich an die Pins TOSC1 und TOSC2 einen 32,768kHz Quarz ranhängen und das > über den Timer 2 lösen. Dann ist die bestmögliche Schrittweite aber nur 993µs (32,768kHz/33). Nimm besser nen 10MHz Quarzoszillator, dann schaffst Du genau 1000,0µs und die sind ab Werk schon sehr genau abgeglichen. Peter
Spinnerich schrieb: > Die Zeiten in der eine Leitung auf High oder Low geschalten werden soll, > müssen eingestellt werden können mit einer Auflösung von 1ms, so genau > wie irgendwie möglich definier mal wie genau und wie steil die flanken sein müssen... (µs, ns, fs, as ??)
die Flanken müssen möglichst steil sein, aber nicht so steil, dass das Teil EMV mäßig so stark rumsaut. im µs Bereich würde auf alle Fälle reichen sind 10 Mhz am TOSC1 und TOSC2 nicht bisschen viel?
Spinnerich schrieb: > sind 10 Mhz am TOSC1 und TOSC2 nicht bisschen viel? Richtig. Deswegen schließt man einen 10Mhz-Quarz ja auch an XTAL1 und XTAL2 an.
Knut Ballhause schrieb: > Dann nimm doch 2 10Mhz-Quarze! Aua-ha... Dir hätte ich diesen Spruch am wenigsten zugetraut... ;-) > > SCNR ...
was wäre denn für meine Anwendung besser? auf den Takt von XTAL1 und 2 oder auf TOSC1 und 2 zu setzen?
Spinnerich schrieb: > was wäre denn für meine Anwendung besser? > > auf den Takt von XTAL1 und 2 oder auf TOSC1 und 2 zu setzen? Auf den Takt von XTAL1/2 natürlich. TOSC lässt nur einen Takt von einem Uhrenquarz mit 32.768Hz zu und sonst nichts. Wie im Datenblatt beschrieben.
Spinnerich schrieb: > was wäre denn für meine Anwendung besser? Das Überdenken der Anforderungen. > > auf den Takt von XTAL1 und 2 oder auf TOSC1 und 2 zu setzen? Liest Du eigentlich die Antworten? Peter hat Dir doch bereits geschrieben, dass das Zeitraster mit Uhrenquarz recht grob ist. Und genauer als ein herkömmlicher Quarz ist ein Uhrenquarz auch nicht, der ist auf Stromsparen optimiert. Wenn Dir ein normaler Quarz zu ungenau ist, dann nimm, wie Peter vorschlug, einen fertig abgeglichenen Quarzoszillator für den Controllertakt. Bei 10 MHz erreichst Du Deine Millisekunde mit dem 16-Bit-Timer bei Zählerstand 10'000 (9'999), das wird also schon extrem genau. ...
Ben _ schrieb: > und bei 20Mhz halt beim doppelten... Man muss aber nicht immer gleich mit Kanonen auf Spatzen schießen. Die meisten kleineren (vom Programmspeicher betrachtet) AVRs mögen auch gar keine 20 MHz. Und vom Programmspeicher aus gesehen reicht ein Tiny2313 für diese Aufgabe völlig aus. ...
Hannes Lux schrieb: > reicht ein > Tiny2313 für diese Aufgabe Und jetzt neu: Der Tiny4313! Gerade lieferbar :-) P.S.: Der Tiny2313 war einer der ersten AVRs mit 20Mhz Spezifikation.
Knut Ballhause schrieb: > Hannes Lux schrieb: >> reicht ein >> Tiny2313 für diese Aufgabe > > Und jetzt neu: Der Tiny4313! Gerade lieferbar :-) Habe ich noch nicht vermisst. Bisher war der Tiny2313 immer ausreichend. Auch beim aktuellen Projekt (http://www.hanneslux.de/planet5b/index.html) ist er noch lange nicht voll. > > P.S.: Der Tiny2313 war einer der ersten AVRs mit 20Mhz Spezifikation. Ich weiß, die habe ich aber noch nie gebraucht. Gruß in die halbe Stadt vom ganzen königlichen Dorf ;-) ...
Hannes Lux schrieb: > Habe ich noch nicht vermisst. Bisher war der Tiny2313 immer ausreichend. Ich schon. Jetzt kann ich für meinen Grafik-LCD-Interface-Baustein endlich den kompletten Grafik-Zeichensatz im Flash ablegen :-) Hannes Lux schrieb: > Ich weiß, die habe ich aber noch nie gebraucht. Du machst ja auch nichts in Richtung Audio, höchstens indirekt... BUMMMM!!! Auch Gruß ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.