Welchen AVR nimmt man derzeit günstigerweise, wenn man einen Sinus (im Audiobereich)generieren will? Es gibt ja immer Modelle, die gerade wieder mal auslaufen und durch einen neuen Typ ersetzt werden. So habe ich bisher mit dem AT90S2313 gearbeitet, aber der ist, glaube ich, schon wieder überholt, oder? Gibt's eine Application Note zur Sinuserzeugung von Atmel?
Da du überhaupt keine Anforderungen an die Qualität des Sinus definierst: jeder ist geeignet
Hallo Ich glaube dann, das spielt kaum eine Rolle, da die AVRs von ihrem Prinzip her alle gleich sind und sich lediglich in Peripherie und Speicher unterscheiden. Einen AVR mit Sinusgenerator gibts aber IMHO nicht. Von daher: Sinus können alle gleich gut. Nimm, was du günstig bekommst und deine anderen Anforderungen abdeckt. Gruss Michael
Wolfram, inwieweit würde die Anforderung an die Qualität des Sinus einen Ausschlag für die Wahl des AVR geben. Nur mal so interessehalber?
Da man einen Sinus normalerweise über ein Look-up-Tabelle erzeugt, könnte man bei mehr Speicher eine feinere Auflösung mit mehr Zwischenschritten abspeichern. Außerdem könnte man theoretisch einen 16bit-ADC aufbauen, wofür man genug freie Ausghänge braucht. Da man das Signal aber sowieso noch durch einen Filter schickt, ist 8bit aber meist vollkommen ausreichend.
PS.: schau dir mal den hier an: http://www.mikrocontroller.net/articles/Digitaler_Funktionsgenerator Der 90S2313 ist veraltet und wird nicht mehr hergestellt. Der weitgehend kompatibele Nachfolger ist der Tiny2313.
z.B. Klirrfaktor Dämpfung der Oberwellen Oberwellen werden durch die Stufung erzeugt. Wenn du also 16 Bit Auflösung statt 8 machst wird es besser. (feinere Stufen) gewöhnlich macht man den Sinus durch PWM mit dem AVR, wenn du deine PWMfrequenz sehr hoch wählst sinken die Anforderungen an den Filter. z.B. AtTiny26 mit 64Mhz zur PWM generierung über PLL. Du kannst genauso einfach ein Rechtecksignal deiner gewünschten Frequenz rausgeben und dieses mit einem aufwendigen Filter zum Sinus machen. definiere welche Anforderungen du hast und dann wähle einen von mehreren Wegen diese zu erreichen.
uwegw: Du meintest sicher DAC, nicht ADC. Und "normalerweise" über Lookuptable stimmt ja nun nicht. Man kann auch gleich eine PWM-Folge generieren und die über ein RC-Filter schicken. Wolfram: Meine Anforderung ist etwa 1% Klirrfaktor. Ich möchte aber kein aktives Filter mehr nachschalten müssen. Gut, bin im Bilde, tiny2313, obwohl, vielleicht täte es auch ein 2323 oder 2343? Ich brauche noch eine Komparatorfunktion und einen Schaltausgang.
>Ich möchte aber kein aktives Filter mehr nachschalten müssen
was denn dann? Womit willst du den Sinus glätten? Auf was soll der
Sinus gehen Kopfhörer oder Lautsprecher? Also das treibst du mit
Sicherheit nicht mit dem Portpin besonders wenn da noch ein RC Glied
dranhängt. Also kannst du den OPV auch gleich als aktiven Filter
beschalten.
Die Lookuptable ist für die Sinusfkt. mit der man die PWM füttert.
Wolfram, mit aktivem Filter meinte ich Op-Amp. Wollte nur eine RC-Kette dahinter hängen. Wieso soll ich die nicht mit dem Port-Pin treiben können?
Die RC-Kette schon, aber ich bezweifle ,dass du den dahinterhängenden Verbraucher (Lautsprecher) auch noch treiben kannst.
Es gibt eine Application Note von Atmel. Musst Du Dir aber selbst suchen. Bitte Ergebnisse hier posten. Stichworte sind: tone generation DTMF sinus generaion DDS (direct digital synthese) Entscheiden ist: willst Du eine konstante Frequenz? In welchem Bereich soll die Frequenz liegen? 1% Klirrfaktor ist schon anspruchsvoll. Aktiver Filter könnte die Filterung vereinfachen und verbessern. Je höher die Frequenzen (Sampling und PWM) umso besser. Allerdings ist der µC mit der Sinus-Ausgabe voll ausgelastet. Wenn Du was anderes dazwischen machst, sieht man das am Ausgang. Entweder Du gibst eine Sinustabelle komplett aus (Frequenz durch Samplefrequenz bestimmt), oder verwendest DDS (Frequenz unabhängig von Samplefrequenz). Man kann auch problemlos mehrere Frequenzen gleichzeitig ausgeben (vor dem Ausgeben die Sinus-Werte addieren). Lesestoff: http://www.seattlerobotics.org/encoder/200205/ddsfgen.htm
Die Suche scheint doch schwierig... AVR314: DTMF Generator http://www.atmel.com/dyn/resources/prod_documents/doc1982.pdf Software dazu: http://www.atmel.com/dyn/resources/prod_documents/avr314.zip recht ähnlich, für AT94K http://www.atmel.com/dyn/resources/prod_documents/DOC2816.PDF http://www.atmel.com/dyn/resources/prod_documents/2816.asm Wer über den TellerRand schauen will: AN1771 und AN1222 von Motorola Die DDS-Chips sind inzwischen so einfach, dass man sie wirklich testen kann.
Bin zwar nicht aus dem AVR Lager aber den besten Sinus generiert man mit dem hoechstaufloesenden und schnellsten PWM-Timer. Da gibts doch einen (zwei) AT90PWMn, die haben wirklich nette PWM Timer. Zwar sind die als "Lighting" micros ausgezeichnet, doch das sollte den Sinus nicht soteren ;-) Robert
Eine Alternative wäre vielleicht auch der ATMega8-16 Dip. Hat ein 28-pol. DIP Gehäuse und eine Menge mehr Resourcen, kostet nur ca. 1 Euro mehr. Bei Atmel gibts auch eine grosse Übersichtstabelle.
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.