Hallo zusammen, für ein kleines DSP Projekt suche ich nach einer Möglichkeit 4 I2S Signale (SDA, BCK, LRCK und evtl. MCK) auf den DSP zu multiplexen. Am liebsten würde ich auf einen fertigen IC zurückgreifen, also einen quad 4:1 multiplexer. So einen konnte ich nicht finden, weshalb ich auch auf zwei quad 2:1 Multiplexer zurückgreifen würde, deren Ausgänge ich parallelschalte. Leider konnte ich ebenfalls keinen solchen Multiplexer mit Tri-State Ausgängen finden. Kennt jemand etwas brauchbares in dem Bereich? Alternativ habe ich auch an Reed-Relais gedacht, nur bräuchte ich mind. 12 Stück davon (4 * 3 Signale). Sind solche Relais überhaupt für digitale Signale (~6MHz BCK) geeignet? Bevor ich es vergesse: Mein DSP arbeitet mit 3,3V Logik. Habt ihr noch andere Vorschläge? mfG MR. X
sind die quellen denn alle asynchron, oder warum willst du auch die clocks multiplexen?
Nimm doch einen Controller und sammle die Signale zu Fuß ein. Habe sowas Ähnliches mal mit 'nem Tiny2313 gemacht. Heute würde ich sicher einen XMega nehmen, der von der Peripherie her mehr unter der Haube hat und schneller ist. Mittels Timer/UART und Event-Sytem mit DMA sollte die Aufgabe zu schaffen sein. In ASM, versteht sich ;-).
Hi, ich habe ganz vergessen zu erwähnen, dass ich die Signale alle über einen Sample Rate Konverter (CS8421) in den DSP einspeise, welcher auch die 96KHz Sample Rate für den Sample Rate Konverter zur Verfügung stellt. Die Signale müssen natürlich VOR dem Sample Rate Konverter multiplext werden, sie sind alle asynchron/unabhängig voneinander und haben keine bestimme Sample Rate. Dieser ist einfach notwendig, da mein DSP mit festen 96KHz Sample Rate rechnen soll, ich dennoch jede Quelle daran anschließen können will. An meinem Problem einen passenden Multiplexer zu finden ändert diese Tatsache leider nichts.
schnelle clock buffer (hct) mit output enable eingang sollten es tun. bei bedarf decoder für die enable signale dazu.
:
Bearbeitet durch User
Der Kollege braucht 4x4 Multiplexer, die sind nicht so häufig anzutreffen. Alternativ kann man natürlich auch 4 Quad-Tristate-Puffer nehmen. Die Ausgänge werden parallel geschaltet und die Enable-Eingänge an einen Dezimalzähler gehängt. So kann man die Puffer nacheinander sequenziell aktivieren und die einzelnen Signalgruppen auf den SRC geben.
:
Bearbeitet durch User
Abend, danke zuerst einmal für die Antworten. @Rosses: TTL passt mir wegen der 3,3V Pegel leider nicht. Wegen der Analog-Schalter war ich mir bis jetzt noch unschlüssig, aber auch weil ich keine passenden ICs finden konnte. Als Notlösung müsste ich auf 3 (bzw. 4 mit MCK Signal) analog-Schalter, jeweils für eine Signalleitung, zurückgreifen. Außerdem habe ich noch keine Erfahrung mit den Analogschalter und deren Verhalten in Digitalschaltungen gemacht. @Joe F.: Ich werde es mal mit 74HC125 ICs probieren, welche ich über einen einfachen Atmega ansteuere. Jeweils ein IC soll eine Signalleitung schalten. @Knut: genau so einen Multiplexer würde ich am liebsten einsetzen. Nur konnte ich noch keinen finden. Ich denke/hoffe aber auch, dass Bustreiber mit Tri-State Ausgängen für mich ausreichen.
AnddnA schrieb: > Ich werde es mal mit 74HC125 ICs probieren Nimm lieber die HCT Serie (schneller). 74HCT241 könnte auch interessant sein. Der schaltet gleich 4 Signale mit 1 OE Leitung. Ein OE Eingang ist invertiert, muss man berücksichtigen...
Warum kein Sample Rate Converter von TI? Der SRC4192 hat einen eingebauten 2:1 Multiplexer und es können bis zu 8 IC's kaskadiert werden so das man maximal 16 Kanäle multiplexen kann. Die Ausgabe erfolgt dann mittels TDM Signal in den DSP. DIe Audio DSP's die ich kenne können alle mit TDM Signalen umgehen. Welchen DSP willst du verwenden?
Abend, ich verwende einen ADAU1701 (FreeDSP... sehr interessantes Projekt), der auch TDM unterstützt. Den SRC4129 schaue ich mir auch noch genauer an. Allerdings habe ich noch nicht mit TDM Streams gearbeitet. Muss ich im Falle von TDM im DSP dann den richtigen Stream auswählen, oder wie funktioniert das im Detail? @Joe F. Unterstützt die HCT Serie nicht nur 5V Logik? Ich arbeite ausschließlich mit 3,3V Logik.
Steht TDM nicht allgemein für Time Devision Multiplexing, ist also nur ein Überbegriff bzw. Synonym für Zeitmultiplexing, was wiederum die Grundlage jeder seriellen Datenkommunikation, insbesondere von z.B. I2S ist? Oder handelt es sich hier im Audiobereich übliches Format?
Nachtrag: Ich bestelle zusätzlich noch ein paar 74HC244 und schalte pro IC zwei I2S Signale. Das erleichtert mit das Layout und ich muss nur halb so viele ICs im Gegensatz zu den 74HC125 verbauen. Danke nochmal für den Tipp!
AnddnA schrieb: > Unterstützt die HCT Serie nicht nur 5V Logik? Ich arbeite ausschließlich > mit 3,3V Logik. Aargh, sorry du hast Recht. Ich meinte die AHC Serie.
Vorsicht bei den AHCs: die sauen bei unsauberem Layout höllisch rum! Gut abblocken und wenn möglich 4 Lagen verwenden. Getrennte Spannungsversorgung für Analog und Digital aufbauen.
Knut B. schrieb: > Vorsicht bei den AHCs: die sauen bei unsauberem Layout höllisch rum! War das nicht AC? TI sagt: > The HCMOS family has very low switching noise, which is achieved > primarily through a low slew rate, typically, 0.9 V/ns and the low > drive capability of ±8 mA, resulting in low current spikes during > switching. Though the speed of AHC/AHCT has been increased, the slew > rate of AHC/AHCT is even lower than HCMOS. The ground bounce of AHC > devices attributed to simultaneous switching is better than that of > the standard HCMOS family.
:
Bearbeitet durch User
Ich kann mich an einen AHC Bustreiber an einem RAM erinnern, der mal Schwierigkeiten bei einer Labormessung gemacht hat. Wurde dann gegen einen HC ersetzt, der noch schnell genug war und bei der EMV deutlich besser abschnitt. Anders als die Aussage des o.g. Datenblatts... Muss man im Einzelfall testen. Die verschiedenen Hersteller unterscheiden sich da dann auch gern noch mal.
HC ist aber glaube ich echt zu langsam für MCLK (geht ja vermutlich über 12MHz hinaus). Hat jemand Erfahrung mit "LVT" (z.B. 74LVT244)? https://www.fairchildsemi.com/datasheets/74/74LVT244.pdf
:
Bearbeitet durch User
Joe F. schrieb: > Nimm lieber die HCT Serie (schneller). Für 6MHz braucht es keine "schnelle" Baureihe, das macht jede Standardbaureihe locker. @TO Nimm 2x74HC(T)4052 (Dual 1 auf 4 Analogmultiplexer/-demultiplexer). Ich benutze den 74HC4051 in einem Projekt um Digital- und Analogsignale auf einen Messausgang durchzuschalten. Bis 8Mhz (Rechtecksignal) funktioniert das problemlos. Selbst 24MHz werden durchgeschalten, allerdings wird der Rechteck dann eher ein Sinus und die Amplitude geht etwas in die Kniee. Wenn's auf Flankensteilheit ankommt, könnte man ja noch ein Schmitttriggergatter (z.B. 74HC14) nachschalten. Zeno
Zeno schrieb: > Wenn's auf Flankensteilheit ankommt, könnte man ja > noch ein Schmitttriggergatter (z.B. 74HC14) nachschalten. Ja klasse! Aber darauf achten die bidirektionale Version (74HC14bi) zu verwenden!
Kopfschuettler schrieb: > Aber darauf achten die bidirektionale Version (74HC14bi) > zu verwenden! Na dann lese mal hier https://de.wikipedia.org/wiki/I²S unter Eigenschaften nach. Was steht da zu bidirektionaler Kommunikation? Der TO sprach von I2S und nicht von I2C - das ist ein Unterschied
AnddnA schrieb: > Die Signale müssen natürlich VOR dem Sample Rate Konverter > multiplext werden, sie sind alle asynchron/unabhängig voneinander und > haben keine bestimme Sample Rate. Die max. Samplerate der Eingangssignal ist aber entscheidend. Solange du auf eine Masterclock komplett verzichtest, und nur BCLK, LRCLK und DATA umschaltest, und die max. Eingangssamplerate 96 KHz ist, kommst du mit ~6.1 MHz Bauteilen aus. Anders sieht es aus, wenn dein Eingangssignal z.B. auch 192 KHz haben kann. Dann ist die BCLK und DATA ~12.3 MHz...
:
Bearbeitet durch User
Wenn es da schon passende Sample Rate Converter gibt die man kaskadieren kann und das fertige TDM Multiplexsignal kommt heraus, die dazu auch noch quasi Industriestandard sind, dann würde ich mir das mit den Logik IC nicht antun. Die Inputs sind gebuffert, du mußt keine Clocks splitten und extra buffern (außer MCLK um den DSP und SRC zu füttern). Denke nicht das es da eine einfachere Lösung gibt, auch vor allem auf das PCB Layout bezogen. Du mußt eben nur noch überprüfen ob der TDM Stream des SRC mit dem ADAU1701 Format paßt. Der Stream selbst ist im ADAU1701 einfach zu verwerten, du nimmst die Inputs 2 bis 9 in SIGMA Studio, was den TDM Kanälen 1 bis 8 entspricht. Hier ist das nochmal beschrieben: https://wiki.analog.com/resources/tools-software/sigmastudio/toolbox/io/input?rev=1344368352#adau1701_serial_input_port_routing
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.