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?
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.
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
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)
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.
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" ?
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.
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
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.
>>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
:
Bearbeitet durch User
Frank F. schrieb: > Interressanterweise gibt es hier > > https://www.arduino.cc/en/uploads/Main/arduino-Due-schematic.pdf > > keinen 1.8V Regler. Die erzeugt sich der Prozessor intern selbst.
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 ....
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.