SPI Anschluss von zwei MCP4922 an einen Mega32

Persönliche Seite #1845636
Lesenswert?

Hallo zusammen,

befasse mich erstmalig mit der SPI Schnttstelle. Ich möchte drei 
sinusförmige Spannungen mit einer Frequenz vom 45 Hz ausgeben.

Hierzu will ich zwei MCP4922 per SPI Anschluss von an einen Mega32 
anschließen. Ist die nachfolgende Verbindung so OK?


Mega 32         1. MCP4922         2. MCP4922

PB4   (SS)
PB5  (MOSI)
PB6  (MISO)     (PIN 5) SDI       (PIN 5) SDI
PB7  (SCK)      (PIN 4) SCK       (PIN 4) SCK

PB0             (PIN 8) LDAC      (PIN 8) LDAC
PB1             (PIN 3) CS
PB2                                (PIN 3) CS

Wie unterscheide ich zwischen den zwei Ausgängen des MCP4922? immer 4 
Byte für beide Ausgänge senden?

Danke
Axel
Persönliche Seite #1845674
Lesenswert?

@Skript Kiddy
Danke, nun habe ich es auch gefunden. Wer lesen kann......

Hast Du vieleicht ein Programmbeispiel, dass ich abändern kann? Im 
Datenblatt des Mega 32 sind ist auch ein Beispiel.

void SPI_MasterInit(void)
{
/* Set MOSI and SCK output, all others input */
DDR_SPI = (1<<DD_MOSI)|(1<<DD_SCK);
/* Enable SPI, Master, set clock rate fck/16 */
SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);
}

void SPI_MasterTransmit(char cData)
{
/* Start transmission */
SPDR = cData;
/* Wait for transmission complete */
while(!(SPSR & (1<<SPIF)))
;
}

wird dann SPI_MasterTransmit zwei mal aufgerufen?

Was mache ich mit LDAC und CS?

CS auf low
SPI_MasterTransmit(erste Daten)
SPI_MasterTransmit(zweite Daten)
CS auf high
LDAC auf low
LDAC auf high

richtig?






Axel

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