Mikrocontroller-Entwicklungskit

Ähnliche Dokumente
Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller

80C535-Mikrocontroller-Board im Streichholzschachtelformat

Handbuch Digi-Prog. Revision 1.0. Copyright c Welzel GbR Steinstrasse Giessen

Bedienungsanleitung. RCM232 remote control multiplexer. Version 1.0: Uwe Hunstock Kastanienallee Berlin Tel. 030.

I2C-006 DATASHEET I2C-006 V1.00: 1K EEPROM MODUL MIT TWI (I 2 C) SCHNITTSTELLE. Dokument NR.: I2C-006_Datasheet

BOOTLOADER für AVR-Entwicklungsmodule

Konfiguration der PV-Station mit integrierten LAN-Modem

SIOSLAB. Technische Daten:

ATXMega32a4-Controllerboard

Mikrocomputertechnik

GAP. GAP AG, Produktspezifikation HW HiConnex Seite 1 von 8 Version 5

Dokumentation Raspberry USV+ E

E Mikrocontroller-Programmierung

EX Slot Box Zur Erweiterung um 2 PCI & 2 PCI-EXpress Anschlüsse

REG-PE Kurzbetriebsanleitung

SB-001 DATASHEET SB-001 V1.00: 8051 MIKROCONTROLLERBOARD MIT AT89C5131A-M. Dokument NR.: SB-001_Datasheet

EX Slot PCI Box Zur Erweiterung um 4 PCI Anschlüsse für ExpressCard

80C167 Entwicklungsboard und Schulungsboard

Z1013/KC87-MEGA-FLASH-RAM-ROM

SB-002 DATASHEET SB-002 V1.00: 8051 MIKROCONTROLLERBOARD MIT AT89C5131A-M OHNE NETZTEIL. Dokument NR.: SB-002_Datasheet

Verfasser: Stefan Fritzen Thema : Die Netzwerkkarte Autor : Stefan Fritzen Fach : Kommunikation -1-

Teach-Dongle Rev 1.1. Teach-Dongle. Rev 1.1 Stand Okt

Praktikum Analog- und Digitaltechnik. Versuch D3 Bluetooth-steuerung mit Arduino

USB > I2C- Bus Modul. Startet den I2C-Bus. Daten einlesen NACK senden

Hochschule für Technik und Architektur Bern Digital Signal Processing

BASIC-Tiger Starter Kit. Tel: +49 (241) Fax: +49 (241)

Bezeichnung CPU Technische Daten. 8 Bit, Atmel AT89C52 (kompatible Derivate einsetzbar) PLCC44 Gehäuse

ATXMega128/192/256a3- Controllerboard

ATMega2560Controllerboard

ANT-5 Software Upgrade - Installationshinweise

LED board EB

IO NET Modul Version 1.5

Inbetriebnahme FEZ Cerberus Mainboard

EX-1095 PCI-Express Karte Zum Anschluss an alle Erweiterungen von Exsys mit DVI ähnlichem Anschluss

Aufbau und Inbetriebnahme, Erweiterungskarte, Digital 8I4R

Modbus TCP/IP Gateway für 1-Wire Sensoren

PCAN-Gateway Schnellstart-Anleitung

RGB-Sequenzer RS232 RS485 MDX512 AD / IO Platine

Willkommen! Vorbereitung:

NET DMX Modul Version 1.1

EX Slot PCI Box Zur Erweiterung um 4 PCI Anschlüsse für lange Karten inklusive internem 220Watt Netzteil

Mikrocontrollertechnik. F5 Erstes Programm. AVR Studio 4

Mikrocomputertechnik mit der 8051-Controller-Familie

11. Die PC-Schnittstelle

XT - NANO - XXL XT-NANO-XXL

Zur Einarbeitung in die Arduino Welt reichen die Folgenden Komponenten aus.

USB-Isolator. Version 1.2. (C) R.Greinert 2009

Thinget G-Box. Betriebsanleitung. GPRS-Modem für Thinget XC SPS. Vorbereitung der Konfiguration. Konfiguration in XCPpro G-Box-Konfiguration öffnen

Servo-Modul Version

