mikrocontroller.net

Forum: Platinen Vorstellung meines neuen Projektes - Adapterboard fuer LAN9512, LAN9513 und LAN9514


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Stephan B. (matrixstorm)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle.

Einige kennen ggf. meine anderen Projekte wie tinyUSBboard oder den 
avrstick.
Es war jetzt laenger etwas ruhig geworden, doch heute moechte ich euch 
mein neues Projekt vorstellen.

Es ist noch ausbaufaehig und daher bisher nicht in mein regulaeres 
github-Konto gerutscht, sondern liegt noch hier: 
https://github.com/dumpsite/LAN95XX-board

Es handelt sich quasi um ein Adapterboard fuer den bekannten 
LAN951X-Controller, den auch die meisten Raspberry-Pis verwenden.
Taktung, Filterung und Stromversorgung wird auf dem Board erledigt - 
alle interessanten PINs werden aber nach aussen zur weiteren 
(?Frei-)Verdrahtung geroutet. Auch ein EEPROM im kostenguenstigen 
SOP8-Footprint ist vorgesehen und kann bestueckt werden.
Es ist so konzipiert, dass man es auch selber (z.B. mittels 
Tonertransfer via press-n-peel Folie) aetzen/bauen kann.
(Vermutlich entgegen moeglicher EMI-Bedenken einiger von euch deshalb 
auch 2-lagig ohne Probleme machbar.)
Ggf. finden es ja auch einige von euch brauchbar/nuetzlich als GPIO-, 
LAN und/oder USB-HUB Platine.

Mittels zusaetzlichem Magjack/Ethernettransformer, einem USB-Stecker und 
einem 5V->3.3V Stepdown ist der Adapter bereits via Lochrasterboard und 
(verdrillter) "Freiluftverdrahtung" in eine selbstgebaute Netzwerkkarte 
verwandelbar. (Weiter Bilder davon gewuenscht? - Lasst es mich 
Wissen...)
Vielleicht wollt ihr eurem Raspberry- oder Orange-Pi ja so ein paar 
Netzwerkschnittstellen mehr spendieren?

Im Github-Repository ist zudem auch ein einfaches, 
platformuebergreifendes Tool zum Auslesen der LAN95XX Statistiken 
enthalten.
So kann man den eigenen Aufbau (z.B. ueber die Haeufigkeit und den 
Impact von RX-Fehlern) oder die Version der verwendeten Chips bestimmen.


Ich wuerde gern diese Platine mit euch diskutieren.
Ggf. habt Ihr Anmerkungen, Verbesserungsvorschlaege, Wuensche ...etc...

MfG Stephan




Im Zusammenhang stehende Datenblaetter:

  http://ww1.microchip.com/downloads/en/DeviceDoc/9514.pdf

  http://ww1.microchip.com/downloads/en//softwarelibrary/man-lan95xx-dat/lan9514_lan9514i%20databook%20rev.%201.2%20%2803-01-12%29.pdf

  http://ww1.microchip.com/downloads/en/DeviceDoc/LAN9514%20QFN%20Rev%20B%20Schematic%20Checklist.pdf

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

Bewertung
0 lesenswert
nicht lesenswert
Leider noch keine Anmerkungen? Schade.

Anbei der nun endlich erstellte PINOut - Plan.

MfG

Autor: Peter W. (peter_w503)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matrixstorm,

danke für die Vorstellung Deines Projectes. Ich finde dieses PCB 
interessant um damit ein Raspberry Pi Compute Module IO Board um eine 
LAN Schnittstelle zu ergänzen.
Da ich mich mit dem Pi Compute Module beschäftigen wollte und dessen 
EVAL Board unverständlicher Weise nicht über die LAN Schnittstelle 
verfügt, würde ich diese gerne mit dem Board aus Deinem Projekt 
ergänzen.

Du verwendest bei Deinem Projekt ein EEPROM für die Konfiguration des 
LAN95xx. Was für Configs nimmst Du dabei vor?
Laut dem Stromlaufplan eines alten Raspberry Pi sind die Anschlüsse des 
LAN95xx für das externe EEPROM nicht beschaltet.

Autor: Stephan B. (matrixstorm)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter

Danke für dein Interesse an diesem Projekt.

Peter W. schrieb:
> Da ich mich mit dem Pi Compute Module beschäftigen wollte und dessen
> EVAL Board unverständlicher Weise nicht über die LAN Schnittstelle
> verfügt, würde ich diese gerne mit dem Board aus Deinem Projekt
> ergänzen.

Das sollte kein Problem sein - ich habe mir meinen eigenen DSL-Router 
aus einem Orange PI Zero gebaut. (Auch mit DIY USV - das ist aber ein 
anderes Projekt.)
Da ich mehrere Netzwerkschnittstellen benötige, setzte ich auch dieses 
Projekt ein.
(Ich habe dazu eine "crude" Trägerplatine für Einschaltverzögerung, 
bicolore LED Blinklogik und Spannungswandlung entworfen - Siehe Bilder 
verschiedener Entwicklungsgenerationen/Module.)
Bitte prüfe ob das Modul genug Strom für den LAN9512 bereitstellen kann.
Ich empfehle eine zusätzliche/externe Versorgung.

Peter W. schrieb:
> Du verwendest bei Deinem Projekt ein EEPROM für die Konfiguration des
> LAN95xx. Was für Configs nimmst Du dabei vor?

Als Generator für das EEPROM-Image verwende ich 
https://github.com/dumpsite/LAN95XX-board/blob/master/eeprom-image/lan95xx_eeprom_configurator.c 
,  welches quasi beim Compilieren über Makros das Image erzeugt. Die 
Einstellungen waren bisher immer leicht verschieden (zwecks 
experimentieren), im wesentlichen hat sich aber 
https://pastebin.com/RKnxvCKi bzw. https://pastebin.com/1TQZuVPW 
herauskristallisiert.

Also Selfpowered (und nicht über US-Bus siehe Empfehlung oben), 
Deaktivierung ungenutzter/nicht vorhandener USB Ports, Konfiguration der 
Strombedürfnisse auf 150mA.
Zudem kann man per EEPROM dem Netzwerkdevice eine eigene MAC-Adresse und 
Seriennummer zuteilen.
Das ist besonders nuetzlich bei mehreren Karten an einem Gerät, da man 
per UDEV nun eindeutige Interfacenamen verteilen kann.
Ausserdem ist die MAC nach jedem reboot gleich statt neu "gewürfelt" zu 
werden wie bei RasPi.

Peter W. schrieb:
> Laut dem Stromlaufplan eines alten Raspberry Pi sind die Anschlüsse des
> LAN95xx für das externe EEPROM nicht beschaltet.

Genau. Ein EEPROM muss nicht bestückt/angeschlossen werden. Bei RasPi 
hat man sich das gespart. In diesem Fall fällt der LAN951X auf die 
default-Einstellungen zurück (siehe Datenbuch/Datenblatt).
Das bedeutet aber für bestimmte Dinge, z.B. MAC-Adresse, das diese 
entweder bei jeder Initialisierung zufällig neu erzeugt werden oder 
durch einen Patch des Kerneltreibercodes (wie beim RasPi) auf einen 
konstanten Wert "hardcoded" werden. Ein Betrieb von mehreren Devices am 
->gleichen<- Netzwerk ist schwer.
Der EEPROM stellt auch beim modifizierten Kernelcode des RasPi sicher, 
das die MAC des EEPROM bevorzugt wird.

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.