Ich möchte einen PIC18F45k22 ans LAN anschließen und möchte über TCP Befehle senden und empfangen. Ich habe mit dazu eine Platine mit dem ENC28J60 gekauft. Weiß jemand wo ich einen Beispielcode zu diesem Thema finde?
Ist ein Pegelwandler nötig, wenn ich den PIC mit 5V betreibe? Vom PIC zum ENC brauch es keinen, da der ENC 5V tolerante Eingänge hat. Erkennt der PIC die 3.3V noch zuverlässig als high? Bei einer Schaltung habe ich es mal bei einem nRF24L01+ ohne Pegelwandler versucht und es hat Funktioniert, aber ist es auch zuverlässig? Falls ich einen Pegelwandler benötige würde ich diesen verwenden. Kann mir jemand sagen bis zu welcher Frequenz der Pegelwandler funktioniert? Sind 5MHZ ok?
L.F. schrieb: > Ist ein Pegelwandler nötig, wenn ich den PIC mit 5V betreibe? > Vom PIC zum ENC brauch es keinen, da der ENC 5V tolerante Eingänge hat. > Erkennt der PIC die 3.3V noch zuverlässig als high? Diese Frage beantwortet Dir das Datenblatt auf Seite 441, Abschnitt 27.8 "DC Characteristics:Input/Output Characteristics". Lerne, die Primärquellen zu benutzen! fchk
Also laut Datenblatt brauch ich den Pegelwandler. Es hat zwar ohne funktioniert, wird aber wahrscheinlich nicht zuverlässig sein... Was sagt ihr zu meinem Pegelwandler? Ich werde aber nur 2 Transistoren verwenden, da ich nur 2 Signale wandeln muss. Ich würde ungern einen IC dafür verwenden, weil ich keinen zu Hause habe und ich nicht für 2 Signale einen ganzen IC einbauen will. Ich baue nur eine klein Adapterpaltine um das gekauft ENC28J60 Board an meine PIC-Testplatine anzuschließen.
L.F. schrieb: > Also laut Datenblatt brauch ich den Pegelwandler. Kannst du den Ausschnitt posten, woher du diese Information entnimmst? Ich sehe es nämlich anders als du. Frank hat es dir die Quelle sogar schon rausgesucht, schau bitte genau dort nochmal nach.
Hier. Und der die SPI Pins sind Schmittigger. Also muss der High Pegel mindestens 0.8*Vcc sein. 0.8*5V = 4V
Der ENC27J60 ist 5V tolerant. Keine Pegelwandler nötig ;). Code auch unter http://www.mikrocontroller.net/attachment/187627/PIC-miniweb.zip vg Jürgen
Die Frage ist auch, warum Du nicht einen PIC18F97J60 verwendest. Der hat den ENC28J60 bereits eingebaut und ist dank des fehlenden SPI zwischen Prozessor und Ethernet auch noch deutlich schneller (UDP: 113kB/s statt 63kB/s, TCP: 76kB/s statt 45kB/s). fchk
>>Der ENC27J60 ist 5V tolerant. Keine Pegelwandler nötig ;). Das ist wie in dieser Konstellation schlichtweg falsch. Es geht nämlich darum, die Pegel vom ENC zum PIC. Und da sind die 3,3V nicht genug um die ST Eingänge des SPI zu treiben. Also braucht man einen Wandler zumindest für das MISO Signal.
Frank K. schrieb: > Die Frage ist auch, warum Du nicht einen PIC18F97J60 verwendest Ich habe bereits eine Testplatine mit dem 18F45k22 zu Hause und viel Erfahrung mit diesem PIC. Und es ist einfacher die ENC28J60 Platine mit dem Demoboard zu verbinden als eine neue Platine für den 97J60 herzustellen. Ich habe auch nicht die Möglichkeit eine für den 97J60 eine Platine zu Ätzen, da mit meinem Belichtungsgerät keine so feinen Leiterbahnen möglich sind. Das mit der Geschwindigkeit ist kein Problem, da ich das Ganze nur zum Testen verwende und nur Befehle an den PIC senden eine kleine Website laufen lassen will. Wir wissen jetzt dass ich einen Pegelwandler brauche. Jetzt würde ich gerne auf die Frage zurückkommen ob mein Pegelwandler geeignet ist. Für Interrupt Pin müsste er auf Grund der niedrigen Frequenz passen, es bleib aber die Frage ob er die 5 MHz beim MISO Pin Schafft.
Nimm doch einfach einen SN74LVC1G34, so groß wie dein Transistor, muss lediglich ein Kondensator dran. Gruß
Den habe ich leider nicht zu Hause und ich würde gerne Bauteile verwenden die ich schon habe und nicht wegen einem Bauteil irgendwo bestellen.
Und beim SN74LVC1G34 steht in Datenblatt: High-level input voltage VCC=4.5V to 5.5V : 0.7×VCC Laut Simulation mit Multisim funktioniert mein Pegelwandler mit dem Bs170 anstatt dem BC337 bei 5MHz gut.
Hallo! >Das ist wie in dieser Konstellation schlichtweg falsch. Es geht nämlich >darum, die Pegel vom ENC zum PIC. Und da sind die 3,3V nicht genug um >die ST Eingänge des SPI zu treiben. PIC18F Datasheet: Input High Voltage für 4.5V ≤ VDD ≤ 5.5V: --> 2.0 V Das schafft der ENC28J60 mit 3,3 V Betriebsspannung. Der Arduino braucht mehr (2,4V), daher haben viele Boards die Level-Shifter. vg Jürgen
:
Bearbeitet durch User
PIC18F Datasheet: Input High Voltage für 4.5V ≤ VDD ≤ 5.5V: --> 2.0 V Und wo genaus steht das? Ich habe nur gefunden dass die High Spannung > 0.8VDD ist.
Ok, RC4 ist ein Schmitt-Trigger Eingang. Es gilt doch: Parameter D041 RC3 and RC4 0.8 VDD Ein Level-Shifter ist besser ...
Da wir das Problem mit dem Pegelwandler jetzt gelöst haben... Weiß jemand wo ich z.B. ein Tutorial finde wie ich den ENC28J60 mit meinem PIC18F45k22 ansteuere?
Ein Turorial welches genau auf deinen Controller zugeschnitten ist, wird sich kaum finden. Aber du kannst "Microchip Libraries for Applications v2013-06-15" runterladen und installieren. Dort gibt es auch Beispiele für PIC18F TCP/IP-Stack und den ENC28J60. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784
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.