Ethernet für den UP-Core mit ENC28J60

Gast #5343395
Lesenswert?

Hallo,

ich möchte für meinen UP-Core einen Ethernetadapter auf einer Seperaten 
Platine bauen und diesen dann über den 100-Pin EXHAT verbinden.

Kennt sich jemand damit aus bzw. hat eine Idee wie man das mit dem 
ENC28J60
umsetzen kann?

Hier wurden schon zahlreiche Umsetzungen dikutiert. Ich bin mir jedoch 
nicht sicher auf welche Weise der UP-Core die Daten vom ENC28J60 
übernehmen kann oder welche maßnahmen noch getroffen werden müssen. 
Beitrag "ENC28J60 macht Probleme"

vielen Dank für eure schnelle Hilfe

Gruß Mario
Gast #5343535
Lesenswert?

Der ENC28J60 ist dafür eigentlich nicht gedacht und geeignet.

Der vorgesehene Weg ist die Anbindung eines PCIe Ethernet Controllers 
oder alternativ die Anbindung über USB. Beides ist auf dem 100-Pin 
Connector vorhanden. Damit hast Du eine wesentlich höhere 
Geschwindigkeit und auch gleich die passende Treibereinbindung out of 
the Box.

fchk
Gast #5343565
Lesenswert?

Hallo fchk,
vielen Dank für deine schnelle Antwort.
Kennst du einen PCIe Ethernet Controller welcher mir bei der 
Problemlösung helfen kann? Bzw. was benötigt man dann weiterhin ?

Ich habe leider keine große Erfahrung mit Ethernet.

LG Mario
Persönliche Seite #5343580
Lesenswert?

Mario schrieb:
> Kennst du einen PCIe Ethernet Controller welcher mir bei der
> Problemlösung helfen kann?

Verbreitet sind Bausteine von Realtek, wie z.B. RTL8111 oder RTL8168.

Für erste Versuche dürfte es am einfachsten sein, einen PCIe-Slot an den 
100poligen Steckerbinder zu adaptieren, in den kannst Du dann eine 
PCIe-Netzwerkkarte stecken.

Wäre es aber nicht vielleicht sinnvoller, statt des "Up Core" eine 
Variante zu verwenden, die von vornherein mit Ethernet ausgestattet ist?

Das "Up Board" oder das "Up Squared" haben das.
Gast #5343615
Lesenswert?

Hallo Rufus,

die anderen UP-Boards sind leider für mein Vorhhaben zu groß. Somit bin 
ich auf das UP-Core angewiesen und entwickle eine zweite Platine mit auf 
mein Problem zugeschnittenen Funktionen. Diese sind alle bereits auf der 
Platine integriert und es fehlt nur noch ein Ethernetanschluss.

Zu den Realtek Bausteinen erhält man leider keine Datenblätter. Somit 
ist es schwer die Umsetzung damit zu planen.

Gruß Mario
Persönliche Seite #5343696
Lesenswert?

PCIe-NICs gibt es natürlich auch von anderen Herstellern, Intel, 
Marvell, Broadcom ...


Eine Alternative zu PCIe-Ethernet-Bausteinen wären USB-Netzwerkadapter.

So etwas gibt es vom Hersteller ASIX in Form des AX88772B (Datenblatt 
nur nach Registrierung/Anfrage beim Hersteller) oder in Form eines SMSC 
LAN9512 (der wird z.B. auf dem Raspberry Pi verbaut).
Gast #5343785
Lesenswert?

Mario schrieb:
> vielen Dank für deine schnelle Antwort.
> Kennst du einen PCIe Ethernet Controller welcher mir bei der
> Problemlösung helfen kann? Bzw. was benötigt man dann weiterhin ?

Nimm eine MiniPCIe Netzwerkkarte.
Z.B. die hier:
http://www.delock.de/produkte/G_95239/merkmale.html
https://www.heise.de/preisvergleich/delock-95239-a1532308.html

und baue auf Dein Board einen MiniPCIe Slot.

PCIe ist nicht ohne!
Lies das hier:
http://www.linelayout.com/ziyuan/pci-e.pdf

Alternativ einen USB-Ethernet-Adapter kaufen und dadran basteln.

fchk
Persönliche Seite #5362915
Lesenswert?

Der Up Core stellt auf seinem 100poligen Stecker eine Spannung zur 
Verfügung, aus der Du mit einem LM317 (Dein IC22) 12 V erzeugen kannst?

Da habe ich doch deutliche Bedenken.

Wenn ich mir das Steckerlayout ansehe 
(Beitrag "Re: USB 3.0 an UP-Core"), dann liegen da 
5V an.

Du bräuchtest also einen Step-Up-DC-DC-Wandler, oder solltest die 12V 
vielleicht gleich von woanders her beziehen.


Auch die 3.3V ... ich weiß ja nicht, nimm doch einfach einen LM1117-3.3 
und lass' die Widerstände weg.

