Mikrocontroller

Ethernet - einfach zubereitet

17.10.2006 | Redakteur:

Produkte müssen heute neben ihrem ursprünglichen funktionalen Zweck noch weitere Funktionen erfüllen, da der Konsument oder Anwender eine einfache Bedienung, kombiniert mit erweiterter Funktionalität...

32-Bit-Ethernet-MCUs mit MAC und PHY auf einem BausteinMikrocontroller mit denen sich unabhängige und kommunikationsfähige Lösungen erstellen lassen, erhöhen die Leistungsfähigkeit in dem Maß, wie es vom Kunden gewünscht wird. Als Kommunikationsschnittstelle steht bei diesen Lösungen Ethernet im Mittelpunkt, das immer mehr in Feldbussystemen und anderen Embedded-Systemen zum Einsatz kommt.

Produkte müssen heute neben ihrem ursprünglichen funktionalen Zweck noch weitere Funktionen erfüllen, da der Konsument oder Anwender eine einfache Bedienung, kombiniert mit erweiterter Funktionalität erwartet. Damit die Geräte die an sie gesetzten Erwartungen erfüllen können, müssen sie intelligent und kommunikationsfähig sein. Intelligente Geräte sind dadurch gekennzeichnet, dass sie eigenständig arbeiten (Self-Controlling) und sich selbstständig auf veränderte Umgebungsbedingungen einstellen (Self-Optimizing) können. Dazu benötigen sie eine softwareprogrammierbare Zentraleinheit (CPU) und die Möglichkeit, Informationen auszutauschen. Geräte, die interaktiv bedient werden sollen, benötigen zusätzlich ein HMI (Human Machine Interface). Viele Anwendungen basieren auf verteilten Architekturen, die verteilte Funktionen über ein Bussystem realisieren. An Stelle von einer sehr leistungsfähigen Zentraleinheit, die Sensoren und Aktuatoren über analoge Verbindungen ansteuert, arbeitet man mit verteilten intelligenten Knoten. Die Knoten sind über einen Bus miteinander verbunden. Die Komplexität der einzelnen Knoten ist entsprechend der geforderten Aufgaben unterschiedlich. Für Endknotenanwendungen sind folgende Mindestanforderungen notwendig: begrenzter Funktionsumfang, möglichst geringe Abmessungen um im Sensor Platz zu finden und möglichst geringe Systemkosten, die nur durch höchste Integrationsdichte realisiert werden können. Freescale stellt dafür zwei Lösungsansätze zur Verfügung. Zum einen eine Single-Chip-Lösung, die Ethernet-MAC und -PHY, Speicher und Peripheriefunktionen auf einem Baustein integriert. Und zum anderen Ethernet-Mikrocontroller, die auf Grund ihres Funktionsumfanges auf externe Speicher angewiesen sind. Beispiele für Single-Chip-Ethernetbausteine sind der MC9S12NE64 und die MCF5223x-Familie. Beispiele für Multi-Chipbausteine sind die MCF5208- und MCF532x-Produkte. Die unterschiedlichen Eigenschaften dieser Bausteine gehen aus Tabelle 1 hervor. Bild 1 zeigt deren Eigenschaften.Der MC9S12NE64 war der erste Mikrocontroller von Freescale, der einen Ethernet-MAC (EMAC) und einen Ethernet-PHY (EPHY) auf einem Chip integrierte. Er ist für einfache Endknotenanwendungen gedacht und man kann sowohl TCP/IP-Anwendungen, als auch Echtzeit-Ethernet-Powerlink (Controlled Node) implementieren. Für TCP/IP und HTTP (Webserver) werden etwa 35 KByte Programmspeicher benötigt, so- dass noch etwa 25 KByte für die Anwendung zur Verfügung stehen. Um den Knoten Powerlink-fähig zu machen, damit er als Controlled Node arbeiten kann, kommen noch ein paar Kilobyte dazu. Komplexe Datenverschlüsselung wie beispielsweise IPsec (IP Security) oder HTTPS (Hypertext Transfer Protocol Secure) kann man bei dieser Speicherausbaustufe nicht realisieren. Lediglich einfachere Verschlüsselungsalgorithmen (z.B. AES Advanced Encryption Standard) finden im Programmspeicher noch Platz. Werden an die Kommunikationssoftware oder an das Anwendungsprogramm höhere Anforderungen gestellt, stehen die MCF5223x-MCUs zur Verfügung, die auf einer V2-ColdFire-CPU basieren und größeren Speicher (128 und 256 KByte) zur Verfügung stellen. Hier hat man sich aus Leistungsgründen für einen 32-Bit-Kern entschieden, der eine erweiterte MAC-Einheit und wahlweise ein Hardware-Verschlüsselungsmodul hat. Die Kryptographie-Beschleunigungs-Einheit (CAU) ist ein Co-Prozessor, der softwarebasierende Verschlüsselung unterstützt und DES-, 3DES-, AES-, MD5- und SHA-1-Algorithmen beschleunigt. Die für die Verschlüsselung notwendigen Zufallszahlen werden ebenfalls durch einen in Hardware vorhandenen Generator erzeugt. Die MCF5223x können auch speziell für Steuerungsaufgaben eingesetzt werden, da sie über A/D-Wandler mit einer Auflösung von 12 Bit und einer Vielzahl von Timern bzw. PWM-Einheiten verfügen, die elektrischen Motoren oder andere Aktuatoren ansteuern können. Vier DMA-fähige Timer mit einem 32 Bit breiten Zähler und einer Auflösung von 16,7 ns können zur Messung von kurzen Ereignissen oder zur Generierung von schnellen, hochauflösenden PWMs verwendet werden.Für Ethernet-fähige Anwendungen, die mehr Speicher benötigen, als die Single-Chip-Bausteine zur Verfügung stellen, gibt es den Baustein MCF5208 (Bild 2). Er verfügt über ein SDRAM-Interface und benötigt für den Aufbau eines arbeitsfähigen Systems externen Speicher und einen externen Ethernet-PHY. Mit µClinux (keine MMU erforderlich) ausgestattet, stellt es ein leistungsfähiges System dar, das ohne weitere Kosten für das Betriebssystem und die Kommunikationsstacks auskommt. Ein Board Support Package für µClinux wird von Freescale für das MCF5208 Evaluierungs-Board angeboten und steht auf der Freescale Webseite zum Download bereit.Die hier vorgestellten und auf der ColdFire-Architektur basierenden Ethernet-MCUs verfügen über ein Fast-Ethernet-Modul, das mithilfe von DMA ankommende Ethernet-Frames in den RAM-Speicher schreibt, ohne die CPU zu belasten. Da sich die Puffer außerhalb des FEC-Moduls im RAM befinden, können mehrere Puffer definiert werden, die man durch Pufferdeskriptoren adressiert. Üblicherweise werden mit Ethernet die Kommunikationsprotokolle der TCP/IP-Suite verwendet. Damit kann man einfach einen Webserver (HTTP), E-Mail-Clients (SMTP, POP3) und andere Internet-Applikationen erstellen. Für Echtzeitanforderungen stehen für die hier dargestellten MCU-Ethernet-Powerlink zur Verfügung (siehe Anbieterübersicht Tabelle 2). Free-scale stellt den Kommunikationsstack NicheLite für die ColdFire-Controller zur Verfügung. Dieser TCP/IP-Stack von Interniche Technologies stellt ein API (Application Programming Interface) mit Mini-Sockets zur Verfügung, die an die häufig verwendeten BSD-Sockets (Berkely Software Distribution) angelehnt sind. Neben den Basisprotokollen ARP (Address Resolution Protocol), IP (Internet Protocol), ICMP (Internet Control Message Protocol), UDP (User Datagram Protocol), TCP (Transmission Control Protocol), DHCP-Client (Dynamic Host Configuration Protocol), BOOTP (Bootstrap Protocol), werden noch TFTP (Trivial File Transfer Protocol) unterstützt. Eine dynamische Webserver-Implementierung (HTTP) und E-Mail-Funktionalität (SMTP, POP3) hat Freescale dem NicheLite-Stack hinzugefügt. Die Kommunikationssoftware kann ohne Lizenzkosten für ColdFire-Produkte verwendet werden. Um Erweiterungen des Stacks testen zu können, wurden dem Stack Diagnosefunktionen hinzugefügt, die z.B. über einen UART angesprochen werden können. Während der Laufzeit kann man ohne Debugger Statusinformationen abrufen oder Konfigurationen des Stacks vornehmen. Außerdem wird mit dem Stack das freie Betriebssystem NicheTask geliefert (www.freertos.com), das ein einfaches Round-Robin-Tasksystem und die dazugehörige Steuerungslogik darstellt.Für Anwendungen, die eine Schnittstelle zwischen Anwender und Maschine benötigen (HMI) verfügen die MCF532x-Controller zusätzlich über ein SVGA-Anzeige-interface und ein USB-Host- und -OTG-Modul (On The Go). An das USB-Host-Modul können weitere USB-Geräte wie Massenspeicher und Eingabegeräte (Maus, Tastatur) angeschlossen werden. Das USB-OTG-Modul erkennt selbstständig, ob es sich als Host oder als Device verhalten soll. Damit kann auch ein USB-fähiger Computer, der immer als Host arbeitet, angeschlossen werden. Der ColdFire V3 Core hat eine Rechenleistung von 211 Dhrystone 2,1 MIPS. Bei der umfangreichen Peripherie würde der Peripheriebus ein Nadelöhr darstellen, das durch den Crossbar-Switch umgangen wird. Er erlaubt den parallelen Zugriff der Mastermodule (CPU, eDMA, FEC, USB OTG, USB Host und LCD) auf die Slavemodule (Businterface, SRAM, Kryptographiemodul und andere On-Chip-Module).Für alle hier vorgestellten MCUs gibt es von Freescale die Software-Entwicklungsplattform CodeWarrior mit integriertem C/C++-Compiler, Assembler, Linker und Debugger. Für den HCS12 gibt es eine auf 32 KByte und für die ColdFire eine auf 128 KByte C-Code limitierte kostenlose Special Edition, die den Demo-Boards der Controller beigefügt ist. Initialisierungs-Tools (ProcessorExpert-Werkzeug für HCS12 und CFInit für ColdFire-Architekturen) sind verfügbar. Für alle MCUs gibt es Evaluierungs-Boards, die mit Speicher und Schnittstellen ausgestattet sind. Das EVB für die MCF5223x (Bild 3) verfügt über einen Power-over-Ethernet-Baustein (Freescale), der dem Board Strom über die Ethernet-Leitung zuführt. GNU C/C++-Compiler- und Debugger-Portierungen sind verfügbar.FreescaleTel. +49(0)89 92103352

Harald Kreidl

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 175806 / Mikrocontroller & Prozessoren)