Forum: FPGA, VHDL & Co. AC97 mit ADC-Signal treiben


von Benjamin K. (halunke86)


Lesenswert?

Hallo,

ich möchte mit Hilfe des AC97-Codecs ein Signal, welches ich mit einem 
ADC erfasse, ausgeben. Nun stehe ich vor der Situation, dass die beiden 
Komponenten in unterschiedlichen Clock-Domänen arbeiten:
Der AC97-Controller wird intern durch den Bitclk des AC97-Codecs (mit 
f=12,288MHz) getrieben und treibt wiederum den Ausgang (also den 
Lineout-Port) mit einer Frequenz von 48kHz.
Der ADC (AD7476) tastet das Eingangssignal mit 1MPSP ab und gibt die 
Daten seriell aus (hierfür wird er intern mit einem clk von 20MHz 
getrieben).

Kann ich die beiden Komponenten nun ohne weiteres miteinander 
kombinieren, oder muss ich für diesen Vorgang eine Synchronisation o.ä. 
vornehmen?

Vielen Dank schonmal im Voraus

Gruß Benny

von Duke Scarring (Gast)


Lesenswert?

Benjamin K. schrieb:
> Kann ich die beiden Komponenten nun ohne weiteres miteinander
> kombinieren,
Nein.

> oder muss ich für diesen Vorgang eine Synchronisation o.ä.
> vornehmen?
Ich sehe da zwei Probleme:

1. Du hast zwei verschiedene Datenraten: 1 MHz am Eingang und 48 kHz am 
Ausgang. Um die Datenrate zu reduzieren bietet sich ein CIC-Filter an 
(Suchfunktion verwenden).

2. Du hast zwei verschiedene Taktquellen. D.h. selbst wenn Dir der 
CIC-Filter aus den 1 MHz Daten 48 kHz Daten macht, können (und werden) 
die nicht genau die 48 kHz Deines AC97-Codecs sein (außer Du verwendest 
die selbe Taktquelle). Also mußt Du Dir erstmal überlegen, was passiert 
wenn zu viele Samples auftauchen und wass passieren soll, wenn mal ein 
Sample fehlt.

Duke

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.