EVBM16C/10

Werbung
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
Herunterladen