Forum: FPGA, VHDL & Co. digitaler Filter AD-Wandler VHDL


von Der Hesse (Gast)


Lesenswert?

Hallo,

ich beschäftige mich erst seit5 wenigen Wochen intensiv mit VHDL und 
habe folgendes vor:

ich möchte einen AD-Wandler 4-fach überabtasten und dann mittels PT1 
Filter die Daten filtern. Ich möchte anschließend die gefilterten Daten 
über eine RS485-Schnittstelle übertragen.

BSP: Abtastrate 32µs und Datenübertragung alle 128µs.

Ich hab mir das so gedacht. Die Daten, welche vom AD-Wandler kommen 
werden zunächst in ein Register gespeichert welche 4*16Bit speichern 
kann (Schieberegister) sobald 4 Daten vorhanden Hand sind werden die 
gefilterteten Daten per RS485 übertragen. Ich habe eine komponenten für 
die ADC-Ansteuerung relisert und eine komponente für das RS485 
Interface. Beide sollen auf das Register zugreifen RS485 lesend und ADC 
schreibend.

Für mich stellen sich nun folgende Fragen:

Wie realisiert man einen PT1 in VHDL???
Wie realisiere ich, dass lesen und schreiben des Register (vorallem die 
unterschiedlichen Clocks?)

Vllt. hat ja jmd. schonmal so eine ähnlich aufgabe gelöst und kann das 
hier posten an einem bsp. lässt es sich immer leichter verstehen.

Vielen Dank für eure Hilfe!!

von Christian R. (supachris)


Lesenswert?

Da die Abtastfrequenz und die Verarbeitungsfrequenz starr zueinander 
sind, brauchst du nur einen Takt und ein Clock-Enable für den langsamen 
Teil. Somit umgehst du die 2-Clock Geschichte. Das digitale Filter 
kannst du natürlich selbst schreiben, ansonsten den Core-Generator des 
jeweiligen FPGA-Herstellers bemühen und das Digital-Filter als Core 
erzeugen lassen.

von Thomas (Gast)


Lesenswert?

Bei der 4 Überabtastung bekommst Du- so wie Du sie beschreibst, eine 
Apertur, die mindestens mit 12 Werten in der Betrachtung gefiltert 
werden muss.

Ausserdem würde ich nochmal hintefragen, ob Du wirklich weisst, was Du 
da tus: Wenn der Wandler eine Abtastrate von 32µs hat und die 
Datenübertragung alle 128µs erfolgen soll, dann ist das eine 
Unterabtastung, besser eine digital down conversion.

Ohne Filterung reicht es, wenn Du einfach 3 von 4 Werten verwirfst!

Eine Überabtastung läge vor, wenn Du eine Aalogeingang, der eine 
Bandbreite von z.B. 100kHz hat, nicht mit >200 kHz , sondern mit 1MH 
abtastest um die Wandlerprobleme zu minimieren.

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.