Ethernet an AVR anschließen

12

Ich bin mit Mikrocontrollern ziemlich vertraut und möchte sie jetzt mit dem Internet verbinden. Was sind die Mindestanforderungen an einen Mikrocontroller, um dies tun zu können, und zwar, wenn möglich, an einen AVR? Zweitens, was ist sonst noch erforderlich? Ich habe über Ethernet-Controller gelesen, bin mir aber nicht sicher, was sie genau tun und wie sie mit dem Mikrocontroller verbunden werden sollen.

Was sind die erforderlichen Komponenten, um einen Mikrocontroller online zu schalten (keine Arduino-Shields)?

Alexis K
quelle
1
serielles Wählmodem .... ich datiere mich selbst?
kenny
2
Sie scheinen Ethernet und Internet synonym zu verwenden. Sie können es nicht erkennen, aber sie sind überhaupt nicht gleich. Eine Ethernet-Verbindung bedeutet nicht, dass Sie über Internet verfügen, und Internet bedeutet nicht, dass Sie über eine Ethernet-Verbindung verfügen. Was genau möchten Sie tun?
Kellenjb
1
Ja. Du hast recht. Was ich möchte, ist eine Ethernet-Verbindung zusammen mit allen anderen Dingen (DHCP, TCP / IP, ...), um eine Internetverbindung herzustellen.
Alexis K
1
Aber was möchten Sie eigentlich tun? Wenn Sie einen Webserver hosten möchten, gibt es viele andere Anforderungen als wenn Sie von Zeit zu Zeit ein Byte von einer Website abziehen möchten. Was bringt Sie dazu, an kabelgebundenem Ethernet festzuhalten und nichts mit WiFi oder 3G zu tun?
Kellenjb

Antworten:

4

Ich glaube, um einen mehr oder weniger produktiven Weg zu haben, sollten Sie zunächst ein separates SPI zum Ethernet-IC hinzufügen, z. B. den ENC28J60, und sich von dort aus verbessern. Ein solcher Chip abstrahiert die OSI-Schichten 1 und 2.

Sobald Sie die Hardware haben, wird die Programmierung meiner Meinung nach die größte Herausforderung sein, da Sie die Details der IP, des TCP und des von Ihnen verwendeten Protokolls verstehen müssen.

Wahrscheinlich würden Sie es vorziehen, anhand eines Beispiels zu lernen, bevor Sie sich mit allen theoretischen Details befassen. Ich glaube also, dass Sie einen Blick darauf werfen, was auf Websites wie Tuxgraphics ( Artikel auf einem AVR-Webserver mit Code - Open Source) und Embeddedmarket gemacht wird ( Die Schaltpläne finden Sie in der Bedienungsanleitung .) Überprüfen Sie auch diesen Blogeintrag.

Sicherlich benötigen Sie so viel RAM und EEPROM wie Sie können, Sie können es mit einem Gerät der 8-Bit-Familie tun.

Vergessen Sie auch nicht, dass Sie mit etwas ganz Einfachem beginnen können (kein Web-Server, nur eine telnet-ähnliche Verbindung oder Raw (einfach Ihre aktuelle serielle Schnittstelle in eine auf Sockets basierende Schnittstelle umwandeln) und Software wie Putty verwenden können , um eine Verbindung herzustellen hinein).

Abschließend können Sie für den Fall, dass Sie eine schnelle Lösung benötigen, auch einen Drop-In-Konverter für Ihren seriellen / ttl-Kommunikationsanschluss verwenden. Es gibt Versionen für Konsumenten (digi one SP, moxa Nport5150 usw.) und andere, die in Ihr Projekt integriert werden können (von moxa , hw-group und anderen). Diese abstrahieren die Osi-Ebenen 1, 2, 3, 4. Nun, sie abstrahieren alles.

Hoffe, das hilft dir, dich auf den richtigen Weg zu bringen.

Bruno Flávio
quelle
6

Das Open-Source- Nanode- Projekt implementiert so ziemlich das Nötigste, um einen Arduino mit dem Internet zu verbinden - einen ATMega328-Mikrocontroller, einen ENC28J60-Ethernet-Controller und einen 74HC125-Pegelwandler (sodass der Mega328 weiterhin mit 5 V betrieben werden und mit dem ENC28J60 kommunizieren kann) (Betrieb mit 3,3 V) und eine Ethernet-Buchse (mit interner Magnetik) sowie die entsprechende Stromversorgung und passive Schaltung. Sie können im Internet viel mehr darüber lesen, einschließlich der Lötpad-Seite . Es wurde auch zum besten IoT-Open-Source-Projekt 2011 gewählt .

Vollständige Offenlegung - Ich verkaufe dieses Produkt bei Wicked Device .

vicatcu
quelle
... oder diesmal pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/… für weniger als 20 EUR
Curd
@ Curd cool, ein Nachteil mit dem verknüpften Gerät ist, dass es nicht Arduino-kompatibel ist, oder?
Vicatcu