Moin Moin
Ich (als fortgeschrittener Anfänger) habe mit großem Interesse die
Postings zum Thema Netzwerk und Ethernet gelesen. Kann mir mal bitte
jemand erklären, warum die meisten Leute den AVR immer in Kombination
mit einem Controller für Ethernet verwenden ? Ist es mit einem Atmel
90Sxxxx technisch nicht auch möglich Datenpakete zu verschicken und zu
empfangen? Ich meine das man nicht das komplette TCP/IP Protokoll in
maximal 8KB Speicher bekommt ist wohl klar aber reicht das nicht zum
senden von Hallo Welt oder einem ping aus?
Es währe nett, wenn Ihr (für mich) mal ein bisschen Licht ins Dunkele
bringt ;-)
MFG
Timo Ottersberg
Der Ethernet-Controller kümmert sich ja nicht um das TCP sondern nur um
die untersten Layer, also das eigentliche Ethernet (MAC-Adressen,
CSMA/CD usw). Du brauchst also ZUSÄTZLICH zu dem Ethernet-Controller
einen eigenen Controller (zB AVR), der das TCP (der was dann auch immer)
implementiert (BTW, ein funktionsfähiges TCP ist in einem AVR auf jeden
Fall zu machen, 8k sollten leicht reichen).
@TIMO
Schau dir am besten einmal das Datenblatt eines Ethernet-Controllers an,
welche Funktionen dieser für den Hardware-Layer enthält. Diese lassen
sich sinnvollerweise nicht in Software mit einem AVR nachbilden. Die
meisten preiswerten Controller verfügen schon über 16k SRAM im Gegensatz
zu den bescheidenen 4K eines MEGA 128. Für den Protokollstack eignen
sich die AVRs ab 8515 aufwärts recht gut.
Danke für die schnellen Antworten
Nun wird mir schon einiges klar. Könnt Ihr mir noch mal einen
billigen/einfachen Controller empfehlen? (mit Bezugsquelle) Also die
Controller für mehr als 25 sind mir eigentlich schon zu teuer.
Hmm... Der ideale Controller ist eigentlich meiner Ansicht nach der
CS8900A, ist aber eher schwer zu bekommen (als Privatperson). Eine
andere Möglichkeit ist ein RT8029-Chip den du auf etlichen
Netzwerkkarten findest - billge bei ebay kaufen und Chip runterlöten :).
Wenn du nicht unbedingt einen AVR verwenden willst dann schau dir mal
den DS80C400 an (http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3609):
integrierter 10/100MBit MAC und meines Wissens nach auch ein frei
verfügbarer Stack!
Moin nochmal
@Rainer
Also die Lösung mit derm RTL8029 gefällt mir gut. Ich habe sogar noch
eine Netzwerkkarte mit dem Chip liegen. Nur ich denke, dass ich es wohl
kaum schaffen werde die 100 Pins abzulöten und ohne fehler wieder
aufzulöten.
@all
Hat schon jemand erfahrung mit dem IPC@CHIP?
http://www.bcl.de
Der gefällt mir (bis auf den Preis 66 + MWSt) ganz gut. Vor allem
scheint mir die Programmierung und der Anschluss von anderen Geräten
recht einfach zu sein. Ich kopiere hir mal ein paar Daten rein.
186-20MHz 16 Bit CPU
512 Kbytes RAM, 512 Kbytes Flash
RTOS mit Flash Datensystem
Software download via Serial Port oder Ethernet
TCP/IP, PPP, HTTP, FTP, Telnet, POP3, SMTP und DHCP
Ethernet 10BaseT mit PHY
2 schnelle Serial Ports mit TTL-RS232 RXD, TXD, CTS, RTS
I²C Bus, Watchdog
2 Timer Ausgänge, 2 Timer Eingänge
IPC@Chip ist ganz nett, wollte ich mal für ein Projekt einsetzen - das
Problem, dass wir dann hatten war der zu kleine Adressraum (lächerlich
klein, nur 256 Byte oder so, soweit ich mich erinnern kann).
Ich benutze den LAN91C96.
Der kann nämlich ohne jede weitere Hardware direkt an einen AT90S8515
oder AT89C52 angeschlossen werden, da er ein internes Adreßlatch hat. Er
benötigt also nur 11 Pins (AD0..AD7, /RD, /WR, ALE).
Er hat 6kB RAM Puffer intern.
Peter
Hi Folks,
Wo wir gerade so schön beim Thema Ethernet mit AVR's sind. Hälts jemand
für möglich mit einem (oder meinetwegen mit hundert) AVR('s) nen
Hardwarerouter für nen DSL Anschluss zu basteln? Würde mich extrem
reizen (Stichwort: Was die Industrie kann können wir schon lange ;o) ).
Thx für jede (hilfreiche) Antwort ;o).
TheCrasher
Moin Leute
Also die erste Hürde währe genommen. Ich habe den RTL8029 mit 100 Pins
in ca. 45 min von der Platine entfernt. Doch nun gehts ja erst richtig
los. Leider finde ich außer dem Datenblatt nichts im Internet. Evtl.
könnt Ihr mir ja mal ein paar Links, Schaltpläne, Bilder oder ähnliches
zukommen lassen.
Thx :-)
Hallo Timo!
Wer suchet, der findet!
Obiges Zip findet sich auf der Herstellerseite des RTL8029.
http://www.realtek.com.tw/ unter "Products"
Viel Spass beim Löten.
Na gut habe ich mir halt ein bisschen mehr arbeit gemacht. Wenn der Chip
das überlebt ist das wirklich ne gute Idee. Aber hat noch jemand nen
Tipp für mich wie mann den wieder auflötet ? Ich habe mir so gedacht,
dass ich alle Leiterbahnen verzinne und anschließend den Chip aufsetze
und jedes Bein noch einmal kurz warm mache.
Danke nochmal für die vielen Tipps und anregungen
Timo
@TheCrasher
Warum soviel Mühe machen? Schon mal was von Fli4L gehört? www.fli4l.de
Das ist ein Software-Router und alles, was man sonst noch so braucht
(Print-Server etc.) unter Linux.
Das besondere ist, daß das ganze auf eine Diskette paßt und auf einem
alten Rechner läuft (für DSL ein 486er ohne Festplatte/CD-ROM/Monitor).
Für die Linux-Fremden gibt es auch einen Wizard unter Windows, der dann
die Konfiguration übernimmt.
@alle
Was mich aber interessieren würde: Kann man einen FTP-Server in einen
AVR integrieren? So könnte man z.B. bei einen Stand-alone-MP3-Player
leichter Software aufspielen.
Natürlich kenn ich Fli4l.. mal ganz davon abgesehen das ich das auch
ohne diese "Ding" hinkriegen würde.. weil ich rein zufällig schon
massenhaft Masquerading Router für Freunde unter Linux eingerichtet hab.
Aber diese Dinger haben ALLE ein paar ganz bestimmte Nachteile:
1.) Meine Eltern haben kein Peil wie man nen Linux Router ordungsgemäß
runterfährt (Den dürft ich dann alles 2 Woche neu installieren)
2.) Son Rechner frißt recht viel Strom (Den ICH dann wohl bezahlen
müsste)
3.) Ist das Ding aus, komm ich nicht ins I-Net (Und meine Sis würde das
Ding Garantier immer genau dann runterfahren wenn ich von ner 80GB Datei
noch 2K bräuche!)
und zu guter Letzt:
4.) Son Softwarerouter ist deutlich langsamer als ein Hardwarerouter
Das alles und die Frage ob sowas zu realisieren wäre vor allem hat mich
auf die Idee gebracht!
Ich bin zur Zeit die Schaltpläne am entwickeln und schreib danach die
Software. Wenn ich fertig bin poste ich mal den ganzen Kram ;o).
MFG TheCrasher
@TheCrasher:
Zu 1.):
Wenn Du schon massenhaft Router eingerichtet hast, dann weisst Du
sicherlich auch, dass man dann alle Dateisysteme schon aus Sicherheits
gründen readonly mountet und für /var die Ramdisk nutzt. Da kann dann
nix kaputtgehen, auch wenn man das Ding im Minutentakt ausschaltet.
Im übrigen gibt es für Linux schon seit Ewigkeiten
Journaling-Dateisysteme, so dass selbst, wenn ein Stümper einen Router
so einrichtet, dass alle Dateisysteme writeable sind, auch nix passiert
und im schlimmsten Fall irgendwelche temporären Dateien flöten sind.
Aber das sollte Dir ja bekannt sein, es sei denn, Du machst nur
klickibunti bei SuSE oder RedHat...
Zu 2.):
Der Stromverbrauch ist in der Tat ein bisschen höher. Dafür kann die
Kiste dann auch wesentlich mehr. Insbesondere so schicke Sachen wie
Netfilter, etc. Mit so nem kleinen MC kannst Du so Sachen wie
anständiges ICQ, FTP, etc. über NAT vergessen...
Zu 3.):
Einfach der Schwester ein paar auf die Ohren geben. Im übrigen
beherrschen alle vernünftigen Server Resume, so dass das auch keinen
jucken dürfte.
Zu 4.):
Fast alle auf dem Markt befindlichen Router sind Softwarerouter, so auch
das von Dir vorgeschlagene Projekt.
Schliesslich läuft da ein Programm.
Ausserdem sind ein 100MBit-LAN plus eine 100MBit-DMZ für einen 386er
unter Linux kein Problem...
Kleine Anmerkung noch zu Jochens Kommentar, obwohl ich ihm 100%ig
zustimme...
ad 1: Wieso denn bitte runterfahren? Mein Linux-Router (=auch Webserver,
FTP usw; K6 mit 200MHz) läuft seit über 200 Tagen hinter einer USW
absolut problemlos!
ad 2: Wer das Geld für nen DSL-Internet-Anschluss und dann noch für
Elektronik-Projekte (die zB in der Platinen-Herstellung und bei
Messgeräten ziemlich teuer werden können) hat, dem sollte es auf ein
bisschen Strom mehr oder weniger auch nicht mehr ankommen... Außerdem
frisst ein 486er auch nicht wirklich so viel, und wenns wirklich drauf
ankommen sollte, dann kannst du dir nen Low-Power-Industrie-PC zulegen -
kommt dir wahrschienlich immer noch nicht viel teurer als die PLatine +
AVRs + Ethernet-Chips usw..
ad 3: Resuming ist echt cool :).. Außerdem haben (zumindest bei mir)
Leute, die keinen Plan haben, die Finger von dem Zeug zu lassen. Noch
dazu hat der PC weder Monitor noch Tastatur oder sogar Maus und steht
irgendwo hinter einigen Ordnern unterm Tisch, also kommt uach keiner auf
die Idee ihn einfach abzuschalten (was aber ja dank ext3 kein Problem
sein sollte).
ad 4: Dein beschriebenes Projekt ist wie von Jochen richtig gesagt auch
ein Softwarerouter, und noch dazu mit Sicherheit weit langsamer, als
Linux dass auf nem 386er lösen würde! Hardwareseitiges TCP zu
implementieren wär zwar sicherlich echt cool - dennoch würde dein dann
wahrscheinlich notwendiges Riesen-FPGA immer noch die ganze Zeit auf den
Ethernet-Chip warten müssen, denn die sind auch nicht unbedingt
besonders schnell.
Außerdem sollte man bei momentanen DSLs (also mit Geschwindigkeiten von
max 1.5MBit) weder hier noch dort Probleme kriegen.
Rainer.
Hi,
µC SMD ausloeten und einloeten mit Hand ist kinderleicht....
Ausloeten: man nehme sich loetzinn und saugt alle beine Kraftig ein. So
das eine Loetzinn mauer den chip umgibt... dann den loetkobeln immer
durchs loetzinn ziehen also alle vier seiten.... man nehme sich ein
Zahnmedizinsiches Tool und schwups ist der µC runta.... den rest loetzin
mit entloetsauglitze sauber machen....
Aufloeten: Man kaufe sich Flux (einige Sagen Flax = Flussmittel, klebt
wie sau :) )und dann haste den µC innerhalb von ca 2 min per Hand
aufgeloetet :)
Zum SMD-Auslöten nehm ich immer die Herdplatte. Geht sehr schnell und
problemlos; wenn man aufpaßt, dann passiert auch der Platine nix. Ist
auch schonender für die Bauteile.
Hi Leutz,
Danke erst mal Jochen & Reiner. Was ihr das sagt ist mir alles kalr
wie'n Klärchen und auch super einleuchtend.. wenns da nicht ein problem
gäbe... meine Eltern (JaJa ich weiß.. zieh doch aus.. bla bla bla..
studieren gibts nicht umsonst ;o) ). Meine Mum hat so ne Art aversion
gegen Computer.. zumindest ein bisschen.. deshalb darf ich den Router
nicht laufen lassen! Und mein Dad kommt mir dann auch mit dem
Stromproblem (Ganz egal wie wenig unterschied das macht)! Und wenn ich
den Router wie ich schon sagte immer ausschalte... dann macht meine Sis
das mit 800%tiger laufend aus wenns mir grad gar nich passt (Egal ob mir
jetzt en Download abbricht oder net, das nervt wie die Socke weil der
Server im Keller steht und ja net per Remote angeschaltet werden kann
(oder geht das irgendwie?))! Mein Problem bleibt also. Ach so was das
ausschalten & kaputt angeht.. er mag nicht kaputt gehen.. aber der
scannt jedesmal die platte wieder durch! Und das dauert (Auch wenn mans
verhindern kann ich weiß, ich weiß)! Deshalb (und weil ich posen will
natürlich ;o) ) wollt ich das mal probieren! Kennt einer von euch nen
guten DSL Modemchip?
Thx for help!
TheCrasher
Also das mit dem remote anschalten des PCs könntest du doch über PowerUp
on LAN realisieren!? Es sei denn dein server untestützt es nicht. Um
einen eigenen Router zu bauen wäre doch die einfachste Lösung die. Da
die Sache mit dem Softwarerouter soweit geklärt ist würde ich einen
einen Embedded PC (MINI ITX, One Board Controller) mit Ethernetanschluss
nehmen.
Hat mehrere Vorteile:
1. Relativ günstig im Vergleich zur Eintwicklung eines
board (VIA's Mini ITX mit 800 MHz ca 150Eur[sogar intel
compatibler befehlssatz :)) ]])
2. Du brauchst Dir "keine" gedanken über die Hardware machen
3. Software gibt es reichlich im Internet z.B Fli4l
Falls es Dir ein derartiges Projekt aber zu einfach ist kannst Du ja
immer noch mit einer Low Level Programmierung
beginnen. (Zur Not gibt es Oneboard Controller ja auch mit anderen
Prozessor Designs AVR PIC (selbst auf einem kleinen
PIC 12C580 ist es möglich ein tcp/ip stack aufzubauen. Bei einem PIC der
16Reihe passt sogar noch TFTP, WEB und SMTP drauf. www.microchip.com)