mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anbindung DAC an AVR so möglich?


Autor: Timm K. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hiho liebe Leute,

ich möchte mir einen Wecker bauen - und suche gerade nach dem 
"optimalen" Weg, den Alarmton zu generieren.

Ich möchte kein simples Gepiepse mit Hilfe irgendwelcher Tabellen im AVR 
generieren, sondern würde lieber einen "echten" digitalisierten Sound 
(Feuerwehrsirene) wiedergeben.

Was für mich quasi schon feststeht ist, dass ich ein AT45-Dataflash von 
ATMEL per SPI an den ATmega88 anbinde.

Die Frage ist nun: Wie geht es am optimalsten/einfachsten weiter?

Variante 1: (Im Moment mein Favorit)

Den Dataflash per SPI am AVR, Ausgang vom Dataflash direkt verbunden mit 
dem Eingang von einem 74HCT595 zur Seriell-Parallel-Wandlung - dahinter 
dann einen 8-bit DAC.

Diese Variante würde mir ersparen, die Daten erst nochmal im AVR umladen 
und wieder hinaustakten zu müssen. (Gewünschte Samplerate ist mindestens 
11025Hz, falls möglich eventuell 22050Hz, dann aber mit 2x74HCT595 und 
einem 16-Bit R2R als DAC)

Würde das denn so wie gezeichnet funktionieren?

Variante 2:

Den Dataflash per SPI am AVR, Daten werden per PWM vom AVR in ein 
analoges Signal konvertiert.


Hmm... Wenn ich das jetzt so selber lese, dann scheint Variante 2 
vermutlich die "einfache" Version zu sein. g

Trotzdem die Frage: Würde die Schaltung aus dem Anhang so funktionieren? 
(Abblock-Kondensatoren, Pullups, NF-Verstärker usw. habe ich mit absicht 
weggelassen, weil es nur eine kleine Skizze sein sollte.)

Welche Variante lässt sich für den AVR ressourcenschonender umsetzen? 
Der hat ja noch andere Dinge zu tun, wie z.B. DCF77-Auswertung, 
Displaymultiplexing (5 Stück 5x7-Matrix)...

Vielen Dank für eure Aufmerksamkeit,

Gruß

Timm

Autor: Oork (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der DAC keinen Write pulse braucht geht das so.

Autor: Timm K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der DAC befindet sich im "Write Mode", wenn CS und WR beide LOW sind.
Da das Schieberegister schon einen Latch hat, würde ich mir das 
nochmalige "Latchen" beim DAC sparen, dachte ich mir.

So nebenbei:
SCL (Pin 10) am Schieberegister muss natürlich noch auf VCC hochgezogen 
werden - habe ich in der Skizze leider vergessen.

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, vielleicht solltest du lieber direkt einen Soundchip einsetzen? 
AY-3 oder YM2149? Sollten noch zu bekommen sein.

Autor: Oork (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein DAC und ein Soundchip sind nicht ganz dasselbe. Keiner kann den 
anderen in allen Faellen ersetzen.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mußt Du Dir nur noch ´nen Kopf machen, wie Du die Audio-Daten in das 
DataFlash bekommst, da Du das UART des Controllers ja schon belegt 
hast...

Autor: Timm K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Öhm ja... sehr gut aufgepasst! g

Nach dem Einstellen des Beitrages hier das war mir das auch aufgefallen 
- aber die Skizze oben sollte eben nur eine Skizze sein - was also die 
Auswahl der Pins angeht bin ich noch flexibel.

Also Rx/Tx werde ich schon für eine Anbindung an den PC brauchen, um den 
Dataflash per AVR zu beschreiben.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
 falls Du noch ausweichen willst: schau Dir mal den DAC7512 an, habe für 
ähnliche Zwecke auch mit einen AT45DB081D an einem Mega88 hängen.
gespielt wird 22kHz/16Bit Mono, kann man auch gut Musik drüber jagen, 
klingt verblüffend gut.

TI schickt auch Sample...

Gruß aus Berlin
Michael

Autor: Timm K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
16-Bit-Sound mit einem 12-Bit DAC? Schneidest du jedesmal 4 Bit "vorne" 
oder "hinten" ab?

Im Grunde finde ich aber, das 8-Bit für einen Wecksound reichen sollten. 
Irgendjemand hier aus dem Forum meinte zum Thema Weckser einmal "Wecker 
müssen fürchterlich klingen, sonst steht man nicht auf!".

Das Sirenengeheul, dass ich im Moment vorliegen habe ist mit 8-Bit 
aufgenommen worden, daher würde ein 16-Bit DAC mir keine Vorteile 
bringen (für diesen speziellen Anwendungsfall meine ich)

Es sei denn, ich baue mir den Audio-Rekorder von Travel Rec. mal nach 
und klettere Samstag mittag mal auf das Dach der Grundschule damit... 
g

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm doch einfach einen SPI-DAC.
Gibts wie Silizium im Sand am Meer.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timm K. wrote:
> 16-Bit-Sound mit einem 12-Bit DAC? Schneidest du jedesmal 4 Bit "vorne"
> oder "hinten" ab?
Alles um 4 bit nach rechts schieben.

> Im Grunde finde ich aber, das 8-Bit für einen Wecksound reichen sollten.
> Irgendjemand hier aus dem Forum meinte zum Thema Weckser einmal "Wecker
> müssen fürchterlich klingen, sonst steht man nicht auf!".
:-))
Naja, ich habe einen DAC gesucht und diesen gefunden.
Keine Außenbeschaltung, schneller als der AVR je kann und war eben recht 
schnell beschaffbar zum Test.

> Das Sirenengeheul, dass ich im Moment vorliegen habe ist mit 8-Bit
> aufgenommen worden, daher würde ein 16-Bit DAC mir keine Vorteile
> bringen (für diesen speziellen Anwendungsfall meine ich)
Ist dafür ja auch ausreichend, bei mir hängt allerdings ein TPA3001 
dahiner zum Krach machen, da sind die zusätzlichen 4Bit schon gut für 
die Dynamik.

Allerdings würde ich dann für Deinen Wecker wohl nur ein R2R-Netzwerk an 
einen Port hängen und mit 8Bit ausgeben.
Billig, schnell, problemlos.

Gruß aus Berlin
Michael

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich seh in der Schaltung keinen einzigen Kondensator... ich weiss ja 
nicht ob das so optimal funktionieren wird, selbst wenn die Schaltung an 
sich stimmt. Und VREF hast Du auch nicht angeschlossen... das koennte 
aber ok sein, ich kenne den DAC nicht.

Autor: Ralf L.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VS1011ES - Beitrag "VS1011 MP3 wird nicht richtig abgespielt"

Der Decoderchip hat DAC und sonst alles für Soundwiedergabe.

Und auch einen MP3-Decoder, was Speicherplatz für die Signale spart.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.