Forum: Mikrocontroller und Digitale Elektronik TI SRC4392 eingebaute NON-PCM Erkennung arbeit nicht


von Peter (Gast)


Lesenswert?

Mein Problem ist das ich eine Schaltung habe mit einem SRC4392 von Texas 
und dieser SRC kann angeblich erkennen ob man AC3, DTS oder PCM ihm zu 
spielt.
Soweit das Handbuch.

Angeblich findet man im Register 0x12 die Status Information.
Nur ich kann da AC3 über SpDiff drauf jagen wie ich will, die Bits sind 
immer 0 und der Datenstom kommt dummerweise auch noch raus.
Gebe ich normale PCM Signale drauf kann ich die Musik hören, also die 
Signalkette arbeitet. Lese ich nun das Register 0x12 ist es 0x00 was ja 
richtig ist, ist ja auch PCM.

Was mache ich falsch oder muss ich einschalten damit die NON-PCM 
Erkennung mal funktioniert.

Viele Grüsse, Peter

von Clemens L. (c_l)


Lesenswert?

Peter schrieb:
> Angeblich findet man im Register 0x12 die Status Information.

Da steht nur drin, ob die in IEC 61937 definierten Präambeln 0xF872 und 
0x4E1F empfangen wurden. Ich weiß zwar nicht, wo dein AC-3-Signal her 
kommt, aber wahrscheinlich ist es nicht so formatiert.

Bei AC-3 über S/PDIF wird häufig einfach nur das Validity-Bit gesetzt. 
Das kannst du in VBIT (Register 0x14) lesen.

: Bearbeitet durch User
von Peter (Gast)


Lesenswert?

Ob die Daten so aufgebaut sind kann ich auch nicht sagen.
Aber da die Erkennung nicht funktioniert, darf ich mal vermuten das 
diese Kennung nicht richtig ist.
Mein billiger Surround Empfänger erkennt jeden Falls das AC3 Signal.

Das Signal kommt von einem SAT Receiver, da kann ich leider nicht rein 
schauen.

Das VBIT sehe ich mir mal an.
Muss man dafür auch das INT Flag setzen?

Vile Grüsse, Peter

von Clemens L. (c_l)


Lesenswert?

Peter schrieb:
> Das VBIT sehe ich mir mal an.
> Muss man dafür auch das INT Flag setzen?

Es gibt kein Bit names INT. Aber MVBIT und MVBITM.

von Peter (Gast)


Lesenswert?

Das meinte ich doch.

Ich habe endlich mal eine Info (VBIT) wenn ich AC3 drauf gebe.
Nur ist die Info sofort wieder weg beim 2. auslesen und wenn ich wieder 
PCM drauf gebe kommt das Flag wieder. Zum Glück kommt das Flag nicht 
wenn ich zwischen PCM Kanälen umschalte.

Da muss ich mir jetzt was Überlegen, ist so nicht wirklich praktikabel.


VG, Peter

von Peter (Gast)


Lesenswert?

Da ich absolut keine sinnvolle Informationen im SRC finden kann, ob da 
nun AC3 rein kommt muss ich das ganze Projekt so nun in frage stellen.

Ich befürchte ich darf einen DSP einbauen der das ganze dann in Software 
macht. Schade nur der 4392 wäre einfacher und auch billiger gewesen.

Mal sehen was es so sinnvolles an DSP Typen gibt mit denen ich so einen 
SCR mit den ganzen Ein und Ausgängen bauen kann.
Eine freie C Umgebung mit Debugger sollte es auf jeden Fall geben, sonst 
nützt mir der beste DSP nichts.
Muss wohl auch noch mehr in den DSP rein packen damit der ganze Platz 
dafür auch frei wird.
So ein Elend nur weil der SRC nicht sauber ein anliegendes AC3 Signal 
erkennt.


VG, Peter

von guest (Gast)


Lesenswert?

Hi,

Du könntest mal versuchen aus der Page 1 die Addresse 0 und/oder 1 zu 
lesen. Bit 1 sollte anzeigen ob PCM oder komprimierte Daten reinkommen.

