PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MC-Board mit Ethernet



vohopri
11.09.2011, 15:54
Hallo,

jetzt baue ich mir ein MC Board, nachdem ich schon ein wenig funktionierende MC Software habe.

ISP Schnittstelle muss es natürlich haben und auch Ethernet. Serielle und Parallele sind unnötig.
Die MC Ports sollen für die verschiedenen zukünftigen Projekte unterschiedlich anzuschliessen sein. Deshalb baue ich zweiteilig. Die Port Interfaces kommen nach Bedarf auf ein zweites Brett, das dann leicht austauschbar ist.
Die Bauweise entspricht der eines Funktionsmusters: Punktraster zehntelzoll. Das ist rasch entwickelt, gebaut und bei Bedarf verändert. Keine Chemiepantscherei, das können andere besser.

Auf 4 mal 3.5 Zoll hab ich einmal begonnen, ein paar Komponenten zu verteilen.

https://www.roboternetz.de/community/attachment.php?attachmentid=19979&d=1315748196

Inzwischen wird schon mal das Löteisen geschärft.

vohopri
12.09.2011, 10:25
Die 5V Spannungsversorgung funktioniert, als Nächstes kommt der MC Teil dran.

Ich fotografiere laufend und bei Interesse kann ich Baustadienfotos und Details posten.

Che Guevara
12.09.2011, 11:23
Gefällt mir! :D Aber du könntest wirklich ein paar Details posten, z.b. über die Ethernet Schnittstelle. Diese würde mich auch schon länger reizen, aber bis jetzt hatte ich immer zu wenig ansporn dazu. Vielleicht ändert sich das ja durch dich :)

Gruß
Chris

vohopri
12.09.2011, 12:04
Ja hallo,

mach ich gerne. Für Ethernet gibt es den enc28j60, der ist auch leicht zu beschaffen. Mit dem kommuniziert der mc per spi, das ist die selbe Schnittstelle, wie für die in System Programmierung. Sonst braucht der kaum Beschaltung. Von einer alten Netzwerkkarte hab ich mir die rj45, den Hochspannungskondensator (2kV), den Ethernetübertrager und den 25 Mhz Quarz ausgebaut, das ist schon mal das Wichtigste. Über Ethernet läuft dann ein Webinterface zum Bedienen, Verwalten und Debuggen und auch nach Bedarf schnelle TCP Server und -clients. Der Zugriff über Webinterface ist bereits getestet.

vohopri
13.09.2011, 22:59
Die MC Abteilung ist bestückt und verdrahtet, morgen gibt es einen Zwischentest.

vohopri
14.09.2011, 12:08
Die Tests zeigten das erhoffte Ergebnis. Mc läuft und Programme lassen sich aufspielen.

Das Layout im Zehntelzoll Raster sieht aus Platzgründen jede Menge diagonal und in Stufen verlaufende Leiterbahnen vor. Mit der richtigen Technik ist das aber auch handwerklich auf Lochraster gut zu erstellen.

Als Nächstes ist die 3.3V Versorgung dran.

vohopri
15.09.2011, 13:10
3.3 V Versorgung läuft, Ethernet Abteilung wird bestückt.

Wie schon geschrieben habe ich eine nicht benötigte Netzwerkkarte zerlegt. Da ist mir ein 3.3 V Stabilisierer in die Hand gefallen. Den hab ich ebenfalls hier eingebaut. Man kann smd Technik einfach nicht genug üben.

https://www.roboternetz.de/community/attachment.php?attachmentid=20018&d=1316084655
AAT1201

vohopri
17.09.2011, 23:55
So, es ist so weit, auch der Ethernet Controller funktioniert und der Webserver im Mikrocontroller ist über das LAN ansprechbar - bei entsprechendem Routing auch vom Internet aus.

https://www.roboternetz.de/community/attachment.php?attachmentid=20063&d=1316295214

Wie immer , gehe ich bei Fragen gerne ausführlich ins Detail. Wenn ich aber nicht weiss, wo Informationsbedarf besteht, dann ist mir das Löten lieber, als das Schreiben.

Thegon
18.09.2011, 11:56
Hallo,

sehr schönes Board ;-)

Mich würde im Allgemeinen auch die Beschaltung des Ethernet - Controllers interessieren. Hättest du einen Schaltplan?

In welcher Sprach wurde denn der MC Programmiert?
Ich habe noch keine Erfahrung mit SPI, ist es schwierig, alle nötigen Register des Ethernet Controllers zu beschreiben und die Richtigen wieder auszulesen?
Der Controller hat so weit ich weiß eine per Register einstellbare Mac, und seine IP bekommt er dann vom Router zugewiesen, per DHCP oder geht das nicht so einfach?
Hättst du villeicht sogar Codeschnipsel oder so?

Ich weiß, ein bisschen viele Fragen auf einmal, mach dir nur nicht zu viele Umstände wegen mir. ;-)