8051Speicherorganistaion. SFR u. oberer Datenspeicherbereich teilen sich den SPECIAL FUNCTION REGISTER. gleichen Adreßbereich. indirekt adressierbar

MP /52 Controller Modul

EX Slot PCI Box Zur Erweiterung von 4 PCI Anschlüsse für lange Karten inklusive internem 220Watt Netzteil

Intelligente GPRS- und UMTS-Modems - MT-202 / MT-251

Schaltungshinweise zum Linux Control System mit DIL/NetPC DNP/7520

Mikroprozessortechnik Grundlagen 1

PCAN-Flash Windows-Software zum Flashen von Firmware per CAN. Bedienungsanleitung. Dokumentversion ( )

EX x RS-232 zu Ethernet / IP. Bedienungsanleitung. 7. Anschlüsse. 8. Technische Daten. Seriell 9 Pin D-SUB Stecker

ELECTRONIC SYS. 8 Channel 10 Bit A/D Wandler. seriell V USB V

Installation der Programme zur Modellbahnsteuerung GROUPIE-MEB-Tron

Anleitung für die Installation des USB Netzwerkkabels unter WIN2000 :

BASIC- Briefmarke II D. BASIC-Briefmarke II D Wilke Technology GmbH Seite 1

PCAN-Gateway Schnellstart-Anleitung

10 Versuch Nr Anmerkungen zum Versuch Nr. 8

Die serielle Schnittstelle in der MSR - Technik

COMM-TEC EIB-Gateway

EX PCI & 2 PCI-E

Ethernet-Benutzerhandbuch

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Konfiguration der PV-Station mit integrierten W-LAN-Modem

Mikrocomputertechnik

ANLEITUNG ZUR NEUFORMATIERUNG UND ÜBERTRAGUNG DER FIRMWARE

Entwicklungsboard 16F1824

TFH Anzeige- und Bedien-Panel ONE (TFH-ABP ONE)

AB-001 DATASHEET AB-001 V1.00: PEGELKONVERTER RS232 ZU TTL. Dokument NR.: AB-001_Datasheet

Wie erfolgt die Aktualisierung der Geräte Firmware eines SENTRON PAC3100?

- Funktionsbeschreibung Memory-card-interface

Installation eines KOBIL KAAN Professional Kartenlesers

Hermann O. Eckert GmbH Fritz-Thiele-Str Bremen Tel. 0421/ Fax: 0421/ Programmierung des. AK-Nord XTMINI-V1.

Installationsanleitung für das CHIPDRIVE keyboard

Erster Einstieg in Ethernet TCP/IP Anbindung eines Ethernet-Gateways an einen PC oder an ein Ethernet-Netzwerk

EX PCI & 2 PCI-E

I2C-002 DATASHEET I2C-002 V1.00: I2C PORTEXPANDER MIT PCA8574. Dokument NR.: I2C-002_Datasheet

Betriebsanleitung. Gateway Ethernet auf Seriell HD67120

USB RS485 / RS232 Adapter

PKS-Team. Installationsanleitung LAN-Relais 2-Fach und 8-Fach

Fernbedienung SIPROTEC 3 und 4 über LOGES 64k/M zu MT2834

EA USB PROGRAMMERBOARD FÜR EA edip240-7

Ingenieurbüro für Echtzeitprogrammierung. Dokumentation SER8

Arbeiten mit der Software STEP 7 und den Laborarbeitsplätzen SIMATIC S7-313C

EX PCI & 2 PCI-E

Dokumentation Programmieradapter EV1D und PLVC

Mikrocomputertechnik

Monitoring- Interface

Transkript:

