Arduino DUE: 1.8V am SPI chip select

OP #5018129
Lesenswert?

Hallo,

da halte  ich meinen Oszitastkopf an den chip select pin von meinem
Arduino DUE  SPI port und sehe:  1.8V liegen  im HIGH state an.

Dieser Pin war bei der Messung nur  vom Oszi belastet, es hing
kein anderer IC dran.

Wenn ich nun  SPI  nicht enable  und stattdessen

digitalWrite(chip_select_pin,HIGH)  mache
dann messe  ich  3,3V.

What the fuck ....

Kann man  das  mit  den 1.8V  irgendwie auf  3.3V ändern?
#5018136
Lesenswert?

Da du mit einem Oszi misst, nehme ich an, dass der Pin konstant 1.8V hat 
und nicht zwischen 0 und 3.3V toggled.

Ideen:
- Mal 10k o.ä. gegen Masse dranhängen um zu schauen, ob der Pin nicht 
evtl. floatet.
- Mal in den Arduino Code schauen, was die "SPI Library" da genau mit 
dem Pin macht.
#5018154
Lesenswert?

Felix F. schrieb:
> Laut Arduino-Forum läuft der Prozessor intern mit 1,8V. Wenn du jetzt
> auch den internen PullUp nutz, könnte ich mir gut vorstellen, das auch
> nur diese anliegen.

Soweit ich das sehe, läuft der Prozessor-Kern auf 1.8V. Laut Schaltplan 
sind die VDDIOx-Pins aber mit 3.3V versorgt, von daher sollte an den 
I/Os der High-Pegel auch 3.3V sein...

Wenn der Pin auch mit Belastrung 1.8V hat, miss am besten mal die 
3.3V-Versorgung nach (sollte auf der Arduino-Pinleiste liegen)
Gast #5018166
Lesenswert?

Ich nehme an

Frank F. schrieb:
> Kann man  das  mit  den 1.8V  irgendwie auf  3.3V ändern?

Vermutlich floatet der CS immer weil er vom Arduino Framework
nicht angesteuert wird und damit auf Input steht.

Ich meine mich zu erinnern dass beim Due ich (selbst) die SPI
nicht so konfigurieren konnte dass die SPI Maschine den CS
so steuert dass sie mehrere Bytes (auf einen CS Zyklus) übertragen
konnte. Da blieb für mich ein Fragezeichen übrig. Deshalb steuerte
ich den CS immer "von Hand" weil es die SPI Maschine für mich
nicht tat.
Gast #5018198
Lesenswert?

Zitat aus der Arduino.cc Site

----------------------------------------------------
Note about Slave Select (SS) pin on AVR based boards

All AVR based boards have an SS pin that is useful
when they act as a slave controlled by an external
master. Since this library supports only master mode,
this pin should be set always as OUTPUT otherwise the
SPI interface could be put automatically into slave
mode by hardware, rendering the library inoperative.

It is, however, possible to use any pin as the Slave
Select (SS) for the devices. For example, the Arduino
Ethernet shield uses pin 4 to control the SPI
connection to the on-board SD card, and pin 10 to
control the connection to the Ethernet controller.
----------------------------------------------------

Wenn man sich dann ein SPI Beispiel anschaut dann wird
dort auch der gewünschte SS Pin extra dafür als Output
konfiguriert. Woher sollte auch das SPI Framework wissen
welchen Pin es für den SS verwenden soll?
SPI.Begin() gibt das ja nicht her.

https://www.arduino.cc/en/Tutorial/BarometricPressureSensor
OP #5018204
Lesenswert?

>>Woher sollte auch das SPI Framework wissen
>>welchen Pin es für den SS verwenden soll?
>>SPI.Begin() gibt das ja nicht her.

Bein Due  heisst es daher

SPI.Begin(slave_select_pin)
https://www.arduino.cc/en/Reference/DueExtendedSPI


Interressanterweise  gibt  es  hier

https://www.arduino.cc/en/uploads/Main/arduino-Due-schematic.pdf

keinen  1.8V Regler.
Das wäre schon das zweite board  dass kaputt ist,
das erste board pfeift und hat  einen krassen Ripple
auf  3.3V

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