Mfg Thegon

vohopri
18.09.2011, 21:55
Hallo,

naja, für schön halte ich das Board eigentlich nicht, aber es ist ein gutes Funktionsmuster. 2 Vorteile hat es gegenüber anderen Boards, die ich so gesehen habe: Die serielle wurde weg gelassen, weil ich sie nicht verwenden will, und ich habe 27 IO - Leitungen, GND und Spannungsversorgung auf der 39 poligen Steckleiste verfügbar, mit der ich eine zweite Platine in variabler Ausführung als Fortsetzung anschliessen kann. Die Platine ist ausreichend robust und das Layout ausreichend platzsparend gestaltet.

https://www.roboternetz.de/community/attachment.php?attachmentid=20074&d=1316373909

Die Software findest du hier: http://www.ulrichradig.de/home/uploads/File/ETH_M32_EX/ETH_M32_EX_SOFT.zip

Da kannst du alle Details nachlesen. Die Kommunikation zwischen mc und ec ist schon gelöst, damit gabs auch keine Probleme. Die Software wurde in C geschrieben. MAC und IP vergebe ich fix in der Software.

Die Zusammenschaltung von EC und MC habe ich gleich gelöst wie auf dem netio. Das weicht etwas von Ulrich Radigs Lösung ab. Die Schaltpläne zeigen es, wie:

https://www.roboternetz.de/community/attachment.php?attachmentid=20079&d=1316374884

https://www.roboternetz.de/community/attachment.php?attachmentid=20080&d=1316374897

Die meisten wichtigen Details stehen schon in den Datenblättern. Sehr bequem beim Suchen von Datenblättern ist die Google Option filetype:pdf als Zusatz im Suchfenster.

TheDarkRose
19.09.2011, 07:11
Respekt, also das Board ist wunderschön verlegt :D

vohopri
19.09.2011, 08:39
wunderschön verlegt
Danke für das Kompliment. Das Layouten in dieser Form geht eigentlich nur mit Eagle gut. Da kann man rasch hin und her schieben, bis es passt. Die Free Version hat allerdings nur eine begrenzte Platinengrösse, die hier schon überschritten wurde. Da hilft das Aufteilen in Module, zB: mc, ec und Versorgung. Das entspricht den schwarzen Linien auf der Platine. Das Einpassen wird durch zusätzlich im Schaltplan eingefügte Lötpunkte erleichtert, die nur der Orientierung dienen und meistens real nicht ausgeführt werden..

Thegon
19.09.2011, 19:33
Hallo vohopri,

vielen dank für den langen Beitrag ;-)
Nur eine Frage: Das IC3, ist das so eine Art pegelwandler?
Und ich befürchte, noch keine Passende Buchse für Ethernet - Anschluss zu haben. Ich habe mal gehört, dass da in bestimmten Buchsen ein kleiner Trafo drin ist. Ich hatte an eine Buchse aus einem alten Motherboard gedacht, würde das funktionieren?

Dann werd ich auch mal ein paar Versuche zum Thema Ethernet machen...

Mfg Thegon

vohopri
20.09.2011, 07:06
Hallo Thegon,

das grosse Geheimnis der Internet Information lautet google. (Oh, jetzt hab ichs ausgeplaudert und es ist kein Geheimnis mehr.) Die Bezeichnung neben dem Schaltkreis ist lesbar und auf dem Foto auch noch recht deutlich zu sehen. Diese kann man tatsächlich in google eingeben und siehe da, man findet ein Datenblatt von einem "kleinen Trafo", von dem du schon gehört hast.
Im Datenblatt vom Ethernetcontroller steht, dass ein Übertrager vorzusehen ist. Heute sind die oft in die rj45 eingebaut. Ich hab aber einen getrennten Übertrager verwendet, weil auf der Netzwerk Karte vom Schrott Buchse und Übertrager getrennt bestückt waren, und ich das vorhandene Material nutzen wollte.
Nach dem Auslöten der Buchse kann man mit dem Multimeter feststellen, ob galvanische Trennung durch einen eingebauten Übertrager vorliegt, wenn man das nicht ohnehin sieht. Auch wirst du sehen, ob da nicht die Leitungen von der Buchse zu einem Übertrager führen.

vohopri
21.09.2011, 13:31
Der Webserver auf dem Controllerboard funktioniert zuverlässig, die LED, die für den Test angeschlossen ist, lässt sich mit dem Browser schalten. Das macht keine Probleme.

Allerdings liefert der arp reply meistens eine falsche src mac, da liegt noch was im Argen.

BastelWastel
21.09.2011, 16:15
Hallo vohopri,

vielen dank für den langen Beitrag ;-)
Nur eine Frage: Das IC3, ist das so eine Art pegelwandler?
Und ich befürchte, noch keine Passende Buchse für Ethernet - Anschluss zu haben. Ich habe mal gehört, dass da in bestimmten Buchsen ein kleiner Trafo drin ist. Ich hatte an eine Buchse aus einem alten Motherboard gedacht, würde das funktionieren?

Dann werd ich auch mal ein paar Versuche zum Thema Ethernet machen...

Mfg Thegon

Wenn du den Uebertrager mit verwendest kannst du das alte Ding da runteloeten,
wenn du aber eh bestellen musst..fuer den ENC oder so.. dann wuerde ich direkt 2-3 neue Buchsen mitbestellen.
Such nach MagJack, dann findest du welche mit integrietem Uebertrager..die kosten ned viel. Pollin Nr.: 450 001 z.B.

@vohopri
"meistens" ne falsche MAC, das klingt recht verdaechtig..
Hast du dir mal mit "arp -a" die ARP-Table angeschaut, vllt findet sich der Fehler wenn du weisst ob die falsche MAC im Netzwerk bekannt ist/wem sie gehoert etc..

vohopri
22.09.2011, 05:59
Nein,

was auf dem Kabel passiert, das weiss ich ganz genau. An das betreffende Segment hänge ich nur PC und mc board und ich sehe jedes Bit auf dem Draht im Netzwerk Protokoll Analyzer. Die arp Tabelle ist immer bekannt.
Das erste Paket nach dem Reset (arp oder auch andere ) hat eine korrekte src mac, und die folgenden eine falsche, die häufig wechselt.

Da wird etwas in der sw überschrieben.

Dadurch funktioniert http, das auf tcp aufbaut. Bei statischem arp Eintrag funktioniert es auch ohne Zeitbeschränkung.
Arp reply funktioniert 1x.
icmp echo funktioniert nicht.

Jetzt bin ich also beim Debuggen der sw und muss dazu mal etwas mehr C lernen.

vohopri
27.09.2011, 11:35
Nach dem optimieren der Programmgrösse, sehe ich keine falschen src mac adressen mehr. Allerdings antwortet der mc nicht immer auch arp requests. Die arp requests werden dann nicht erkannt. Das könnte ein reset problem sein. Um mehr zu erfahren und rationeller debuggen zu können, bau ich mir mal ein Peripherieboard dazu.

https://www.roboternetz.de/community/attachment.php?attachmentid=20138&d=1317115677

So sieht der Anschluss der Pripherieboards aus.

vohopri
29.09.2011, 12:18
Nachdem ich jetzt ein wenig mehr Peripherie habe, ist das Debuggen komfortabler geworden.

https://www.roboternetz.de/community/attachment.php?attachmentid=20146&d=1317290567

Die LEDs zeigen an, welche IP Pakete eingetroffen sind. So konnte ich schon Workarounds für Fehler im IP Stack finden. Mit allen Paketen auf dem Draht kommt der Stack nicht ohne weiteres zurecht. Aber mit Hilfe der Workarounds ist ein zuverlässiger Betrieb möglich.

Insgesamt habe ich jetzt ein funktionierendes IO Board mit Webserver und erweiterbarer Peripherie laufen. Und das freut mich schon sehr. Steuerung des MC und der angeschlossenen Geräte und Verbraucher durch PC oder Mobiltelefon über LAN, WLAN oder Internet ist jetzt möglich.

Mal sehen, wohin die Reise noch führen wird.

021aet04
02.10.2011, 12:28
Dein Projekt finde ich sehr interresant und verfolge es schon von Anfang an. Habe auch noch einige Ethernet Controller (bin mir nicht sicher aber es ist glaube der Gleiche wie bei dir). Weiter so und viel Erfolg weiterhin.

PS: Ich bin gerade am Löten einer meiner Optokopplerkarten für die CNC.

MfG Hannes

vohopri
10.10.2011, 06:48
Freut mich, wenns interessiert.

Inzwischen hab ich ein wenig mehr Peripherie.
Und durch sorgfältiges Konfigurieren des Netzwerks, kommen keine Pakete mehr, die das Board nicht verträgt. Das Programm hab ich ergänzt, so dass Pakete, die nicht verdaut werden konnten und das board unerreichbar machen würden, jetzt zu einem reset führen. Das ist nicht optimal, aber viel besser als vorher.

Das Entwicklungsziel ist natürlich, dass vollkommen unabhängig vom restlichen Geschehen auf dem Kabel, die eigentliche Funktion ohne reset erhalten bleibt.

TheDarkRose
10.10.2011, 15:32
Warum ein Reset? Sollte es nicht reichen einfach die Pakete zu verwerfen/ignorieren?

vohopri
14.04.2012, 20:37
Ach das habe ich ganz vergessen zu schreiben: Das Board hatte eine schlechte Lötstelle und das Programm ein paar Bugs. Beides ist behoben und es funktioniert klaglos.

grüsse,
vohopri