mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI zwischen Mikrocontroller+SD-Card+ENC28J60=Pegelwandlung


Autor: Stephan Plaschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So mein Problem ist das ich den Atmega32 mit 5V benutze. Um nun eine 
SD-Card und den ENJ28J60 über SPI zu benutzen benötige ich ja einen 
Pegelwandler.
Als erstes dachte ich einfach an einen Spannungsteiler, bin dann aber 
hier im Board auf den MAX3378E gestoßen. Der Baustein wurde je extra für 
diesen Fall entwickelt. Allerdings habe ich 2 Slaves. Meine Idee hierzu 
wäre einfach die zweite CS Leitung über einen Spannungsteiler zu 
realisiern. Mir stellt sich nur insgesammt die Frage ob das ausreichend 
ist oder ob ich gleich zu dem 74LVX245 greifen sollte. Der hat 8 
Eingänge was ja mehr als ausreichend wäre.

So das war meine erste Frage jetzt dann auch gleich die zweite. Um den 
µC in der Schaltung zu prgrammieren nutzt man ja die selben Pins. Kann 
ich nun einfach vor dem Pegelwandler den Anschluss für den Programmer 
setzen? Oder sollte man das Programmieren ganz anders durchführen.

Ich hoffe die Infos reichen aus um mir etwas weiter helfen zu können. 
Auf jeden Fall schon mal vielen Dank im vorraus!

Mfg
Stephan

Autor: holger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Der ENC28J60 hat 5V verträgliche Eingänge.
Die CS Leitung für den ENC28J60 kannst du also
direkt anschliessen. Finger weg vom 74LVX245.
Ich hab mal einen von Fairchild benutzt. Der
taugt nicht die Bohne für 5V-3V Konverter.
Nach lesen des Datenblattes war auch klar wieso.

Im Anhang meine ISP taugliche Schaltung für
MMC/SD und ENC28J60.

Autor: Stephan Plaschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die schnelle Antwort. Hab grad auch das Handbuch genauer 
angeschaut und das mit den 5V Verträglich gefunden. Bleibt also nur noch 
die Frage mit den programmieren offen. Ich denke du programmierst deinen 
seperat und schließt dann erst das Board an richtig ??

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich denke du programmierst deinen
>seperat und schließt dann erst das Board an richtig ??

Nein, ich programmiere MIT angeschlossenem Board.

Autor: Kai Scheddin (zeusosc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
per SPI werden daten und instruktions gesendet,.

grüüße

Autor: Stephan Plaschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So das habe ich daraus zusammengeschustert. Über jede Anregung bin ich 
dankbar.


Mfg
Stephan Plaschke

Autor: Stephan Plaschke (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so hier das File, habs vergessen sry.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tristate vom MAXe an Reset wäre besser, erspart Ärger beim ISP. Der oben 
gezeigte HCT125 tut's aber genauso, und spätestens wenn am SPI noch ein 
zweiter Kunde sitzt (z.B. ein Dataflash) ist ein HCT125 sparsamer.

Autor: Stephan Plaschke (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mmmmh den Tristate vom MAX3378E habe ich nun an RST gehängt aber ich 
verstehe nicht genau wieso ich den daran hängen soll. Der TS-Eingang ist 
doch dazu um die Internen Pullups zu trennen. Wieso habe ich denn sonst 
damit Probleme? Oder verstehe ich da was falsch.

mfg
Stephan

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nö, sorry, war ein Schnellschuss (allerdings meinte ich den 
Controller-Reset). Geht bei dem Ding ohne, und der Pullup am CS vom SDCA 
könnte direkt nützlich sein, jedenfalls wenn der SDCA keinen eigenen 
mitbringen sollte.

Aber offen lassen kannst du TS jedenfalls nicht.

Autor: Stephan Plaschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SDCA ist ein SD-Kartenslot. Ist es hierfür wirklich notwendig einen 
Pullup zu verwenden? Ist es grundlegend sinnvoll bei SPI den CS mit 
einem Pullup zu versehen?
Das mit dem TS habe ich jetzt geändert, ist mir nach erneuten lesen auch 
aufgefallen das ich den auf keinen Fall frei lassen kann. Also erst mal 
danke!

Mfg
Stephan Plaschke

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pullup ist nötig weil während Controller-Reset (ISP) die CS-Leitungen 
seitens Controller offen sind. Ohne Pullup können sich SPI-Slaves 
aktiviert fühlen und untereinander oder mit ISP kollidieren. Deshalb 
sind Pullups an des CS-Leitungen immer sinnvoll, wenn mehrere Slaves an 
einem Bus hängen, ISP mitgezählt. Der ENC hat den Pullup netterweise 
schon intern.

Autor: Stephan Plaschke (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ah ok verstehe klingt auch sehr einleuchtend. Habe jetzt einen 
Widerstand zugefügt und diesen als Pullup am TS und CS gelegt.

Danke
Stephan

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wird's auch nix, denn nun ist TS aktiv (=offen), wenn SS aktiv.

Ich hab das Datasheet grad nicht parat aber meine mich zu erinnern, dass 
der MAXe Pullups drin hat. Also TS=high und gut.

Autor: Stephan Plaschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh man hab wohl noch geschlafen wie ich das gemacht hab. Hast natürlich 
Recht ist auch berichtigt. Danke!!
Mach mich jetzt mal ans Layout.

Vielen Dank!!

Stephan

Autor: Stephan Plaschke (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So das ist erstmals bei raus gekommen. Vielleicht sieht ja jemand einen 
groben Fehler. Ansonsten kann ich es endlich morgen raus schicken.


Mfg
Stephan

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.