Forum: Mikrocontroller und Digitale Elektronik PC-Micro an AVR


von Richard (Gast)


Lesenswert?

Hallo,

kann ich ein PC-Micro an einen AVR anklemmen und dann den Ton auf eine 
SD-Karte schreiben?
Und später mit dem PC abspielen?

Ist das Technisch möglich? Gibt es hierzu schon Projekte?

von akw (Gast)


Lesenswert?

Hallo!

Ich denk mal mit PC Mikro meinst du ein normales Mikrofon mit Klinke 
Stecker?! Du kannst es (evtl. über einen kleinen Verstärker) an den ADC 
hängen, einlesen und dann als Wave auf ne SD Karte schreiben. Besser wär 
natürlich ein MP3-Encoder mit Mikrofoneingang dann könntest du die Daten 
digital am AVR empfangen und als MP3 speichern. Wäre in sachen 
Dateigröße usw. sinnvoller.

gruß

von Rahul, der Trollige (Gast)


Lesenswert?

>Ist das Technisch möglich?
Ja, dürfte aber aufgrund der relativ geringen ADC-Abtastfrequenz von ca. 
15kHz eher wie Eimer klingen.

>ein MP3-Encoder mit Mikrofoneingang
Gibt es sowas noch? Oder überhaupt beschaffbare MP3-Encoder für "wenig" 
Geld?

von Sebba (Gast)


Lesenswert?

Ja, technisch ist das möglich.

Möglichkeit 1: Daten als PCM einlesen und so auf die Karte speichern
Möglichkeit 2: MP3 Encoder Chip nehmen und als mp3 File auf die Disk 
speichern.

Brauchst halt n bissl analoge Technik (Vorverstärker,...) Das is aber 
recht einfach wenn man sich n bissl mit Eletronki auskennt.

Und dann das digitale Geplänkel -
Die MP3 Version dürfte etwas einfacher werden, da der Encoderchip 
fertige Daten liefert und die Datenrate ca 1/10 des PCM Datenstroms sein 
dürfte - du hast also genug Zeit um die Daten auf die SD zu schreiben.

Bei reinen PCM Daten bin ich mir nicht sicher ob ein AVR das schafft - 
ich denke aber schon (bin der Meinung was von 200 KByte/Sek 
Schreibgeschwindigkeit gehört zu haben (natürlich erstmal RAW) das wär 
ja schon locker über 16Bit/44.1KHz/Mono = 90 KByte/Sek)

Da du das ganze am PC abspielen willst musst du dich halt drum kümmern 
die Daten korrekt zu schreiben (FAT16/32 - richtige Dateinamen, 
Fileheader, bla bla)
Das wird wohl das komplizierteste.

SD Schreibroutinen gibt es ein paar im Netz zu finden - einfach mal 
suchen.

Gruß
Sven

von akw (Gast)


Lesenswert?

Ja, mit der Frequenz hast wohl recht! Aber ist theoretisch möglich ;)

Decoder mit Eingang gibts natürlich! Hier ist mal ne Übersicht, da hat 
es auch welche mit Eingang dabei:

http://www.mikrocontroller.net/articles/MP3

Ansonsten nen ARM der macht das in Software!

gruß

von Sebba (Gast)


Lesenswert?

ich hasse Browser Caches...
Sorry, hab die anderen Posts übersehen.

von Rahul, der Trollige (Gast)


Lesenswert?

Den MAS3587F hat Micronas scheinbar aus dem Programm genommen...

von Richard (Gast)


Lesenswert?

> Ja, dürfte aber aufgrund der relativ geringen ADC-Abtastfrequenz von ca.
15kHz eher wie Eimer klingen.

Wie meinst du das? Der ADC am AVR ist zu langsam für ein Micro?


Das Schreiben auf einer SD ist nicht das Problem.
Das Problem ist das Micro. Wenn ich also die ADC Werte abspeichere habe 
ich ein haufen daten wie "10,233,123,5,255,255,33".
Kann ich die Werte nicht irgendwie dann durch einen Convert am PC 
hörtbar machen?

von Snake (Gast)


Lesenswert?

auf dem pc als .wav speichern und den wav/pcm header hinzufügen. infos 
über den header bietet wikipedia: 
http://de.wikipedia.org/wiki/WAV_(Format)#Beispiel_eines_allgemein_lesbaren_WAVE-Dateiformates

das funktioniert jedenfalls beim auslesen der pc soundkarte ganz gut, 
denke nicht dass das großartig andere daten sind

von Karl H. (kbuchegg)


Lesenswert?

> Wie meinst du das? Der ADC am AVR ist zu langsam für ein Micro?

