Archiv verlassen und diese Seite im Standarddesign anzeigen : TCP/IP (über LAN Datenaustauch mit PC)
jogigonzo
05.09.2005, 23:11
Hallo,
kann mir jemand einen Tip geben wie ich über LAN (Netzwerk) Daten zu einem Atmega128 schicken bzw. Daten von einem Atmega empfangen kann?
mit einem PC?
Es gibt so genannte "Netzwerkkarten" die ermöglichen deinem PC mit dem Netzwerk umzugehen
:D :D :D
Sorry, aber das musste einfach sein :D
Ich habe leider keine Ahnung wie kompliziert so ein Realtek-Chip anzusteuern ist, aber etwas in der Art suchst du doch?
Zunächst brauchst du ersteinmal eine Ethernet-Schnitstelle, ob du darüber TCP, UDP, PPoE, ARP ... laufen lässt ist zunächsteinmal wurst.
Es ist aber jedenfalls keine triviale Aufgabe sowas zu basteln, TCP/IP ist schon recht aufwändig.
Wofür willst du das denn?
linux_80
05.09.2005, 23:56
schau mal was zB. die so machen:
http://www.ethernut.de/
du könntest auch mal auf www.ulrichradig.de schauen, da wird beschrieben, wie du einen Webserver auf Basis eines AVRs bauen kannst
Es gibt auch bei MCSELEC ein TCP/IP Modul samt Library auf
http://www.mcselec.com/easy_tcp_ip.htm
jogigonzo
08.09.2005, 23:06
@Fleißiges Mitglied
Ich will Programme an den Atmega (bzw EEProm) schicken , die ich auf dem PC erstellen. Und gleich auf die nächste Frage Warum ich unbedingt Netzwerk haben will. Weil ich das übers Hausnetzwerk machen will.
MfG
dann brauchst du zuerst einmal einen bootloader auf dem atmel der mit lan umgehen kann.
dann noch ein programm auf dem pc der die soft verteilt.
Das grössere problem wir wohl eher sein den bootloader zu schreiben
na denn viel spass :)
jogigonzo
09.09.2005, 20:45
Nicht das ihr mich falsch verstehts... kein Programm für den Atmega, sondern ein Programm zur Lichtsteuerung. Also wann und welche Lampe an oder aus sein soll zB.)
linux_80
09.09.2005, 22:02
Du meinst Du stellst auf dem PC eine Sequenz zusammen wie irgendwelche Lampen wann zu leuchten haben, und das soll dann an den AVR gesendet werden, der sich das dann am besten im EEprom sichert, um es ab da so auszuführen ?!
Dann musste du Dir ein protokoll überlegen, damit der AVR weiss wann er gemeint ist und nachfolgende Daten wegsichert.
Dann muss man auch noch wissen wie die Leuchtsequenz codiert wird damits auch so ausschaut wie man sich's gedacht hat.
Du musst jetzt erstmal wissen welche Möglchkeiten es geben soll verschiedene Lampen ein- und auszuschalten mit Wartezeit usw.
Ein 128er hat 4KB EEprom, da kann man schon was unterbringen.
HTH
Hallo Leute
Im Netz habe ich mal was gesehen, wo jemand eine alte Netzwerkkarte mit einem AVR verwendet hatte..
Vielleicht ginge sowas leichter als extra ein Board für Netzwerkhandling zu machen.
Leider weis ich aber nicht mehr den Link dazu...
Kennt von Euch jemand diese Sachen ??
Alte Netzwerkkarten bekommt man ja nachgeschmiessen.. :-)
l.G. Roberto
Schau mal ein paar Beiträge weiter oben.
Da hat Pascal dir den Link www.ulrichradig.de gegeben. ICh denke mal den meinst du.
Ahh, ja...stimmt... (hatte ich übersehen)
Aber ich hatte damals noch einen anderen Link..
Aber, wie auch die Ursprungsfrage war ;-), wie kann ich über ein Netzwerk einen AVR ansprechen.
Wenn ich ne Netzwerkkarte nehme, wie kann man da dann mit dem AVR eine Verbindung machen. (steuern)
Stelle mir mal vor, dass man da irgendwie über den Bus die Verbindung zu der Netzwerkkarte machen muss.
Aber wie steuert man die Netzwerkarte an ?
Welches Protokol gibt es da ?
Irgendwie dann die IP-Packete auswerten ?
Es muss ja keine Server sein.
Es würd ja reichen, wenn man über einen Browser, übers Netzwerk, über die Netzwerkkarte, dann den Avr Steuern kann.
:-)
linux_80
10.09.2005, 22:17
Hallo,
wenn man will, das der AVR auf ein Zeichen von aussen reagiert, muss man ja einen Server bauen, es reicht da ja zB. einen Telnet-Server auf Port23 zu machen, dann kann man den Rest so gestalten, wie wenn man das über RS232 macht.
Das Problem ist aber, das man das ganze TCP/IP-handling selber mit integrieren muss.
Wenn man einen 128er verwendet kann man über dessen externen Adress- und Datenbus die Netzwerkkarte ansprechen, man muss auch nicht den kompletten ISA-Bus nachbauen, denn man hat ja nur diese eine Karte, so wirds etwas einfacher.
Den Rest kann man sich von den schon angegebenen Seiten herauslesen.
Ich verstehe daß du das schon vorhandene Netzwerk nutzen willst,
aber gerade bei LAN brauchst du noch relativ viel zusätzliche Hardware
(es sei denn du nimmst statt dem Mega128 einen ARM der das schon von sich aus kann)
Mir fallen aber noch zwei andere Möglichkeiten ein, die ohne LAN auskommen (und wo du trotzdem keine neuen Leitungen verlegen musst)
1. soweit ich weiss sind in einem normalen Patchkabel noch ein paar Leitungen frei, nimm die und setz dir einen CAN-Bus quasi mit ins Kabel
(CAN weil es relativ unempfindlich gegenüber Störungen ist)
2. Du willst eine Lichtsteuerung?
Ok, ich denke so ziemlich jede Lampe hängt letztendlich irgendwo am normalen 230V Netz...
Und wie der Zufall so will, kann man das auch hervorragend zur Übertragung irgendwelcher Daten nutzen.
jogigonzo
11.09.2005, 09:02
Hallo,
@ Linux_80
mit dem was ich vorhabe werden RGB-LED's angesteuert. Dazu benötige ich 27 PWM Kanäle. Die Sequenzen dazu will ich auf dem PC schreiben.
Wie ich die LED's ansteure hab ich mit einem Atmega8 (3PWM's) schon mal versucht und das klappt auch. Da ich pro Sequenz 31 Byte zum speichern benötige (27 Kanäle) reicht der speicher eines Atmega128 bei weitem nicht aus. Ist aber auch vorerst egal.
@ Felix G :
CAN-Bus kenn ich nicht. Was ist das?
CAN-Bus kenn ich nicht. Was ist das?
der CAN(Controller Area Network)-Bus wurde speziell für die Automobilindustrie entwickelt, denn diese brauchte einen Bus, der auch gegen die Störungen im Motorraum und im sonstigen Auto resistent ist
der CAN-Bus ist also ein relativ störungssicherer Bus, ähnlich dem RS485, allerdings ist er ansonsten eher wie der I²C-Bus aufgebaut(also was Multimasterfähigkeit und sonstiges angeht, das müsstest du beim RS485 erst selbst implementieren)
es gibt sogar einen AVR mit eingebautem CAN-Controller, eine Variante des ATMega128, heißt AT90CAN128
Man könnte die Daten vom PC auch über's Netzwerk an einen anderen PC schicken, der das dann in RS232 umsetzt, was überen einen MAX232 in den AVR geht.
Oder man benutzt gleich die AVR- und BASCOM-Möglichkeiten!
CONFIG TCPIP = int , MAC = mac , IP = ip, SUBMASK = mask, GATEWAY = gateway, LOCALPORT= port, TX= tx, RX= rx , NOINIT= 0|1
http://www.fh-augsburg.de/~hhoegl/rtlab/node10.html
Oder mal schauen was Igor ohne viel Hardware gemacht hat:
http://www.cesko.host.sk/IgorPlugUDP/IgorPlug-UDP%20(AVR)_eng.htm
Rage_Empire
18.10.2005, 20:45
Hat jemand mit den Bascom-Kögichkeiten schon was erreicht? Sieht komplex aus mit der Lib.
Oder...
...Du nimmst den X-Port von Lantronix (http://www.lantronix.com/device-networking/embedded-device-servers/xport.html) . Quasi ein TCP/IP <-> RS323 wandler, fals Dir die eigene Implementation zu aufwendig ist.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.