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