Hi Maik,

mit diesem Chip habe ich im Speziellen zwar noch nicht gearbeitet (klingt aber interessant!!), aber ein kurzer Blick ins Datenblatt verrät, dass er per SPI anzusteuern ist. Und das ist keine Hexerei.

Man muss dem PGA2310 lediglich zwei Bytes schicken, diese zwei Bytes definieren dann den Verstärkungsfaktor der beiden Verstärker-Kanäle. Die Formel habe ich auch im Datenblatt gefunden:

Gain (dB) = 31.5 − [0.5 (255 − N)]

wobei N das übertragene Byte ist. Ist N=0, wird der Eingang auf Masse gelegt, d.h. der Verstärker ist stumm (=Mute). Mit Werten für N von 1 bis 255 kann man also Verstärkungen zwischen -95,5 dB und +31,5 dB einstellen. Das erste gesendete Byte definiert die Verstärkung des rechten Kanals, das zweite die des linken Kanals. Nach dem Einschalten ist dieses N für beide Kanäle übrigens immer erstmal 0.

Wenn der PGA2310 Daten per SPI empfängt, schiebt er den bisherigen Inhalt der beiden Verstärkungs-Bytes seriell über den Data Out-Anschluss raus (Pin 7, SDO). Zwischen SDI und SDO liegt also eine Art Schieberegister, in dem die beiden Verstärkungs-Bytes abgespeichert sind.
Dadurch kann man beliebig viele dieser Bausteine datentechnisch "kaskadieren": SDO des ersten Bausteins wird an SDI des zweiten gehängt, SDO des zweiten an SDI des dritten, usw. Wenn Du also drei Bausteine aneinanderhängst und dann nacheinander sechs Bytes in den ersten PGA2310 schiebst, landen Byte 1+2 im dritten Baustein, Byte 3+4 im zweiten und Byte 5+6 im ersten. Du kannst also mit einem einzigen Controller beliebig viele 2310er ansteuern.

Nur eben die Frage, ob ein paralleles Arbeiten möglich ist.
"Parallel" geht natürlich nicht, denn Mikrocontroller können immer nur eines nach dem anderen abarbeiten. Aber wenn Du einen LCD-Befehl mit den neuen Informationen unmittelbar ausführen lässt, nachdem Du den Bausteinen ihre neuen Verstärkungsdaten geschickt hast, dürfte kein Mensch diese Zeitverzögerung von ein paar Mikrosekunden bemerken.

Wäre es möglich, dass ich hierzu zwei dieser PGA2310 parallel betreibe? Der erste PGA würde das ungefilterte Signal durchlassen, der 2te das durch den Hochpass gefilterte. Ich würde es mir dann so vorstellen, dass beim Verstellen des Treble der eine PGA "leiser" gestellt wird, der andere simultan "lauter".
ist dies möglich/machbar oder bleibt es in meiner Fantasie?
Rein technisch dürfte das kein Problem sein. Ob das Resultat allerdings dem einer Höhen-Regelung nahekommt, kann ich nicht sagen. Dazu kenne ich mich viel zu wenig mit analoger Klangregelung aus. Im Zweifelsfall einfach mal versuchen und anhören, wie´s klingt!

Und zu den SI-relevanten Bascom-Befehlen Config Spi, Spiinit und Spiout gibt´s sehr gute Beschreibungen in der Bascom-Hilfe!