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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Peter (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.