Forum: Mikrocontroller und Digitale Elektronik AD7793 mit STM32 ansteuern


von Moot S. (mootseeker)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich zerbreche mir nun seit einigen Tag den Kopf über diesen AD7793 ADC 
Chip.
Hier der Link zum Datenblatt: 
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7792_7793.pdf

Mein Problem ist, dass ich den Chip über SPI nicht ansteuern kann. Ich 
habe das CubeIDE Projekt in den Anhang gelegt. In einem ersten Schritt 
möchte ich zuerst mal wissen, ob die SPI Einstellungen für diesen Chip 
stimmen. Ich habe nun in verschiedenen Beispielen immer wieder etwas 
anderes gelesen und auch ausprobiert, ich bin aber immer noch nicht in 
der Lage ein Register auszulesen.

Ich möchte keinen fertigen Code, aber ich würde mich freuen, wenn ich 
zumindest mal ein Register auslesen könnte.

von MAX M. (maxmax123)


Lesenswert?

Hast du die Möglichkeit die SPI Signale mit einem Osziloskop anzuschauen 
(insbesondere MOSI)?

von Cartman (Gast)


Lesenswert?

> Ich habe nun in verschiedenen Beispielen immer wieder etwas
> anderes gelesen

Das einfachste hast du uebersehen.

Nimm das Datenblatt und mach SPI von "Hand" mit dem im DB
vorgesehenen Prozedere.
Wenn das dann auch nicht funktioniert, hast du entweder Details
im DB falsch interpretiert oder Probleme mit der Hardware.

von Pete K. (pete77)


Lesenswert?

Und werte den Rückgabestatus der Funktionen auch aus (z.B. LED 
einschalten bei error).
Was soll das Programm denn machen? Ich sehe da keine sinnvollen 
Ausgaben.

von Moot S. (mootseeker)


Lesenswert?

MAX M. schrieb:
> Hast du die Möglichkeit die SPI Signale mit einem Osziloskop anzuschauen
> (insbesondere MOSI)?

Die einzige Möglichkeit die ich habe ist ein China Logic Analyzer, aber 
das kann noch dauern bis ich etwas aufnehmen kann.

Cartman schrieb:
> Nimm das Datenblatt und mach SPI von "Hand" mit dem im DB
> vorgesehenen Prozedere.
> Wenn das dann auch nicht funktioniert, hast du entweder Details
> im DB falsch interpretiert oder Probleme mit der Hardware.

Ich denke das ist mein Problem. Nach dem Beispiel von Analog Device wird 
ja im Init die ID des Chips ausgelesen. Bei meinen Versuchen auch direkt 
selbst das Register mit dem HAL_SPI_TransmitReceive() Befehl auszulesen, 
bei meinen Versucher herhalte ich aber keine Antwort vom Chip, bzw. lese 
immer 255 oder 0 aus.

von pegel (Gast)


Lesenswert?

https://programmersought.com/article/85186519632/

Bis auf eine fehlende "structure.h" sieht der Code ganz nett aus.

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.