Microcontroller über spi Schnittstelle flashen

Gast #5441070
Lesenswert?
• ▲
▼
Hallo zusammen,

Ich würde gerne meinen Mikrokontroller mit dem Raspberry Pi flashen.
Der Aufbau der Schaltung sieht wie folgt aus:
http://www.holgerschurig.de/de/raspi-atmega/
Mit 3,3V als Betriebsspannung funktioniert dies ohne Probleme.
Allerdings habe ich an meinem Raspberry Sensoren die zwingend 5V 
benötigen.

Kann mir jemand sagen, ob ich die Schaltung auch mit 5V betreiben kann 
oder wird dadurch mein Raspberry zerstört.

Vielen Dank
Gast #5441099
Lesenswert?
• ▲
▼
Könnte ich stattdessen auch ein Spannungsteiler einsetzen?
2 Widerstände mit je 1kohm in Reihe? Der Microcontroller würde 5V 
senden. Nachdem Spannungsteiler kommen dann aber nur 2,5V am Rasperry an 
was definitiv noch ein „1“ Signal ist. Wenn der Raspberry sendet dann 
würde die 3,3V an den Mikrokontroller gehen was auch eine „1“ ist
Gast #5441187
Lesenswert?
• ▲
▼
Ein Spannungsteiler ist ein Pegelwandler. Er eignet sich aber nur für 
geringe Taktfrequenzen weit unter 1MHz. Schau Dir mal die Signale (unter 
Last) auf dem Oszilloskop an. Diverse parasitäre Kapazitäten spielen 
hier eine Rolle.

> Der Microcontroller würde 5V senden. Nachdem Spannungsteiler
> kommen dann aber nur 2,5V am Rasperry an

Lege den Spannungsteiler doch auf 3,3V aus, zum Beispiel 1kΩ in Reihe 
zum Signal und 2,2kΩ nach GND.

> Wenn der Raspberry sendet dann würde die 3,3V an den
> Mikrokontroller gehen was auch eine „1“ ist

Ja.
#5441751
Lesenswert?
• ▲
▼
Susanne schrieb:
> Wenn der Raspberry sendet dann
> würde die 3,3V an den Mikrokontroller gehen was auch eine „1“ ist

Wenn Mikroconroller VCC 5V hat, dann reicht 3,3 Volt nicht unbedingt für 
"1". Keine Garantie, das wird potenzielle Fehlerquelle (besonders wenn 
nicht alles auf einer Platte sondern per Kabel übertragen: Kabel wirkt 
wie eine Empfänger-Antenne für Störungen).
Man könnte Mikrocontroller auch von 3,3V speisen, dann keine 
Pegelwandler notwendig.
Wenn doch von 5V, dann ist das auch sehr einfach. Es gibt Logik HCT. Sie 
unterscheidet sich von HC, weil TTL-Eingangspegel. Sehr bequem kann man 
HCT14 oder HCT04 einsetzen, Platte wird einfach: man schaltet Inverter 
paarweise: 1-2+13-12, 3-4+11-10, 5-6+9-8. So werden MOSI und SCK 
bedient. ~RESET am besten mit einem npn- oder n-MOSFET-Transistor 
schalten, da dort normalerweise ein Kondensator 100n steht, für Logik 
wäre das möglicherweise zu viel. MISO - entweder Spannungsteiler, oder 
auch einfach auf 5-Volt-Toleranz hoffen.

Es wird auch nicht falsch, MOSI und SCK durch 270 Ohm-Widerstand zu 
schützen - das hilft, wenn zufällig bei dem eingeschalteten Adapter 
Programm gestartet wird.

Etwa wie auf dem Bild.

Auch nicht falsch wird, die Eingänge von HCT14, die an die Buchse gehen, 
nicht frei lassen und mit hochohmigen Widerständen (z.B. 30 k ) an GND 
oder VCC zu schalten.

HCT14 benutze ich seit langem in so ähnlichen Fällen. Z.B. MAX7219 von 
mit 3,3 Volt gespeisten AVR per SPI. Noch paßt sehr gut HCT125 oder, 
wenn man nur einzelne Treiber braucht, HCT1G125.
Wenn man saubere Lösung für 5 > 3,3 Volt braucht, gibt es 74LVC14, zwar 
nur in SO-14 und kleiner und nicht in DIP.
Angehängte Dateien:

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.