Forum: Compiler & IDEs MAX5309 an ATMega2560


von Phiber2000 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Allerseits!

Ich versuche verzweifelt einen MAX5309 
http://datasheets.maximintegrated.com/en/ds/MAX5308-MAX5309.pdf zum 
Funktionieren zu bringen.

Dazu habe ich zur Inbetriebnahme folgenden Code geschrieben:
1
/*
2
* PB1: SCK
3
* PB2: MOSI
4
* PB3: MISO
5
* PB4: CS
6
* PB5: CLR
7
* PB6: LDAC
8
*/
9
10
PORTB |= (1<<PB1) | (1<<PB2) | (1<<PB4) | (1<<PB5) | (1<<PB6);
11
DDRB |= (1<<PB1) | (1<<PB2) | (1<<PB4) | (1<<PB5) | (1<<PB6);
12
SPCR |=  (1<<SPE) | (1<<MSTR) | (1<<CPHA) | (1<<SPR1) | (1<<SPR0);
13
14
uint8_t byte1 = 0b11001111;
15
uint8_t byte2 = 0b11111100;
16
17
_delay_us(1);
18
PORTB &= ~(1<<PB4);
19
_delay_us(1);
20
21
SPDR =  byte1;
22
while(!(SPSR & (1<<SPIF)));
23
SPDR =  byte2;
24
while(!(SPSR & (1<<SPIF)));
25
26
_delay_us(1);
27
PORTB |= (1<<PB4);
28
29
_delay_us(1);
30
PORTB &= ~(1<<PB6);
31
_delay_us(1);
32
PORTB |= (1<<PB6);

Dummerweise macht der DAC-Wandler darauf hin gar nichts. Die Spannungen 
habe ich bereits mit einem Oszilloskop gemessen und die Timings mittels 
Logic Analyzer aufgezeichnet. Den DAC-Wandler habe ich vorsorglich auch 
schon einmal getauscht. Sieht jemand, was ich falsch mache??

Ein Screenshot der Logic-Analyzer-Aufzeichnung ist angehängt.

Viele Grüße
Stefan

von Stefan M. (phiber2000)


Lesenswert?

Ich hab's nach inzwischen 5 Tagen Fehlersuche nun doch hinbekommen!
Was nach den Beschreibungen im Datenblatt nicht deutlich wird ist, dass 
die einzelnen DAC-Kanäle vor oder nach dem Bespielen der Input-Register 
und der Übermittlung in die DAC-Register auch noch aufgeweckt werden 
müssen (Befehle: siehe Table 2. Serial Interface Power-Up and Shutdown 
Commands im Datenblatt).
Vielleicht hilft es irgendwann noch jemandem...

Grüße
Stefan

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
Noch kein Account? Hier anmelden.