Welchen Zweck haben die zwei separaten 3.3V-Regler?
#5363223
Lesenswert?

Mario schrieb:
> Hallo Rufus,
>
> ich habe nun als erstes mal versucht einen PCIe Adapter an den 100 Pin
> Exhead des UP-Core zu bringen.
> Was müsste ich bei der Verschaltung noch beachten?
> Oder wo sind Probleme absehbar?

PCIe ist übelste Hochfrequenztechnik. Ohne Multilayer, definierte 
Impedanzen, differential Pairs, bei denen + und - eines jeden Paars auf 
0.12mm gleich lang sein müssen etc. geht da gar nichts.

Lies das hier:

http://www.linelayout.com/ziyuan/pci-e.pdf

Wenn Du alles verstanden hast und Dich daran hältst, sollte das kein 
Problem sein.

fchk
Gast #5365576
Lesenswert?

Hallo,

Rufus Τ. F. schrieb:
> Welchen Zweck haben die zwei separaten 3.3V-Regler?

ich bin auf diese Tabelle gestoßen:
http://cds.linear.com/docs/en/design-note/dn346f.pdf?_sm_au_=iVVZM0f8Z7qj5PVR

In dieser ist ersichtlich, dass die Pins mit den 3,3V unterschiedliche 
Strombegrenzungen benötigen. Das wollte ich mit den zwei LM317 
Schaltungen bewirken.
Nachdem ich nun das Datenblatt gelesen habe scheint der LM1117.3.3 
besser auf meine Anwendung zu passen.

Frank K. schrieb:
> Lies das hier:

Ich habe mich mit den Routingregeln beschäftigt und werde diese auf 
meine Platine berücksichtigen. Ich habe dazu jedoch zwei Fragen:

1. Könnte man das ganze auch mit 2-Layern fertigen und somit die VCC/VSS 
Layer weglassen?

2. Habe ich es richtig verstanden, dass ich die RX Pins vom UP-Core mit 
den TX Pins der PCIe-Karte und umgekehrt schließen muss?

LG Mario
Gast #5365614
Lesenswert?

Mario schrieb:
> Ich habe mich mit den Routingregeln beschäftigt und werde diese auf
> meine Platine berücksichtigen. Ich habe dazu jedoch zwei Fragen:
>
> 1. Könnte man das ganze auch mit 2-Layern fertigen und somit die VCC/VSS
> Layer weglassen?

Nein. Eine durchgehende Groundplane ist zwingend notwendig. Die zu 
wählenden Leiterbahnbreiten sowie die Abstände zwischen den beiden 
Elementen eines jeden differentiellen Paares hängen vom Abstand der 
Signalleiterbahnen zur darunter liegenden Groundplane sowie der 
Dielektrizitätskonstante des Platinenmaterials und von der Dicke der 
Kupferschichten ab. Die ganzen Abmessungen müssen auf mindestens 0.1mm 
genau stimmen, sonst bekommst Du nachher keine Verbindung auf dem PCIe. 
Das heißt, dass Du den Lagenaufbau vorher wissen musst.

Bei zweilagigen Leiterplatten würden die erforderlichen Abstände einfach 
zu groß werden.

Für die Geometrien gibt es extra Berechnungsprogramme. Such mal nach 
"Saturn PCB Calculator".

> 2. Habe ich es richtig verstanden, dass ich die RX Pins vom UP-Core mit
> den TX Pins der PCIe-Karte und umgekehrt schließen muss?

Ja.

fchk
Gast #5367205
Lesenswert?

Mario schrieb:

> auf dieser Seite steht nun, dass die Datenleitungen beim PCIe maximal
> 30,48 mm sein dürfen. Ich nehme an das ist ein Fehler?
>
> In dem oben gegebenen Link steht was von maximal 15,5 Inch was c.a 40cm
> wären.
>
> Was stimmt da nun?

Alles. Es kommt drauf an:
- wie präzise du die differentielle Impedanz des Paares und die 
Single-Ended Impedanz gegenüber der Groundplane getroffen hast
- wie breit die Leiterbahnen der differentiellen Paare sind. Breitere 
Leiterbahnen haben geringere Verluste. Aber Achtung! Mit der Änderung 
der Leiterbahnbreiten ändern sich auch die Impedanzen. Du musst dann die 
Dicke des Dielektrikums anpassen, damit die Impedanzen wieder stimmen.
- was für ein Leiterplattenmaterial Du hast
- wie viele Vias Du hast, und wie Durchmesser und Höhe sind
- ob Steckverbinder im Pfad sind, und wenn ja, welche und wie viele
- welche Datenrate Du fährst (Gen 1: 2.5 GBps, Gen 2: 5 GBps, Gen 3: 8 
GBps)
- wie gut Du die restlichen Designvorgaben eingehalten hast.

Und schlussendlich gibt es niemals eine harte Grenze, bis zu der es 100% 
funktioniert, und dahinter überhaupt nicht mehr. Die Bitfehler werden 
eben langsam mehr.

fchk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren