Rabbit Semiconductor RCM3200Design ChoicesRabbit Semiconductor RCM3200. Wenn Sie bereit sind, den Entwurf eines Embedded-Systems für die Vernetzung, müssen Sie einige Entscheidungen über die Geräte-Hardware und den Programmcode, die die Hardware kontrolliert wird. Auf der einen Seite, können Sie es tun, alles selbst, Schnittstellen Ethernet-Controller-Chip auf einer CPU und das Schreiben von Code zu-Ethernet-Kommunikation und die Internet-Protokolle verwendet, das Gerät zu unterstützen. Oder Sie können eine Menge Zeit sparen, indem Sie mit einem Modul, das eine CPU, Ethernet-Schnittstelle enthält, und Software-Unterstützung für Ethernet-Kommunikation und Internet-Protokollen. Oder Sie können einen Mittelweg zu wählen, wie mit Hilfe eines mitgelieferten Software-Bibliothek, sondern die Gestaltung Ihrer eigenen Schaltungen. Diese Vernetzung Tutorial beginnt mit einer Einführung eine Auswahl der verfügbaren Produkte für die Vernetzung von Embedded-Systeme. Ob Sie letztendlich wählen Sie eine der beschriebenen Produkte, die Überprüfung der Optionen können bei der Festlegung der an ein Projekt zu helfen. Jeder Computer in einem Ethernet-Netzwerk ist ein Ethernet-Controller besitzen, und es gibt auch hier Möglichkeiten. Diese Vernetzung Tutorial's vertiefte Diskussion beschreibt die Fähigkeiten und den Betrieb von gängigen Ethernet-Controller. Auswahl von Komponenten
Wie bei jedem Projekt können vertraut machen einen großen Unterschied, wie einfach es ist, etwas zum Laufen zu bringen. Auf der Software-Seite sind sowohl in C und Java gängigen Sprachen für die Programmierung von vernetzten eingebetteten Systemen. Wenn Sie über Erfahrung in einer dieser Sprachen, ist es sinnvoll, dabei bleiben. Auf der Hardware-Seite, wenn Sie bereits Erfahrung mit einer bestimmten CPU-Familie zu haben, macht es oft Sinn, mit ihm zu bleiben, wenn möglich. Zur gleichen Zeit, wenn es ein Produkt, das Ihren Zweck perfekt, aber einige Zeit zu meistern wird, so kann es sich lohnen, graben und etwas Neues lernen, vor allem wenn man die Kenntnisse in weiteren Projekten in der Zukunft zu nutzen. Diese Buch nicht Platz haben, um alle Möglichkeiten zu beschreiben, und neue und aktualisierte Produkte ständig zur Verfügung stehen. Für die Links zu den aktuellsten Informationen zu den beschriebenen Produkten und anderen finden Sie auf Lakeview Research Embedded-Ethernet-Seite bei www.Lvr.com. KomplettlösungenRabbit Semiconductor RCM3200Auf einen Blick: Eine schnelle CPU Z80-Derivat mit viel I / O, geringe Störstrahlung und eine komplette Entwicklungsumgebung, einschließlich eines C-Compiler. Ethernet: 10BASE-T und 100Base-TX. Quelle: Rabbit Semiconductor (www.rabbitsemiconductor . com). Hardware. Die RCM3200 RabbitCore C-Programmierung mit Ethernet-Modul (Network Artikel 3-1) ist eine Platine, die Rabbit Semiconductor Rabbit 3000-Mikroprozessor, das ist eine wesentlich verbesserte und verstärkte Ableitung von Xilinx, Inc. 's ehrwürdigen Z80 Mikroprozessor enthält. Die Platine ist kleiner als eine Visitenkarte und unterstützt eine Vielzahl von I / O-Schnittstellen. Der Rabbit 3000-Mikroprozessor verfügt über sieben 8-Bit I / O-Ports. Viele der Bits haben spezielle Funktionen, darunter sechs serielle Schnittstellen für asynchrone und synchrone Kommunikation und Infrared Data Association (IrDA)-Protokollen ist eine bidirektionale Parallelschnittstelle, zwei Input-Capture-Kanälen, vier Puls-Weiten-Modulation (PWM)-Ausgänge und zwei Einheiten mit Quadratur-Decoder-Eingänge für optische Inkremental-Encoder-Module. Zusätzlich zu den I / O-Ports gibt es einen externen Speicher mit 8 Datenbits und 20 Linien-Adresse. Die Stromversorgung kann zwischen 3,6 V so niedrig wie 1,8 V. Ein Zähler, der die Funktion eines Echtzeit-Uhr verfügt über eine separate-Stromversorgung, um es einfach zu Backup-Batterie liefern. Der Chip ist in einem 128-Pin-LQFP (Low Profile Quad Flat Pack) oder 128-Ball TFBGA (Thin-Profil Fine-Pitch Ball Grid Array)-Gehäuse. Ein System kann eine Genossenschaft oder präemptives Multitasking verwenden. In kooperatives Multitasking, müssen die Aufgaben verpflichten sich zusammenzuarbeiten, nicht mehr als ihr Anteil an Rechenzeit. Dynamic C erreicht kooperatives Multitasking durch den Einsatz von costatements und cofunctions. Ein costatement ist eine Liste von Anweisungen mit einem Zeiger, der die Spuren, die Anweisung auszuführen, die nächste hält. Ein costatement der Regel Funktionen als eine Anweisung in einer Liste von Aussagen, die in der Reihenfolge ausgeführt werden in einer Schleife. Innerhalb eines costatement kann ein waitfor Steueranweisung testen, um herauszufinden, ob eine Funktion abgeschlossen hat oder ein Timeout aufgetreten ist. Wenn waitfor true zurückgibt, setzt die costatement mit der nächsten Anweisung in der Liste. Wenn waitfor false zurückgibt, springt die costatement Klammer auf seine Schließung. Das nächste Mal die costatement ausführt, beginnt die costatement am waitfor, die zuvor false zurückgegeben. Auf diese Weise kann der Code seinen Weg durch eine Reihe von Aussagen zu machen, ohne blockiert durch eine Erklärung, dass eine lange Zeit für die Ausführung übernimmt. Ein waitfor Anweisung kann eine Funktion aufrufen, die einen Wert zurückgibt. In dem folgenden Beispiel, eine endlose Schleife wechselt zwischen den Aufruf der tcp_tick ()-Funktion, die Hintergrund-Verarbeitung für TCP-und UDP-Kommunikation durchführt, und ein costatement deren Aufgabe es ist, um ein Datagramm zu senden einmal pro Sekunde. for (;;) (tcp_tick (NULL); costate (/ / wait DelaySec Sekunden zwischen sendet. waitfor (DelaySec (1)); / / send ein Datagramm an dem Remote-Host. send_datagram ();)) Das erste Mal die costatement ausführt, die waitfor (DelaySec (1))-Anweisung ausgeführt und speichert einen Wert, der die aktuelle Uhrzeit anzeigt. Die Anweisung false zurück und springt die Ausführung zur Schließung des costatement die Klammer, dann nach oben in der for-Schleife. Jedes Mal, wenn durch die Schlaufe, waitfor (DelaySec (1)) ausgeführt wird, bis man wieder False Sekunden verstrichen ist. Nach seiner Rückkehr wahren, wird die Ausführung mit dem send_datagram ()-Anweisung. Diese Anweisung ruft die Anwendung send_datagram ()-Funktion, die ein Datagramm an einen entfernten Rechner sendet. Programmausführung dann eine Schleife zurück zum waitfor ()-Anweisung, die die zeitliche Verzögerung neu gestartet. Dynamic C's cofunctions ähneln costatements, kann aber akzeptieren und Argumente. Costatements und cofunctions sind für viele Anwendungen bequem, aber es ist auch möglich, kooperatives Multitasking mit State-Maschine zu erreichen Programmierung. Zustandsautomaten sind nützlich, wenn der Programm-Code führt immer wieder eine Reihe von Aufgaben, aber nicht immer in der gleichen Reihenfolge. AC switch-Anweisung kann eine State-Machine umzusetzen. Zum Beispiel kann ein TCP-Server eine switch-Anweisung verwenden, um zu entscheiden, welcher Code in Abhängigkeit vom aktuellen Zustand einer Verbindung auszuführen. Mögliche Zustände könnten Initialisierung einen Sockel, auf eine Verbindung wartet, an die ein Antrag, Header erhalten, senden Sie eine Antwort, und warten, um eine Verbindung zu schließen. Rabbit Semiconductor state.c Beispiel veranschaulicht diesen Ansatz. In präemptives Multitasking, ist jede Aufgabe garantiert Rechenzeit. Es gibt keine Notwendigkeit, sich auf die übrigen Aufgaben Ausbeute ab. Dynamic C's Slice-Anweisung können präemptiven Multitasking, indem Sie eine Aufgabe für eine Zeit ein Segment oder ein Zeitraum, in Einheiten von 1 gemessen / 1024 Sekunde. Am Ende des Stücks, die Aufgabe aussetzt. Wenn alle Aufgaben in der Hauptschleife eines Programms verwenden Scheibe Aussagen, können Sie bestimmen, wie oft jeder Aufgabe erhält seine Scheibe von der Gesamtzahl der Scheiben. Eine Beschränkung auf Slices mit TCP / IP-Kommunikation in Dynamic C ist, dass alle TCP / IP Funktionen müssen in einem einzigen Stück. Die MicroC / OS-II-Bibliothek-Modul bietet eine weitere Möglichkeit, präemptiven Multitasking zu erreichen. Die Dokumentation für Dynamic C und der Hardware-Module umfasst eine umfangreiche Reihe von detaillierten Handbücher. Rabbit Semiconductor's Web Site hostet auch eine tech-Unterstützung Bulletin Board. Darüber hinaus, ein Kaninchen-semi-E-Mail Diskussionsliste für Entwickler finden Sie unter www.groups.yahoo.com. Eine weitere Option für die Programmierung Rabbit-Module ist die WinIDE Integrated Development Environment von Softools, Inc. (www.softools.com). Wie Dynamic C, WinIDE enthält einen Editor, einen Compiler und Linker, die Fähigkeit, kompilierten Code in den RAM-oder Flash-Speicher zu laden, und einen Debugger. Die Control-Cross-C-Compiler ist ein Full-Standard-C-Compiler. Kompilierten Code ist kleiner und schneller als mit Dynamic C-Code kompiliert Ein Artikel eingereicht von Daniel R. Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle. Wichtig: Dieser Artikel "Rabbit Semiconductor RCM3200" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.
|
|||||
| Online: 431 users browsing the articles directory |
|
|