Download HP Pro 1105 User`s guide

Transcript
for STM32 ARM®
microcontrollers supported
Many on-board modules
Easy-add extra boards
Two connectors for each port
Fast USB 2.0 programmer and
The ultimate STM32 board
Multimedia peripherals
mikroBUS™ sockets
Amazing Connectivity
In-Circuit Debugger
USER'S GUIDE
EasyMx PRO
v7
To our valued customers
EasyMx PRO™ v7 for STM32 is our first development board for STM32 devices. We have put all of our
knowledge that we gained in the past 10 years of developing embedded systems into it's design,
functionality and quality. It may be our first STM32 development board, but it sure looks and feels like it's
our 7th.
You made the right choice. But the fun has only just begun!
Nebojsa Matic,
Owner and General Manager
of mikroElektronika
Table of contents
Introduction
Communication
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
04
USB-UART A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
It's good to know . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
05
USB-UART B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
USB HOST communication . . . . . . . . . . . . . . . . . . . . . . . . .
24
USB device communication . . . . . . . . . . . . . . . . . . . . . . . .
25
Ethernet communication . . . . . . . . . . . . . . . . . . . . . . . . . .
26
CAN communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
Power Supply
Power supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
06
Supported MCUs
Multimedia
Default MCU card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
08
Audio Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
Other supported MCU cards . . . . . . . . . . . . . . . . . . . . . . .
11
microSD card slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
TFT display 320x240px . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
Touch panel controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
Programmer/debugger
On-board programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
GLCD 128x64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
List of MCUs supported with mikroProg™ . . . . . . . . . .
13
Navigation switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
Installing programmer drivers . . . . . . . . . . . . . . . . . . . . . .
14
Programming software . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
Other Modules
Hardware Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
Connectivity
DS1820 - Digital Temperature Sensor . . . . . . . . . . . . . .
34
LM35 - Analog Temperature Sensor . . . . . . . . . . . . . . . .
35
Serial Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
I2C EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
Input/Output Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
ADC inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
mikroBUS™ sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
Piezo Buzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
Click™ Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
Additional GNDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
page 3
introduction
Introduction
ARM® Cortex™-M3 and Cortex™-M4 are increasingly popular
microcontrollers. They are rich with modules, with high performance and
low power consumption, so creating a development board the size of
EasyMx PRO™ v7 for STM32 was really a challenge. We wanted to put
as many peripherals on the board as possible, to cover many internal
modules. We have gone through a process of fine tuning the
board's performance, and used 4-layer PCB to achieve maximum
efficiency. Finally, it had met all of our expectations, and even
exceeded in some. We present you the board which is powerful,
well organized, with on-board programmer and debugger and
is ready to be your strong ally in development.
EasyMx PRO™ v7 development Team
Two connectors for each port
Ready for all kinds of development
Amazing connectivity
Everything is already here
™
mikroProg on board
Multimedia peripherals
mikroBUS support
EasyMx PRO™ v7 for STM32 is
all about connectivity. Having
two different connectors for
each port, you can connect
accessory boards, sensors and
your custom electronics easier
then ever before.
Powerful on-board mikroProg™
programmer and hardware
debugger can program and
debug over 180 STM32 ARM®
microcontrollers. You will
need it, whether you are a
professional or a beginner.
TFT 320x240 with touch panel,
stereo mp3 codec, audio input
and output, navigation switch
and microSD card slot make a
perfect set of peripherals for
multimedia development.
Just plug in your Click™ board,
and it’s ready to work. We picked
up a set of the most useful pins
you need for development and
made a pinout standard you will
enjoy using.
page 4
For easier connections
™
EasyMx PROv7
introduction
It's good to know
STM32F107VCT6 is the default microcontroller
STM32F107VCT6 is the default chip of
EasyMx PRO v7 for STM32. It belongs to ARM®
™
- Great choice for both beginners
power supply
7–23V AC or 9–32V DC
or via USB cable (5V DC)
and professionals
Cortex™-M3 family. It has 72MHz frequency, 256K
- Rich with modules
bytes of Flash memory, 64K bytes of general
- Comes with examples for mikroC,
purpose SRAM, integrated Ethernet controller,
System Specification
power consumption
mikroBasic and mikroPascal compilers
~76mA when all peripheral
modules are disconnected
USB 2.0 (OTG, Host, Device), 80 General purpose
I/O pins (mappable on 16 external interrupt),
board dimensions
266 x 220mm (10.47 x 8.66 inch)
4x16-bit timers, 2x12-bit A/D (16 channels),
2x12-bit D/A , 5xUARTs, internal Real time clock
(RTC), 2xI2C, 3xSPI and 2xCAN controllers. It has
weight
~500g (1.1 lbs)
Serial wire debug (SWD) and JTAG interfaces for
programming and debugging.
L
NA
IO
•
RE
WA
FT
SO
• •
• •
• •
• •
• • • • • • • •
• MIK
ROC
ILERS
, MI
COMP
KRO
BA
SIC
,M
IK
RO
PA
SC
AL
•
• •
• •
• •
•
•
•
•
• •
• •
•
•
S
VER
DRI
EXAM
PLE
S
CO
•
PRODUCT DVD
RS
LE
PI
M
AD
DI
T
Package contains
www.mikroe.com
www.libstock.com
•
S
TIC
MA
HE
• •
• •
•
• •
• •
• •
• •
PROGRAMM
ERS A
ND D
EBU
GG
ER
S
BOARDS • • • • • • • • •
SSORY
ACCE
• • • • •
• • • •
•
•
•
RD
S•
• •
••
•
•
•
SC
•
• • •• • • • • • D
EVELO
PME
UALS
NT
MAN
BO
A
USB cable
4
User Manuals and
Board schematics
5
•
• •
• •
3
••
• •
EasyMx PRO™ v7 for STM32
board in antistatic bag
DS
AR
BO
EasyMx PROv7
2
IA
ED
M
RO
Damage resistant
protective box
M
IK
1
•
Copyright ©2012 Mikroelektronika.
All rights reserved. MikroElektronika, MikroElektronika logo and other
MikroElektronika trademarks are the property of MikroElektronika.
All other trademarks are the property of their respective owners.
Unauthorised copying, hiring, renting, public performance
and broadcasting of this DVD
is strictly prohibited.
DVD with examples
and documentation
page 5
power supply
Power supply
Board contains switching power
supply that creates stable voltage
and current levels necessary
for powering each part of
the board. Power supply
section contains specialized
MC33269DT3.3 power regulator
which creates VCC-3.3V power supply,
thus making the board capable of supporting
3.3V microcontrollers. Power supply unit can be
powered in three different ways: with USB power supply
(CN20), using external adapters via adapter connector (CN30)
or additional screw terminals (CN31). External adapter voltage levels
must be in range of 9-32V DC and 7-23V AC. Use jumper J9 to specify
which power source you are using. Upon providing the power using either external
adapters or USB power source you can turn on power supply by using SWITCH 1 (Figure
3-1). Power LED ON (Green) will indicate the presence of power supply.
VCC-5V
Figure 3-2:
Power supply
unit schematic
1
GND
Vout
Vin
VCC-USB
2
LD78
C37
100nF
MC33269DT3.3
E17
220uF/35V
VCC-5V
VCC-3.3V
REG1
3
Figure 3-1: Power supply unit of EasyMx PRO™ v7 STM32
C38
100nF
POWER
E16
10uF
FP1
R68
2K2
CN20
VCC
1
2
C5
100nF
3.3V VOLTAGE REGULATOR
3
GND 4
USB B
VCC-5V
3
2
1
SWITCH1
U8
VCC-USB
1
VCC-SW
L1
220uH
2
J9
3
E19
220uF/35V
D7
MBRS140T3
C39
220pF
4
SWC
DRVC
SWE
IPK
CT
VIN
GND
CMPR
8
D6
D5
1N4007
1N4007
D4
D3
7
VCC-EXT
6
5
MC34063A
5V SWITCHING POWER SUPPLY
page 6
R69
0.22
VCC-SW
R74
3K
+
E18
220uF/35V 1N4007
CN30
CN31
1N4007
R76
1K
EasyMx PROv7
Board power supply creates stable 3.3V necessary for
operation of the microcontroller and all on-board modules.
Power capacity:
power supply
Power supply: via DC connector or screw terminals
(7V to 23V AC or 9V to 32V DC),
or via USB cable (5V DC)
up to 500mA with USB, and up to 600mA with external power supply
How to power the board?
1. With USB cable
1
2
3
4
5
6
Set J9 jumper to
USB position
To power the board with USB cable, place jumper J9
in USB position. You can then plug in the USB cable
as shown on images 1 and 2 , and turn the power
switch ON.
2. Using adapter
Set J9 jumper to
EXT position
To power the board via adapter connector, place jumper
J9 in EXT position. You can then plug in the adapter
cable as shown on images 3 and 4 , and turn the
power switch ON.
3. With laboratory power supply
Set J9 jumper to
EXT position
To power the board using screw terminals, place jumper
J9 in EXT position. You can then screw-on the cables in
the screw terminals as shown on images 5 and 6 ,
and turn the power switch ON.
EasyMx PROv7
page 7
supported MCUs
Default MCU card
Microcontrollers are supported using specialized MCU cards containing 104 pins,
which can be placed into the on-board female MCU socket. There are several types
of cards which cover all microcontroller families of STM32 Cortex™-M3, as well as
Cortex™-M4. The Default MCU card that comes with the EasyMx PRO™ v7 for STM32
2
4
package is shown on Figure 4-1. It contains STM32F107VCT6 microcontroller with
on-chip peripherals and is a great choice for both beginners and professionals. After
testing and building the final program, this card can also be taken out of the board
socket and used in your final device.
1
STM32F107VCT6 is the default chip of EasyMx PRO™ v7. It has 72MHz
frequency, 256K bytes of Flash memory, 64K bytes of general-purpose
SRAM, integrated Ethernet controller, USB 2.0 (OTG, Host, Device), 80 General
purpose I/O pins (mappable on 16 external interrupt), 4x16-bit timers, 2x12bit A/D (16 channels), 2x12-bit D/A , 5xUARTs, internal Real time clock (RTC),
2xI2C, 3xSPI and 2xCAN controllers.
2
25MHz crystal oscillator. We carefully chose the most convenient crystal
value that provides clock frequency which can be used directly, or with the PLL
multipliers to create higher MCU clock value. MCU card also contains 32.768 kHz
crystal oscillator which provides external clock for RTCC module.
3
USB communications lines. These two jumpers, when in USB position,
connect D+ and D- lines of the on-board USB connector with PA11 and PA12
microcontroller pins. Since STM32F107VCT6 supports USB, jumpers are in USB
position.
4
Ethernet transceiver. Default MCU card contains single-chip Ethernet physical
(PHY) layer transceiver which provides additional Ethernet functionality to
STM32F107VCT6 controller
1
3
5
With STM32 Cortex™-M3 and Cortex™-M4 microcontrollers you have the
ability to select specific boot space (User flash memory, system memory
or embedded SRAM), depending on the boot pins value (BT0, PB2). Boot
pins are set to ground (0) through 100K resistors. In order to set BT0 and
PB2 pins to VCC (1), you must push SW11.1 and SW11.2 DIP switches to
ON position, Figure 4-2. The values on the BOOT pins are latched on the
fourth rising edge of system clock after a reset.
Figure 4-1: Default MCU card with STM32F107VCT6
page 8
EasyMx PROv7
C2
100nF
C3
100nF
C4
100nF
VCC
VREF
C5
100nF
C6
100nF
PA5
PA3
VCC
VCC
VCC
VCC
supported MCUs
C1
100nF
VCC
PE15
PE13
PE11
PE9
PE7
PB1
VCC
103
101
99
97
95
93
91
89
87
85
83
81
79
VCC
C7
100nF
GND
PA6
PA4
GND
PE14
PE12
PE10
PE8
PB2
PB0
104
102
100
98
96
94
92
90
88
86
84
82
80
HD3
VCC
VCC
E2
10uF
PA3
VCC
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
R1 100K
PB11
PB10_RXER
PE15
PE14
PE13
PE12
PE11
PE10
PE9
PE8
PE7
PB2
PB1
PB0
PC5
PC4
PA7
PA6
PA5
PA4
E1
10uF
PB12
PB13
PB14_nINT
SPI_MISO
PD8
PD10
PD12
PD14
PC6
PC8
GND
RXP
RXN
TXP
TXN
HD1
R2
12K1
J2
VCC
100nF
PA11
PA11/DM
DM
FP1
J3
24
23
22
21
20
19
C14
PA12
PA12/DP
DP
1
2
3
4
5
6
LED2
LED1
VDD2A
LED2
LED1
XTAL2
XTAL1
VDDCR
LAN8720A
GND
C12
2.2uF
C13
100nF
TXD1
TXD0
TXEN
RST#
nINT
MDC
TXD1
18
TXD0
17
16
TXEN
15
RST#
14 PB14_nINT
13 PC1_MDC
RXD1
RXD0
CRS_DV
TXD1
TXD0
TXEN
R4
R5
R6
R7
R8
R9
27
27
27
27
27
27
PB12
PB13
PB14
PB15
PD8
PD9
PD10
PD11
PD12
PD13
PD14
PD15
PC6
PC7
PC8
PC9
PA8
PA9
PA10
PA11
PA12
PA13
NC
GND
VDD
PC5
PC4
PA7
PB13
PB12
PB11
R11 100K
R10
10K
VCC
STM32F107VCT6
PA2
PA1
PA0-WKUP
VDDA
VREF+
VREFGNDA
PC3
PC2
PC1
PC0
NRST
OSC_OUT
OSC_IN
VDD
GND
PC15/OSC32_OUT
PC14/OSC32_IN
PC13/TAMPER_RTC
VBAT
PE6
PE5
PE4
PE3
PE2
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
PA2_MDIO
MCO
PA0
GND
VREF
PC2
PC0
PC13
PE5
PE3
PE1
PB9
PB7
PB5
GND
VREF
PC3
PC2
PC1_MDC
PC0
RST#
OSC_OUT
OSC_IN
C11
22pF
X1
C10
22pF
25MHz
77 VCC
PA0
75
PC3
73
71
69 RST#
PE6
67
PE4
65
PE2
63
PE0
61
PB8
59
BT0
57
55
PB6
53 VCC
78
76
74
72
70
68
66
64
62
60
58
56
54
HD4
OSC32_OUT
OSC32_IN
PC13
Vbat
PE6
PE5
PE4
PE3
PE2
X2
32.768KHz
C9
22pF
C8
22pF
VCC
VCC
E3
10uF
E4
10uF
7
8
9
10
11
12
RXD1
RXD0
VDDIO
RXER
CRS_DV
MDIO
MCO
Rbias
RXP
RXN
TXP
TXN
VDD1A
U2
PD8
PD9
PD10
PD11
PD12
PD13
PD14
PD15
PC6
PC7
PC8
PC9
MCO
PA9
PA10
PA11/DM
PA12/DP
PA13
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
PA14
PA15
PC10
PC11
PC12
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
PB3
PB4
PB5
PB6
PB7
BOOT0
PB8
PB9
PE0
PE1
GND
VDD
TXP
RXP
LED2
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
2
4
6
8
10
12
14
16
18
20
22
24
26
PA14
PA15
SPI_SCK
SPI_MISO
SPI_MOSI
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
PB3
PB4
PB5
PB6
PB7
BT0
PB8
PB9
PE0
PE1
1
3
5
7
9
11
13
15
17
19
21
23
25
VDD
GND
PB11
PB10
PE15
PE14
PE13
PE12
PE11
PE10
PE9
PE8
PE7
PB2
PB1
PB0
PC5
PC4
PA7
PA6
PA5
PA4
VDD
GND
PA3
U1
TXN
RXN
LED1
SPI_SCK
SPI_MOSI
PD9
PD11
PD13
PD15
PC7
PC9
Vbat
VCC
5
N
O
103 VCC-3.3V
101
PB10
99
PE15
97
PE13
95
PE11
93
PE9
91
PE7
89
PB1
87
PC5
85
PA7
83
PA5
81
PA3
79 VCC-3.3V
RXD1
RXD0
BT0
PB2
VCC-3.3V
2
VCC-3.3V
R80
1K
1
PB10_RXER
CRS_DV
PA2_MDIO
VCC-3.3V
R3 1K5
PD0
PD2
PD4
PD6
PB4
GND
4
6
GND
PB11
PE14
PE12
PE10
PE8
PB2
PB0
PC4
PA6
PA4
PA2
GND
8
28
30
32
34
36
38
40
42
44
46
48
50
52
7
104
102
100
98
96
94
92
90
88
86
84
82
80
E8
10uF
5
GND
PA9
DM
PA11
PA13
PA15
3
E7
10uF
SW11
27
29
31
33
35
37
39
41
43
45
47
49
51
HD2
1
3
5
7
9
11
13
15
17
19
21
23
25
2
TX_P
4
RX_P
LED2
6
8
PB12
10 MCU_MISO
12
PD8
14
PD10
16
PD12
18
PD14
20
PC6
22
PC8
24
PA8
26
GND
PD1
PD3
PD5
PD7
PB3
VCC
VCC
PA10
DP
PA12
PA14
TX_N
RX_N
LED1
MCU_SCK
MCU_MOSI
PD9
PD11
PD13
PD15
PC7
PC9
VCC-3.3V
VCC-3.3V
MCU CARD SOCKET
VCC-3.3V
E12
10uF
7
9
1
3
5
7
9
1
3
5
7
9
1
EasyMx PROv7
28
GND
30
PA9
32 USB-D_N
PA11
34
36 PA13-MCU
38 PA15-MCU
PC11
40
PD0
42
PD2
44
PD4
46
PD6
48
50 PB4-MCU
GND
52
Figure 4-2: Default MCU card and boot configuration schematic
GND
PA1
MCU_VREF
PC2
PC0
PC13
PE5
PE3
PE1
PB9
PB7
PB5
GND
78
76
74
72
70
68
66
64
62
60
58
56
54
77
75
73
71
69
67
65
63
61
59
57
55
53
VCC-3.3V
PA0
PC3
PC1
NRST
PE6
PE4
PE2
PE0
PB8
BT0
PB6
VCC-3.3V
VCC-3.3V
R45
10K
NRST
R47
T68
100
C31
100nF
RESET
VCC-3.3V
E11
10uF
page 9
supported MCUs
How to properly place your MCU card into the socket?
Before you plug the microcontroller card into the
socket, make sure that the power supply is turned
off. Images below show how to correctly plug the
card. First make sure that MCU card orientation
matches the silkscreen outline on the EasyMx
1
Figure 4-3: On-board MCU
socket has silkscreen
markings which will help
you to correctly orient the
MCU card before inserting.
page 10
PRO™ v7 STM32 board MCU socket. Place the
MCU card over the socket, so each male header is
properly aligned with the female socket, as shown
in Figure 4-4. Then put the MCU card slowly down
until all the pins match the socket. Check again if
2
Figure 4-4:
Place the
MCU card on
the socket
so that pins
are aligned
correctly.
everything is placed correctly and press the MCU
card until it is completely plugged into the socket
as shown in Figure 4-5. If done correctly, all pins
should be fully inserted. Only now you can turn on
the power supply.
3
Figure 4-5 Properly
placed MCU card.
EasyMx PROv7
mikroElektronika currently offers total of three populated MCU cards. Two with
Cortex™-M3: STM32F107VCT6 microcontroller (default), STM32F207VGT6
microcontroller and one with Cortex™-M4: STM32F407VGT6 microcontroller. You
can also purchase empty PCB cards that you can populate on your own and solder
any supported microcontroller you need in your development. There are total of
four empty PCB cards available. This way your EasyMx PRO™ v7 for STM32 board
becomes truly flexible and reliable tool for almost any of your ARM® projects. MCU
cards can also be used in your final devices. For complete list of currently available
MCU cards, please visit the board webpage:
http://www.mikroe.com/eng/products/view/852/easymx-pro-v7-for-stm32/
NOTE:
"HP" (High performance) - Empty
MCU cards that support only high
performance
STM32F20x
and
STM32F40x microcontrollers family.
"ETH" (Ethernet) - Empty MCU cards
with single-chip Ethernet PHY
layer transceiver which provides
additional Ethernet functionality to
microcontrollers
Default 100-pin ETH MCU card
with STM32F107VCT6
Empty ETH MCU card for 100-pin
STM32F10x MCUs
EasyMx PROv7
Standard 100-pin HP ETH MCU
card with STM32F207VGT6
Empty ETH HP MCU card for 100pin STM32F2(4)0x MCUs
Standard 100-pin HP ETH MCU
card with STM32F407VGT6
Empty MCU card for 100-pin
STM32F10x MCUs
Empty HP MCU card for 100-pin
STM32F2(4)0x MCUs
page 11
supported MCUs
Other supported MCU cards
programming
On-board
programmer
What is mikroProg™?
mikroProg™ is a fast programmer and debugger which is based on ST-LINK V2 programmer. Smart engineering allows
mikroProg™ to support over 180 ARM® Cortex™-M3 and Cortex™-M4 devices from STM32 in a single programmer. It also
features a powerful debugger which will be of great help in your development. Outstanding performance and easy operation are
among it's top features.
Enabling mikroProg™
VCC-3.3V
LD68
VCC-USB
R2
2K2
VCC-USB
CN20
FP1
1
VCC
2
D-
USB-PROG_N
3
D+
USB-PROG_P
4
GND
LED_STLINK
PA14-MCU
TCK/SWCLK
C5
100nF
TMS/SWDIO
J2
PA15-MCU
J3
PB3-MCU
J4
PB4-MCU
PA15
TDO/SWO
R45
10K
R47
100
C31
100nF
NRST
PB3
PB4
TRST
J5
VCC-3.3V
NRST
Figure 5-1: mikroProg™ block schematics
PA13-MCU
PA13
TDI
VCC-3.3V
RESET
PA14
J1
USB B
T68
DATA BUS
LINK
Five jumpers below the programmer
USB connector are used to specify
whether programming lines should
be connected to programmer, or used
as general purpose I/Os. If placed in
JTAG/SWD position, jumpers connect
PA13-PA15 pins to TMS/SWDIO,
TCK/SWCLK , TDI, and PB3-PB4 pins
to TDO/SWO and TRST programming
lines respectively and are cut off from
the rest of the board.
How do I start?
In order to start using mikroProg™, and program your
microcontroller, you just have to follow two simple
steps:
page 12
1. Install the necessary software
- Install programmer drivers
- Install mikroProg Suite™ for ARM® software
2. Power up the board, and you are ready to go.
- Plug in the programmer USB cable
- LINK LED should light up.
EasyMx PROv7
programming
STM32 Cortex™-M3 microcontrollers supported with mikroProg™
STM32F100C4
STM32F101R6
STM32F102C6
STM32F103V8
STM32F205RE
STM32F215RE
STM32L151VC
STM32F100C6
STM32F101R8
STM32F102C8
STM32F103VB
STM32F205RF
STM32F215RG
STM32L151VD
STM32F100C8
STM32F101RB
STM32F102CB
STM32F103VC
STM32F205RG
STM32F215VE
STM32L151ZC
STM32F100CB
STM32F101RC
STM32F102R4
STM32F103VD
STM32F205VB
STM32F215VG
STM32L151ZD
STM32F100R4
STM32F101RD
STM32F102R6
STM32F103VE
STM32F205VC
STM32F215ZE
STM32L152C6
STM32F100R6
STM32F101RE
STM32F102R8
STM32F103VF
STM32F205VE
STM32F215ZG
STM32L152C8
STM32F100R8
STM32F101RF
STM32F102RB
STM32F103VG
STM32F205VF
STM32F217IE
STM32L152CB
STM32F100RB
STM32F101RG
STM32F103C4
STM32F103ZC
STM32F205VG
STM32F217IG
STM32L152QC
STM32F100RC
STM32F101T4
STM32F103C6
STM32F103ZD
STM32F205ZC
STM32F217VE
STM32L152QD
STM32F100RD
STM32F101T6
STM32F103C8
STM32F103ZE
STM32F205ZE
STM32F217VG
STM32L152R6
STM32F100RE
STM32F101T8
STM32F103CB
STM32F103ZF
STM32F205ZF
STM32F217ZE
STM32L152R8
STM32F100V8
STM32F101TB
STM32F103R4
STM32F103ZG
STM32F205ZG
STM32F217ZG
STM32L152RB
STM32F100VB
STM32F101V8
STM32F103R6
STM32F105R8
STM32F207IC
STM32L151C6
STM32L152RC
STM32F100VC
STM32F101VB
STM32F103R8
STM32F105RB
STM32F207IE
STM32L151C8
STM32L152RD
STM32F100VD
STM32F101VC
STM32F103RB
STM32F105RC
STM32F207IF
STM32L151CB
STM32L152V8
STM32F100VE
STM32F101VD
STM32F103RC
STM32F105V8
STM32F207IG
STM32L151QC
STM32L152VB
STM32F100ZC
STM32F101VE
STM32F103RD
STM32F105VB
STM32F207VC
STM32L151QD
STM32L152VC
STM32F100ZD
STM32F101VF
STM32F103RE
STM32F105VC
STM32F207VE
STM32L151R6
STM32L152VD
STM32F100ZE
STM32F101VG
STM32F103RF
STM32F107RB
STM32F207VF
STM32L151R8
STM32L152ZC
STM32F101C4
STM32F101ZC
STM32F103RG
STM32F107RC
STM32F207VG
STM32L151RB
STM32L152ZD
STM32F101C6
STM32F101ZD
STM32F103T4
STM32F107VB
STM32F207ZC
STM32L151RC
STM32L162QD
STM32F101C8
STM32F101ZE
STM32F103T6
STM32F107VC
STM32F207ZE
STM32L151RD
STM32L162RD
STM32F101CB
STM32F101ZG
STM32F103T8
STM32F205RB
STM32F207ZF
STM32L151V8
STM32L162VD
STM32F101R4
STM32F102C4
STM32F103TB
STM32F205RC
STM32F207ZG
STM32L151VB
STM32L162ZD
STM32 Cortex™-M4 microcontrollers supported with mikroProg™
STM32F405RG STM32F407IE STM32F407VG
STM32F415RG
STM32F417IE
STM32F417VG STM32F405VG
STM32F407IG
STM32F407ZE STM32F415VG STM32F417IG
STM32F417ZE STM32F405ZG STM32F407VE STM32F407ZG
STM32F415ZG STM32F417VE STM32F417ZG
EasyMx PROv7
page 13
L
NA
IO
RE
WA
FT
SO
•
• •
• •
• •
• •
• • • • • • • •
• MIK
ROC
ILERS
, MI
COMP
KRO
BA
SIC
,M
IK
RO
PA
SC
AL
•
• •
• •
• •
•
•
•
•
• •
• •
•
•
S
VER
DRI
EXAM
PLE
S
CO
•
PRODUCT DVD
RS
LE
PI
M
AD
DI
T
On-board mikroProg™ requires drivers in order to work.
Drivers are located on the Product DVD that you received
with the EasyMx PRO™ v7 for STM32
package:
www.mikroe.com
www.libstock.com
DVD://download/eng/software/
development-tools/arm/stm32/
mikroprog/st_link_v2_usb_driver.zip
•
S
TIC
MA
HE
• •
• •
•
• •
• •
• •
• •
PROGRAMM
ERS A
ND D
EBU
GG
ER
S
BOARDS • • • • • • • • •
SSORY
ACCE
• • • • •
• • • •
•
•
•
••
• •
•
• •
• •
RD
S•
• • •• • • • • • D
EVELO
PME
UALS
NT
MAN
BO
A
le on Product
D!
DS
AR
BO
• •
••
•
•
•
SC
•
lab
M
IK
Copyright ©2012 Mikroelektronika.
All rights reserved. MikroElektronika, MikroElektronika logo and other
MikroElektronika trademarks are the property of MikroElektronika.
All other trademarks are the property of their respective owners.
Unauthorised copying, hiring, renting, public performance
and broadcasting of this DVD
is strictly prohibited.
•
Av
ai
IA
ED
M
RO
programming
Installing programmer drivers
DV
When you locate the drivers, please extract
the setup file from the ZIP archive. You should be able
to locate the driver setup file. Double click the setup
file to begin installation of the programmer drivers.
Step 1 - Start Installation
Step 2 - Select Destination
Welcome screen of the installation. Just click on Next
button to proceed.
Click Change button to select new destination folder
or use the suggested installation path.
Step 3 - Installing drivers
Drivers are installed automatically in a matter of
seconds.
page 14
Step 4 - Finish installation
You will be informed if the drivers are installed correctly.
Click on Finish button to end installation process.
EasyMx PROv7
mikroProg Suite™ for ARM®
L
NA
IO
•
RE
WA
FT
SO
• •
• •
• •
• •
• • • • • • • •
• MIK
ROC
ILERS
, MI
COMP
KRO
BA
SIC
,M
IK
RO
PA
SC
AL
CO
• •
• •
• •
• •
• •
•
•
S
VER
DRI
EXAM
PLE
S
•
•
•
•
•
PRODUCT DVD
•
www.mikroe.com
www.libstock.com
DVD://download/eng/software/development-tools/arm/mikroprog/
mikroprog_suite_for_arm_v110.zip
•
S
TIC
MA
HE
• •
• •
•
• •
• •
• •
• •
PROGRAMM
ERS A
ND D
EBU
GG
ER
S
BOARDS • • • • • • • • •
SSORY
ACCE
• • • • •
• • • •
•
•
•
DS
AR
BO
••
• •
•
• •
• •
RD
S•
• • •• • • • • • D
EVELO
PME
UALS
NT
MAN
BO
A
• •
••
le on Product
D!
IA
ED
M
RO
Copyright ©2012 Mikroelektronika.
All rights reserved. MikroElektronika, MikroElektronika logo and other
MikroElektronika trademarks are the property of MikroElektronika.
All other trademarks are the property of their respective owners.
Unauthorised copying, hiring, renting, public performance
and broadcasting of this DVD
is strictly prohibited.
M
IK
•
•
•
SC
•
lab
•
Av
ai
Installation wizard - 6 simple steps
RS
LE
PI
M
AD
DI
T
On-board mikroProg™ programmer requires special programming software called
mikroProg Suite™ for ARM®. This software is used for programming of all supported
microcontroller families with ARM® Cortex™-M3 and Cortex™-M4 cores. Software has
intuitive interface and SingleClick™ programming technology. To
begin, first locate the installation archive on the Product DVD:
programming
Programming software
DV
After downloading, extract the package and double click the
executable setup file, to start installation.
Step 1 - Start Installation
Step 2 - Accept EULA and continue
Quick Guide
1
Click the Detect MCU button in order to
recognize the device ID.
2
Click the Read button to read the entire
microcontroller memory. You can click the
Save button to save it to target HEX file.
3
If you want to write the HEX file to the
microcontroller, first make sure to load the
target HEX file. You can drag-n-drop the
file onto the software window, or use the
Load button to open Browse dialog and
point to the HEX file location. Then click
the Write button to begin programming.
4
Click the Erase button to wipe out the
microcontroller memory.
Step 3 - Install for All users or
current user
Step 5 - Installation in progress
Step 4 - Choose destination folder
Step 6 - Finish Installation
Figure 5-2: mikroProg Suite for ARM® window
™
EasyMx PROv7
page 15
programming
Hardware Debugger
What is Debugging?
Every developer comes to a point where he has to monitor the
code execution in order to find errors in the code, or simply
to see if everything is going as planed. This hunt for bugs,
or errors in the code is called debugging. There are two ways
to do this: one is the software simulation, which enables
you to simulate what is supposed to be happening on the
microcontroller as your code lines are executed, and the other,
most reliable one, is monitoring the code execution on the
chip itself. And this latter one is called hardware debugging.
"hardware" means that it is the real deal - code executes right on
the target device.
How do I use the debugger?
When you build your project for debugging, and program the microcontroller with this HEX file, you can
start the debugger using [F9] command. Compiler will change layout to debugging view, and a blue line
will mark where code execution is currently paused. Use debugging toolbar in the Watch Window
to guide the program execution, and stop anytime. Add the desired variables to Watch Window and
monitor their values.
What is hardware debugger?
The on-board mikroProg™ programmer supports hardware
debugger - a highly effective tool for a Real-Time debugging
on hardware level. The debugger enables you to execute your
program on the host STM32 microcontroller and view variable
values, Special Function Registers (SFR), RAM, CODE and EEPROM
memory along with the code execution on hardware. Whether you
are a beginner, or a professional, this powerful tool, with intuitive
interface and convenient set of commands will enable you to track
down bugs quickly. mikroProg debugger is one of the fastest, and
most reliable debugging tools on the market.
Supported Compilers
All MikroElektronika compilers, mikroC™, mikroBasic™ and
mikroPascal™ for ARM® natively support mikroProg™ for STM32,
as well as other compilers, including KEIL®, IAR®. Specialized
DLL module allows compilers to exploit the full potential of fast
hardware debugging. Along with compilers, make sure to install
the appropriate programmer drivers and mikroProg Suite™
for ARM® programming software, as described on pages 14
and 15.
page 16
Figure 5-3: mikroC PRO for ARM® compiler in debugging view, with SFR registers in Watch Window
EasyMx PROv7
Here is a short overview of which debugging commands are supported in mikroElektronika compilers. You can see what each command does,
and what are their shortcuts when you are in debugging mode. It will give you some general picture of what your debugger can do.
Toolbar
Icon
Command Name
Shortcut
Description
Start Debugger
[F9]
Starts Debugger.
Run/Pause Debugger
[F6]
Run/Pause Debugger.
Stop Debugger
[Ctrl + F2]
Stops Debugger.
Step Into
[F7]
Executes the current program line, then halts. If the executed
program line calls another routine, the debugger steps into the
routine and halts after executing the first instruction within it.
Step Over
[F8]
Executes the current program line, then halts. If the executed program
line calls another routine, the debugger will not step into it. The whole
routine will be executed and the debugger halts at the first instruction
following the call.
Step Out
[Ctrl + F8]
Executes all remaining program lines within the subroutine. The
debugger halts immediately upon exiting the subroutine.
Run To Cursor
[F4]
Executes the program until reaching the cursor position.
Toggle Breakpoints
[F5]
Toggle breakpoints option sets new breakpoints or removes those
already set at the current cursor position.
Show/Hide breakpoints
[Shift+F4]
Shows/Hides window with all breakpoints
Clears breakpoints
[Shift+Ctrl+F5]
Delete selected breakpoints
Jump to interrupt
[F2]
Opens window with available interrupts (doesn't work in hardware
debug mode)
EasyMx PROv7
page 17
programming
Debugger commands
connectivity
Input/Output Group
One of the most distinctive features of EasyMx PRO™
v7 for STM32 are it’s Input/Output PORT groups. They
add so much to the connectivity potential of the board.
Everything is grouped together
PORT headers, PORT buttons and PORT LEDs are next to each other, and
Figure 6-1: I/O group contains PORT header, tri-state pull
grouped together. It makes development easier, and the entire EasyMx PRO™ v7
up/down DIP switch, buttons and LEDs all in one place
for STM32 cleaner and well organized. We have also provided an additional PORT
headers on the right side of the board, so you can access any pin you want from that side of the board too.
Tri-state pull-up/down DIP switches
PA15
PA14
PA13
PA12
PA11
PA10
PA9
PA8
DATA BUS
PA8
PA10
PA12
PA14
N
O
PORTA_LED
1
2
UP
PULL
DOWN
3
4
5
+1 2 3 4 5 6 7 8
VCC-3.3V
_
SW1
6
PA9
PA11
PA13
PA15
PA8
PA10
PA12
PA14
VCC-3.3V
CN1
PA9
PA11
PA13
PA15
CN4
7
8
Tri-state DIP switches, like SW1 on Figure 6-3, are used to enable 4K7
pull-up or pull-down resistor on any desired port pin.
Each of these switches has three states:
1. middle position disables both pull-up and pull-down
feature from the PORT pin
2. up position connects the resistor in pull-up state to
the selected pin
3. down position connects the resistor in pull-down
Figure 6-2:
state to the selected PORT pin.
Tri-state DIP
switch on PORTA/H
VCC-3.3V
SW15
PORTA_LEVEL
J7
T3
T4
T5
LD8
PA9
T6
RN8
10K
PA8
LD7
PA10
PA11
PA12
PA13
PA14
T2
LD6
RN7
10K
T7
PA8
J6
T1
LD5
RN6
10K
PA9
220
LD4
RN5
10K
PA10
R27
LD3
RN4
10K
PA11
SW10
220
RN3
10K
PA12
R26
Button press level tri-state DIP
switch is used to determine which
logic level will be applied to port
pins when buttons are pressed
PA14
_
LD2
PA15
VCC-3.3V
LD1
VCC
BUTTON PRESS LEVEL
GND
PA15
+1 2 3 4 5 6 7 8
RN2
10K
PA13
RN1
10K
T8
Figure 6-3: Schematic of the single I/O group connected to microcontroller PORTA/H
page 18
EasyMx PROv7
connectivity
Headers Buttons
LEDs
With enhanced connectivity as one of the key features
of EasyMx PRO™ v7 for STM32, we have provided two
connection headers for each PORT. I/O PORT group
contains one male IDC10 header (like CN1 Figure 6-3).
There is one more IDC10 header available on the
right side of the board, next to DIP switches (like CN4
on Figure 6-3). These headers can be used to connect
accessory boards with IDC10 female sockets.
LED (Light-Emitting
Diode) is a highly
efficient electronic
78
77
76
75 PA0
light source. When
74
73
72
71
SMD LED
connecting
LEDs,
70
69
68
67
66
65
it is necessary to
64
63
62
61
place
a
current
60
59
SMD resistor
58
57
limiting
resistor
in
56
55
limiting current
54
53
through the LED
series so that LEDs
are provided with
the current value
specified by the manufacturer. The current varies from
0.2mA to 20mA, depending on the type of the LED and
the manufacturer. The EasyMx PRO™ v7 for STM32 board
uses low-current LEDs with typical current consumption
of 0.2mA or 0.3mA. Board
contains 67 LEDs which can
be used for visual indication
of the logic state on PORT
pins. An active LED indicates
that a logic high (1) is present
on the pin. In order to enable
PORT LEDs, it is necessary
to enable the corresponding
Figure 6-6: SW15.1
DIP switch on SW15 (Figure
through SW15.8
6-6).
switches are used to
enable PORT LEDs
The logic state of
all
microcontroller
digital inputs may be
changed using push
buttons.
Tri-state
Figure 6-5: Button press
DIP switch SW10 is
level DIP switch (tri-state)
available for selecting
which logic state will be applied to corresponding MCU
pin when button is pressed, for each I/O port separately.
If you, for example, place SW10.1 in VCC position, then
pressing of any push button in PORTA/H I/O group will
apply logic one to the appropriate microcontroller pin.
The same goes for GND. If DIP switch is in the middle
position neither of two logic states will be applied to
the appropriate microcontroller pin. You can disable pin
protection 220ohm resistors by placing jumpers J6 and
J7, which will connect your push buttons directly to VCC
or GND. Be aware that doing so you may accidentally
damage MCU in case of wrong usage.
Reset Button
Figure 6-4: IDC10 male headers enable easy
connection with mikroElektronika accessory boards
EasyMx PROv7
In the far upper right section of the
board, there is a RESET button, which
can be used to manually reset the
microcontroller.
page 19
connectivity
mikroBUS sockets
™
Easier connectivity and simple configuration
are imperative in modern electronic devices.
Success of the USB standard comes from it’s
simplicity of usage and high and reliable data
transfer rates. As we in mikroElektronika see it,
Plug-and-Play devices with minimum settings
are the future in embedded world too. This is
why our engineers have come up with a simple,
but brilliant pinout with lines that most of
today’s accessory boards require, which almost
completely eliminates the need of additional
hardware settings. We called this new standard
the mikroBUS™. EasyMx PRO™ v7 for STM32
supports mikroBUS™ with two on-board
sockets. As you can see, there are no additional
DIP switches, or jumper selections. Everything
is already routed to the most appropriate pins
of the microcontroller sockets.
mikroBUS™ host connector
Each mikroBUS™ host connector consists of two
1x8 female headers containing pins that are
most likely to be used in the target accessory
board. There are three groups of communication
pins: SPI, UART and I2C communication. There
are also single pins for PWM, Interrupt,
Analog input, Reset and Chip Select. Pinout
contains two power groups: +5V and GND on
one header and +3.3V and GND on the other
1x8 header.
mikroBUS™ pinout explained
AN - Analog pin
RST - Reset pin
CS - SPI Chip Select line
SCK - SPI Clock line
MISO - SPI Slave Output line
MOSI - SPI Slave Input line
+3.3V - VCC-3.3V power line
GND - Reference Ground
PWM - PWM output line
INT - Hardware Interrupt line
RX - UART Receive line
TX - UART Transmit line
SCL - I2C Clock line
SDA - I2C Data line
+5V - VCC-5V power line
GND - Reference Ground
DATA BUS
PA4
PC2
PD13
MCU_SCK
MCU_MISO
MCU_MOSI
VCC-3.3V
AN
RST
CS
SCK
MISO
MOSI
3.3V
GND
1
PWM
INT
RX
TX
SCL
SDA
5V
GND
PA0
PD10
PD9
PD8
PB6
PB7
VCC-5V
PA5
PC3
PD14
MCU_SCK
MCU_MISO
MCU_MOSI
VCC-3.3V
AN
RST
CS
SCK
MISO
MOSI
3.3V
GND
2
PWM
INT
RX
TX
SCL
SDA
5V
GND
PD12
PD11
PD6
PD5
PB6
PB7
VCC-5V
Figure 7-1:
mikroBUS™
connection
schematic
Integrate mikroBUS™ in your design
mikroBUS™ is not made only to be a part of our development boards. You can freely place
mikroBUS™ host connectors in your final PCB designs, as long as you clearly mark them with
mikroBUS™ logo and footprint specifications. For more information, logo artwork and
PCB files visit our website:
http://www.mikroe.com/mikrobus
page 20
EasyMx PROv7
connectivity
Opto click™
BEE click™
BlueTooth click™
WiFi PLUS click™
GPS click™
Click Boards are plug-n-play!
™
mikroElektronika’s portfolio of over 200 accessory boards is now enriched
by an additional set of mikroBUS™ compatible Click Boards™. Almost each
month several new Click boards™ are released. It is our intention to provide
the community with as much of these boards as possible, so you will be able
to expand your EasyMx PRO™ v7 for STM32 with additional functionality with
LightHz click™
EasyMx PROv7
DAC click™
literally zero hardware configuration. Just plug and play. Visit the Click boards™
webpage for the complete list of available boards:
http://www.mikroe.com/click/
DIGIPOT click™
SHT1x click™
THERMO click™
page 21
The UART (universal asynchronous receiver/trans­
mitter) is one of the most common ways of exchanging
data between the MCU and peripheral components. It is a serial
protocol with separate transmit and receive lines, and can be used for
full-duplex communication. Both sides must be initialized with the
same baud rate, otherwise the data will not be received correctly.
Enabling USB-UART A
Modern PC computers, laptops and notebooks are no longer
equipped with RS-232 connectors and UART controllers. They
are nowadays replaced with USB connectors and USB
controllers. Still, certain technology enables UART
In order to use USB-UART A module on EasyMx PRO™ v7 for
communication to be done via USB connection.
Controllers such as FT232RL from FTDI® convert
STM32, you must first install FTDI drivers on your computer.
UART signals to the appropriate USB standard.
Drivers can be found on Product DVD:
AD
DI
T
•
•
•
•
• •
• •
•
EXAM
PLE
S
BOARDS • • • • • • • • •
SSORY
ACCE
•
• •
• •
• •
• •
•
•
•
DS
AR
BO
••
• •
•
• •
• •
RD
S•
• • •• • • • • • D
EVELO
PME
UALS
NT
MAN
BO
A
le on Product
D!
M
IK
• •
••
•
•
•
SC
•
lab
•
DV
RX
TX
CN22
6
7
8
US B UA RT A
CONNECTOR
R15
4K7
VCC 1
LD70
R18
4K7
D-
2
D+
3
GND 4
USB B
FTDI1-D_N
FTDI1-D_P
C11
100nF
Copyright ©2012 Mikroelektronika.
All rights reserved. MikroElektronika, MikroElektronika logo and other
MikroElektronika trademarks are the property of MikroElektronika.
All other trademarks are the property of their respective owners.
Unauthorised copying, hiring, renting, public performance
and broadcasting of this DVD
is strictly prohibited.
VCC-3.3V
R14
2K2
LD69
•
S
TIC
MA
HE
• •
• •
N
O
PROGRAMM
ERS A
ND D
EBU
GG
ER
S
5
DATA BUS
www.mikroe.com
www.libstock.com
• • • • •
• • • •
ai
VCC-3.3V
RX-LED1
TX-LED1
CO
S
VER
DRI
4
FT232RL
28
27
26
25
24
23
22
21
20
19
18
17
16
15
BA
SIC
,M
IK
RO
PA
SC
AL
PRODUCT DVD
• •
• •
• •
3
TXD
OSCO
DTR#
OSCI
RTS#
TEST
VCCIO
AGND
RXD
NC
RI#
CBUS0
GND
CBUS1
FT232RL GND
NC
DSR#
VCC
DCD#
RESET#
CTS#
GND
CBUS4
3V3OUT
CBUS2
USBDM
CBUS3
USBDP
• • • • • • • •
• MIK
ROC
ILERS
, MI
COMP
KRO
•
U2
• •
• •
• •
• •
•
2
Figure 8-1:
USB-UART A
connection
schematic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
VCC-5V
DVD://download/eng/software/development-tools/
universal/ftdi/vcp_drivers.zip
Av
1
TX-FTDI1
RX-FTDI1
SW12
page 22
•
RE
WA
FT
SO
•
USB-UART A communication is being done
through a FT232RL controller, USB connector
(CN22), and microcontroller UART module. To
establish this connection, you must connect TX and
RX lines of the FT232RL to the appropriate pins of
the microcontroller. This selection is done using DIP
switches SW12.1 and SW12.2.
VCC-3.3V
PA9
PA10
L
NA
IO
RS
LE
PI
M
In order to enable USB-UART A
communication, you must push
SW12.1 (PA9) and SW12.2 (PA10)
to ON position. This connects the
RX and TX lines to PA9 and PA10
microcontroller pins.
IA
ED
M
RO
communication
USB-UART A
VCC-3.3V
R21
10K
VCC-5V
C6
100nF
VCC-5V
C7
100nF
E1
10uF
EasyMx PROv7
communication
USB-UART B
If you need to use more than one USB-UART in your
application, you have another USB-UART B connector available
on the board too. Both available USB-UART modules can operate at the
same time, because they are routed to separate microcontroller pins.
Enabling USB-UART B
USB-UART B communication is being done through a FT232RL
controller, USB connector (CN23), and microcontroller UART
module. To establish this connection, you must connect TX
and RX lines of the FT232RL to the appropriate pins of
the microcontroller. This selection is done using DIP
switches SW12.3 and SW12.4.
In order to use USB-UART B module on EasyMx PRO™ v7
STM32, you must first install FTDI drivers on your computer.
Drivers can be found on Product DVD:
AD
DI
T
•
•
•
•
• •
• •
•
EXAM
PLE
S
BOARDS • • • • • • • • •
SSORY
ACCE
•
IA
ED
M
RO
DS
AR
BO
••
• •
•
• •
• •
RD
S•
• • •• • • • • • D
EVELO
PME
UALS
NT
MAN
BO
A
le on Product
D!
M
IK
• •
••
•
•
•
SC
•
lab
•
N
O
DV
VCC 1
TX
7
8
LD74
FTDI2-D_N
FTDI2-D_P
US B UA RT B
CONNECTOR
R30
4K7
R37
4K7
C26
100nF
•
6
LD73
Copyright ©2012 Mikroelektronika.
All rights reserved. MikroElektronika, MikroElektronika logo and other
MikroElektronika trademarks are the property of MikroElektronika.
All other trademarks are the property of their respective owners.
Unauthorised copying, hiring, renting, public performance
and broadcasting of this DVD
is strictly prohibited.
VCC-3.3V
RX
RX-LED2
TX-LED2
•
5
28
27
26
25
24
23
22
21
20
19
18
17
16
15
R29
2K2
•
S
TIC
MA
HE
• •
• •
•
• •
• •
• •
• •
PROGRAMM
ERS A
ND D
EBU
GG
ER
S
4
FT232RL
CO
• • • • •
• • • •
3
DATA BUS
PRODUCT DVD
S
VER
DRI
2
TXD
OSCO
DTR#
OSCI
RTS#
TEST
VCCIO
AGND
RXD
NC
RI#
CBUS0
GND
CBUS1
FT232RL GND
NC
DSR#
VCC
DCD#
RESET#
CTS#
GND
CBUS4
3V3OUT
CBUS2
USBDM
CBUS3
USBDP
BA
SIC
,M
IK
RO
PA
SC
AL
• •
• •
• •
VCC-3.3V
1
Figure 9-1:
USB-UART B
connection
schematic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
U4
• • • • • • • •
• MIK
ROC
ILERS
, MI
COMP
KRO
•
Av
VCC-5V
CN23
TX-FTDI2
RX-FTDI2
•
• •
• •
• •
• •
www.mikroe.com
www.libstock.com
ai
SW12
EasyMx PROv7
RE
WA
FT
SO
•
DVD://download/eng/software/development-tools/
universal/ftdi/vcp_drivers.zip
VCC-3.3V
PD5
PD6
L
NA
IO
•
In order to enable USB-UART B
communication, you must push
SW12.3 (PD5) and SW12.4 (PD6)
to ON position. This connects the
RX and TX lines to PD5 and PD6
microcontroller pins.
RS
LE
PI
M
When using either USB-UART A or USBUART B, make sure to disconnect all
devices and additional boards that
could interfere with the signals
and possibly corrupt the sent or
received data.
D-
2
D+
3
GND 4
USB B
VCC-3.3V
R38
10K
VCC-5V
C24
100nF
VCC-5V
C25
100nF
E6
10uF
page 23
communication
USB HOST
communication
USB is the acronym for Universal Serial Bus. This is a very popular industry standard that defines
cables, connectors and protocols used for communication and power supply between computers and other
devices. EasyMx PRO™ v7 for STM32 contains USB HOST connector (CN24) for USB Standard Type A plug,
which enables microcontrollers that support USB communication to establish a connection with the target device
(eg. USB Keyboard, USB Mouse, etc). USB host also provides the necessary 5V power supply to the target via TPS2041B
IC. Detection whether USB
VCC-3.3V
VCC-5V
device is connected to HOST
DATA BUS
connector can be done through
R31
R32
VBUS line. Connection of USB
VCC-3.3V
4K7
2K2
R34
HOST VBUS line and PA10 pin
47K
VCC-5V
LD71
LD72
R36
is
established when SW10.7 is
OC
ON
10K
U5
4
USB-PSW
3
on.
EN OC
CN24
GND
IN OUT
2
1
2
E9
10uF
3
E10
10uF
4
D1
BAT43
5
6
7
PA9
PA10
8
SW12
USB-VBUS
VCC
1
USB-D_N
D-
2
USB-D_P
D+
3
GND
4
1
TPS2041B
R40
R41
100
10K
Q2
BC846
US B HOS T
CONNECTOR
N
O
5
USB A
Figure 10-1: USB host
connection schematic
page 24
Powering USB device
Figure 10-2:
Powering
USB device
through
PSW line
You can enable or disable power
supply to USB device connected
to HOST, through microcontroller
PA10 pin. In order to connect EN
TPS2041B IC pin to microcontroller,
you must push SW10.8 to ON
position.
EasyMx PROv7
communication
USB device
communication
R48 100
1 VCC
D+
D_P
USB-D_P
6
8
ON
LD76
7
GND
USB-D_N
USB-VBUS
4 GND
USB B
R53 27
USB-VBUS
5
3
R50 27
4
D_N
3
D-
SW12
R58
4K7
GND
Figure 11-2:
Enabling
USB DEVICE
detection
via VBUS
line
2
2
D2 BAT43
N
O
CN26
Detecting connection
1
CONNECTOR
US B DEVICE
EasyMx PRO™ v7 for STM32 also contains USB DEVICE connector (CN26) which enables
microcontrollers that support USB communication to establish a connection with the target
host (eg. PC, Laptop, etc). It lets you build a slave USB device (HID, Composite, Generic, etc.).
Connector supports USB Standard Type B plug. Detection whether USB device is connected to
HOST can be done through VBUS line. This line is traced to microcontroller PA9 pin. Connection of
USB DEVICE VCC line and PA9 pin is established when SW12.7 DIP switch is in ON position. When
connected to HOST, dedicated amber-colored power LED will light up as well. This VCC line cannot be
used for powering the board. It's only used for detecting connection.
DATA BUS
PA9
You can detect whether USB device
is plugged into the USB device
connector using VBUS power
detection line (PA9). Before using
this feature, you must connect
PA9 pin to USB connector using
SW12.7 DIP switch.
Figure 11-1: USB device connection schematic
EasyMx PROv7
page 25
communication
Ethernet
communication
VCC-3.3V
LD75
LED2
R44
270
LED2
VCC-3.3V
A2
K2
R46
51
TD+
R49
51
CT
TD-
RX_P
RD+
R54
51
A1
K1
CT
RD-
R55
51
RJ45
C32
10nF
RX_N
C33
10nF
R60
LD77
LED1
TX_N
TX_N
RX_N
LED1
1
3
5
7
9
11
13
15
17
19
21
23
25
LED1
270
Figure 12-1: Ethernet connection schematic
page 26
2 TX_P
4 RX_P
6 LED2
8
10
12
14
16
18
20
22
24
26
MCU CARD SOCKET
CONNECTOR
ETHERNET
TX_P
FP3
CN25
Ethernet is a popular computer networ­king
technology for local area networks (LAN).
Systems communicating over Ethernet
divide a stream of data into individual
packets called frames. Each frame contains
source and destination addresses and
error-checking data so that damaged
data can be detected and re-transmitted.
EasyMx PRO™ v7 for STM32 features
standard RJ-45 connector which enables
microcontrollers that support Ethernet
communication to establish a connection
with a computer, router or other devices.
All four Ethernet lines (TPOUT+, TPOUT-,
TPIN+ and TPIN-) are routed directly to the
MCU card socket and cannot be accessed
via PORT headers. Additional signalization
LEDs (green and yellow) are provided on
the Board next to RJ-45 connector.
Ethernet MCU cards
Ethernet communication (TPOUT+,
TPOUT-, TPIN+ and TPIN-) and
signalization lines (LED1, LED2)
are routed directly to the MCU card
socket and can be used only with
a Ethernet MCU cards (ETH MCU,
HP ETH MCU, Page 11).
EasyMx PROv7
communication
CAN
communication
VCC-3.3V
R57 10
TX-CAN
RX-CAN
1
2
3
4
U7
D
GND
Vdd
R
Rs
CANH
CANL
Vref
8
7
6
5
CANH
CANL
CN28
N
O
SN65HVD230
1
2
DATA BUS
3
4
5
PD1
PD0
6
7
8
SW12
Figure 13-1: CAN connection schematic
EasyMx PROv7
Controller Area Network (CAN or CAN
bus) is a vehicle bus standard designed
to allow microcontrollers and devices to
communicate with each other within a
vehicle without a host computer. CAN
is a message-based protocol, designed
specifically for automotive applications
but now also used in other areas such
as industrial automation and medical
equipment. EasyMx PRO™ v7 for STM32
is equipped with SN65HVD230 – a 3.3V
CAN Transceiver and a pair of screw
terminals which provide microcontrollers
with integrated CAN controller with the
necessary physical interface for CAN
communication. Make sure to correctly
connect negative and positive differential
communication lines before using this
module.
Enabling CAN
Figure 13-2:
enabling
CAN
communication
In order to enable CAN communi­
cation, you must push SW12.5
(PD1) and SW12.6 (PD0) to
ON position. This connects the
TX and RX lines to appropriate
microcontroller pins and its CAN
module.
page 27
multimedia
Audio I/O
It's hard to imagine modern multimedia devices without high quality audio reproduction
modules. Sounds and music are almost as important as graphical user interfaces.
Along with other multimedia modules, EasyMx PRO™ v7 for STM32 contains high
end stereo VS1053 audio codec. It features Ogg Vorbis/MP3/AAC/WMA/FLAC/
WAV/MIDI audio decoder, as well as an PCM/IMA ADPCM/Ogg Vorbis encoder on a
single chip. Board also contains two stereo audio connectors for interfacing with
standard 3.5mm stereo audio jacks. VS1053 receives the input bit stream through a
serial input bus, which it listens to as a system slave. The input stream is decoded and
passed through a digital volume control to an 18-bit oversampling, multi-bit, sigma-delta
Digital to Analog Converter (DAC). The
decoding is controlled via a serial control
bus. In addition to the basic decoding,
it is possible to add application specific
features like DSP effects to the user RAM
memory. You can build music players,
Figure 14-2:
audio recording devices, internet radio
Enabling
player applications, and much more.
audio codec
Enabling Audio I/O
Figure 14-1: Audio IN/OUT
connection schematics
C1
1uF
R4
10K
L
VCC-3.3V
XTEST
SO
SI
SCLK
TX
RX
GPIO5
VS1053
R
GBUF
R3 10
R5
10
R6
20
In order to use Audio I/O module,
you must connect data and Audio
control lines of the microcontroller
with the VS1053 audio codec. To
do this, push SW13.1–SW13.7
switches to ON position. This
will connect SPI data lines with
MCU_SCK, MCU_MISO and MCU_
MOSI microcontroller pins, and
audio control and chip select lines
with PC6, PC7, PC8 and PC9 pins.
R7
20
VCC-3.3V
C3
47nF
C4
10nF
C2
10nF
R11
1K
R8
100k
MP3-DREQ
MICP
CN21
R13
1K
C8
100pF
C9
100pF
MICN
E2
10uF
E3
10uF
C10
100pF
R17
1K
MICROPHONE
R19
1K
MP3-DCS
MP3-CS#
commu­
nication
lines
CN19
PHONEJACK
R20
100K
VCC-1.8V
VCC-3.3V
N
O
3
4
R22
1M
2
X1
MCU_SCK
MCU_MISO
MCU_MOSI
PC6
PC7
PC8
PC9
1
12.288MHz
5
6
7
C13 22pF
8
page 28
R1 10
MICP
MICN
MP3-RST#
1
2
3
4
5
6
7
8
9
10
11
12
C12 22pF
DATA BUS
L
24
23
22
21
20
19
18
17
16
15
14
13
GPIO
VCC-3.3V
MCP/LN1
MCP/LN
MIC
MICN
XRESE
XRESET
DGND
DGND0
CVDD
CVDD0
IOVDD
IOVDD0
CVDD
CVDD1
DRE
DREQ
GPIO
GPIO2
GPIO
GPIO3
GPIO
GPIO6
GPIO7
GPIO7
GPIO
R12 27
GPIO4
GND
GPIO1
VDD2
CVDD2
CS
XCS
GND4
DGND4
GND3
DGND3
GND2
DGND2
OVDD2
IOVDD2
TALI
XTAL1
TALO
XTAL0
GND1
DGND1
CO
VC0
OVDD1
IOVDD1
DCS/BSYNC
XDCS/BSYNC
31
30
29
28
27
26
25
PH_MISO R9 27
PH_MOSI
PH_SCK
AGND
AGND0
AVDD
AVDD0
RIGH
RIGHT
AGND
AGND1
AGND
AGND2
GBU
GBUF
AVDD
AVDD1
RCA
RCAP
AVDD
AVDD2
LEF
LEFT
AGND
AGND3
LN
LN2
U1
36
35
34
33
R16
10K
GBUF
R
VCC-1.8V
37
38
39
40
41
42
43
44
45
46
47
48
VCC-3.3V
PH_SCK
PH_MISO
PH_MOSI
MP3-DREQ
MP3-RST#
MP3-CS#
MP3-DCS
1
2
E4
10uF
C14
100nF
C18
100nF
C19
100nF
C15
100nF
C20
100nF
C16
2.2uF
3
U3
IN OUT
GND
EN ADJ
AP7331-ADJ
5
R23
4
120K
R24
R25
22K
E5
10uF
C21
100nF
C17
100nF
C22
100nF
C23
100nF
12K1
SW13
EasyMx PROv7
multimedia
microSD card slot
VCC-MMC
VCC-3.3V
PH_SCK
PH_MISO
PH_MOSI
E13
10uF
MCU_SCK
MCU_MISO
MCU_MOSI
4
5
C30
100nF
3
FERRITE
N
O
Enabling microSD
2
VCC-MMC
6
7
8
R52
10K
PH_SCK
R56
N
O
PH_MISO
PD3
PD15
6
SD-CD#
7
27
SD-CS#
SD-CD#
5
GGND
SD-CS#
PH_MOSI
4
8
CD
MICROSD
1
2
4
5
6
7
3
CS
Din
+3.3V
SCK
GND
Dout
SW13
R51
10K
2
In order to access microSD card, you
must enable SPI communication
lines using SW13.1 – SW13.3 DIP
switches, as well as Chip Select (CS)
and Card Detect (CD) lines using
SW14.3 and SW14.4 switches.
CA RD S LOT
microS D
CN27
1
EasyMx PROv7
FP2
DATA BUS
1
Secure Digital (SD) is a non-volatile
memory card format developed for use
in portable devices. It comes in different
packages and memory capacities. It is
mostly used for storing large amounts of
data. EasyMx PRO™ v7 for STM32 features
the microSD card slot. The microSD form
factor is the smallest card format currently
available. It uses standard SPI user interface with minimum additional electronics,
mainly used for stabilizing communication
lines which can be significantly distorted
at high transfer rates. Special ferrite is
also provided to compensate the voltage
and current glitch that can occur when
pushing-in and pushing-out microSD card
into the socket.
SW14
Figure 15-1: microSD card slot
connection schematics
page 29
multimedia
TFT display
320x240 pixels
One of the most powerful ways of presenting data
and interacting with users is through color displays
and touch panel inputs. This is a crucial element of any
multimedia device. EasyMx PRO™ v7 for STM32 features
EasyTFT board carrying 320x240 pixel 2.83" color TFT
display with LED back-light and HX8347D controller.
CN32
In order to use PWM back-light both SW13.3
and SW13.4 switches must be enabled at
the same time.
GLCD-TFT SOCKET
20
BCK_PWM
R64
1K
R66
Q5
BC846
4K7
PMRD
PMWR
GND
VCC
NC
RS
NC
CS
D0
D1
D2
D3
D4
D5
D6
D7
RST
NC
+5V
BPWM
1
R62
20
VCC-3.3V
Driving Display Back-light
Figure 16-2: Turn
on switches SW13.3
and SW13.4 to
enable back-light
BPWM
Figure 16-1:
TFT display connection
schematic
BCK_LIGHT
BPWM
PE15
PE0
PE1
PE2
PE3
PE4
PE5
PE6
PE7
PE8
PE12
VCC-5V
PE10
PE11
IMPORTANT:
Each pixel is capable of showing 262.144 different colors.
TFT display is connected to microcontroller PORTE using
standard 8080 parallel 8-bit interface, with additional
control lines. Board features back-light driver which
besides standard mode can also be driven with PWM
signal in order to regulate brightness in 0 to 100% range.
TFT display is enabled using SW13.3–SW13.4
DIP switches. Back-light can be enabled in two
different ways:
N
O
VCC-5V
1
1. It can be turned on with full brightness
using SW13.3 switch.
2
3
BCK_LIGHT
BCK_PWM
4
PE9
5
6
7
8
24
XR
YU
XL
YD
21
page 30
DATA BUS
SW13
2. Brightness level can be determined with
PWM signal from the microcontroller, allowing
you to write custom back-light controlling
software. This back-light mode is enabled
when both SW13.3 and SW13.4 switches
are in ON position.
EasyMx PROv7
Enabling Touch panel
Figure 17-1: Touch Panel controller
and connection schematic
NOTE:
VREF=1.8V
DATA BUS
VCC-3.3V
1
VCC-1.8V
4
5
E14
10uF
6
7
8
BOTTOM
LEFT
DRIVEA
DRIVEB
FERRITE
R59
1K
Q3
BC856
VCC-3.3V
E15
10uF
R61
SW11
10K
20
R63
4K7
Q4
BC846
R65
RIGHT
10K
VREF
PMRD
PMWR
GND
VCC
NC
RS
NC
CS
D0
D1
D2
D3
D4
D5
D6
D7
RST
NC
+5V
BPWM
1
VREF
FP4
3
PB0
PB1
PB8
PB9
GLCD-TFT SOCKET
Q6
BC856
R67
DRIVEA
10K
TOP
LEFT
CN29
Q7
BC846
R70
100K
R71
C35
10nF
10K
VCC-3.3V
BOTTOM
21
R75
4K7
Q8
BC846
24
XR
YU
XL
YD
Touch panel is enabled using SW11.5,
SW11.6, SW11.7 and SW11.8 switches.
They connect BOTTOM and LEFT lines of the
touch panel with PB0 and PB1 analog inputs,
and DRIVEA and DRIVEB with PB8 and PB9
digital outputs on microcontroller sockets.
Make sure to disconnect other peripherals, LEDs
and additional pull-up or pull-down resistors
from the interface lines so they do not interfere
with signal/data integrity.
VREF
2
Figure 17-2:
Turn on switches
SW11.5, SW11.6,
SW11. 7 and
SW11. 8 to enable
Touch panel
controller
equipped with touch panel controller and connector for
4-wire resistive touch panels. It can very accurately
register pressure at a specific point, representing the
touch coordinates in the form of analog voltages, which
can then be easily converted to X and Y values. Touch
panel comes as a part of TFT 320x240 display.
N
O
Touch panel is a glass panel whose surface is covered
with two layers of resistive material. When the screen
is pressed, the outer layer is pushed onto the inner layer
and appropriate controllers can measure that pressure
and pinpoint its location. This is how touch panels can be
used as an input devices. EasyMx PRO™ v7 for STM32 is
multimedia
Touch Panel
controller
R77
100K
C40
10nF
R78
DRIVEB
10K
RIGHT
TOP
LEFT
BOTTOM
EasyMx PROv7
page 31
multimedia
GLCD 128x64
Graphical Liquid Crystal Displays, or GLCDs
are used to display monochromatic graphical
content, such as text, images, human-machine
interfaces and other content. EasyMx PRO™
v7 for STM32 provides the connector and
necessary interface for supporting GLCD with
resolution of 128x64 pixels, driven by the KS108
or compatible display controller. Communication
with the display module is done through CN32
IMPORTANT:
CS1 and CS2 - Controller Chip Select lines
CN32
BPWM
GLCD_VEE
PE12
PE13
PE15
PE0
PE1
PE2
PE3
PE4
PE5
PE6
PE7
PE8
VEE
BCK_LIGHT
BPWM
Connector pinout explained
In order to use PWM back-light both SW13.3 and SW13.4 switches must be enabled at the same
time.
PE10
PE11
VCC-5V
display connector. Board is fitted with uniquely designed
plastic display distancer, which allows the GLCD module to
perfectly and firmly fit into place.
Display connector is routed to PORTE (control and data lines)
of the microcontroller sockets. PORTE is also used by TFT
display. You can control the display contrast using dedicated
potentiometer P2. Full brightness display back-light can be
enabled with SW13.3 switch, and PWM-driven back-light
with SW13.4 switch.
R62
20
VCC-3.3V
R64
1K
R66
GLCD-TFT SOCKET
VCC - +5V display power supply
BCK_PWM
Q5
BC846
4K7
GND - Reference ground
Vo - GLCD contrast level from potentiometer P3
RS - Data (High), Instruction (Low) selection line
VCC-5V
N
O
R/W - Determines whether display is in Read or
1
2
Write mode.
3
BCK_LIGHT
BCK_PWM
4
6
D0–D7 - Data lines
7
8
RST - Display reset line
DATA BUS
SW13
Vee - Reference voltage for GLCD contrast
VEE
potentiometer P3
LED+ - Connection with the back light LED anode
LED- - Connection with the back light LED cathode
page 32
PE9
5
E - Display Enable line
GLCD_VEE
Figure 18-1: GLCD 128x64 connection schematic
P2
10K
EasyMx PROv7
multimedia
Navigation switch
When working with multi­media
applications it is far more intuitive
to use a single joystick than several
different push buttons that are more
far apart. This is more natural for
users and they can browse through
on-screen menus, or even play games
much easier. EasyMx PRO™ v7 for STM32
features navigation switch with five different
positions: Up, Down, Left, Right and Center.
Each of those acts as a button, and is connected
to one of the following microcontroller pins: PD4,
PB5, PD2, PA6, PC13 (respectively). Before using the
navigation switch, it is necessary to pull-up mentioned
microcontroller pins using tri-state DIP switches located in I/O
groups. After pressing the navigation switch in desired direction,
associated microcontroller pins are connected to GND, which can be
detected in user software.
Figure 19-2: Navigation switch is an intuitive solution for browsing
through on-screen menus.
UP
1
4
CENTER
2
5
LEFT
3
6
RIGHT
PD2
PD4
PA6
R81 220
DOWN
PC13
KEY1
PB5
PA6
DATA BUS
PB5
UP
PULL
DOWN
+1 2 3 4 5 6 7 8
_
UP
PULL
DOWN
+1 2 3 4 5 6 7 8
_
SW2
PD2
PC13
PD4
VCC-3.3V
UP
PULL
DOWN
+1 2 3 4 5 6 7 8
_
+1 2 3 4 5 6 7 8
_
SW5
SW4
VCC-3.3V
UP
PULL
DOWN
VCC-3.3V
SW8
VCC-3.3V
Figure 19-1: Navigation switch connection schematic. Pull-up resistors should be enabled during operation
EasyMx PROv7
page 33
other modules
DS1820 - Digital
Temperature Sensor
DS1820 is a digital temperature
sensor that uses 1-wire®
interface for it’s operation. It is
capable of measuring temperatures
within the range of -55 to 128°C,
and provides ±0.5°C accuracy for
temperatures within the range of -10 to
85°C. It requires 3V to 5.5V power supply
for stable operation. It takes maximum
of 750ms for the DS1820 to calculate
temperaturewith9-bitresolution.1-wire®
serial communication enables data to be
transferred over a single communication
line, while the process itself is under the
control of the master microcontroller.
The advantage of such communication is
that only one microcontroller pin is used.
Multiple sensors can be connected on the
same line. All slave devices by default
have a unique ID code, which enables
the master device to easily identify all
devices sharing the same interface.
Board provides a separate socket (TS1)
for the DS1820. Communication line with
the microcontroller is established using
SW14.5 or SW14.6 DIP switch (ON
position).
GND
VCC-3.3V
Figure 20-3:
Enabled SW14.5
DIP switch
N
O
DQ
VCC
VCC-3.3V
3
4
DS1820
5
C41
100nF
6
PB10
PA3
7
8
EasyMx PRO™ v7 for STM32 enables you to establish 1-wire® communication
between DS1820 and the microcontroller over PB10 or PA3 pin. The connection
is done placing SW14.5 or SW14.6 DIP switch to ON position (Figure 20-3).
When placing the sensor in the socket make sure that half-circle on the board’s
silkscreen markings matches the rounded part of the DS1820 sensor. If you
accidentally connect the sensor the other way, it may be permanently damaged.
Make sure to disconnect other peripherals, LEDs and additional pull-up or pulldown resistors from the interface lines in order not to interfere with signal/data
integrity.
R33
1K5
2
Figure 20-2:
DS1820 correctly
placed in socket
1
Figure 20-1:
DS1820
socket
DATA BUS
Enabling DS1820 Sensor
SW14
Figure 20-4: DS1820 connected to PB10 pin
page 34
EasyMx PROv7
The LM35 is a low-cost precision
integrated-circuit temperature sensor,
whose output voltage is linearly
proportional to the Celsius (Centigrade)
temperature. The LM35 thus has an
advantage over linear temperature
sensors calibrated in ° Kelvin, as the
user is not required to subtract a large
constant voltage from its output to
obtain convenient Centigrade scaling.
It has a linear +10.0 mV/°C scale factor
and less than 60 μA current drain. As it
draws only 60 μA from its supply, it has
very low self-heating, less than 0.1°C
in still air. EasyMx PRO™ v7 for STM32
enables you to get analog readings
from the LM35 sensor in restricted
temperature range from +2ºC to
other modules
LM35 - Analog
Temperature Sensor
+150ºC. Board provides a
separate socket (TS2) for
the LM35 sensor in TO-92
plastic packaging. Readings
are done with microcontroller
using single analog input line,
which is selected with DIP switch
SW14. Switch connects the sensor with
PC0 microcontroller pin.
Figure 21-2:
LM35 correctly
placed in socket
Figure 21-3:
Enabled SW14.7
DIP switch
VCC
VOUT
GND
R79
100
N
O
Figure 21-1:
LM35 socket
DATA BUS
Enabling LM35 Sensor
1
2
3
4
5
6
PC0
7
LM35
8
EasyMx PRO™ v7 for STM32 enables you to get analog readings from the LM35
sensor using PC0 microcontroller pin. The connection is done placing SW14.7
DIP switch to ON position (Figure 21-3). When placing the sensor in the socket
make sure that half-circle on the board’s silkscreen markings matches the
rounded part of the LM35 sensor. If you accidentally connect the sensor the
other way, it can be permanently damaged and you might need to replace it with
another one. During the readings of the sensor, make sure that no other device
uses the selected analog line, because it may interfere with the readings.
SW14
C29
100nF
Figure 21-4: LM35 connected to PC0 pin
EasyMx PROv7
page 35
other modules
Serial Flash Memory
Flash memory is a non-volatile storage chip that
can be electrically erased and reprogrammed. It
was developed from EEPROM (electrically erasable
programmable read-only memory) and must be
erased in fairly large blocks before these can be
rewritten with new data. The high density NAND
type must also be programmed and read in (smaller)
blocks, or pages, while the NOR type allows a single
machine word (byte) to be written or read independently.
Flash memories come in different sizes and supporting
different clock speeds. They are mostly used for mass
storage, as in USB Flash Drives, which are very popular today.
Enabling Serial Flash
EasyMx PRO™ v7 features M25P80 Serial Flash Memory which uses
SPI communication interface and has 8 Mbits of available memory,
organized as 16 sectors, each containing 256 pages. Each page is 256 bytes
wide. Thus, the whole memory can be viewed as consisting of 4096 pages, or
1,048,576 bytes. Maximum clock frequency for READ instructions is 40MHz.
In order to connect Serial Flash Memory
to the microcontroller you must enable
SW13.1, SW13.2, SW13.3 and SW13.8
switches. This connects SPI lines to MCU_
MOSI, MCU_MISO, MCU_SCK and PD7 (CS)
microcontroller pins.
What is SPI?
The Serial Peripheral Interface Bus or SPI bus is a synchronous serial data link standard that operates in full
duplex mode. It consists of four lines MISO (Master Input Slave Output), MOSI (Master Output Slave Input), SCK
(Clock) and CS (Chip Select). Devices communicate in master/slave mode where the master device initiates the
data frame. Multiple slave devices are allowed with individual slave select (chip select) lines.
VCC-3.3V
DATA BUS
1
2
3
PH_SCK
PH_MISO
PH_MOSI
FLASH-CS#
PH_MISO
R43
4
C27
100nF
MCU_SCK
MCU_MISO
MCU_MOSI
N
O
VCC-3.3V
5
7
8
SW13
page 36
27
1
2
3
4
U6
CS
SDO
WP
GND
25P80
6
PD7
R39
100K
VCC-3.3V
FLASH-CS#
VCC
HOLD
SCK
SDI
8
7
6
5
Figure 22-1:
Schematic of
Serial Flash
Memory module
PH_MOSI
PH_SCK
EasyMx PROv7
I C EEPROM
Enabling I2C EEPROM
Figure
23-2: Turn
on switches
SW14.1
and SW14.2
to connect
EEPROM lines
to MCU
In order to connect I2C EEPROM to the
microcontroller you must enable SW14.1 and
SW14.2 switches, as shown on Figure 23-2. 2K2
pull-up resistors necessary for I2C communication
are already provided on SDA and SCL lines once
switches are turned on. Prior to using EEPROM
in your application, make sure to disconnect
other peripherals, LEDs and additional pull-up
or pull-down resistors from the PB6 and PB7
communication lines that could interfere with the
data signals and cause data corruption.
N
O
PB6
PB7
1
2
EEPROM is short for Electrically Erasable
Programmable Read Only Memory. It is usually
a secondary storage memory in devices containing
data that is retained even if the device looses power
supply. Because of the ability to alter single bytes
of data, EEPROM devices are used to store personal
preference and configuration data in a wide spectrum
of consumer, automotive, telecommunication, medical,
industrial, and PC applications.
EasyMx PRO™ v7 for STM32 supports serial EEPROM which
uses I2C communication interface and has 1024 bytes of
available memory. EEPROM itself supports single byte or 16-byte
(page) write and read operations. Data rates are dependent of power
supply voltage, and go up to 400 kHz for 3.3V power supply.
What is I2C?
I2C is a multi-master serial single-ended bus that is used to attach low-speed peripherals to computer or embedded
systems. I²C uses only two open-drain lines, Serial Data Line (SDA) and Serial Clock (SCL), pulled up with
resistors. SCL line is driven by a master, while SDA is used as bidirectional line either by master or slave device.
Up to 112 slave devices can be connected to the same bus. Each slave must have a unique address.
EEPROM-SCL
EEPROM-SDA
3
4
5
VCC-3.3V
6
7
8
DATA BUS
EasyMx PROv7
SW14
other modules
2
C36
100nF
VCC-3.3V
1
2
3
4
VCC-3.3V
U9
A0
A1
A2
VSS
VCC
WP
SCL
SDA
24AA01 EEPROM
8
7
6
5
VCC-3.3V
R72
2K2
R73
2K2
EEPROM-SCL
EEPROM-SDA
Figure 23-1:
Schematic of
I2C EEPROM
module
page 37
other modules
ADC inputs
Digital signals have two discrete states, which are decoded as high
and low, and interpreted as logic 1 and logic 0. Analog signals,
on the other hand, are continuous, and can have any value
within defined range. A/D converters are specialized circuits
which can convert analog signals (voltages) into a digital
representation, usually in form of an integer number.
The value of this number is linearly dependent on
the input voltage value. Most microcontrollers
nowadays internally have A/D converters
connected to one or more input pins. Some
of the most important parameters of
A/D converters are conversion time
and resolution. Conversion time
In order to connect the output of the
determines how fast can an analog
potentiometer P1 to PA3, PA4, PA5, PA6
voltage be represented in form
or PC0 analog microcontroller inputs, you
of a digital number. This is an
have to place the jumper J8 in the desired
important parameter if you
position. By moving the potentiometer
need fast data acquisition. The
knob, you can create voltages in range
other parameter is resolution.
from GND to VCC.
Resolution represents the number of
discrete steps that supported voltage range
can be divided into. It determines the sensitivity of the A/D converter. Resolution is represented in maximum
number of bits that resulting number occupies. Most microcontrollers have 10-bit resolution, meaning that maximum
value of conversion can be represented with 10 bits, which converted to integer is 210=1024. This means that supported voltage
range, for example from 0-1.8V, can be divided into 1024 discrete steps of about 1.758mV. EasyMx PRO™ v7 for STM32 provides an
interface in form of potentiometer for simulating analog input voltages that can be routed to any of the 5 supported analog input pins.
Enabling ADC inputs
VCC-1.8V
R42
C42
100nF
J8
220
10K
page 38
DATA BUS
VCC-1.8V
P1
PA3
PA4
PA5
PA6
PC0
Figure 24-1:
Schematic of ADC
input
J8
C28
100nF
EasyMx PROv7
Piezo electricity is the charge which accumulates in
certain solid materials in response to mechanical pressure,
but also providing the charge to the piezo electric material
causes it to physically deform. One of the most widely
used applications of piezo electricity is the production of
sound generators, called piezo buzzers. Piezo buzzer is an
electric component that comes in different shapes and sizes,
which can be used to create sound waves when provided
with analog electrical signal. EasyMx PRO™ v7 for STM32
comes with piezo buzzer which can be connected to PE14
microcontroller pin. Connection is established using SW14.8
DIP switch. Buzzer is driven by transistor Q1 (Figure 25-1).
Microcontrollers can create sound by generating a PWM
(Pulse Width Modulated) signal – a square wave signal,
which is nothing more than a sequence of logic zeros and
other modules
Piezo Buzzer
ones. Frequency of the square signal determines
the pitch of the generated sound, and duty cycle of
the signal can be used to increase or decrease the
volume in the range from 0% to 100% of the duty
cycle. You can generate PWM signal using hardware
capture-compare module, which is usually available in
most microcontrollers, or by writing a custom software
which emulates the desired signal waveform.
Supported sound frequencies
Piezo buzzer’s resonant frequency (where you can expect
it's best performance) is 3.8kHz, but you can also use it to
create sound in the range between 2kHz and 4kHz.
VCC-5V
TOP
VIEW
R28
1K
N
O
DATA BUS
1
PZ1
BUZZER
Enabling Piezo Buzzer
PERSPECTIVE
VIEW
2
3
4
6
PE14
8
Freq = 3kHz, Duty Cycle =
7
TOP
VIEW
Figure 25-1: Piezo buzzer
connected to PE14
microcontroller pin
SW14
VCC-5V
PZ1
TOP
VIEW
PERSPECTIVE
VCC-5V
VIEW
PZ1
TOP
50%
Freq = 3kHz,
VIEW
Freq = 3kHz, Duty Cycle = 80%
BUZZER R35
Q1
BC846
10K
R3
1K
R3
R27
1K
10K
J21
RC2
HowBUZZER
to make it sing?RE1
TO SOCKETS
TO SOCKETS
TO SOCKETS
5
VCC-5V
50%
PERSPECTIVEVolume =Q8
J21
VIEW
BC846 R3 Buzzer starts "singing" when you provide
PZ1
RC2
1K
R27
PWM BUZZER
signal from the microcontroller
Freq = 3kHz,
RE1
80% 10K to the buzzer driver. The pitch of the
PERSPECTIVEVolume =Q8
J21 by the frequency,
sound
is
determined
VIEW
BC846
RC2
R27
and amplitude
is determined by the
BUZZER
Freq = 3kHz, Duty Cycle = 20%
Freq = 3kHz,
RE1
duty cycle of the PWM signal.
Volume =Q820% 10K
In order to use the on-board Piezo Buzzer in
your application, you first have to connect the
transistor driver of piezo buzzer to the appropriate
microcontroller pin. This is done using SW14.8 DIP
switch which connects it to PE14 pin.
Figure 25-2:
push
SW14.8 to
ON position
to connect
Piezo buzzer
to PE14
BC846
EasyMx PROv7
page 39
other modules
Additional GNDs
EasyMx PRO™ v7 for STM32 contains GND pins located in different sections of the
board, which allow you to easily connect oscilloscope GND reference when you
monitor signals on microcontroller pins, or signals of on-board modules.
1
GND is located below microSD section.
2
3
GND is located just above PORTE/H Input/Output Group.
3
GND is located below power supply region.
1
1
2
3
2
Figure 26-1:
Three oscilloscope GND pins
are conveniently positioned so
different parts of the board can be
reached with an oscilloscope probe
page 40
EasyMx PROv7
multimedia
What’s Next?
You have now completed the journey through each and every feature of EasyMx PRO™ v7 for STM32 board. You got to know it’s modules, organization, supported
microcontrollers, programmer and debugger. Now you are ready to start using your new board. We are suggesting several steps which are probably the best way to begin.
We invite you to join the users of EasyMx PRO™ brand. You will find very useful projects and tutorials and can get help from a large ecosystem of users. Welcome!
Compiler
You still don’t have an appropriate compiler? Locate ARM® compiler
that suits you best on the Product DVD provided with the package:
DVD://download/eng/software/compilers/
RE
WA
FT
SO
•
• •
• •
• •
• •
• • • • • • • •
• MIK
ROC
ILERS
, MI
COMP
KRO
BA
SIC
,M
IK
RO
PA
SC
AL
•
• •
• •
• •
•
•
•
• •
• •
•
•
S
VER
DRI
EXAM
PLE
S
CO
•
PRODUCT DVD
•
AD
DI
T
L
NA
IO
RS
LE
PI
M
Choose between mikroC™, mikroBasic™ and mikroPascal™ and
download fully functional demo version, so you can begin building
your ARM® Cortex™-M3 and Cortex™-M4 applications.
www.mikroe.com
www.libstock.com
•
S
TIC
MA
HE
• •
• •
•
• •
• •
• •
• •
PROGRAMM
ERS A
ND D
EBU
GG
ER
S
BOARDS • • • • • • • • •
SSORY
ACCE
• • • • •
• • • •
•
•
•
•
• •
• •
RD
S•
• • •• • • • • • D
EVELO
PME
UALS
NT
MAN
BO
A
• •
••
•
•
•
SC
•
Once you have chosen your compiler, and
since you already got the board, you are
ready to start writing your first projects.
We have equipped our compilers with
dozens of examples that demonstrate
the use of each and every feature of
the EasyMx PRO™ v7 for STM32 board,
and all of our accessory boards as well.
This makes an excellent starting point
for your future projects. Just load the
example, read well commented code,
and see how it works on hardware.
Browse through the compiler Examples
path to find the following folder:
If you want to find answers to your
questions on many interesting topics
we invite you to visit our forum at
http://www.mikroe.com/forum
and browse through more than 150
thousand posts. You are likely to find
just the right information for you. On
the other hand, if you want to download
free projects and libraries, or share your
own code, please visit the Libstock
website. With user profiles, you can
get to know other programmers, and
subscribe to receive notifications on
their code.
We all know how important it is that we
can rely on someone in moments when
we are stuck with our projects, facing a
deadline, or when we just want to ask
a simple, basic question, that’s pulling
us back for a while. We do understand
how important this is to people and
therefore our Support Department
is one of the pillars upon which our
company is based. MikroElektronika
offers Free Tech Support to the end
of product lifetime, so if something
goes wrong, we are ready and willing
to help!
http://www.mikroe.com/esupport/
page 41
D!
••
• •
Support
EasyMx PROv7
DS
AR
BO
Community
http://www.libstock.com/
IA
ED
M
RO
le on Product
Projects
\Development Systems\STM32\
M
IK
lab
•
Av
ai
Copyright ©2012 Mikroelektronika.
All rights reserved. MikroElektronika, MikroElektronika logo and other
MikroElektronika trademarks are the property of MikroElektronika.
All other trademarks are the property of their respective owners.
Unauthorised copying, hiring, renting, public performance
and broadcasting of this DVD
is strictly prohibited.
DV
notes
page 42
EasyMx PROv7
DISCLAIMER
All the products owned by MikroElektronika are protected by copyright law and international copyright treaty. Therefore, this manual is to be treated as any other copyright
material. No part of this manual, including product and software described herein, must be reproduced, stored in a retrieval system, translated or transmitted in any form or by
any means, without the prior written permission of MikroElektronika. The manual PDF edition can be printed for private or local use, but not for distribution. Any modification
of this manual is prohibited.
MikroElektronika provides this manual ‘as is’ without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties or conditions of
merchantability or fitness for a particular purpose.
MikroElektronika shall assume no responsibility or liability for any errors, omissions and inaccuracies that may appear in this manual. In no event shall MikroElektronika, its
directors, officers, employees or distributors be liable for any indirect, specific, incidental or consequential damages (including damages for loss of business profits and business
information, business interruption or any other pecuniary loss) arising out of the use of this manual or product, even if MikroElektronika has been advised of the possibility of
such damages. MikroElektronika reserves the right to change information contained in this manual at any time without prior notice, if necessary.
HIGH RISK ACTIVITIES
The products of MikroElektronika are not fault – tolerant nor designed, manufactured or intended for use or resale as on – line control equipment in hazardous environments
requiring fail – safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support
machines or weapons systems in which the failure of Software could lead directly to death, personal injury or severe physical or environmental damage (‘High Risk
Activities’). MikroElektronika and its suppliers specifically disclaim any expressed or implied warranty of fitness for High Risk Activities.
TRADEMARKS
The Mikroelektronika name and logo, the Mikroelektronika logo, mikroC™, mikroBasic™, mikroPascal™, mikroProg™, mikromedia™, EasyARM™, EasyMx PRO™, Click boards™ and
mikroBUS™ are trademarks of Mikroelektronika. All other trademarks mentioned herein are property of their respective companies.
All other product and corporate names appearing in this manual may or may not be registered trademarks or copyrights of their respective companies, and are only used for
identification or explanation and to the owners’ benefit, with no intent to infringe.
Copyright © MikroElektronika™, 2012, All Rights Reserved.
If you want to learn more about our products, please visit our website at www.mikroe.com
If you are experiencing some problems with any of our products or just need additional
information, please place your ticket at www.mikroe.com/esupport
If you have any questions, comments or business proposals,
do not hesitate to contact us at [email protected]
EasyMx PRO v7 for STM32®
User Manual ver. 1.02
0 100000 019610