Beruflich Dokumente
Kultur Dokumente
STM32F103RBT6 Entwicklungsumgebung
Michael Mtz
04.03.2011
V1.3
Parallele Schnittstelle
Seriell RS232 + JTAG
ECB nach DIN41612
2-zeiliges
eiliges 16 Zeichendisplay
Inkrementalgeber
Joystick
1-wire
wire Temperatursensor
NE555 mit variablem Takt
LFU (Light-to-Frequency)
(Light
RoboLab Bus + I2C
8 Status LEDs
40-pol
pol DIL-Steckbrettadapter
DIL
CM3-Arbeitsunterlagen
0. Inhaltverzeichnis
0. Inhaltverzeichnis.................................................................................................................................. 2
1. STM32F103RB ..................................................................................................................................... 3
1.1 Blockschaltbild aller Platinen ........................................................................................................ 3
1.2 Foto aller Platinen ......................................................................................................................... 4
1.3 Blockschaltbild STM32F103RB ...................................................................................................... 5
1.4 Pinning ........................................................................................................................................... 6
1.5 Pin-Belegung.................................................................................................................................. 7
1.6 GPIOs ............................................................................................................................................. 9
1.7 Struktur der Dokumente ............................................................................................................. 10
2. Fertigung............................................................................................................................................ 11
2.1 DIL-Adapter ................................................................................................................................. 11
2.1.1 DIL - Stromlaufplan ............................................................................................................... 11
2.1.2 DIL - Bestckungsplan .......................................................................................................... 12
2.1.3 DIL - Stckliste ...................................................................................................................... 13
2.1.4 DIL - Schaltungsbeschreibung .............................................................................................. 14
2.2 Europlatine .................................................................................................................................. 17
2.2.1 Euro - Stromlaufplan ............................................................................................................ 17
2.2.2 Euro - Bestckungsplan ........................................................................................................ 18
2.2.3 Euro - Stckliste .................................................................................................................... 19
2.2.4 Euro - Schaltungsbeschreibung ............................................................................................ 20
2.3 LED/Schalter-Platine .................................................................................................................... 27
2.3.1 L/S - Stromlaufplan ............................................................................................................... 27
2.3.2 L/S - Bestckungsplan........................................................................................................... 28
2.3.4 L/S - Schaltungsbeschreibung............................................................................................... 29
2.4 V24-Modul ................................................................................................................................... 30
2.4.1 V24 - Stromlaufplan.............................................................................................................. 30
2.4.2 V24 - Bestckungsplan ......................................................................................................... 30
2.4.3 V24 - Stckliste ..................................................................................................................... 30
2.4.4 V24 - Schaltungsbeschreibung ............................................................................................. 31
3. Inbetriebnahme ................................................................................................................................. 32
3.1 Installation uVision4 .................................................................................................................... 32
3.2 uVision4-Projekt erstellen ........................................................................................................... 35
3.3 HTL-Platinen testen ..................................................................................................................... 43
3.4 Funktionen in Library................................................................................................................... 49
3.5 Debuggen eines C-Programms .................................................................................................... 50
3.6 ber UART flashen ...................................................................................................................... 55
3.7 ber USB flashen ......................................................................................................................... 59
3.8 Hex-Datei flashen ........................................................................................................................ 61
4. FAQ .................................................................................................................................................... 63
Danksagung:
Dieses 32-bit Lehr- und bungssystem ist entstanden durch die Mithilfe von:
Bernhard Beroun dem im Zivildienst "sooo faaad" war, dass er den Steckbrett DIL Adapter
entwickelt hat, Ferdinand Wimmer der neben seinem Internetradio noch die BasisEuropakarte im Altium Designer realisiert hat, und Daniel Hfenstock der, obwohl er eine
Kransteuerung machen wollte, noch zustzlich fr die LED/Schalter-Platine und die
Fertigungsanleitung verantwortlich war.
Manfred Resel im Mai 2010
p.s. Ganz besonders bedanken mchte ich mich bei Wolfgang Kauer der fr die CM3 Fertigung
die SMD Werksttte erweitert hat und bei Thomas Stiedl der mit akribischer Genauigkeit die
Stcklisten durchforstet, und immer beim gnstigsten Lieferanten bestellt hat.
CM3-Arbeitsunterlagen
1. STM32F103RB
1.1 Blockschaltbild aller Platinen
CM3-Arbeitsunterlagen
Netzgert
7--12V AC/DC
LCD
USB Typ Mini-B
+3,3V
USB Typ B
+5V
DIL-Adapter
Licht-FrequenzUmformer
DS18B20
1-wire
Temperatursensor
KEIL uLink ME
LVC244 zur
Pegelentkopplung
Lochraster
100mil
LED/Schalter
LED/Schalter-Platine
Lochraster
100mil
CM3-Arbeitsunterlagen
CM3-Arbeitsunterlagen
1.4 Pinning
Versorgung
JTAG
Clock
Boot0 & Boot1
CM3-Arbeitsunterlagen
5V Tolerant
1.5 Pin-Belegung
Pin
PinTyp
Name
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
VBAT
PC13
PC14
PC15
PD0
PD1
NRST
PC0
PC1
PC2
PC3
VSSA
VDDA
PA0
PA1
PA2
PA3
VSS_4
VDD_4
PA4
PA5
PA6
PA7
PC4
PC5
PB0
PB1
PB2
PB10
PB11
VSS_1
VDD_1
V
I/O
I/O
I/O
I
O
I/O
I/O
I/O
I/O
I/O
V
V
I/O
I/O
I/O
I/O
V
V
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
V
V
33 PB12
I/O
34
35
36
37
38
I/O
I/O
I/O
I/O
I/O
X
X
X
X
X
PB13
PB14
PB15
PC6
PC7
X
X
X
CM3-Arbeitsunterlagen
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
PC8
PC9
PA8
PA9
PA10
PA11
PA12
PA13
VSS_2
VDD_2
PA14
PA15
PC10
PC11
PC12
PD2
PB3
PB4
PB5
PB6
PB7
Boot0
PB8
PB9
VSS_3
VDD_3
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
V
V
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I
I/O
I/O
V
V
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
A0-A7
A2, A3
A8
A9, A10
A11, A12
A13-A15
L/S-Schalter
UART2
DIL-LED/Taster oben
UART1
USB
JTAG
C0-C3
C4
C5
C6-C9
C10-C12
C13
C14, C15
LCD
Poti oben
DIL-LED/Taster oben
Matrix-Keyboard, Joystick, Inkrementalgeber
LCD
Tamper, DIL-LED/Taster oben, Matrix-Keyboard, UART-Wakeup, LVC-LED
32kHz-Quarz
D0, D1
D2
8MHz-Quarz
USB-Enable, DIL-rote LED
B0
B1
B2
B3, B4
B5
B6, B7
B8-B15
B12-B15
Piezo, NE555/LFU/1-wire
Matrix-Keyboard, SUB-D25
Boot1
JTAG
MOSI, Matrix-Keyboard
SUBD-25 I2C
L/S-LEDs
SPI, RoboLab
CM3-Arbeitsunterlagen
1.6 GPIOs
Config-Register: GPIOx_CRy
x = AD (Port)
Reset-Wert:
Beispiel:
0x4444 4444
GPIOA->CRH &= 0xFFFFFFF0; //PA8 Konfigurationsbit lschen
GPIOA->CRH |= 0x00000003; //PA8 als Push Pull Output
//mit 50Mhz max.Frequenz definieren
MODE
[1:0]
01
10
11
Max. Output
Speed
10 MHz
2 MHz
50 MHz
ISource = 8mA
ISink = 20mA
ber das Register AFIO_MAPR knnen die Portpins der Timer, der UARTs, des I2C1 und des
SPI1 auf andere Pins verlegt werden (z.B. von PA4 auf PA15). Weiters knnen die TriggerEingnge der ADCs konfiguriert werden.
siehe RM0008 S. 170 (8.4.2 AF remap and debug I/O configuration register)
HTBL Hollabrunn Michael Mtz
CM3-Arbeitsunterlagen
Viele hilfreiche PDFs und Programmbeispiele gibt es auf der Homepage des MicrocontrollerHerstellers:
http://www.st.com
Micros & Memories
Microcontrollers
STM32 32-bit ARM Cortex MCUs
STM32F 32-bit MCUs
STM32F103RB
Unter dem Reiter Design support stehen Datenbltter, Dokumentationen,
Programmbeispiele, u.v.m. zum Download zur Verfgung.
10
CM3-Arbeitsunterlagen
2. Fertigung
2.1 DIL-Adapter
Rote LED/USB
Run/V24
CortexM3
I/O Ports
JTAG
Versorgung
USB
11
CM3-Arbeitsunterlagen
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Bottom:
Gesamt:
12
CM3-Arbeitsunterlagen
BMKZ
Benennung
Bestueckung_DIL_Adapter.PcbDoc
U1
Mikrocontroller
C2, C5
Keramikkondensator
C10, C12
Keramikkondensator
C1, C3
Keramikkondensator
C8
Keramikkondensator
C4, C6, C7, C11, C13,
Keramikkondensator
C14, C16, C17, C18
C9, C15
Tantalkondensator
R12, R16, R17
Widerstand
R14, R19
Widerstand
R5, R7, R15
Widerstand
R4, R20
Widerstand
R3
Widerstand
R1
Widerstand
R2, R8, R10, R18
Widerstand
R6
Widerstand
R9, R13
Widerstand
Q1, Q2
NPN Transistor
D2, D8
LED grn
D1
LED rot
D5
LED blau
U2
3,3V Fixspannungsregler
D3, D6, D7
Schottky-Diode
U3
USB-ESD-Schutz
Y1
Quarz
Y2
Quarz
USB
USB Buchse
F1
USB-Sicherung
R11
Potentiometer
L1
Ferritperle
S1, S2, S3, S4
Printtaster
B0, B1, B2
3er Stiftleiste + Jumper
P3
JTAG Stiftleiste
P1, P2
DIL-Reihe-Buchse +
Pfostenleiste 4mm hoch
Wert
Gehuse
STM32F103RBT6
22pF
10pF
47pF
4,7nF
100nF
LQFP64
SMD 0805
SMD 0805
SMD 0805
SMD 0805
SMD 0805
10uF
560
1M
100k
1k
47k
22k
10k
1,5k
22
BC847
SMD BF B
SMD 0805
SMD 0805
SMD 0805
SMD 0805
SMD 0805
SMD 0805
SMD 0805
SMD 0805
SMD 0805
SMD SOT-23
SMD PLCC2
SMD PLCC2
SMD PLCC2
SMD
SMD
SOT23
LMS8117ADT3.3
DO214A
USBLC6-25C6
8,0000MHz
32,768kHz
Typ B, gewinkelt
750mA
10k
1,3mm innen
10mm
Bemerkung
PCB-Pool
liegend
h=4,2mm
20-pol
20-pol
2-reihig, gewinkelt
1-reihig
13
CM3-Arbeitsunterlagen
Die Versorgung der DIL-Platinee kann entweder ber die +3,3V der JTAG Schnittstelle oder
ber die +5V der USB Schnittstelle erfolgen. Das bedeutet sobald man eine Hardware
anschliet, welche +5V bentigt (z.B. LCD),, muss man die DIL ber die USB Schnittstelle
versorgen.
USB-Schnittstelle:
Die USB Schnittstelle kann als direkte Verbindung zu einem Computer oder als
Stromversorgung verwendet werden. Um im Falle eines Kurzschlusses den USB Port des
Computers zu schtzen wurde eine Sicherung (F1) auf die +5V Leitung gesetzt. Die DILDIL
Platine besitzt auerdem einen ESD (Electrostatic discharge) Schutz (USBLC6-2SC6)
(USBLC6
um den
Mikrocontroller vor statischen Entladungen ber die USB Buchse zu schtzen.
14
CM3-Arbeitsunterlagen
Jumper:
USB/rote LED:
+3,3V
Boot1
GND
Boot0
Funktion
Run/V24
GND
Von Flash-Speicher
Flash
starten (run Application)
+3,3V
Von Systemspeicher starten (UART)
+3,3V
Von SRAM starten
15
CM3-Arbeitsunterlagen
16
Matrix-Keyboard
Inkrementalgeber
Joystick
DIL
Versorgung +9V
NE555
RS232
RoboLab
7805
LFU
I2C
1-wire UART
NE555/
1-w/
LFU
SPI
SUB-D25
RS232
ECB
CM3-Arbeitsunterlagen
2.2 Europlatine
17
CM3-Arbeitsunterlagen
18
CM3-Arbeitsunterlagen
1
1
1
1
2
1
3
2
2
1
BMKZ
Benennung
MainBoard_CortexM3_Ver.1.2.PcbDoc
U5
Tristate-Buffer
C1, C2, C3
Keramikkondensator
C4, C6, C7, C8, C9, C10,
C11, C13, C14, C15,
Keramikkondensator
C17, C18, C19, C20,
C21, C22
Keramikkondensator
C5
Alu-Elektrolytkondensator
C12
Tantal-Kondensator
C16
Alu-Elektrolytkondensator
R1, R2, R3, R7, R8, R11,
Widerstand
R12
R5
Widerstand
R10
Widerstand
R13
Widerstand
R14
Widerstand
R15,R16
Widerstand
R17
Widerstand
R4,R6,R9
Potentiometer
X1a
IC Sockelstreifen
X1b
Buchsenleiste
X2a
Joystick
X2b
Buchsenleiste
X6
Massebgel
Stiftleiste 7mm
5
1
1
1
2
1
1
5
2
4
2
3
1
1
2
1
1
1
1
Stiftleiste 7mm
Buchsenleiste
SUB-D25 Buchse
SUB-D9 Buchse
IC Sockelstreifen
Licht-Frequenz-Wandler
1-Wire Digital-Thermometer
LED rot
IC Sockelstreifen
LED grn
Buchsenleiste
Buchsenleiste
Buchsenleiste
Netzgertebuchse
Buchsenleiste hoch
VG-Leiste Din41612
Piezo-Summer
Inkrementalgeber
Brckengleichrichter
3-Polig
LFU TSL235R
DS18B20
5mm, 20mA
8-polig
5mm, 20mA
5-polig, hoch
4-polig, hoch
6-polig, hoch
PWR2.5
14-polig
Stecker 2 * 32 polig
8V, 85dB
STEC 12E08
30V/1A
I2C
UART
SPI
U2
5V Fixspannungsregler
7805
liegend,
Masseflche
oben
1
1
1
1
2
U3a
U3b
U4a
U4b
V1, V3
NE555N
IC-Sockel Przision
3Volt RS232 Pegelwandler
IC-Sockel Przision
Diode
Multivibrator
DIL08
MAX3232CPE
DIL16
1N4148
16
1
1
1
7
Wert
Gehuse
SN74ALVC244DWG4
33nF
SMD
Bemerkung
PCBPool
100nF
1000F/16V
4.7F/6,3V
220F/6,3V
Liegend
liegend
10k
330
4,7k
10
100
1k
270
10k
20-polig
20-polig, hoch
SKQUCAA010
2- & 1-polig
10mm
liegend
DIL-Adapter
Sockel f.
Joystick
u-frmig gebogener
Widerstandsdraht
2-polig
Jumper
3-polig
7-polig, hoch
Keyboard
L/S-Platine
RS-232
a,c bestckt
NE555
MAX232
19
CM3-Arbeitsunterlagen
RoboLab:
Damit bereits vorhandene RoboLab1 Hardware mit diesem Board betrieben werden kann, ist
dafr ein Steckplatz integriert.
integriert Mit diesem kann auch das LCD ber den I2C-Bus
I2C
angesteuert
werden.
20
CM3-Arbeitsunterlagen
RS232:
I2C:
21
CM3-Arbeitsunterlagen
SPI:
Das Serial Peripheral Interface (kurz: SPI)) ist ein von Motorola entwickeltes Bus-System
Bus
mit
einem sehr lockeren Standard fr einen synchronen seriellen Datenbus, mit dem digitale
Schaltungen nach dem Master-Slave-Prinzip
Master
Prinzip miteinander verbunden werden knnen.
LEDs:
on|LEDs|off
Damit man auf einen Blick erkennen kann ob Daten ber die RS232 oder den I2C Bus
gesendet werden, gibt es 4 rote
r
und 4 grne LEDs. 3 dieser LEDs sind frei verfgbar und
knnen ber die Buchsenleiste mit jedem beliebigem Pin verbunden werden. Bei offenen
Eingngen der 3 Pins ist nicht sichergestellt, ob die dazugehrige LED leuchtet oder nicht und
kann flackern (nicht
icht definierter Eingangszustand des LVC244). Da die Datenleitungen nicht
belastet werden drfen, um eine gute bertragung sicherzustellen, wird ein Buffer (U5)
verwendet. Mit dem On/Off Jumper kann der Buffer aktiviert und deaktiviert werden.
22
CM3-Arbeitsunterlagen
Inkrementalgeber:
Der Inkrementalgeber (STEC12E08) gibt whrend er gedreht wird ein Rechtecksignal auf
seinen zwei Pins aus. Weiters hat er auch einen Taster.
Matrix-Keyboard:
23
CM3-Arbeitsunterlagen
Joystick:
Der eingebaute Joystick verfgt ber einen Taster und vier Richtungspositionen. Es knnen
auch zwei Richtungen gleichzeitig gedrckt werden (diagonale Richtungen).
NE555:
1k
11k
1k
11k
1k
11k
1k
11k
100nF
100nF
100nF
100nF
220uF
220uF
220uF
220uF
1k
11k
11k
1k
1k
11k
11k
X15 zu
R4+R15 R6+R16
X15 offen
Der NE555 kann als externer Taktgenerator verwendet werden, durch die beiden
Potentiometer (R4, R6) knnen die Taktfrequenz und das Tastverhltnis
tverhltnis eigestellt werden.
Um den Taktgenerator mit dem Port B1 des CM3 zu verbinden muss der dazugehrige
Jumper auf die rechten Pins gesteckt werden.
werden
tA
X5 zu X5 offen
70us
140us
70us
840us
770us
840us
770us
1,54ms
154ms
308ms
154ms
1,848s
1,694s
1,848s
1,694s
3,388s
tE
70us
770us
70us
770us
154ms
1,694s
154ms
1,694s
24
CM3-Arbeitsunterlagen
LFU:
Auf dem Mainboard ist auch der Einsatz eines LFU (Light to Frequency Converter)
vorgesehen. Je nach Lichtstrke gibt der TSL235 eine bestimmte Frequenz am Output aus,
damit kann man ohne groen Aufwand die Lichtstrke messen.
Um die LFU mit dem Port B1 des CM3 zu verbinden muss der dazugehrige Jumper auf die
linken Pins gesteckt werden.
1-Wire:
Der 1-Wire
Wire Bus ist eine serielle Schnittstelle welche nur 1 Leitung fr Versorgung und Daten
gemeinsam verwendet. Der 1-Wire
1 Wire hat aber auch eine GND Leitung, dadurch hat man
insgesamt 2 Leitungen. Die bertragung ist asynchron, das heit ohne bertragenem Takt,
T
seriell und halbduplex.
albduplex. Das Bussystem basiert auf dem One-Master/Multiple
One Master/Multiple-Slave System,
das bedeutet dass es nur einen Master geben darf,
darf aber bis zu 100 Slaves. Der 1-Wire
1
Sensor
wird ber einen integrierten Kondensator betrieben,
betrieben wenn dieser die 64bit-Datenblcke
64b
verschickt.
Um den 1wire-Temperatursensor
Temperatursensor mit dem Port B1 des CM3 zu verbinden muss der
dazugehrige Jumper auf die mittleren Pins gesteckt werden.
25
CM3-Arbeitsunterlagen
Piezo:
Der Piezo wird mit dem zugehrigen Jumper mit dem Pin B1 des CM3 verbunden.
Wenn der 1-wire
wire oder die LFU eingelesen werden sollen, muss der Jumper geffnet sein.
LCD:
Das verwendete Display besitzt zwei Zeilen mit jeweils 16 Zeichen und wird im 4-bit Modus
ber 7 Portleitungen (PC0, PC1, PC2, PC3, PC10, PC11, PC12) der CortexM3 DIL-Platine
DIL
angesteuert. Die weiteren Pins sind Kontrast, VCC (+5V) und GND. Die Pins (L-,
(L L+) sind nicht
verwendet, da unser Display keine Beleuchtung besitzt.
26
CM3-Arbeitsunterlagen
2.3 LED/Schalter-Platine
atine
UART
I2C
V24-Modul
Schalter
LEDs
Potentiometer
ADC Ch9
27
CM3-Arbeitsunterlagen
Lochrasterfeld
fr
Experimente
UART
BMKZ
Platine Maurer Nr. 625
SUB_D25
Schalter
Schalter
LEDs
LEDs1
LEDs2
D1
I2C, Hard
R1
Poti
Benennung
Wert
SUB-D25 Stecker
SUB
IC Sockel Przesion
DIP
DIP-Schalter
IC
IC-Sockelstreifen
LED rot
LED grn
Diode
Buchsenleiste
Metallschichtwiderstand
Potentiometer
DIL16
8-polig, stehend
8-polig, h=2,54mm
Rechteckig, 5mm, 20mA
Rechteckig, 5mm, 20mA
1N4148
4-polig, h=7mm
4,7k
25k
Gehuse
Bemerkung
DIP-Schalter
LEDs
10mm
liegend
28
CM3-Arbeitsunterlagen
Die LEDss hngen an den Pins B8 bis B15 der CortexM3 DIL. Die
ie Diode (D1) bildet mit den
LEDss einen Spannungsteiler, damit bentigen wir hier keinen Widerstand zur
Strombegrenzung.
Schalter:
Die Schalter der Platine hngen an den Pins A0 bis A7 der CortexM3 DIL. Diese Pins sind auch
ADC-Eingnge,
Eingnge, dadurch kann man damit auch verschiedene ADC Werte einstellen.
Potentiometer:
Das Potentiometer der Schalter/Led Platine hngt am Port B1 (Ch9) vom CortexM3 am
ADC1.
29
CM3-Arbeitsunterlagen
2.4 V24-Modul
2.4.1 V24 - Stromlaufplan
BMKZ
Platine
X1
X2
V1, V2
R1, R2, R4, R5
R3
T1
T2
C1
Benennung
Lochraster
SUB
SUB-D9
Buchse
Stiftleiste
Diode
Kohleschichtwiderstand
Kohleschichtwiderstand
NPN Transistor
PNP Transistor
Elektrolytkondensator
Wert
2*5cm
9-polig
4-polig, 1-reihig
1N4148
4,7k
1,8k
BC847
BC857
10uF/63V
Gehuse
Bemerkung
30
CM3-Arbeitsunterlagen
31
CM3-Arbeitsunterlagen
3. Inbetriebnahme
3.1 Installation uVision4
Datei MDK411.exe ffnen (bei aktivierter Benutzerkontensteuerung bei Windows Vista
oder Windows 7 das Setup zulassen). Nun ffnet sich der Installations-Assistent.
Mit Next fortfahren.
32
CM3-Arbeitsunterlagen
Auf dieser Seite die Felder mit Namen, Firma und E-Mail-Adresse ausfllen und danach
wieder Next klicken.
33
CM3-Arbeitsunterlagen
Nun wird das Programm installiert. Dieser Vorgang wird einige Minuten in Anspruch
nehmen.
34
CM3-Arbeitsunterlagen
Das Programm kann jetzt auf dem Desktop mit folgendem Icon gestartet werden.
Ordner fr das Projekt auswhlen oder erstellen und auf Speichern klicken
35
CM3-Arbeitsunterlagen
36
CM3-Arbeitsunterlagen
37
CM3-Arbeitsunterlagen
Speichern der Datei im selben Pfad wie das Projekt erstellt wurde unter dem Namen
main.c.
38
CM3-Arbeitsunterlagen
39
CM3-Arbeitsunterlagen
Jetzt muss nur noch die Libary in das Projekt integriert werden.
Rechtsklick auf Libaries und Add Files to Group Libaries auswhlen.
std_stm32_f103rb.lib auswhlen und mit Add besttigen.
Empfehlenswert ist es auch einzustellen, dass nach dem Download eines Programmes ein
automatischer Reset erfolgt. Man erspart sich dadurch das Drcken des Reset-Buttons nach
jedem Download.
Flash Configure Flash Tools
40
CM3-Arbeitsunterlagen
Im sich ffnenden Fenster bei Reset and Run ein Hkchen setzen und mit OK besttigen.
41
CM3-Arbeitsunterlagen
Zum Downloaden des Programms muss zuerst das Programm mithilfe des Rebuild-Buttons
kompiliert werden.
Wenn keine Fehler festgestellt wurden, kann das Programm mithilfe von Load auf den
CM3 gespielt werden.
Dieser Fehler kann behoben werden indem man unter Flash Erase auswhlt (kompletter
Speicherinhalt wird gelscht).
Wenn man nun nochmals Load klickt sollte das Downloaden problemlos funktionieren
und das Programm starten.
42
CM3-Arbeitsunterlagen
3.3 HTL-Platinen
Platinen testen
JTAG-Debugger mit DIL-Adapter
Adapter verbinden (Nase des JTAG-Debuggers
JTAG Debuggers muss oben sein/ICs
sein
beider Platinen mssen auf der selben Seite sein)
sein
JTAG-Debugger
Debugger ber USB mit PC verbinden
wenn Treiber installiert wurde fadet die blaue LED am JTAG-Debugger
JTAG
43
CM3-Arbeitsunterlagen
44
CM3-Arbeitsunterlagen
45
CM3-Arbeitsunterlagen
46
CM3-Arbeitsunterlagen
5|NE555/LFU
Bei diesem Test ist es wichtig dass vor dem aktivieren des Tests der Jumper Piezo geffnet
wurde bzw. der Jumper fr PB0 auf NE555 oder LFU ist.
Es wird am LCD eine Variable, welche die Zeit zwischen einer positiven und negativen Flanke
misst, angezeigt. Somit muss sich diese ndern wenn der LFU zugedeckt wird bzw. wenn an
den Potis oder den Jumpern des NE555 etwas verndert wird.
6|1wire
Vor dem Aktivieren dieses Tests muss der Jumper Piezo geffnet werden und der Jumper
PB0 auf 1wire gesteckt werden.
Es erscheint am LCD die Umgebungstemperatur des 1wire Temperatursensors.
7|Piezo
Der Jumper Piezo muss geschlossen werden.
Nun sollte man vier hintereinander folgende Tne hren.
8|Potentiometer
Bei diesem Test werden die zwei Potentiometer (eines am DIL-Adapter und eines auf der
L/S-Platine) getestet. Es erscheinen am LCD 2 Bargraphen, welche sich beim Drehen am
jeweiligen Potentiometer ndern mssen.
9|V-24 Modul
Hierbei wird getestet, ob das V-24 Modul funktioniert. Jedes Zeichen, das ber das V24Modul an den CM3 geschickt wird, wird um Eins inkrementiert und wieder zurckgeschickt.
a|RoboLab
Bei diesem Test knnen die Pins der RoboLab-Schnittstelle mithilfe der Testplatine getestet
werden. Es wird auf den LEDs ein Lauflicht ausgegeben.
b|SPI
Hier werden die Pins der SPI-Schnittstelle mithilfe eines Lauflichtes auf der Testplatine
getestet.
c|Matrix-Keyboard
Mit diesem Test werden die Pins der Schnittstelle fr das Matrix-Keyboard mit der
Testplatine getestet (durch Ausgabe eines Lauflichts).
d|I2C UART
Bei diesem Test wird die I2C und UART-Schnittstelle auf der L/S-Platine mithilfe der
Testplatine getestet (durch Ausgabe eines Lauflichts).
e|USB Maus
Mit diesem Test meldet sich der DIL-Adapter als Maus am Computer an, die mit dem Joystick
getestet werden kann.
Wird whrend dem Reset der DIL-Taster-1 (PC5) gedrckt, meldet sich der DIL-Adapter als
Maus am Computer an und fhrt in einem Rechteck herum.
47
CM3-Arbeitsunterlagen
Steckmglichkeiten der Schnittstellen-Testplatine:
48
CM3-Arbeitsunterlagen
49
CM3-Arbeitsunterlagen
Im sich ffnenden Fenster den Menreiter Debug auwhlen und bei Use: den Punkt
setzen und in der dazugehrigen Auswahl ULINK Cortex Debugger auswhlen.
50
CM3-Arbeitsunterlagen
Bei einer nicht aktivierten Version von uVision4 erscheint folgende Meldung welche mit OK
besttigt werden muss.
Fr den klassischen Debug-Vorgang wird das Disassembly-Fenster nicht bentigt und kann
mit dem X am rechten oberen Rand geschlossen werden.
Um den Debug-Vorgang im eingenen Code verfolgen zu knnen muss das *.C-File im Reiter
wieder in den Vordergrund geholt werden.
51
CM3-Arbeitsunterlagen
Es erscheint eine Liste mit den Funktionsblcken der Register, welche angezeigt werden
knnen.
Nach dem Auswhlen werden im rechten Bereich des Fensters die Register angezeigt und
knnen auch verndert werden.
Eine andere Mglichkeit, die Register angezeigt zu bekommen ist mit dem Watch1-Fenster
im unteren Bereich.
Um zustzliche Register anzuzeigen muss der Reiter Symbols ausgewhlt werden
52
CM3-Arbeitsunterlagen
Im Unterpunkt Peripheral Registers sind alle Register mit ihrer Adresse und dem Datentyp
aufgelistet.
Zum Watch1-Fenster werden sie hinzugefgt durch einen Rechtsklick auf das jeweilige
Register und auswhlen von Watch 1 im Untermen Add REGISTER to
Ebenfalls knnen alle Variablen, die in den ins Projekt eingebunden Source-Dateien
verwendet sind, ins Watch1-Fenster bernommen werden.
Dazu den Unterpunkt PROJEKTNAME und die gewnschte Source-Datei whlen.
53
CM3-Arbeitsunterlagen
Jetzt kann die Variable mit Rechtsklick und Klick auf Watch 1 im Untermen Add
\SOURCE\VARIABLE to ins Watch1-Fenster bernommen werden.
Mit Klick auf Run wird der Debugger gestartet und das Programm luft bis zum ersten
gesetzten Breakpoint
54
CM3-Arbeitsunterlagen
55
CM3-Arbeitsunterlagen
Wenn der Cortex bereit zum Daten empfangen ist, erscheint folgendes Fenster:
56
CM3-Arbeitsunterlagen
berprfen ob bei Target der gewnschte Microcontroller aufgelistet ist und mit Next
fortfahren.
Um ein Programm auf den CM3 zu spielen den Punkt bei Download to device markieren,
das *.hex-File auswhlen und die Hkchen wie in der Abbildung gezeigt setzen.
Anschlieend mit Next fortfahren und das Programm auf den CM3 zu spielen.
57
CM3-Arbeitsunterlagen
Die Target Options ffnen und im Menreiter Output bei Create HEX File ein
Hkchen setzen. Jetzt wird beim Kompilieren des Projektes die *.hex-Datei auch
generiert und im Projektpfad abgespeichert.
Der erfolgreiche Download wird in folgendem Fenster besttigt und das Programm kann mit
Finish wieder geschlossen werden.
58
CM3-Arbeitsunterlagen
ffnen
I want to GENERATE a DFU file from S19,HEX or BIN files Auswhlen und OK drcken
59
CM3-Arbeitsunterlagen
9.)
60
CM3-Arbeitsunterlagen
Jetzt den Menreiter Output whlen und neben Name of Executable: den Namen der
*.hex-Datei eintragen (inklusive Dateiendung).
61
CM3-Arbeitsunterlagen
Nun muss noch der Pfad der gewhlten Hex-Datei durch Drcken auf Select Folder for
Objects angegeben werden.
Jetzt kann die ausgewhlte Hex-Datei mit Klicken auf Download auf den CM3 geflasht
werden.
62
CM3-Arbeitsunterlagen
4. FAQ
Warum startet das auf Programm erst nach dem Drcken auf die Reset-Taste?
Um das Programm automatisch nach dem Downloaden auf den CM3 zu starten, muss wie
auf S.41 beschrieben vorgegangen werden.
Warum funktioniert der JTAG-Debugger nicht?
Es knnte ein falscher Debugger ausgewhlt sein. Einstellungen laut S.41 auswhlen.
Wie kann ich ohne der kleinen blauen U-Link Platine den Flash programmieren?
Man kann den CM3 auch ber den UART (S.55) oder ber USB (S.59) flashen.
Wie kann ich eine im Internet gefundene *.hex-Date fr einen CM3 flashen?
Um eine *.hex-Datei ohne uVision4 Projekt auf den CM3 zu flashen muss wie auf S. 61
vorgegangen werden.
Warum zeigt mein LCD nichts an obwohl ich es programmiert habe?
Das LCD funktioniert nur wenn am DIL-Adapter die +5V-Versorgung ber USB oder ein
externes Netzteil angeschlossen ist.
Es knnte sein, dass eine Datenleitung vom CM3 bis zum LCD eine Unterbrechung hat. Man
kann die Unterbrechungsfreiheit mithilfe des Port-Increments testen.
Warum hngt mein Programm?
Wenn das LCD im Programm verwendet wird muss es auch angesteckt sein!
Abhilfe: LCD anstecken oder auskommentieren.
Warum funktioniert die USB Verbindung nicht?
Wenn die rote LED am DIL-Adapter leuchtet wurde der Jumper rote LED/USB nicht richtig
gesetzt. Siehe dazu S. 15 fr genauere Informationen.
Warum flimmern einige LEDs wenn ich mit der Hand in die Nhe des LVC244 komme?
Die auf den X13 verbundenen Ports werden zur Kontrolle auf den LEDs ber den LVC244
angezeigt (siehe S.22). Bei offenen Eingngen ist der Zustand nicht definiert und kann z.B.
durch Nherkommen der Hand verndert werden.
Kann ich die USB Schnittstelle und den UART auch ohne Europakarte testen?
Ja! Wird am Ende des 10 Sekunden Portinkrement-Tests der DIL-Taster 1 (schrg gegenber
Reset-Taster) gedrckt, so wird ein USB-Rechteck-Maus-Testprogramm gestartet.
(wenn der Jumper nicht auf USB steht, leuchtet DIL_LED_1 rot)
ODER
Wird am Ende des 10 Sekunden Portinkrement-Tests der DIL-Taster 2 (mittlerer Taster)
gedrckt, so wird ein (9600,N,8,1) UART Test (ch++) durchgefhrt. (DIL_LED_3 leuchtet grn)
Der 1-Wire Temperaturtest funktioniert nicht! Was mache ich falsch?
Der Piezo Jumper muss offen sein und der Jumper muss auch 1-wire gestellt sein!
Warum leuchtet am DIL-Adapter immer die mittlere grne LED?
Sie leuchtet immer, wenn der UART1 initialisiert ist und der Wakeup-Jumper gesetzt ist.
HTBL Hollabrunn Michael Mtz
63