Mikrocontroller-Entwicklungskit Inhalt 1 80C537/80C517A-Modul-LWL... 2 1.1 Speichermodelle... 3 1.2 Jumper und ihre Funktion... 3 1.3 RS232-Anschlüsse... 4 1.4 LWL-Anschlüsse... 5 1.5 Besonderheiten... 5 2 Webserverplatine... 7 2.1 Anschluss von Ethernetgeräten... 9 3 Monitor-EPROM... 10 3.1 Bootloader... 10 3.2 Keil-Monitor... 11 3.3 Memory Map des Gesamtsystems... 12 3.4 TCP/IP-Stack... 12 3.4.1 Funktionsweise... 13 3.4.1.1 Initialisierung... 14 4 Software... 15 4.1 Erstellen eigener Projekte... 15 4.2 Kompilieren, Assemblieren, Linken... 16 4.3 Software-Upload und Debugging... 16 Hinweis: Kopieren und Weitergabe dieser Unterlagen nur mit ausdrücklichem Einverständnis des Autors.

80C537/80C517A-Modul-LWL 1 80C537/80C517A-Modul-LWL Dieses Modul ist ein vollständiges Mikrocomputer-System, das auch als Huckepacksystem einsetzbar ist. Es stehen 12 Analog- und 36 Digital-Anschlüsse zur Verfügung. Eine serielle Schnittstelle (COM 1) ist mit einem 9-poligen Stecker als RS232c ausgeführt. Über die zweite serielle Schnittstelle (COM 0) lässt sich eine LWL-Verbindung über Plastikfasern mit anderen Modulen aufbauen. Ein serielles EEPROM dient der stromausfallsicheren Speicherung von Daten. Zum 80C537/80C517A-Modul-LWL gehört ein Monitor-Programm. Damit lassen sich Programme vom PC aus über die serielle Schnittstelle laden, testen und Fehler einkreisen. Das 80C537/80C517A-Modul-LWL können Sie entweder mit zwei zweireihigen Stiftkontaktleiste auf eine eigene Schaltung aufstecken oder über Flachbandleitungen verbinden. Je nach Bedarf können die Kontakte mit den Stiften nach oben oder nach unten eingelötet werden. Es ist eine Bestückung mit bis zu 64 KByte Programmspeicher (2 Stück 27C256) und 64 KByte RAM (2 Stück 65256) möglich. Die Auflösung des A/D-Wandlers beträgt bei der 80C537-Version 8 Bit, bei der 80C517A-Version 10 Bit. Durch entsprechende Programmierung lässt sich auch in der 8-bit- Ausführung eine 10 Bit Auflösung erreichen. Die Schaltung lässt sich unterschiedlich konfigurieren, wodurch das Modul vielseitig einsetzbar wird. Durch den Einsatz von LWL (Licht- Wellen-Leiter) ist eine galvanisch entkoppelte und störsichere Datenübertragung zwischen diesen Modulen oder zu einem PC möglich. Es können auch mehrere Module zu einem Ringnetz zusammengeschlossen werden. Auch über die RS232-Schnittstelle COM1 kann eine Verbindung zu einem PC hergestellt werden, der dann z. B. Messdaten von einem Modul auswertet. Wird diese Schnittstelle nicht benutzt, ist JP4 zu öffnen, so dass Port P6.1 frei verfügbar ist. Wenn eine zweite RS232 anstelle der LWL- Schnittstelle benötigt wird, ist über den Stecker COM0 und eine Flachbandleitung ein weiterer 9-poliger SUB-D-Stecker anschließbar. Über Jumper JP5 wird von der LWL-Schnittstelle auf die RS232 umgeschaltet. Für verschiedene Zwecke ist das 80C537/80C517A-Modul-LWL mittels Jumper JP1 mit normaler Speicherbelegung oder mit Von-Neumann-Architektur zu betreiben. Letztere erlaubt es, Code (Programm) in das RAM1 zu übertragen und dann ein Programm in RAM1 anstelle von ROM1 ablaufen zu lassen. In diesem Fall spricht ein Programm-Speicherzugriff auf Adressen ab 8000H nicht mehr das ROM1, sondern das RAM1 an. ROM1 darf dann nicht bestückt werden. Ein Sprungbefehl auf eine Adresse ab 8000H, an der sich das geladene Programm befindet, startet dieses dann. Mikrocontroller-Entwicklungskit 2

