mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Arduino DUE: 1.8V am SPI chip select


Autor: Frank F. (frank_f49)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sebastian E. (sbe_15)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Felix F. (wiesel8)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

mfg

Autor: Sebastian E. (sbe_15)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: STM Apprentice (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: STM Apprentice (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank F. schrieb:
> 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.

Welchen Pin genau meinst du mit "chip select pin" ?

Autor: Frank F. (frank_f49)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
chip select 1.8V HIGH, 0V LOW , ( clock, mosi, miso  3.3V HIGH, 0V LOW)

Chip select  floatet nicht, der toggelt schon wann er soll,
ich habe  die  1.8V auch an
einem Pufferkondensator  in der Schaltung gefunden.

Autor: STM Apprentice (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: STM Apprentice (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank F. schrieb:
> ich habe  die  1.8V auch an
> einem Pufferkondensator  in der Schaltung gefunden.

Da misst du nur die Core-Spannung des Prozessors, das ist OK.

Die I/O Spannung 3.3V kannst du sicherlich an einem anderen
Kondensator messen.

Autor: Frank F. (frank_f49)
Datum:

Bewertung
0 lesenswert
nicht 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...

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

: Bearbeitet durch User
Autor: STM Apprentice (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank F. schrieb:
> Interressanterweise  gibt  es  hier
>
> https://www.arduino.cc/en/uploads/Main/arduino-Due...
>
> keinen  1.8V Regler.

Die erzeugt sich der Prozessor intern selbst.

Autor: Marco H. (damarco)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mal eine Frage wie hast du das gemessen? Mach mal Screenshot vom Ozzi. 
Ich stell mal meinen rein ewt. fällt dir schon was auf ....

Autor: Marco H. (damarco)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und jemand schon eine Idee ? Na dann noch eine Hilfe ...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.