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)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.