80C537/80C517A-Modul-LWL 1.1 Speichermodelle Dieser Abschnitt zeigt, welcher Speicherbaustein (Code oder XData) bei welcher Adressierungsart und Jumper- Einstellung jeweils angesprochen wird. Harward-Architectur JP1: RAM1=XData+Code Code FFFFH 8000H ROM1 7FFFH 0H ROM0 XDATA RAM1 RAM0 Abbildung 1.1: Speicherbelegung Von-Neumann-Architektur JP1: RAM1=XData Code FFFFH 8000H RAM1 7FFFH 0H ROM0 XDATA RAM1 RAM0 1.2 Jumper und ihre Funktion Beachten Sie zur Beschreibung auch den Schaltplan. Ebenfalls wird in diesem Abschnitt die Jumper-Vorkonfiguration durch Leiterzüge gezeigt. JP1 Mit JP1 wird zwischen der Harward-Architektur und der Von-Neumann-Architektur unterschieden. JP2 JP3 Diese Jumper verbinden VAREF und VAGND mit der Referenzspannungsquelle auf der Platine. Wird IC13 (REF02) nicht verwendet, kann JP2 geöffnet und VAREF mit +5 V der Betriebsspannung verbunden werden, was aber ein größeres Rauschen der Wandlerergebnisse zur Folge haben kann. Soll die Referenzspannung über ST1 oder ST2 extern zugeführt werden, müssen beide Jumper geöffnet werden. Abbildung 1.3: JP1 für Speicherbelegung Abbildung 1.3: JP2 und JP3 Referenzspannungen Mikrocontroller-Entwicklungskit 3

80C537/80C517A-Modul-LWL JP4 JP4 verbindet den RxD-Anschluss der seriellen Schnittstelle 1 mit COM1. Soll Port P6.1 anderweitig verwendet werden, so muss JP4 geöffnet sein. JP5 Mit JP5 wird der Betrieb der seriellen Schnittstelle 0 mit LWL Bausteinen oder mit RS232-Port eingestellt. Hinweis: Nicht alle Jumper sind auf dem Board bestückt, es bestehen jedoch vorkonfigurierte Leiterzüge, die die Jumpereinstellungen repräsentieren. Sollen die Jumpereinstellungen geändert werden, sind die Leiterzüge aufzutrennen und die Jumper einzulöten. Abbildung 1.4: JP4 und JP5 1.3 RS232-Anschlüsse Zu COM0 ist eine 2 x 5-polige Stiftfeldleiste einlötbar. Darauf wird eine entsprechende Buchse mit eingepresstem 9poligen Flachbandkabel gesteckt. Das Flachbandkabel lässt den Anschluss 10 von COM0 frei. Am Ende des Flachbandkabels wird dann der SUB-D-Stecker so montiert, dass Pin 1 von COM0 mit Pin 1 vom SUB-D-Stecker verbunden ist, dann stimmt die Anschlussbelegung. die Verbindung der RS232-Schnittstellen COM0 und COM1 zu einem anderen Gerät muss dabei über ein. RS232-Linkkabel (oder auch Null-Modemkabel) mit zwei 9-poligen SUB-D-Buchsen erfolgen, bei denen die Pins 2 und 3 über Kreuz verbunden sind. Solche Kabel werden auch zur Verbindung von zwei PCs verwendet. Abbildung 1.5: Link-Verbindung zum PC Mikrocontroller-Entwicklungskit 4

