Frage zu PGA2311 und SPI

Gast #254437
Lesenswert?

Hallo,

ich habe noch nie SPI bei einem Mikrocontroller benutzt. Z.Zt benutze
ich einen AVR Mega163. Jetzt muss ich leider den IC PGA2311
(Volume-Control) per SPI ansteuern. Leider habe ich überhaupt keinen
Ansatz wie sowas geht. Welche Ports brauche ich denn genau?
MOSI, MISO und welche noch ? Und was ist mit dem ISP Interface,
kann ich die Leitungen (MOSI,MISO) einfach parallel schalten?

Leider habe ich keinen Schaltplan zur Anbindung des PGA2311 am AVR
im Netz gefunden. Hat den PGA2311 schon jemand mit dem AVR benutzt
und evtl. einen Schaltplan für mich und sogar ein Codebeispiel
in C ?

Wäre euch echt dankbar!

Liebe Grüße
TS
Gast #254440
Lesenswert?

Hallo Thomas,
ich habe erst mal die Schaltung angehängt.
Den DMX Part kannst Du dir ja wegdenken (LTC485, Dil Schalter)
Du brauchst eigentlich nur diese Verbindungen:

MOSI - SDI (Daten)
SCK - SCLK (Clock)
PB0 - /CS (Chip Select)
ZCEN (Zero cross enable) und MUTE kannst du dauerhaft beschalten.

Gruß
Jürgen
Angehängte Dateien:
Gast #254441
Lesenswert?

Hallo Jürgen,

vielen Dank für deinen Schaltplan, er hat mir schon sehr
weitergeholfen.
Das was mich noch etwas irretiert sind die Spannungsversorgungen
für 5 Volt. Da wird zwischen 5V Digital und 5V Analog unterschieden.
Muss ich zwei getrennte Stromversorgungen nehmen, oder kann ich auch
beides an einer 5V Versorgung anschliessen ?

Viele Grüße
Thomas
Gast #254442
Lesenswert?

Hallo Thomas,
der PGA braucht ja schon mal eine eine symetrische 5V Stromversorgung
für den Analog Teil. Ich würde diese auch separat aufbauen und auch wie
im Datenblatt beschrieben, die GNDs nur an einem Punkt miteinander
verbinden.

Gruß
Jürgen
Gast #254444
Lesenswert?

5V analog und digital zusammen? Yogiii, das würde dem Ranger
gar nicht gefallen! Gibt zu viele Störungen. Selbst die Massen AGND und
DGND sollte man so weit wie möglich auseinander halten und erst in einem
Punkt (im Netzteil) miteinander verbinden.

Wegen der Ansteuerung: im Datenblatt des PGA2311 ist auf Seite 8 eine
Zeichnung des Timing-Diagramms für das Datenwort. Daraus liest Du
folgende Parameter ab:

1. 2*8-Bit-Datenwort
2. rechter Kanal zuerst
3. MSB zuerst
4. Daten sollen bei steigender Flanke von SCLK gültig sein

Diese Einstellungen mußt Du nun auf die Initialisierung vom SPI
(ich meine da besonders die Parameter CPOL und CPHASE) übertragen. Die
Geschwindigkeit, mit der die Daten übertragen werden, ist (in gewissem
Rahmen) erst mal egal. Dafür gibts ja die SCLK.

Das Timing ist nicht besonders zeitkritisch; verträgt ggf. auch eine
Pause mittendrin. Entscheidend ist, daß immer bei steigender Flanke von
SCLK gültige Daten auf der Datenleitung anliegen.

Die Senderoutine sähe dann so aus:

1. /CS auf low setzen (ganz normaler Portpin)
2. rechten Kanal ins SPI schicken
2a. warten, bis rechter Kanal fertig übertragen ist
3. linken Kanal ins SPI schicken
3a. warten, bis SPI-Übertragung beendet!
4. /CS wieder auf high setzen (==> PGA2311 übernimmt Daten)

Greetz
KMT
Gast #2069343
Lesenswert?

Hallo,

Please send me HEX file ATMEGA

my e-mail tur_jose@hotmail.com

thanks

Jürgen Berger schrieb:
> Hallo Thomas,
> ich habe erst mal die Schaltung angehängt.
> Den DMX Part kannst Du dir ja wegdenken (LTC485, Dil Schalter)
> Du brauchst eigentlich nur diese Verbindungen:
>
> MOSI - SDI (Daten)
> SCK - SCLK (Clock)
> PB0 - /CS (Chip Select)
> ZCEN (Zero cross enable) und MUTE kannst du dauerhaft beschalten.
>
> Gruß
> Jürgen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren