AD7124 - Register einstellen

Gast #6956012
Lesenswert?
• ▲
▼
Hallo,

ich hab mir ein ganz banales setup für meinen AD7124 geschrieben:
1
#define AD7124_READ 0x40
2
#define AD7124_WRITE 0x00
3
#define AD7124_COMM_REG 0x00
4
#define AD7124_STATUS_REG 0x00
5
#define AD7124_CONTROL_REG 0x01
6

7
/* adc config register */
8
#define AD7124_FULL_POWER 0xC0
9
#define AD7124_LOW_POWER 0x00
10
#define AD7124_MID_POWER 0x40
11
#define AD7124_DATA_STATUS 0x04
12
#define AD7124_INT_CLK 0x01
13
#define AD7124_CONTIN_MODE 0x00
14

15
void ad7124Init (void)
16
{
17
uint8_t i;
18

19
for (i = 0; i < SPI_BUFFER_SIZE; i++)
20
{
21
spiTransmitBuffer[i] = 0xff;
22
spiReceiveBuffer[i] = 0xff;
23
}
24

25
sspiTransmitByte (AD7124_READ | AD7124_STATUS_REG);
26
sspiReceive (spiReceiveBuffer, 1);
27

28
/* write adc control register */
29
spiTransmitBuffer[0] = AD7124_WRITE | AD7124_CONTROL_REG;
30
spiTransmitBuffer[1] = AD7124_CONTIN_MODE | AD7124_DATA_STATUS;
31
spiTransmitBuffer[2] = AD7124_FULL_POWER | AD7124_INT_CLK;
32
sspiTransmit (TransmitBuffer, 3);
33

34
sspiTransmitByte (AD7124_READ | AD7124_CONTROL_REG);
35
sspiReceive (ReceiveBuffer, 3);
36
}
und wollte damit nur checken, ob ich das control Register konfigurieren 
sowie erneut auslesen kann. Leider liefert der Receive Buffer nur 0 und 
nicht die Werte des control Registers. Hat jemand eine Ahnung, wieso das 
so sein könnte?
Gast #6956447
Lesenswert?
• ▲
▼
Moin,
Ich würde auf einen Fehler in der SPI Übertragung tippen. Die ist etwas 
zickig und die Dokumentation dazu im Datenblatt kommt nicht ganz hin. 
SPI-Mode sollte 3 sein. Evtl. erstmal das device-ID Register (0x17) 
lesen, um die Kommunikation zu testen.
Gast #6956567
Lesenswert?
• ▲
▼
Hi,

vielen Dank für deine Antwort! Ich habe versucht das ID Register 
auszulesen (ist laut Datenblatt aber denke ich 0x05, habs aber auch mit 
0x17 probiert) und ich bekomme wieder nur 0 in meinen Buffer, die 
Kommunikation funktioniert also nicht.

Ich verwende eine soft SPI library, ist also kein echts spi, sondern 
toggelt die GPIO pins als wären sie SPI Pins. Das könnte man theoretisch 
aber ändern, finde es nur komisch, da das beim AD7794 sehr gut 
funktioniert hat.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.