80C537/80C517A-Modul-LWL 1.4 LWL-Anschlüsse Zur Verbindung der LWL-Anschlüsse werden Kunststoff-Lichtwellenleiter mit 1 mm Faserdurchmesser verwendet. Im allgemeinen genügt ein Abschneiden der Faser mit einem scharfen, eventuell erhitzten Messer, bevor sie angeschlossen wird. In der Praxis zeigt sich, dass Scheren ungeeignet sind, da sie in der Mitte des Kerns eine Kante erzeugen. Für den Betrieb von zwei Systemen wird je ein Sender mit einem Empfangsbaustein verbunden. Bei einer Vernetzung von mehreren Systemen wird jeweils ein Sender mit dem Empfänger des nächsten Systems so verbunden, dass ein Ring entsteht. 1.5 Besonderheiten An Port 6 ist ein EEPROM angeschlossen, das die Daten seriell nach dem MICROWIRE-Standard überträgt. Generell muss am Programmanfang ein Befehl stehen, der den CS-Eingang (P6.3) auf logisch 0 setzt, um unbeabsichtigtes Ansprechen des Bausteins zu vermeiden und Strom zu sparen. Außerdem ist die Schaltung mit einem DIL-Schalter ausgerüstet, der über ein Schieberegister eingelesen werden kann. Der Zustand des DIL-Schalters wird beim Einschalt- Reset über das Pin RO\ in das Schieberegister übernommen. Spätere Änderungen am Schalter können dann nicht mehr eingelesen werden. Über P6.5 wird der Takt ausgegeben und über P6.7 das jeweilige Datenbit eingelesen. In der Praxis hat sich gezeigt, dass der Referenzspannungsbaustein nicht unbedingt erforderlich ist. Wird er weggelassen, muss er durch eine Drahtbrücke überbrückt werden (VCC nach Pin6). Will man den DIL-Schalter verwenden müssen die Widerstände auf V AA und die Schalter auf GND gelegt werden. Hinweis: Leider hat sich im Bestückungsdruck auf der Platine ein Fehler eingeschlichen. Die zwei Dioden D1 und D2 sind umgekehrt gepolt einzubauen! Es gilt der folgende Bestückungsplan. Abbildung 1.6: Bestückungsdruck Mikrocontroller-Entwicklungskit 5

80C537/80C517A-Modul-LWL Mikrocontroller-Entwicklungskit 6

Webserver 2 Webserverplatine (optional) Die Realisierung des Embedded Webservers erfolgt mit dem Mikrocontrollerboard 80C537/80C517A-Modul-LWL und einer Zusatzplatine zur Aufnahme einer ISA-Ethernet-Karte. Abbildung 2.1: realisierter Webserver Das verwendete Mikrocontrollerboard verfügt über zwei Steckplätze zur Aufnahme von zwei 32KB sram-bausteinen (RAM0 und RAM1). RAM1 wird bereits für die Funktion als Entwicklungsboard (Von-Neumann-Architektur) verwendet. Anstelle eines RAM-Baustein auf RAM0 (0000H-7FFFH) kann die Zusatzplatine direkt mit einem Verbindungskabel auf den Sockel des RAM0-Steckplatzes gesteckt werden. Damit erfolgt der Anschluss der Ethernetkarte im Speicherbereich des Mikrocontrollers und es werden keine I/O-Ports belegt. Im Falle einer NE2000 kompatiblen Ethernetkarte werden 32 Byte des Speicherbereiches benötigt, im Falle einer Ethernetkarte mit CS8900-Ethernetcontroller nur 16 Byte. Um den restlichen Speicherbereich von RAM0 nicht ungenutzt zu lassen, wurde ein zusätzlicher 8KB RAM auf der Webserverplatine realisiert. Durch die beiden komplementären Select-Eingängen der 8KB-RAM-Bausteine lassen sich zusätzliche Logikschaltungen vermeiden. Des weiteren wurde eine Spannungsversorgung für das komplette System auf dem Webserver- Board realisiert. Das ist notwendig, da ältere Ethernetkarten eine 5V- und 12V- Spannungsversorgung benötigen. Mikrocontroller-Entwicklungskit 7

Webserver Abbildung 2.2: Schaltplan Die Standard-Adresse um Ethernetkarten anzusprechen ist 0300H. Um die Ethernetkarte ab der Adresse 0000H verfügbar zu machen, wurden die obersten 14 Adressen des 8-Bit-ISA-Sockels auf die Adresse 0300H fest verschaltet. Die Adresse A5 und A6 werden zur Selektion verwendet und die Adressen A0-A4 dienen zum Ansprechen der Ethernetregister. Die Adresse A5 wurde direkt mit dem /CS-Pin des RAM0-Sockels verbunden, damit eine eindeutige Trennung zwischen RAM1 und Webserverplatine gewährt wird. Die Adresse A6 dient zum unterscheiden zwischen dem 8KB RAM auf der Webserverplatine und Ethernetkarte. Dadurch ist A6 des ISA-Sockels mit Adresse A14 des RAM0-Sockels verbunden. Abbildung 2.3: Bestückungsplan Mikrocontroller-Entwicklungskit 8