von guest (Gast)


Lesenswert?

Ach nochwas ...

Peter schrieb:
> Mal sehen was es so sinnvolles an DSP Typen gibt mit denen ich so einen
> SCR mit den ganzen Ein und Ausgängen bauen kann.

Die Ein-/Ausgänge (DIR/DIT) vom SRC4392 gibts ja auch ohne SRC, nennt 
sich dann DIX4192.

von Peter (Gast)


Lesenswert?

Habe gerade versucht die Page 1 auszulesen, aber ich bekomme immer 0.
In allen Registern steht nichts.
Irgendwie scheint da nichts rein zu kommen.

Im Register 0x0D gibt es ein Flag BIT.4 das habe ich auch mal gesetzt 
aber es bleibt bei 0 Informationen.

Wenn ich es nun richtig verstanden haben wird diese Art der Erkennung 
aber nicht beim Eingang A & B arbeiten, diese Informationen kommen nur 
von den R Eingängen.

VG, Peter

von Clemens L. (c_l)


Lesenswert?

Peter schrieb:
> Irgendwie scheint da nichts rein zu kommen.

Ich weiß nicht, ob diese Metadaten in S/PDIF grundsätzlich nicht 
enthalten sind, oder nur von deinem Receiver nicht gesendet werden.

Könntest du einen Logic-Analyzer auf dieses Signal loslassen?

von guest (Gast)


Lesenswert?

Clemens L. schrieb:
> Ich weiß nicht, ob diese Metadaten in S/PDIF grundsätzlich nicht
> enthalten sind,

Doch, sie sind drin. Wenn man sie wegläßt ist es kein S/PDIF mehr.
Nennt sich "Control word" bzw. "Control code". Im Bit0 steht ob es 
tatsächlich S/PDIF ist (Bit0=0) und in Bit 1 halt ob normal oder 
komprimiert.
Kann natürlich sein, das der Receiver die nicht korrekt setzt. Beim 
SRC4392 kann man sich diese Daten seriell auf einem IO-Pin ausgeben 
lassen.

Peter schrieb:
> Wenn ich es nun richtig verstanden haben wird diese Art der Erkennung
> aber nicht beim Eingang A & B arbeiten, diese Informationen kommen nur
> von den R Eingängen.

Jup, so sieht das wohl aus. Für das Dekodieren des S/PDIF Protokolls ist 
der 'DIR'-Teil zuständig und der häng halt nicht an den A + B Ports 
dran. Zumindest nicht laut Datenblatt(z.B. Figure 59 und 67).

von guest (Gast)


Lesenswert?

guest schrieb:
> Peter schrieb:
>> Wenn ich es nun richtig verstanden haben wird diese Art der Erkennung
>> aber nicht beim Eingang A & B arbeiten, diese Informationen kommen nur
>> von den R Eingängen.
>
> Jup, so sieht das wohl aus. Für das Dekodieren des S/PDIF Protokolls ist
> der 'DIR'-Teil zuständig und der häng halt nicht an den A + B Ports
> dran. Zumindest nicht laut Datenblatt(z.B. Figure 59 und 67).

Achso, die Werte in den Registern 0x12 & 0x14 sind in dem Fall natürlich 
auch bedeutungslos, da die ebenfalls vom DIR kommen.

Warum benutzt Du eigentlich A/B und nicht die RX-Eingänge? Die sind doch 
ganau dafür da.
Die A/B-Ports dienen eher dazu, zusättzliche HW in den Datenstrom mit 
einzuschleifen z.B. Equalizer oder Dekoder für weitere Audioformate.

von Peter (Gast)


Lesenswert?

Die A & B Ports brauche ich halt um weitere Daten rein zu bekommen.
Das sind aber nie AC3 Daten, habe ich extra noch mal nach gesehen, 
kommen sozusagen von einem reinen PCM Sender. Da habe ich schon mal 
Glück gehabt.

Warum ich keine Daten in der Page 1 habe kann ich mir nicht erklären.
Auslesen mache ich über I²C, falls das weiter hilft.

Peter

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.