EVBM16C/10 Bedienungsanleitung Am Wörtzgarten 8 65510 Idstein Tel.: 06126-590-255 Fax.: 06126-590-155 Email: [email protected] Inhalt Seite 1.0 Einleitung 1.1 Lieferumfang 3 3 2.0 Hardware 2.1 technische Daten 2.2 Spannungsversorgung 2.3 Jumper 2.4 Anschlüsse 2.5 Memory mapping 2.6 Anwenderhinweise 4 4 4 4 4 5 5 3.0 Software 3.1 mitgelieferte Software 3.2 Beschreibung der Monitorsoftware 3.3 Beschreibung der Flashersoftware 3.4 Beschreibung des Debuggers 3.5 der Mitsubishi C-Compiler 3.6 der Mitsubishi Tool Manager 6 6 6 7 10 15 17 4.0 Tipps und Tricks 18 EVBM16C/10 Bauteilliste EVBM16C/10 Schaltplan EVBM16C/10 Board 19 20 21 Anhang © 2002 Glyn GmbH & Co. KG Alle Rechte vorbehalten. Kein Teil dieser Dokumentation darf in irgendeiner Form darf in irgendeiner Form (Druck, Fotokopie, Mikrofilm oder einem anderen Verfahren) ohne schriftliche Genehmigung der Glyn GmbH & Co. KG, D-65510 Idstein reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden. Microsoft and MS-DOS are registrated trademarks of Microsoft Corporation. Bezüglich des Inhalts dieser Dokumentation und des EVBM16C/10 Software-Paketes übernimmt die Glyn GmbH & Co. KG, D-65510 Idstein keinerlei Haftung oder Garantie. Die Firma Glyn GmbH & Co. KG, D-65510 Idstein behält sich das Recht der Überarbeitung dieses Werkes oder des EVBM16C/10 Software-Paketes vor. Alle Programme und Beschreibungen wurden nach bestem Wissen erstellt und mit Sorgfalt getestet. Dennoch können wir Fehler nicht ganz ausschließen. Aus diesem Grund übernimmt die Glyn GmbH & Co. KG keine Garantie für mögliche Fehler oder Folgeschäden, die in Verbindung mit der Bereitstellung, Leistung oder Verwendung dieses Materials stehen. 2 1.0 Einleitung Das Glyn EVBM16C/10 Evaluation Board ist ein Mini-Emulator um einfach und preiswert mit den Features des M16C Mikrocontrollers eigene Applikationen zu entwickeln. Dieser Mikrocontrollerserie wird von Mitsubishi Electric seit 2002 gefertigt und erweitert die M16C/6x- Serie durch sehr preiswerte Derivate. Ende 2003 wird diese M16C/10-Serie durch die Pin- und Funktionskompatible M16C/11Serie ersetzt. Diese wird noch preiswerter sein (0,2µ Technik statt 0,35µTechnik) hat aber keinen D/AWandler mehr. Beide Serien werden einige Zeit parallel verfügbar sein, man sollte aber die Verwendung des D/A-Wandlers vermeiden, da die Produktion des M16C/10 früher eingestellt wird. Zu den mitgelieferten Entwicklungswerkzeugen gehören MT301 Source-Level Debugger, Taskingbzw. Mitsubishi C-Compiler, sowie Flasher Programm. Zusätzlich ist auch noch ein RTOS von der Fa. Segger (Trial Version mit bis zu 3 Tasks) dabei, welches für beide C-Compiler vorbereitet wurde. Applikationsprogramme dürfen bis zu 20Kbytes groß sein und dürfte für die meisten Applikationen ausreichen. Auf der CD sind ein speziell für dieses Tool vorbereitete Beispiele welche für Tasking-, sowie auch für den Mitsubishi C-Compiler vorhanden sind. 1.1 Lieferumfang Dem EVBM16C/10 Board liegt folgendes bei: 1. dieses Manual 2. eine CD mit allen Softwaretools 3. das Board mit geflashtem Monitor. 4. RS232 Kabel 5. zwei 24-polige Stiftleisten zum auflöten Wichtige Links: MCU Datenblätter Aktuelle M16C und Board Informationen MCU Tools M16C Forum Mitsubishi Forum Tasking C-Compiler RTOS TCP/IP-Stack B/W, Color Display Treiber M16C Beispielprogramme (USA) M16C Forum und Beispielprogramme (deutsch) http://www.infomicom.maec.co.jp/indexe.htm http://www.m16c.de http://www.tool-spt.maec.co.jp/index_e.htm http://www.m16c-micros-forum.com http://www.mitsubishi-forum.com http://www.tasking.com http://www.segger.com http://www.segger.com http://www.segger.com http://www.mdece.com http://www.mikrocontroller.com 3 2.0 Hardware 2.1 technische Daten Das Board wird mit 16MHz getaktet und verfügt über einen 5V Spannungsregler. Der nötige RS232 Pegelwandler MAX232 befindet sich ebenfalls auf der Platine. Für den FlashProgramming Modus ist ein spezieller Jumper vorhanden und wird mit einer roten Leuchtdiode angezeigt. 2.2 Spannungsversorgung Das Board wird über die 2 polige Anreihklemme angeschlossen. Eine unstabilisierte Spannung von 8-15V ist ausreichend. Es wird ein Strom von bis zu 100mA benötigt. Das Board kann man auch direkt über die Pfostenfeldstifte mit 5V speisen. Dazu muß nur die Verbindung zum Spannungsregler unterbrochen werden (JP7). Liegt Spannung an, so leuchtet die grüne Leuchtdiode. 2.3 Jumper JP1 JP2 JP3 JP4 / RESET JP5 JP6 JP7 JP8 JP14 MAX232 2.4 Stiftleistenanschluß für die CPU-Pins 1-24 Stiftleistenanschluß für die CPU-Pins 25-48 Zwei Jumper für den SUB-Oszillator. Werden gesteckt, um die 32KHz Oszillatorschaltung auf dem Board zu verwenden. Wenn diese offen sind, werden P86 und P87 nur als Port-Pins verwendet. damit kann ein Reset ausgelöst werden. Verbindet den VREF-Pin mit VCC. Bei Verwendung anderer Spannungen muß dieser offen sein. Zwei Jumper für den Haupt-Oszillator. Werden gesteckt, um die 16MHz Oszillatorschaltung auf dem Board zu verwenden. Wenn diese offen sind, wird die MCU über den Ring-Oszillator getaktet. Verbindet den Ausgang vom Spannungsregler mit der Schaltung. Sollte das Board über die Stiftleistenanschlüsse JP2/JP3 mit anderer Spannung gespeist werden (z.B. für eine Strommessung), so muß der Jumper offen sein. Jumper für die Power LED. Damit kann für Strommessungen die LED ausgeschaltet werden. Jumper zum programmieren. Im geschlossenen Zustand wird die MCU nach einem RESET in den Bootloadermode gebracht. (funktioniert nur mit 16MHz) der Chip ist gesockelt, um Strommessungen an der MCU zu ermöglichen (MAX232 Chip aus dem Sockel ziehen) Anschlüsse Auf dem Board befinden sich zwei Reihen mit je 24 Anschlüssen. Jeder Anschluß entspricht dem jeweiligen Pin der MCU. Dem Board sind zwei 24-polige Stiftleisten begefügt, die man unter- oder auf das Board löten kann. Je nach Anwendungsfall. Eine 9-polige D-SUB Buchse X1 ermöglicht die Kommunikation mit der Umwelt. Zum debuggen muß das mitgelieferte Kabel mit X1 verbunden werden (UART0). 4 2.5 Memory mapping 00000h SFR 00400h RAM 1KB User RAM Area 0.875KB 007FFh 00780h Monitor RAM Area 128 Byte User ROM Area 20KB FA000h FF000h do not use Monitor ROM Area 4KB Flash Memory 24KB do not use do not use do not use do not use do not use FFFDCh do not use Fixed Interrupt Vector Area do not use Reset FFFFFh Für eigene Programme steht das SRAM von 00400h bis 00780h zur Verfügung. Das Flash ist für eigene Applikationen im Bereich von FA000h und FF000h nutzbar. 2.6 Anwenderhinweise Bei jedem Download wird die MCU geflasht. Entgegen den Daten im Users Manual ist die MCU nicht 100 mal, sondern einige tausend mal flashbar. Das Prozessor Mode Register 0 darf nicht verändert werden, falls doch, meldet sich der Debugger ab, das Anwenderprogramm läuft aber weiter (dabei Free RUN-Mode nutzen). Die Watchdog-, Adress Match-, NMI-, Overflow- und Undefined Instruction Interrupts sind bei dem Monitor nicht verwendbar. 5 3.0 Software 3.1 mitgelieferte Software NC30 C-Compiler V2.00............Ansi C-Compiler mit Assembler von Mitsubishi. Ältere DOS-Version ohne Limitierung. Läuft nicht unter Win NT. Im Unterverzeichnis sample-program befinden sich zwei fertige compilierte Demos für das EVBM16C Board. NC30 C-Compiler V5.00r1........ Ansi C-Compiler, Assembler und Benutzeroberfläche (TM3.11) von Mitsubishi. Neuste Windows- und DOS-Version mit zeitlicher Begrenzung auf 4 Monate.Im Unterverzeichnis . Im Unterverzeichnis sample-program befinden sich zwei fertige compilierte Demos für das EVBM16C Board. Port_toggle_TM ist eine fertige Demo für die Windows Benutzeroberfläche TM (Toolmanager) MT301_Debugger .................... Windows 95/98/2000/NT4 Source Level Debugger für Mitsubishi CCompiler und Assembler. EMI, EMV.................................. EMI und EMV Design-Hinweise für Mikrocontroller Datasheets................................ Datenblätter für die M16C/10 Mikrocontroller inkl. Software Manuals. Flasher ..................................... Flash Programm von Mitsubishi für das serielle asynchrone Flashen der Mikrocontroller. Ist notwendig um bei 'leeren', neuen MCUs den ROM-Monitor zu flashen, oder um später das eigene Programm ohne ROM-Monitor zu flashen. Packages.................................. Gehäusemaßzeichnungen Monitor...................................... ROM Monitor für den M16C/10. sample-program........................ Programmbeispiele für die Peripherie der MCUs. Für Tasking- und für den NC30 C-Compiler von Mitsubishi. 3.2 Beschreibung der Monitorsoftware Der Monitor belegt im Flash- Speicher den Bereich von FF000h bis FFFFFh und im SRAM den Bereich 00780h bis 007FFh. Der Monitor ist als Motorola-File auf der CD im Verzeichnis 'monitor' für den M30102F3FP vorhanden. Die Monitorsoftware erwartet an UART0 die PC Debuggersoftware. Die Kommunikationsgeschwindigkeit beträgt 38400Bd. Der Monitor ist auf eine Quarzfrequenz von 16MHz eingerichtet, kann aber geändert werden. Flashen kann man derzeit aber nur mit 16MHz. 6 3.3 Beschreibung der Flashersoftware Vorab Info: Das Flash-Programm wird erst am Schluß der Entwicklung benötigt. Es wird nicht zum debuggen benötigt ! Man flasht damit das Applikationsprogramm oder einen neuen ROM-Monitor in die MCU. Deswegen kann man diesen Teil des Manuals erst mal überspringen. Jeder Flash Mikrocontroller aus der M16C Serie verfügt über einen integrierten Bootloader. Bei der M16C/10 ist dieser in einem zusätzlichen ROM-Speicher abgelegt und kann nicht geändert werden. Durch das umstecken des JP14 (programmieren) startet die MCU nach dem Reset diesen Bootloader. Ist der CLK0-Pin High, so geht der Bootloader in den seriellen synchronen Betrieb, ist er Low (wie in dieser Schaltung) geht er in den asynchronen Betrieb. Im asynchronen Modus ist nur eine Quarzfrequenz möglich, 16MHz. Flashersoftware starten: Durch einen Doppelklick wird das Programm Flashsta10.exe gestartet. Das Programm fragt jetzt nach der RS232 Schnittstelle des PCs an dem der Mikrocontroller angeschlossen ist. Sollte es nach kurzer Zeit ein Timeout Error melden, so ist keine Verbindung zustande gekommen. Sind alle Verbindungen o.k. und greift kein zweites Programm auf die COM- Schnittstelle zu, so ist die Schaltung funktionsuntüchtig. In diesem Fall sollte man noch einmal Reset drücken, den Oszillator-, Betriebsspannung- und am MAX232 die Spannungspegel prüfen. Eigentlich sollte nichts schiefgehen. Falls man aber dieses Fenster sieht, in dem nach einem Filenamen gefragt wird, hat alles funktioniert. 7 Bitte den Filenamen auswählen und bestätigen. Es muß ein Motorola Hex-File sein. Das Flash-Programm Flashsta10.exe wird sich jetzt über das Fehlen des ID-Files beschweren, falls das ID File nicht vom C-Compiler oder Assembler generiert wurde. Man kann es zunächst erst einmal wegklicken. Eine Zeile tiefer sind 7 Felder zu sehen. Dort wir der Identifier des Mikrocontrollers eingegeben, der jetzt gerade läuft. Wurde er noch nie programmiert, oder ist er vorher gelöscht worden, gibt man 7 x FFh ein. Hat man ein Assemblerprogramm (z.B. unseren Monitor) oder ein C-Programm vorher geflasht, so gibt man 7 x 00h ein. Wurde vorher ein spezieller ID geflasht, so gibt man diesen ein. Hat man vorher ein Tasking Programm geflasht, so muß man in der Regel 7 x FFh eingeben. Ist alles in Ordnung., erscheint dieses Fenster. Falls nicht, war die ID falsch. 8 Mit 'Setting' stellt man nun die maximale Baud-Rate ein, die mit der Quarzfrequenz möglich ist. Bei 16MHz sind das 57600Bd. Geht eine Baudrate nicht, so gibt es einen 'Fall-back' zu letzten funktionstüchtigen Baudrate. War der Chip nicht leer, so muß er jetzt mit Erase gelöscht werden. Um das neue Programm (in diesem Fall den ROM-Monitor) zu flashen, benutzt man am besten 'E.P.R.' = Erase, Program, Read (verify). Sollte es zu keiner Fehlermeldung kommen, so ist der Chip ordnungsgemäß geflasht. Beim flashen erscheint dieses Fenster: Ist alles in Ordnung wird dies auch angezeigt: Nachdem das Programm beendet wurde, kann man jetzt die Betriebsspannung ausschalten, oder den Reset-Taster drücken und dabei dem Jumper ziehen. Wird jetzt die MCU gestartet, so startet das User-Programm im User-Flash. 9 3.4 Beschreibung des Debuggers Mit einem Doppelklick auf MT301DB.exe wird der Debugger gestartet. Nach dem Start wird die COM Schnittstelle des PCs ausgewählt und mit OK bestätigt (das EVBM16C10 muß angeschlossen und eingeschaltet sein). Nach der Bestätigung mit OK erscheint dieses Fenster, falls nicht muss überprüft werden, ob die Hardware in Ordnung ist und ob das Monitorprogramm auch geflasht wurde: Die Baudrate steht auf 38400bps (mehr geht nicht), und der RUN Mode auf Sampling Mode (1000ms). Das heisst, das Applikationsprogramm wird alle 1000ms vom PC unterbrochen und refresht die anzeigten Werte des Debuggers. Ist das nicht erwünscht, schaltet man in den Free Run Mode (keine Störungen durch UART0-Interrupts) oder Free And Sampling Mode (angezeigte Werte des Debuggers werden nicht refresht, dafür aber Break gemeldet) um. 10 Ist alles eingestellt und mit OK bestätigt, kommt man zum Debugger: Der gelbe Balken zeigt die Position des Programcounter an. Über das Pull-down Menü 'File Æ download Æ Load Module...' kann man jetzt das mitgelieferte und compilierte Programm port.x30 (vom NC30) downloaden und anzeigen lassen. Das Program-Window wird angezeigt und folgt immer dem PC. Auf der Benutzeroberfläche befinden sich folgende Buttons: "Go" (Programmstart ab Program Counter), "Come" (Go bis cursor), "Step" (Einzelschritt), "Step over Subroutine", "Stop" (hält laufendes Programm an), "RST" (Reset des Systems) 11 Über den Button "View" im Program Window kann man sich den Source des geladenen Projektes anzeigen lassen, z.B. main.c: Ein Doppelklick auf main.c zeigt dann den Source im "mixed mode": 12 Die Menüs im einzelnen: Download: damit werden Module (X30) oder Source geladen. Upload: zum hochladen von Speicherinhalten in den PC Save Disasm: zum abspeichern von disassemblierten code Exit: beenden des Debuggers Zum Editieren von Texten. Zum ein- ausschalten der Menüleisten unten und im Program window. Zum initialisieren der RUN-modis etc, sowie zum einfügen von Pfaden. Im Prinzip die gleichen Funktionen der anfangs erwähnten Buttons, aber mit mehr Einstellmöglichkeiten. Zum beobachten von Speicherinhalten während des RUN-Modes. Der Sampling-Mode muss dazu eingeschaltet sein (1000ms). 13 Cascade, Tail, Arrange Icon zum kaskadieren, gösserstellen und anordnen der Fenster, Program Window: zum öffnen der Program Windows Register Window: zum Editieren der Registerinhalte den CPU Memory Watch Window: zum beobachten eigener Speicheradressen (individuell auswählbar) Dump Window: zum anschauen zusammenhängender Speicherbereiche. MAP View Window: zeigt die Zuordnung von Labels und Variablen an. Zeigt die Version des Debuggers, sowie des Monitors an. 14 3.5 der Mitsubishi C-Compiler Um den Mitsubishi C-Compiler V2.00 zu installieren geht man wie folgt vor: 1. Verzeichnis c:\mtool erzeugen 2. nc30.zip dorthin kopieren 3. mit pkunzip -d nc30 oder winzip dort entpacken 4. die Textzeilen von autoexec.mit ins eigene autoexec.bat kopieren Um den Mitsubishi C-Compiler V5.00r1 zu installieren geht man wie folgt vor: (die NC30 Version 2.00 darf zwar dann noch in einem anderen Verzeichnis auf dem Rechner sein, die Pfade in der Autoexec.bat müssen aber vorher ausgetragen werden) 1. Doppelklick auf das File nc30wav500r1_e (Installiert die Windows-Version), und dann Trial-Version auswählen. 2. Doppelklick auf das File tm311_e (Installiert den Toolmanager) Kurzanleitung zum Laden des 'port_toggle' Projekts (läuft mit NC30V2.00 und NC30V5.00): Auf der CD im Verzeichnis sample-program das File port_toggle.zip entpacken und auf der Festplatte z.B. unter c:\mtool\port_toggle installieren. Dann im DOS-Modus 'comp' eingeben. Nun wird das Programm port_toggle compiliert. Wichtige Anpassungen an den ROM-Monitor sind in den Files sect30.inc (Vektoren, Mapping) und nrt0.a30 (Startup Assemblerfile) schon enthalten. Hier die wichtigsten Anpassungen im einzelnen: Anpassen der Startup Files an den ROM-Monitor: ncrt0.a30: ;----------------------------------------------------------------------------------------------------------------------------------von 0FFD00h in 0FEE00h ändern ; INTERRUPT VECTOR ADDRESS definition ;----------------------------------------------------------------------------------------------------------------------------------VECTOR_ADR .equ 0fee00h ; MT301DB Variable Vector Address sect30.inc: ;----------------------------------------------------------------------------------------------------------------------------------von dummy_int in 0FFFA0 bzw. 0FFFA4 ändern ; variable vector section ;----------------------------------------------------------------------------------------------------------------------------------.lword 0FFFA0h ; UART0 Transmit Interrupt .lword 0FFFA4h ; UART0 Receive Interrupt Erklärung: Die Vektoradresse wird auf 0xFEE00 eingetragen, weil das Monitorprogramm unter 0xFFD00 Speicher benötigt. Am Schluß werden noch die UART0 Vektoren eingetragen, damit der ROM-Monitor nach dem laden des USER-Programms seine Verbindung über UART0 halten kann. 15 Aufruf des C-Compilers in folgender Syntax Command Line:nc30 -silent -v -g -ooutputname -lnc30lib.lib ncrt0.a30 filename.c Input: filename.c lnc30lib.lib ncrt0.a30 : das auszuführende C-Programm : Standard Libary : startup program incl. sect30.inc (Initialisierung des heap, stack, ...) Output: filename.x30 filename.map : machine language file des erstellten C-Programmes : map file mit Informationen für den Debugger Parameter: -silent -v -g -ooutputname -llnc30.lib : unterdrückt die Copyright-Meldung : teilt den Namen des ausführenden Programmes mit : erzeugt Informationen für den Debugger : gibt den Namen des zu erzeugenden X30 files an : bindet Standard Libary file für den Linker ein Um zum flashen ein Hex-File zu erzeugen, kann mit dem Aufruf 'lmc30 filename' ein Motorola HEXFile erzeugt werden. Zum debuggen ist es erforderlich, daß das Interrupt Flag gesetzt ist. Damit man im C-Programm debuggen kann, muß dieses dort auch gesetzt werden. Beispiel: void far main() { timerinit (); asm( "\tFSET I"); . . . . } /* Enable interrupt */ Aber Vorsicht, man sollte das erst nach der Initialisierung eigener Interrupts eintragen. (Siehe Seite 15 bzw.16 unter Punkt 10) Noch ein Hinweis: Man kann mit dem Befehl printf........ Daten seriell oder parallel übertragen. Bei dem NC30 C-Compiler ist das sogar schon voreingestellt. Leider verwendet Mitsubishi als Standard Ausgabe die UART1, also die serielle zum debuggen. Man kann das in der Library ändern oder, um es abzuschalten die folgenden Zeilen im NCRT0.A30 auskommentieren: ;==================================================================== ; Initialize standard I/O ;--------------------------------------------------------------------; .glb _init ; jsr.a _init 16 3.6 der Mitsubishi Toolmanager TM Mit dem C-Compiler NC30V5 wird auch ein TM3.11 ausgeliefert. Dies ist eine Benutzeroberfläche, die für Windows Rechner eingesetzt werden kann. Ist der Toolmanager installiert und gestartet, so melder er sich mit dieser Leiste: Wird mit dem gestartet: Button das Projekt Port_toggle von der CD geöffnet, so wird der Projekteditor Alle weiteren Informationen zu diesem Programm kann man unter Start --> Programme --> MITSUBISHI-TOOL --> TM V.3.11 --> TM User's Manual.pdf entnehmen. 17 4.0 Tipps und Tricks Wie bekommt man später das Programm ohne Monitor zum laufen ? Zunächst muß der UART0 Vektor im File sect30.inc auf dummy_int gesetzt werden. (Ist nicht unbedingt erforderlich, sollte aus Sicherheitsgründen aber gemacht werden. Als zweites stellt man im File ncrt0.a30, einige Zeilen nach dem Label 'start: ' den Clockgenerator von /8 auf /1 (Protection aufheben nicht vergessen), damit Ihre Applikation nicht plötzlich mit 1/8 der Geschwindigkeit läuft. Und als drittes fügen Sie dem Batch-File comp.bat die Zeile ' lmc30 first ' ein (das erzeugte x30-File). Diese erzeugt dann ein Motorola Hex-File, welches Sie zum flashen mit dem oben genannten FlashProgramm benötigen. Weitere Tipps gibt es unter http://www.m16c.de Hinweise zur Applikationserstellung mit dem M16C Um den M16C in der Schaltung ordnungsgemäß zum arbeiten zu bringen sind einige wichtige Dinge zu beachten: 1. Der M16C/10 verfügt 2 mal über einen VCC und VSS. Diese Anschlüsse sind intern verbunden und gehen sehr niederohmig an die I/O Pins. Diese Anschlüsse sollten Sie mit breiten Leiterbahnen an die Stromversorgung anschließen und mit einem Kondensator abblocken. 2. Offenliegende Portleitungen müssen, um Strom zu sparen entweder extern einen Pullup/down oder intern einen Pullup/down (programmiert) bekommen, oder der offene Port muß auf Ausgang geschaltet werden. Vorsicht, als Ausgang programmierte Pins können EMVTechnische Probleme bereiten. 3. Die A/D-Wandler Eingänge sind normalerweise sehr hochohmig (im Megaohmbereich), während dem Messvorgang sind es aber für einige Nanosekunden nur ca 7,8 KOhm. Deshalb ist bei jedem A/D-Wandlereingang ein Kondensator (ca 100pF) vorzusehen. 4. Um einen 32KHz Quarz extern zu nutzen, sind die Portleitungen P46 und P47 mit Software auf die XCIN und XCOUT umzuschalten. Dazu muß aber das Clock-Register über das Protect-Register freigeschaltet werden. 5. Die CPU ist nach dem RESET auf Takt/8 geschaltet. Das kann man im Clock-Register auf Takt/1 ändern. (Protectregister beachten) 6. Hat die Applikation kritische Mechanik anzusteuern, so sollte man das über Port 0 realisieren, da auch dieser Protectbar ist. 7. Interrupts (Priorität, ein und aus) dürfen innerhalb eines Interrupts nur dann verändert werden, wenn die Programmfolge FCLR I AND.B #00h, 055h (OR, BSET, BCLR geht auch) NOP NOP FSET I eingehalten wird. MOV ist verboten! Der Grund ist die instruction queue, die erst geleert werden muß. 8. Soll der Software-Reset ausgelöst werden (Flag im Prozessor-Mode-Register 0), muß vorher der Clock auf /8 geschaltet werden. 9. Falls für die serielle Datenübertragung kein MAX232 sondern eine andere Schaltung verwendet wird, muß überprüft werden, ob diese ebenfalls über einen Pull-up Widerstand am TTL-Eingang verfügt. Falls nicht, muß ein Widerstand (ca 470kOhm) zwischen TXD1 und VCC geschaltet werden. Grund: Der Monitor, sowie der Bootloader lösen im Betrieb öfter einen Software-RESET aus. Da der TXD1 Pin dann für Sekundenbruchteile Input wird und floatet, kann es zu fehlerhaften Datenübertragungen kommen. 18 EVBM16C/10 Bauteilliste: Pos. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 Bauteil C1 C2 C3 C4 C5 C6 C7 C9 C10 C11 C12 C13 C14 C15 C16 D1 D2 D3 D4 G1 IC1 IC2 IC3 JP1 JP2 JP3 JP4 JP5 JP6 JP7 JP8 JP14 Q2 Q3 R1 R2 R3 R4 R5 R6 R9 X1 --- * Reichelt Elektronik Elektronikring 1 26452 Sande Tel.: 04422-955-333 Typ Wert 100nF Keramik-Kondensator 100nF Keramik-Kondensator 470nF MKS-Kondensator 100nF Kondensator 100nF Kondensator 1uF / 6,3V Elko / Tantal 4µ7 / 16V Elko / Tantal 22pF Keramik-Kondensator 22pF Keramik-Kondensator 33pF Keramik-Kondensator 10pF Keramik-Kondensator 220uF / 25V Elko 4µ7 / 16V Elko / Tantal 4µ7 / 16V Elko / Tantal 4µ7 / 16V Elko / Tantal 1N4148 Diode LED 3mm grün Leuchtdiode 1N4002 Diode LED 3mm rot Leuchtdiode 2 pol. Anreihklemme Anreihklemme MAX232 DIP MAX232 7805T Spannungsregler TO220 M30102F3FP MCU Stiftleiste 1x24 Stiftleiste Stiftleiste 1x24 Stiftleiste Stiftleiste 2x2 + 2 Jumper Jumper (Sub-Oszillator) Stiftleiste 1x2 + Jumper Jumper (Reset) Stiftleiste 1x2 + Jumper Jumper (VREF-Leitung) Stiftleiste 2x2 + 2 Jumper Jumper (Sub-Oszillator) Stiftleiste 1x2 + Jumper Jumper (Regler) Stiftleiste 1x2 + Jumper Jumper (Power LED) Stiftleiste 1x2 + Jumper Jumper (Programmieren) Quarz 32,768KHz Uhrenquarz Quarz 16MHz HC18 / HC49 100 KΩ Widerstand 1/4W 10 KΩ Widerstand 1/4W 10 MΩ Widerstand 1/4W 470 Ω Widerstand 1/4W 10 KΩ Widerstand 1/4W 10 KΩ Widerstand 1/4W 470 Ω Widerstand 1/4W F09H D-SUB Buchse 9-Pol Sockel 16-pol. Sockel für MAX232 Fax.: 04422-955-111 19 Raster (mm) 2,5 2,5 2,5 2,5 2,5 2,5 2,5 2,5 2,5 2,5 2,5 5 2,5 2,5 2,5 10 2,5 10 2,5 5 DIP 2,54 0,5 2,54 2,54 2,54 2,54 2,54 2,54 2,54 2,54 2,54 2,5 5 10 10 10 10 10 10 10 2,5 2,54 Reichelt Bezeichnung* Z5U-2,5 100n Z5U-2,5 100n MKS-02 470n Z5U-2,5 100n Z5U-2,5 100n rad 1/63 rad 4,7/35 Kerko 22p Kerko 22p Kerko 33p Kerko 10p rad 220/25 rad 4,7/35 rad 4,7/35 rad 4,7/35 1N4148 LED 3mm grün 1N4002 LED 3mm rot ARK 210-2 MAX232CPE µA 7805 --Stiftl. 36G Stiftl. 36G 2 x Jumper schw. Jumper blau Jumper schw. 2 x Jumper schw. Jumper schw. Jumper schw. Jumper rot 0,032768 16-HC18 1/4W 100K 1/4W 10K 1/4W 10M 1/4W 470 1/4W 10K 1/4W 10K 1/4W 470 D-SUB BU 09EU GS16P 20 21