Webserver Der Anschluss des 8 KB-RAM entspricht nahezu 100% dem RAM0-Sockel. Eine Besonderheit von 8 KB-RAM-Bausteinen ist jedoch der zweite high aktive Select-Eingang. Dieser wird ebenfalls wie der ISA-Sockel mit der Adresse A14 des RAM0-Sockels verbunden. Damit kann der RAM ab der Mikrocontroller-Adresse 4000H angesprochen werden. Abbildung 2.4: Memory Map der Webserverplatine FFFFH 8000H 7FFFH 6000H 5FFFH 4000H 3FFFH 0020H 0000H - 001FH XData RAM1 unbenutzt 8 KB RAM unbenutzt Ethernet-Karte Hinweis: Auf dem Mikrocontrollerboard wurden Standarddioden verwendet, um eine UND- Verschaltung von /PSEN und /RD zu realisieren. Diese Dioden führen jedoch zu unerwünschten Nebeneffekten, wenn die Ethernetkarte angeschlossen wird. Daher wird empfohlen, diese Dioden gegen Highspeed-Dioden auszutauschen. 2.1 Anschluss von Ethernetgeräten Wenn zwei Ethernetgeräte verbunden werden sollen, gibt es zwei Wege dies zu tun. Es kann ein Router, Gateway oder HUB verwendet werden, um die Geräte zu verbinden. Stehen diese Geräte nicht zur Verfügung können zwei Ethernetgeräte auch direkt erbunden werden. Dabei ist ein Cross-Over-Kabel zu verwenden Abbildung 2.5: Cross-Over-Kabel Mikrocontroller-Entwicklungskit 9

Monitor-EPROM 3 Monitor-EPROM Der Monitor-EPROM enthält verschiedene Funktionalitäten, so wird er zum einen für die Verwendung des Boards als Entwicklungsboard verwendet, sowie zum Lauf der entgültigen Anwendung. Er enthält den Monitor von Keil, um mit dem Keil-Softwaretool zu kommunizieren, als auch einen Bootloader, der es erlaubt die erstellte Anwendung automatisch zu starten bzw. zwischen Keil-Monitor und eigener Anwendung umzuschalten. 3.1 Bootloader (optional) Der im EPROM enthaltene Bootloader erlaubt zwei verschiedene Funktionsweisen des Mikrocontrollerboards. So kann der Anwender den Keil-Monitor starten, der es ihm erlaubt eigene Programme zu entwickeln und auszutesten oder, wenn das entgültige Programm fertiggestellt und in den RAM1 geladen wurde, dieses automatisch laufen zu lassen. Das ist notwendig, da der 80C517A/80C573 kein Flashcontroller ist und eigenständig Code abspeichern kann. Des weiteren können Restriktionen des Keil-Monitor beseitigt werden. Diese Restriktionen sind: - Kein automatischer Start des eigenen Programms nach einem Power On Reset oder Reset - Start des eigenen Programms nur mit der Keil-Software möglich - Stark verlangsamte Arbeitsweise des eigenen Programms durch den Keil-Monitor Die Arbeitsweise des Bootloaders ist denkbar einfach. Er enthält eine Vergleichslogik, die je nach Ergebnis, True oder False, entweder das eigene Programm oder den Keil-Monitor startet. Die Vergleichslogik bezieht sich auf einen Speichereintrag in den Adressbereich FEFCH-FEFFH im XData-Bereich, also im RAM1. Entspricht der Inhalt dieser vier Bytes dem Wort INIT, so wird das eigene Programm gestartet. Das eigene Programm muss ebenfalls wie bei dem Keil-Monitor ab der Adresse 8000H gelinkt und geladen worden sein (Von-Neumann-Architektur). Bei einem uninitialisiertem RAM oder einem nichtstromausfallsicheren Speicher wird somit immer der Keil-Monitor gestartet werden. Voraussetzung dafür ist also ein stromausfallsicher Speicher, also ein batteriegepufferter RAM, ein Zero-Power-RAM oder ein Flash/EEPROM. Die Verwirklichung dieses Speichereintrages wird durch den Bootloader nicht vorgegeben, so bleibt es dem Anwender überlassen, ob er den INIT-Eintrag in der eigenen Applikation vornimmt oder über die Speichermanipulation-Funktion in der Keil-Software. Wird der INIT-Eintrag gelöscht startet der Keil-Monitor wieder nach einem Reset. Hat der Anwender vergessen eine Routine im eigenen Programm zu integrieren, die es ihm erlaubt den INIT-Eintrag zu löschen oder funktioniert diese nicht richtig, gibt es eine weitere Möglichkeit den Eintrag zu löschen. Es ist das serielle Kabel für den Software-Upload zu entfernen und die TxD- und RxD-Leitungen (Pin 2 und 3 des Sub-D-Steckers) zu verbinden und ein Reset auszuführen. Danach ist der INIT-Eintrag gelöscht und der Keil-Monitor startet wieder. Hinweis: Das eigene Programm ist zuvor zu erstellen, auf richtige Funktionsweise zu testen und mittels Keil-Monitor in den RAM1 zu laden. Danach kann der INIT-Eintrag erfolgen. Nur, wenn die Daten im RAM1 stromausfallsicher gespeichert werden können, ist die Funktion des automatischen Starts des eigenen Programms gesichert. Mikrocontroller-Entwicklungskit 10

