NRF52823 - SPI-Problem in Zusammenhang mit ADS1256; zu geringes Logiklevel

Gast #5007442
Lesenswert?

Hallo,

ich hänge leider gerade an folgendem Problem:

Ich möchte mit dem uC nrf52832 gerne mit dem Digitalkonverter ADS1256 
via SPI kommunizieren. Auf dem Steckbrett hat das nach 
Anfangsschwierigkeiten auch gut funktioniert. Dabei habe ich den 
NRF52832 mit dem Nordic-Devboard verwendet und den Code aus einem 
Beispiel SPI-Master-Code entwickelt.

Nun habe ich ein Platinenlayout erstellt und den uC auf dem Board 
programmiert, um dort den ADC anzusteuern. Es zeigt sich, dass bis auf 
den Master-In-Slave-Out (MISO) Pin alles funktioniert. (verzifiziert 
mittels Oszilloskop)

D.h. sowohl uC als auch ADC laufen an sich. Jedoch ist das Logiklevel 
auf dem MISO wesentlich zu gering. Es liegt bei High etwa um 200, 300 
mV. Ich habe leider keine Grafik zur Hand, es sieht jedoch optisch so 
aus, wie ein im wesentlichen "korrektes" Signal, allerdings eben mit 
wesentlich zu geringem Highpegel, so dass der uC immer nur Nullen liest.
Es wirkt fast so, als hätte der ADC-Ausgang Schwierigkeiten den Pegel 
auf 3.3 V zu ziehen, sobald der MISO-Pin anliegt.

Ich denke nicht, dass es ein Hardwarefehler ist, da dieser Fehler mit 
der Softwareprogrammierung "mitwandert":
Wähle ich statt Pin 29 z.B. Pin 30 als MISO Pin aus, so ist das Level 
auf vorherigen MISO-Pin normal d.h. High liegt bei ~3.3 V. Aber der neue 
MISO-Pin 30 weist dann genau die selben Symptome auf.

Es scheint so, als wäre der Pin, es ist der einzige Inputpin der 
SPI-Kommunikation auf uC-Seite, falsch konfiguriert.

Hatte jemand schonmal das Problem? Kennt jemand eine Lösung?
#5008421
Lesenswert?

LowLeveler schrieb:
> Ich denke nicht, dass es ein Hardwarefehler ist, da dieser Fehler mit
> der Softwareprogrammierung "mitwandert":

Dann hast Du den vermutlich nicht auf GPIO Input gesetzt:
1
 nrf_gpio_input(29, NRF_GPIO_PIN_NOPULL);


Die GPIOs muss man bei NRF5x manuell korrekt vorkonfigurieren. MISO ist 
der einzige SPI Pin der nicht auf Ausgang stehen darf.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren