Forum: Mikrocontroller und Digitale Elektronik Werte über Ethernet an AVR Senden und Empfangen


von Benjamin (Gast)


Lesenswert?

Hallo,
und zwar habe ich ein paar Fragen bezüglich des Atmega6446P und 
ENC28160.
Ich möchte mehre AVR Board mit den oben genannten Komponenten über 
Ethernet ansprechen. Was ist da den nun die beste/schnellste 
Möglichkeit? Mein Traum wäre es alle 500ms vom Board etwas Empfangen 
bzw. Senden zu können.
Pro Board sollten 64 Bit gesendet bzw. gelesen werden.

Wenn Atmega diese 64 Bit hat soll er sie über den SPI Rauschreiben. Aber 
„verteilt“ auf ein paar mal. Ich weis nicht genau wie ich das erklären 
soll deshalb nun mal ein paar beispiele mit 16 Bit.

Diese sind z.B. die gesendet 16 Bit

1010101010101010

Beim 1. Senden über SPI
1010101000000000

Beim 2. Senden, 10ms – 20 ms später
0000000010101010

Usw…. bis alle 64 Bit draußen sind.

Diese 64 Bits schalten Bistabile Relais (2 Spulig) welche 4 ms benötigen 
zum anziehen bzw. abfallen.
Um das Netzteil kleinzuhalten habe ich mir nun überlegt nur 4 Relais 
gleichzeitig zu schalten deshalb soll der SPI diese Bits auch so senden.

Nun wollte ich mal wissen was ihr von dieser Idee haltet und fragen ob 
mir jemand den Code erstellen kann für ein „Taschengeld“

von Dino S. (Gast)


Lesenswert?

>Was ist da den nun die beste/schnellste Möglichkeit?

Ethernet meiden und USART verwenden. U.U. RS232 über USB-Adapter.

von Rik (Gast)


Lesenswert?

Hallo!
Kannst du vielleicht mal eine Grafik machen als Übersicht über die von 
dir geplante Verdrahtung von Mikrocontrollern, Relais, SPI, LAN usw. ? 
Ich werde aus Deinem Text noch nicht ganz schlau, sorry.

von Lutz (Gast)


Lesenswert?

>Diese 64 Bits schalten Bistabile Relais (2 Spulig) welche 4 ms benötigen
>zum anziehen bzw. abfallen.

Konventionelle Relais mit 4 ms? Glaub ich nicht.

von Benjamin (Gast)


Lesenswert?

Es handelt sich dabei um Industrie Leistungsrelais die in der tat nur 
eine Ansprechzeit von 4 ms haben.

Über Ethernet sollte das ganze System allerdings Funktionieren, da es 
somit nicht in Echtzeit ist ist mir klar und spielt auch keine rolle! 
USB usw... geht wegen den Kabellängen alles nicht.

Es wird so aussehen das auf einem PC oder etwas ähnlichem ein Programm 
läuft das die Daten der AVR Board abfrägt, diese Daten verarbeitet und 
dann wieder Daten Ausgibt an die jeweiligen AVR Board, eingeltich soll 
das ganze wie eine kleine SPS funktionieren. Wenn ich dann eine Zyklus 
Zeit von 2 Sekunden habe spielt dies keine rolle. Den Zeit ist bei mir 
eingeltich nicht entscheident.

Wenn jemand ernstes Interesse hat und mir bei der AVR Software helfen 
kann darf mich über ICQ anschreiben 138197414.

Gibt dann auch nähere Info über die Platine, Verdrahtung usw...

von Rik (Gast)


Lesenswert?

Wenn du auf den ENC28160 verzichten kannst und dir stattdessen auch der 
RTL8019AS genehm ist, dann kann ich Dir helfen. Ich habe aber kein ICQ.

von Rik (Gast)


Lesenswert?

Im Übrigen würde ich an Deiner Stelle lieber CAN verwenden: das ist 
billiger, einfacher und schneller.

von Dino S. (Gast)


Lesenswert?

>USB usw... geht wegen den Kabellängen alles nicht.

Dann nimm USB->RS485 Adapter, die reichen meilenweit bei hoher 
Geschwindigkeit.

von Michael K. (mmike)


Lesenswert?

XPort von Lantronix vllt. eine Option ?

von Benjamin (Gast)


Lesenswert?

wenn ich CAN verwede wie würde dann die Bus Anbindung erfolgen? Ich Sehe 
eben im Ethernet einige vorteile für meine Anwenung gerade im Bereich 
der Visualisierung da ich dann dort sehr flexibel sein kann und ich habe 
ja schon ein AVR Board das ich übers Ethernet anspreche und das 
Funktioniert auch sehr gut und ich schaffe es ja auch in meiner 
gewünschten Zeit werte zu Empfangen und zu schicken. Ich brauche jetzt 
eingeltich nur noch jemand der mir hilft den vorhanden Code etwas zu 
ändern, sprich das eben die werte über SPI gelesen werden können oder so 
versendet werden können wie oben beschrieben.

von Benjamin (Gast)


Lesenswert?

ALso kann hier das mir nun jemand programmieren?

von Ulrich (Gast)


Lesenswert?

ok also nochmal kurz zusammengefasst:

die 64bit => 8Bytes werden bereits vom µC korrekt empfangen?
die 8 Bytes werden bereits per SPI rausgeshiftet?

vermutlich 8 Schieberegister und je 2*8Bit Schieberegister in Reihe.
Also 4CS?

Wenn du da ein paar Infos rausläßt dürfte es kein problem sein dir zu 
helfen....

von Hmm... (Gast)


Lesenswert?

> ALso kann hier das mir nun jemand programmieren?

Wieso machst du es nicht selbst? (Das ist jetzt nicht als Vorwurf 
gemeint!)

Anscheinend hast du ja schon einiges an Software da und traust dich nur 
nicht so recht an das TCP/IP-Geraffel ran, oder?

Das ist im Grunde garnicht sooo schlimm, den uIP hat man 1,2 Tage nach 
dem Erstkontakt eigentlich am laufen. Hatte mich vor 3 Jahren mal damit 
beschäftigt und ihn als recht einsteigerfreundlich in Erinnerung.

Wenn es ganz fix gehen soll, dann tausch den ENC8160 gegen einen 
Lantronix XPORT aus. Dann reduziert sich der Software-Aufwand auf die 
Ansteuerung einer simplen UART. Das wäre dann auch recht einfach auf 
RS485 portierbar, falls dir das dann später aus irgendeinem Grund mehr 
zusagt. Und man kann die Sache prima mit dem PC debuggen, ist ja nur ein 
weiterer COM-Port über den Daten getauscht werden..

von Benjamin (Gast)


Lesenswert?

Hallo, die hardware sollte so bestehen bleiben. Es kann auch die 
vorhandene software umgemodelt werden geht nur darum das ich keine Zeit 
habe da ich mich um andere Software kümmern müss die ebenfalls für 
dieses Projekt benötigt werden.

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
Noch kein Account? Hier anmelden.