Monitor-EPROM 3.2 Keil-Monitor Prinzipiell lassen sich verschiedene Monitore verwirklichen. Die beste Variante, in Verbindung mit dem verwendeten Mikrocontrollerboard, ist der folgende. 10 FF 0 - Monitor für 80C537/80C517A - COM1 wird für den Software-Upload verwendet (COM0 bleibt für den Anwender frei) - Verwendung des internen Bautradengenerators (die Timer bleiben somit frei für den Anwender) - automatische Baudratenerkennung (somit stehen verschiedene Baudraten zur Verfügung) - der Bootloader startet mit der Adresse 0000H (Reset-Adresse) - der Keil-Monitor verwendet eine Page von FF00H-FFFFH für interne Variablen Weitere Informationen zu den Monitoren von Keil können im Verzeichnis der installierten Keil- Software unter C:\Keil\C51\MON51\Mon51.pdf eingesehen werden. Folgende Restriktionen werden durch den Keil-Monitor bedingt: - 5 KB Code (EPROM) - 256 Byte XData (externer RAM) - RAM1 muss groß genug sein, um das gesamte Programm zu speichern (Code+Data) - die serielle Schnittstelle COM1 wird durch den Monitor belegt Sämtliche andere Hardwarekomponenten stehen dem Anwender zur Verfügung. Mikrocontroller-Entwicklungskit 11

Monitor-EPROM 3.3 Memory Map des Gesamtsystems Für das Gesamtsystem steht folgende Speicherkonfiguration zur Verfügung. Code xxxxxxxxxxx XData FFFFH FFFFH Keil-Monitor-Variablen FF00H Keil-Monitor-Variablen INIT FEFCH-FEFFH INIT FEFBH RAM1 (32KB) RAM1 (32KB) 8000H 8000H 7FFFH 7FFFH unbenutzt 6000H 5FFFH Monitor-EPROM 8 KB RAM 4000H 3FFFH unbenutzt 0020H 0000H 0000H - 001FH Ethernet-Karte Abbildung 3.1: Memory Map des Gesamtsystems 3.4 TCP/IP-Stack (optional) Mikrocontroller-Entwicklungskit 12

Monitor-EPROM Der TCP/IP-Stack enthält folgende Protokolle und Restriktionen: - ARP, IP, TCP, UDP, ICMP, WINS, HTTP - Treiber für NE2000 kompatiblen Chipsatz - Eingebettete Konfigurations-Webpage -. -. -. -. 3.4.1 Funktionsweise Die Verwendung des Stacks ist einfach zu bewerkstelligen, da nur 5 Funktionen notwendig sind. Zur näheren Erklärung gibt es drei Beispiele, die die Initialisierung des Stacks, das Ausgeben einer Webside mit Embedded Daten und die Verarbeitung von eingehenden Daten zeigen. Abbildung 3.2: TCP/IP-Stack Mikrocontroller-Entwicklungskit 13

