XC9572 Verschiedene Clocks und I²C

Gast #1702110
Lesenswert?
• ▲
▼
Hallo,

hab da ein paar Fragen an euch.

Versuche derzeit einen Wandler von Analogaudio auf AES3 zu bauen. Ich 
habe nun vor mit einem Xilinx CPLD (XC9572) die Clocks für I²S zu 
generieren.
Da ich die Samplingfrequenz für die Wandler variabel gestalten will, 
habe ich vor den CPLD als Slave mit einem Atmega als Master zu 
verbinden. Habe da an I²C gedacht.
Wie kann ich nun zum einen die Taktteilung für I²S (Quarzoszillator 
49,152 MHz) und die I²C Übertragung (100 kHz) unter einen Hut bringen.

Mir ist aktuell nicht so ganz klar, ob ich einen der Clock Eingänge des 
CPLD`s für den Quarzoszillator und den anderen für die Clockleitung von 
I²S unabhängig voneinander verwenden kann.

Gruß,
Tobias
Moderator (Firma: Titel) Persönliche Seite #1702173
Lesenswert?
• ▲
▼
> Habe da an I²C gedacht.
Nimm SPI, das ist wesentlich einfacher zu implementieren, weil es 
eigentlich nur ein Schieberegister ist: 
http://www.lothar-miller.de/s9y/categories/26-SPI-Slave

> Wie kann ich nun zum einen die Taktteilung für I²S (Quarzoszillator
> 49,152 MHz) und die I²C Übertragung (100 kHz) unter einen Hut bringen.
Wenn dir ein eventuell auftretender Glitch in der Taktfrequenz beim 
Eintakten und Umschalten eines neuen Teilers nichts ausmacht, dann 
kannst du das ganz einfach asynchron zueinander machen.

Zudem hast du mit 72 FFs nicht sehr viel Platz im CPLD.... :-o

> Mir ist aktuell nicht so ganz klar, ob ich einen der Clock Eingänge des
> CPLD`s für den Quarzoszillator und den anderen für die Clockleitung von
> I²S unabhängig voneinander verwenden kann.
Du kannst sogar jeden x-beliebigen Eingang zum lokalen Takten der FFs 
nehmen.
Gast #1702190
Lesenswert?
• ▲
▼
Hi,

Danke erstmal für deine Antwort. Werde mir deinen Vorschlag mit SPI mal 
ansehen.

Das mit dem Glitch während der Taktumschaltung ist kein Problem, da ich 
während des Umschaltvorgangs die Ausgänge der Wandler Mute.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.