Analog Devices AD2S1210 will kein SPI sprechen

OP #3423351
Lesenswert?
• ▲
▼
Hallo,

zur Zeit plage ich mich mit folgendem Problem, bei dem ich überhaupt 
keine Lösung finden kann:

Ich habe einen ADC für Resolver vom Typ AD2S1210 auf einem Eval-Board. 
Dieser funktioniert mitsamt Resolver auch im Parallel-Betrieb und dem 
Dazugehörigen FPGA-Board mit der Windows-Software auch. Nun soll der 
Chip aber nicht im Parallel-Betrieb, sondern per SPI verwendet werden.

Im SPI Betrieb erzeugt der Chip kein Erreger-Signal, was vermutlich 
darauf zurückzuführen ist, dass ich die entsprechenden Register nicht 
per SPI beschreiben kann. Im (funktionierenden) Parallel-Betrieb konnte 
ich heute morgen die Initialisierung mittels Logic-Analyzer beobachten:

Es wird in das Control-Register (0x92) ein neuer Wert 0x76 geschrieben. 
Dieser unterscheidet sich vom Startwert darin, dass die Messauflösung 
geändert wurde.
Danach wird das Fault-Register (0xFF) Adressiert, aber es wird nichts 
gelesen. Danach macht er ein Erreger-Signal.

Das SPI-Signal erzeuge ich mit einem BusPirate von Dangerous Prototypes.
Wenn ich versuche z.B. das Control-Register zu lesen, kommt vom Chip ein 
0x0 zurück. Also kein 0xFF. Also nimmt der Chip meinen Leseversuch zur 
Kenntnis, aber es gibt keine vernünftige Antwort.
Der Verdacht liegt nahe, dass es vielleicht an einem verkehrtem SPI-Mode 
liegt. Anhand des Datenblattes (S.28 / S.29) vermute ich, dass es sich 
um SPI-Mode 3 handelt.

Die Konfigurtion des Bus Pirate ist folgende:
1
1. HiZ
2
2. 1-WIRE
3
3. UART
4
4. I2C
5
5. SPI
6
6. 2WIRE
7
7. 3WIRE
8
8. LCD
9
x. exit(without change)
10

11
(1)>5
12
Set speed:
13
 1. 30KHz
14
 2. 125KHz
15
 3. 250KHz
16
 4. 1MHz
17

18
(1)>1
19
Clock polarity:
20
 1. Idle low *default
21
 2. Idle high
22

23
(1)>1
24
Output clock edge:
25
 1. Idle to active
26
 2. Active to idle *default
27

28
(2)>2
29
Input sample phase:
30
 1. Middle *default
31
 2. End
32

33
(1)>2
34
CS:
35
 1. CS
36
 2. /CS *default
37

38
(2)>
39
Select output type:
40
 1. Open drain (H=Hi-Z, L=GND)
41
 2. Normal (H=3.3V, L=GND)
42

43
(1)>1
44
Ready
45
SPI>W P
46
POWER SUPPLIES ON
47
Pull-up resistors ON

Leider finden sich im Internet wenige Quellen, wie der Chip vernünftig 
verwendet wird und langsam gehen mir die Ideen aus. Ich wäre für jede 
Hilfe sehr dankbar.

Viele Grüße

Christoph
OP #3424340
Lesenswert?
• ▲
▼
Hallo,

ich habe das Problem noch mal weiter beleuchtet und es scheint definitiv 
an der nicht korrekt abgewickelten SPI-Kommuniktaion zu liegen.
Man kann die Register auslesen, indem man die Adresse schickt. Im 
nächsten Zyklus kann man den Registerinhalt lesen. Ich habe dem Dinge 
eine 0x88 geschickt, in dreier-Gruppen und das Ganze wiederholt. Die 
Antwort sollte von der Theorie her immer die Gleiche sein. Im Bezug auf 
die Dreierguppe ist es so, dass die Daten innerhalb der Gruppe 
variieren, die Gruppen ansich aber immer identisch sind.
Ich glaube, dass das irgendwie an Timing, oder der Art von SPI, wie sie 
abgewickelt wird liegt. Screenshots vom LA sind im Anhang.

Evtl. hat ja hier noch jemand eine Idee.

Vielen Dank und Viele Grüße

Christoph
Angehängte Dateien:
Gast #4358233
Lesenswert?
• ▲
▼
Christoph N. schrieb:
> Im SPI Betrieb erzeugt der Chip kein Erreger-Signal, was vermutlich
> darauf zurückzuführen ist, dass ich die entsprechenden Register nicht
> per SPI beschreiben kann.

Der Chip sollte eigentlich auch ohne Konfiguration ein Erregersignal 
erzeugen.
Bei mir macht er das auch im SPI-Modus.

Hast du das "EVAL-AD2S1210"-Board? Hast du nochmal alle Jumper 
überprüft?
Hast du auch /SOE auf low und /RD auf high geklemmt?

Ja ich weiß, deine Frage ist schon ein ganzes Weilchen her, aber falls 
es bei dir nicht mehr aktuell ist, interessiert es vielleicht wen 
anderen.

Grüße,
Hans

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.