Monitor-EPROM 3.4.1.1 Initialisierung Abbildung 3.3: Ergebnis des PING Abbildung 3.4: Konfigurationspage Mikrocontroller-Entwicklungskit 14

Software 4 Software An dieser Stelle soll kurz auf die Verwendung der Keil-Software eingegangen werden. Es soll jedoch nur die Anwendung der Software für die ersten Schritte erklärt werden. Für die Vertiefung in die Entwicklungssoftware soll an dieser Stelle auf die einschlägige Literatur, sowie auf das Internet verwiesen werden. 4.1 Erstellen eigener Projekte Um ein neues Projekt zu erstellen, ist zunächst die Keil-Software zu öffnen und ein neues Projekt anzulegen. Dies geschieht über den Button Project und anschließend New Project. Gegebenenfalls ist das aktuelle Projekt zu schließen. Nach dem Festlegen des Ordners, in dem das Projekt hinterlegt ist, erfolgt die Auswahl des entsprechenden Mikrocontrollers. Im Falle eines 80C517A-Mikrocontrollerboard ist Infineon und anschließend der SAB80C517A auszuwählen. Anschließend erfolgt die Abfrage, ob die Standard StartUp-Datei eingefügt werden soll. Empfohlen wird, diese Aufforderung zu verneinen und die mitgelieferte Datei startup.a51 zu einem späteren Zeitpunkt einzubinden. Nun ist ein neues Projekt erstellt und es kann der Quellcode erstellt werden. Mit dem Erstellen dieses Projektes wurden einige Voreinstellungen festgelegt. So ist das erstellte Programm im Simulator ausführbar und nicht auf der Hardware. Damit das eigene Programm auf der Hardware läuft, muss über Project, Options for Target in der Registerkarte Debug eine Umstellung erfolgen (siehe Abbildung 4.1). Abbildung 4.1: Target-Einstellungen Mikrocontroller-Entwicklungskit 15

Software Die zu ladende Datei Tscope.ini enthält einige Anweisungen für den Software-Upload. load HELLO $=0x8100 g, main load HELLO Es wird die Datei HELLO ins Mikrocontrollerboard geladen. Eine Dateiendung wird nicht angegeben. $=0x8100 Das Programm beginnt ab der Adresse 8100H. g,main In C-Projekten werden Anweisungen bis zur Main-Funktion ausgeführt (Initialisierung von Speicherbereichen und Festlegen des Stack). In Assembler-Projekten kann diese Anweisung entfallen. Steht dennoch ein g in der Tscope.ini, so startet das Programm automatisch nach dem Software-Upload. 4.2 Kompilieren, Assemblieren, Linken Ist bereits ein eigenes Projekt erstellt und der entsprechende Quellcode geschrieben, muss dieser Quellcode kompiliert, assembliert und gelinkt werden. Dazu dient der Rebuild All-Button. Es werden alle Dateien des Projektes gespeichert, kompiliert, assembliert und gelinkt. 4.3 Software-Upload und Debugging Ist das gewählte Projekt kompiliert kann es in ein Mikrocontrollerboard geladen werden. Vor dem Betätigen des Debug-Buttons ist sicherzustellen, dass kein anderes Programm die serielle Schnittstelle verwendet, die für den Softwareupload benutzt wird. Sollte bereits ein anderes Programm die entsprechende Schnittstelle verwenden, verhindert Windows einen Zugriff und es kommt zu einer Fehlermeldung. Mikrocontroller-Entwicklungskit 16

Software Der Software-Upload erfolgt nach Betätigen des Debug-Button. Ist das Programm in das Board geladen muss es mittels Run-Button gestartet werden. Ein stoppen des Programms ist jeder Zeit möglich, indem der Stop-Button verwendet wird. Voraussetzung für den Stopp ist die Aktivierung des Interrupts der seriellen Schnittstelle (siehe 4.1 Erstellen eigener Projekte). Mikrocontroller-Entwicklungskit 17