Forum: Mikrocontroller und Digitale Elektronik Rohdaten auf Datenträger speichern


von Erik (Gast)


Lesenswert?

Brauche Hilfe...
Kann mir jemand sagen wie man ein *.wav-file in Rohdaten umwandelt,
d.h. nur die reinen PCM-Daten rausextrahiert, zwischenspeichert und
mittels eines Programms auf einen Datenträger (CF oder MMC)ohne
Dateisystem ab einer bestimmten Adresse speichert?
Sinn der Sache ist es, dass später der MC das Lied vom Datenträger ab
einer bestimmten Adresse abspielen kann.

von Benedikt (Gast)


Lesenswert?

Rohdaten aus einer Wave: Die ersten 44Bytes weglassen. Der rest sind die
reinen Audiodaten. Das kopierst du einfach als Datei auf eine CF Karte.
Jetzt musst du nur noch rausfinden, wo die Datei beginnt. Solange du
weniger als ein paar hundert Dateien drauf hast, und immer alles
zusammen löschst, dann werden die auch am Stück direkt hintereinander
darauf gespeichert.
Du musst dann nur die ersten paar kB oder MB mit dem Bootsektor, der
FAT usw. weglassen und kannst die Rohdaten lesen.

von Matthias (Gast)


Lesenswert?

Hi

oder unter Linux direkt auf das Blockdevice schreiben.

Matthias

von Erik (Gast)


Lesenswert?

Dankeschön! Mit winhex kann ich die hex werte ab startadresse schreiben!

von martinw (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute

Also ich beschäftige mich nun auch schon gut 2 Jahre mit dem Thema.
Wobei ich für eine Lösung mit ADWandler 2 Kanal und 32 Kanal Logik
Analysator wäre. Habe das auch schon des öfteren auf Steckplatinen
aufgebaut, im Moment bin ich leider mit dem Studium (Elektrotechnik) zu
beschäftigt, aber in den Sommerferien möchte ich das Projekt nun endlich
durchbringen. Die ersten Tests mit den für die analogen Kanäle
notwendigen OPVs waren schon recht zufriedenstellend.

Habe auch den LA Teil mal gesondert aufgebaut. Habe dafür einen Xilinx
9536 verwendet. Das Problem ist wirklich das die Cache RAMs sehr
langsam sind. Habe 2 Schieberegister verwendet. Der Xilinx kann max in
der -5ns Ausführung mit 100MHz schalten. Durch den parallelen Aufbau
von 2 Schieberegistern, die beim Takteingang sich nur durch einen
Puffer mit durchlaufzeit 5ns unterscheiden wären 200MHz drinnen.
Allerdings braucht man dann einen Cachebaustein für EINEN Kanal. Hat
dann bei mir mit 160MHz Abtastrate sehr gut funktioniert, ist aber
leichter Overkill ;-)

Jetzt erst kürzlich habe ich mir eine Platine geätzt (siehe angehängtes
Bild). Auf dieser sind schon 4 Cachebausteine oben, und ein Xilinx 9536,
welcher die Adressenansteuerung übernimmt. An den Pins kann man dann 4 *
8 Bit = 32 Bit = 4 Byte Daten anlegen. Eigentlich muss das ganze nur
mehr mit ein paar Pufferbausteinen mit einem µC verbunden werden und
fertig ist der LA. Damit wären dann knapp 50MHz drinnen, nur mit der
Triggerung ist dann halt Essig, da müsste man sich noch etwas
überlegen. Vielleicht einen vorgeschalteten großen Xilinx 95188 mit
vielen Pins, leider komm ich an solche Bauteile aber nur schwer heran
in Österreich...

MfG Martin W

-------------------------------
http://www.sbox.tugraz.at/home/m/martinw

von martinw (Gast)


Lesenswert?

Ups flascher Beitrag, kommt davon wemm man immer mit mehreren Fenstern
arbeitet ;-)
Sorry

MfG Martin W

von AxelR. (Gast)


Lesenswert?

hihi

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.