Yep. Mehr als 15kHz Abtastfrequenz ist nicht drinn. Laut
Shanon bedeutet das, dass das Musiksignal tunlichst keine
höheren Frequenzen als 7.5 kHz haben darf. Und 7.5kHz ist
nicht viel. Nur so zum Vergleich: Ein normaler Mensch hört
bis hinauf zu 17, 18kHz ohne Probleme. Babys schaffen ca.
20kHz

Für Telefon Qualität werden 7.5kHz schon reichen, mehr ist
aber nicht drinn.

von Rahul, der Trollige (Gast)


Lesenswert?

>Shanon

Claude Elwood wird aber mit Doppel-N geschrieben...("Shannon", nur so 
als Anmerkung)

>Für Telefon Qualität werden 7.5kHz schon reichen, mehr ist
>aber nicht drinn.

Analoges Telefon hat 8kHz-Bandbreite, oder?
Dann klingt das nicht mal nach Eimer, sondern nach Tonne...

Um Hifi-Qualität (was das auch immer sein mag...) bzw. eine bessere 
Qualität zu erreichen, müsste man einen externen AD-Wandler 
anschliessen.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Man kann den AVR ADC problemlos übertakten ... meiner läuft aktuell mit 
78,xx kHz und tastet auch ein tonsignal ab. Bei einem Audiosignal kommt 
es ja nun wirklich nicht haargenau drauf an, ob hier oder da mal n lsb 
wackelt. (ein leichtes rauschen ist halt hörbar, aber damit kann man in 
den meisten fällen leben)

von Markus K. (markus-)


Lesenswert?

Hallo Leute,

lasst doch mal die Kirche im Dorf. Ihr wisst doch gar nicht genau, was 
Richard genau machen will, seid euch aber sicher, dass er wochenlang in 
HIFI-Qualität aufzeichnen will.

Die Bandbreite bei analogen Telefonen liegt bei etwa 3,4kHz - was für 
normale Sprache auch völlig ausreicht. Viele Programme unter Windows 
definieren "Radioqualität" als 11kHz Bandbreite. Wenn er also mit 15kSPS 
abtastet und damit 7,5kHz Bandbreite erhält, dann sollte das Qualitativ 
irgendwo zwischen Telefon und Radio liegen.

Die Auflösung von einem Telefon lässt sich nicht so einfach angeben, sie 
liegt irgendwo zwischen 8 und 12 Bit. Radio sollte besser sein. 
Andererseits kann ein Anfänger aber auch keinen brauchbaren 
Vorverstärker für 16Bit/44kSPS entwickeln.

Auf eine 2GB SD-Karte passen unkomprimiert bei 44kSPS/16Bit (CD-Qualität 
Mono) etwa 6 Stunden, bei 15kSPS/8Bit etwa 37 Stunden und als 64kbps MP3 
etwa  66 Stunden.

Jetzt sollte man also erstmal wissen, welche Anforderung an die Qualität 
bestehen und wie lange denn aufgezeichnet werden soll. Ein MP3-Encoder 
in der Schaltung macht die Sache sicherlich deutlich komplizierter.

Markus

von Fly (Gast)


Lesenswert?

Ich habe mal ein Projekt durchgezogen wo ich 44.1 kHz 16 Bit PCM Mono 
auf ne CF gespeichert / gelesen habe. Mit mega32 16 MHz und ohne 
automatischem externen Bus!
Kein Problem... da wäre noch mehr drin gewesen. Ich brauchte aber auch 
noch 8kB Ram als Zwischenspeicher...

von Richard (Gast)


Lesenswert?

@Markus Kaufmann
Danke für deinen Beitrag. Mir reicht eine Telefon Qualität 100% aus. Ich 
will mir nur mein Gerede aufschreiben. Ich habe ein schlechtes 
Gedächtnis ... und will mit dem Gerät einfach aufzeichnen was ich Abends 
erledigen muss.

Da ich noch ein "fortschrittlicher" Anfänger bin bräuchte ich ein 
Schaltplan, da ich es noch nicht 100% selber kann.

Hast du ein Schaltplan wie ich das Micro an AVR anschließe incl. 
Verstärker?

von Markus K. (markus-)


Lesenswert?

Hier gibts eine Schaltung für das was Du willst, allerdings nicht mit 
SD-Card, sondern mit Atmel-Dataflash, die es nur in SMD gibt.
http://www.atmel.com/dyn/resources/prod_documents/doc1456.pdf

Ansonsten einfach mal google fragen, was anderes würde ich auch nicht 
machen.

Markus

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
Noch kein Account? Hier anmelden.