mikroElektronika EasyMx PRO v7 User Manual

Page 1
USER'S GUIDE
EasyMx PRO
for STM32® ARM
®
v7
Many on-board modules
Multimedia peripherals
mikroBUS™ sockets
Four connectors for each port
Amazing Connectivity
Fast USB 2.0 programmer and
In-Circuit Debugger
microcontrollers supported
The ultimate STM32® board
Page 2
EasyMx PRO™ v7 for STM32® is our rst 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 rst 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!
To our valued customers
Nebojsa Matic,
Owner and General Manager
of mikroElektronika
Page 3
Table of contents
page 3
DS1820 - Digital Temperature Sensor . . . . . . . . . . . . . .
TFT display 320x240px . . . . . . . . . . . . . . . . . . . . . . . . . . .
Audio Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I
2
C EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installing programmer drivers . . . . . . . . . . . . . . . . . . . . . .
Navigation switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LM35 - Analog Temperature Sensor . . . . . . . . . . . . . . . .
Touch panel controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
microSD card slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
It's good to know . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADC inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programming software . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serial Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
On-board programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List of MCUs supported with mikroProg™ . . . . . . . . . .
Power supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Default MCU card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other supported MCU cards . . . . . . . . . . . . . . . . . . . . . . .
GLCD 128x64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Piezo Buzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction
Power Supply
Supported MCUs
Programmer/debugger
Multimedia
Other Modules
Communication
34
30
28
04
37
14
33
35
31
29
05
38
15
Hardware Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
36
12
13
06
08
11
32
39
Input/Output Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
mikroBUS
sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Click
Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connectivity
18
20
21
USB-UART A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
USB-UART B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
USB HOST communication . . . . . . . . . . . . . . . . . . . . . . . . .
USB device communication . . . . . . . . . . . . . . . . . . . . . . . .
Ethernet communication . . . . . . . . . . . . . . . . . . . . . . . . . .
CAN communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
23
24
25
26
27
Additional GNDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
Page 4
EasyMx PRO
v7
Introduction
introduction
page 4
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 ne tuning the
board's performance, and used 4-layer PCB to achieve maximum
eciency. 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
EasyMx PRO™ v7 for STM32® is all about connectivity. Having
two dierent 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.
Two connectors for each port Everything is already here
Amazing connectivity mikroProg™ on board
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.
Ready for all kinds of development
Multimedia peripherals
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.
For easier connections
mikroBUS™ support
Page 5
EasyMx PRO
v7
It's good to know
Package contains
introduction
page 5
System Specication
STM32F107VCT6 is the default microcontroller
power supply
7–23V AC or 9–32V DC or via USB cable (5V DC)
board dimensions
266 x 220mm (10.47 x 8.66 inch)
weight
~500g (1.1 lbs)
power consumption
~76mA when all peripheral modules are disconnected
Damage resistant protective box
EasyMx PRO™ v7 for STM32® board in antistatic bag
USB cable User Manuals and
Board schematics
DVD with examples and documentation
1 2 3 4 5
STM32F107VCT6 is the default chip of
EasyMx PRO™ v7 for STM32®. It belongs to ARM®
Cortex™-M3 family. 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, 2x12-bit A/D (16 channels),
2x12-bit D/A , 5xUARTs, internal Real time clock
(RTC), 2xI2C, 3xSPI and 2xCAN controllers. It has
Serial wire debug (SWD) and JTAG interfaces for
programming and debugging.
- Great choice for both beginners
and professionals
- Rich with modules
- Comes with examples for mikroC,
mikroBasic and mikroPascal compilers
Copyright ©2011 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.
Unauthorized copying, hiring, renting, public performance and
broadcasting of this DVD prohibited.
20122011
www.mikroe.com
Page 6
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 dierent 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 (Green ON) will indicate the presence of power supply.
Figure 3-1: Power supply unit of EasyMx PRO
v7 STM32®
8
7
6
5
C38 100nF
VCC-5V
2
1
3
GND
Vout
Vin
REG1
MC33269DT3.3
E16
10uF
3.3V VOLTAGE REGULATOR
VCC-3.3V
E17
220uF/35V
C37 100nF
J9
D3
1N4007
D4
1N4007
D5
1N4007
D6
1N4007
CN30
CN31
VCC-5V
POWER
R68 2K2
LD78
E18 220uF/35V
E19
220uF/35V
1
2
3
4
SWC
SWE
CT
GND
DRVC
IPK
VIN
CMPR
U8
MC34063A
R69
0.22
R74 3K
VCC-SW
C39 220pF
D7
MBRS140T3
L1 220uH
VCC-EXT
R76 1K
VCC-5V
213
SWITCH1
VCC-USB
VCC-SW
+ -
5V SWITCHING POWER SUPPLY
1
2
3
4
VCC
GND
CN20
USB B
VCC-USB
FP1
C5 100nF
power supply
page 6
EasyMx PRO
v7
Figure 3-2: Power supply unit schematics
Page 7
How to power the board?
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.
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.
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.
Board power supply creates stable 3.3V necessary for operation of the microcontroller and all on-board modules.
Power supply: via DC connector or screw terminals
(7V to 23V AC or 9V to 32V DC), or via USB cable (5V DC)
Power capacity: up to 500mA with USB, and up to 600mA with external power supply
Set J9 jumper to USB position
1. With USB cable
3. With laboratory power supply
Set J9 jumper to EXT position
Set J9 jumper to EXT position
2. Using adapter
1
3
5
2
4
6
power supply
page 7
EasyMx PRO
v7
Page 8
supported MCUs
page 8
EasyMx PRO
v7
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®
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 nal program, this card can also be taken out of the board socket and used in your nal device.
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, 2x12- bit A/D (16 channels), 2x12-bit D/A , 5xUARTs, internal Real time clock (RTC), 2xI2C, 3xSPI and 2xCAN controllers.
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.
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.
2
4
3
1
1
2
3
4
Figure 4-1: Default MCU card with STM32F107VCT6
Ethernet transceiver. Default MCU card contains single-chip Ethernet physical
(PHY) layer transceiver which provides additional Ethernet functionality to STM32F107VCT6 controller
5
With STM32® Cortex™-M3 and Cortex™-M4 microcontrollers you have the ability to select specic boot space (User ash 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.
Page 9
page 9
EasyMx PRO
v7
302928
27
34
33
58
57
56
55
54
53
52
46
36
35
424344
45
37
50948
49
11
12
32
72
69
68
67
66
65
64
63
4 3
78
77
24 23
18 17 16 15 14 13
5
6
7
8
10
79
80
1
2
22 21 20 19
62
61
60
59
38
39
40
41
47
71
31
51
70
26
25
76
75
74
73
81
828384
85
86
878889
90
91
929394
959697
98
99
00
E3 10uF
VCC
E4 10uF
VCC
E1 10uF
VCC
E2 10uF
VCC
27
28
29
30
31
323334
353637383940414243444546474849 50
51 52
HD2
7980
8182
8384
85
86
8788
8990
9192
939495
96
9798
99
100
101102
103
104
HD3
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
HD1
5354
5556
5758
5960
6162
6364
6566
6768
6970
7172
7374
7576
7778
HD4
VCC GND
VCC GND
VCC GND
Vbat
VCCGND
VCCGND
VCCGND
VCCGND
C1 100nF
VCC
C2 100nF
VCC
C3 100nF
VCC
C4 100nF
VCC
C5 100nF
VCC
C6 100nF
VCC
C7 100nF
VREF
VCC
OSC_IN
OSC_OUT
X1
25MHz
C11 22pF
C10 22pF
X2
32.768KHz
C8 22pF
C9 22pF
STM32F107VCT6
1
PE11
PE10
PE6
VBAT
PC13/TAMPER_RTC
PC14/OSC32_IN
PA10
PA9
PA8
PD9
PE13
PE12
PB13 PB14 PB15 PD8
PE14
PE15
PB5
PB4
PB3
PB7
PD7
PD6
PE5 PE4
PE1
PE0
PB9
PB8
BOOT0
PB6
OSC_IN
PA0-WKUP
VDDA
VREF+
VREF-
GNDA
PC3
PA12
PA11
PB12
PC8
NRST
VDD GND
PE7
GND
VDD
PE2
PE3
PA2 PA1
GND
VDD
PC9
PD13
PB10
PB11
PD10
PE8
PB2
PD11
PD14
PD5
PC2 PC1 PC0
PB1
PE9
PD12
PC7
OSC_OUT
PC15/OSC32_OUT
PD15 PC6
PA13
PC10
PA14
NC GND VDD
PA15
PC11
PC12
PD0
PA6
PA5
PC4
PA7
PC5
PB0
GND
VDD
PA3
PA4
PD1
PD2
PD3
PD4
U1
OSC32_IN
OSC32_OUT
RST#
PE2
PE3
PE4
PE5
PE6
PC0
PC2
PC3
PA0
MCO
PA3
PA4
PA5
PA6
PA7
PC4
PC5
PC6 PC7 PC8 PC9
VREF
PB0
PB1
PB2
PE7
PE8
PE9
PE10
PE11
PE12
PE13
PE14
PE15
PB11
PB12 PB13 PB14_nINT
PD8 PD9 PD10 PD11 PD12 PD13 PD14 PD15
PA9 PA10
PA13
PA14
PA15
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
PB3
PB4
PB5
PB6
PB7
PB8
PB9
BT0
PE0
PE1
PC13
R1 100K
PA11/DM
PA12/DP
PA11
PA12
DM
DP
J2
J3
DMDP
PA11/DM PA12/DP
2 3 4 5 6
7
11
12
13
14
242322
21
18 17 16 15
8
1
19
9
10
20
VDD2A
LED1
LED2
XTAL2 XTAL1 VDDCR
RXD1
RXD0
VDDIO
RXER
CRS_DV
MDIO
MDC
nINT
RST#
TXEN
TXD0
TXD1
TXP
RXP
Rbias
RXN
TXN
VDD1A
LAN8720A
GND
U2
TXP
TXN
RXP
RXN
R2
12K1
FP1
VCC
LED1
LED2
LED1 LED2
TXD1 TXD0 TXEN RST#
PB14_nINT
RXD1
RXD0
CRS_DV
TXD1 TXD0 TXENPC1_MDC
RXD1 RXD0
PB10_RXE R
CRS_DV
PA2_MDIO
C13 100nF
C12
2.2uF
R3 1K5
VCC
R4 27 R5 27 R6 27 R7 27 R8 27 R9 27
PC4
PC5
PB10_RXE R
PC1_MDC
PA2_MDIO
PA7 PB13 PB12 PB11
MCO
MCO
R10 10K
C14
100nF
PC6PC7 PC8PC9
SPI_MOSI
PD8PD9 PD10PD11 PD12PD13 PD14PD15
PA9PA10
PA13
PA11PA12
PA14
PA15
PD0PD1
PD2PD3
PD4PD5
PD6PD7
PB3 PB4
PB5 PB6
PB7
PB8PB9 BT0
PE0PE1
PA3
PA4 PA5
PA6
PB0 PB1
PB2 PE7
PE8 PE9
PE10 PE11
PE12 PE13
PE14 PE15
RST#
PE2PE3
PE4PE5
PE6
PC0
PC2
PC3
PA0
VREF
PC13
TXPTXN
RXPRXN
Vbat
R11 100K
SPI_MOSI
SPI_SCK
SPI_MISO
SPI_SCK
SPI_MISO
Figure 4-2: Default MCU card and boot conguration schematics
supported MCUs
5354
5556
5758
5960
6162
6364
6566
6768
6970
7172
7374
7576
7778
7980
8182
83848586
8788
89
90
9192
9394
E8 10uF
VCC-3.3V
VCC-3.3VGND
VCC-3.3VGND
VCC-3.3VGND
VCC-3.3V
NRST
R45
10K
R47
100
C31
100nF
T68
RESET
PB5 PB6
PB7
PB8PB9 BT0
PE0PE1
NRST
PE2PE3
PE4PE5
PE6
PC0
PC2
PC3
PA0PA1
MCU_VREF
PC13
PC1
PA3
PA4 PA5
PA6 PA7
PC4 PC5
PB0 PB1
PB2 PE7
PE8 PE9
PA2
1
2
3 4 5 6 7 8
O
N
SW11
BT0 PB2
VCC-3.3V
R80 1K
5
Page 10
page 10
1 2 3
EasyMx PRO
v7
Before you plug the microcontroller card into the socket, make sure that the power supply is turned o. Images below show how to correctly plug the card. First make sure that MCU card orientation matches the silkscreen outline on the EasyMx
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
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.
How to properly place your MCU card into the socket?
supported MCUs
Figure 4-3: On-board MCU socket has silkscreen markings which will help you to correctly orient the MCU card before inserting.
Figure 4-4: Place the MCU card on the socket so the pins are aligned correctly.
Figure 4-5 Properly placed MCU card will have equally leveled pins.
Page 11
page 11
Empty HP MCU card for 100-pin
STM32F2(4)0x MCUs
Empty ETH MCU card for 100-pin
STM32F10x MCUs
Empty ETH HP MCU card for 100­pin STM32F2(4)0x MCUs
Empty MCU card for 100-pin
STM32F10x MCUs
Standard 100-pin HP ETH MCU card with STM32F207VGT6
Default 100-pin ETH MCU card with STM32F107VCT6
Standard 100-pin HP ETH MCU card with STM32F407VGT6
EasyMx PRO
v7
mikroElektronika currently oers 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 exible and reliable tool for almost any of your ARM® projects. MCU cards can also be used in your nal devices. For complete list of currently available MCU cards, please visit the board webpage:
"HP" (High performance) - Empty MCU cards that support only high performance STM32F20x and STM32F40x microcontrollers family.
Other supported MCU cards
http://www.mikroe.com/eng/products/view/852/easymx-pro-v7-for-stm32/
supported MCUs
"ETH" (Ethernet) - Empty MCU cards with single-chip Ethernet PHY layer transceiver which provides additional Ethernet functionality to microcontrollers
NOTE:
Page 12
On-board
programmer
What is mikroProg™?
How do I start?
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.
In order to start using mikroProg
, and program your
microcontroller, you just have to follow two simple
steps:
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.
1
2
3
4
VCC
GND
D-
D+
CN20
USB B
VCC-USB
FP1
C5 100nF
USB-PROG_N
USB-PROG_P
VCC-3.3V
LINK
R2 2K2
LD68
LED_STLINK
J1
J2
J3
J4
TCK/SWCLK
TMS/SWDIO
TDI
TDO/SWO
NRST
VCC-3.3V
VCC-USB
J5
TRST
PA13
PA14
PA15
PB3
PB4
PA13-MCU
PA14-MCU
PA15-MCU
PB3-MCU
PB4-MCU
DATA BUS
VCC-3.3V
NRST
R45 10K
R47
100
C31 100nF
T68
RESET
Figure 5-1: mikroProg™ block schematics
Enabling mikroProg
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 o from
the rest of the board.
programming
page 12
EasyMx PRO
v7
Page 13
page 13
EasyMx PRO
v7
programming
STM32® Cortex™-M3 microcontrollers supported with mikroProg
STM32® Cortex™-M4 microcontrollers supported with mikroProg
STM32F100C4
STM32F100C6
STM32F100C8
STM32F100CB
STM32F100R4
STM32F100R6
STM32F100R8
STM32F100RB
STM32F100RC
STM32F100RD
STM32F100RE
STM32F100V8
STM32F100VB
STM32F100VC
STM32F100VD
STM32F100VE
STM32F100ZC
STM32F100ZD
STM32F100ZE
STM32F101C4
STM32F101C6
STM32F101C8
STM32F101CB
STM32F101R4
STM32F101R6
STM32F101R8
STM32F101RB
STM32F101RC
STM32F101RD
STM32F101RE
STM32F101RF
STM32F101RG
STM32F101T4
STM32F101T6
STM32F101T8
STM32F101TB
STM32F101V8
STM32F101VB
STM32F101VC
STM32F101VD
STM32F101VE
STM32F101VF
STM32F101VG
STM32F101ZC
STM32F101ZD
STM32F101ZE
STM32F101ZG
STM32F102C4
STM32F102C6
STM32F102C8
STM32F102CB
STM32F102R4
STM32F102R6
STM32F102R8
STM32F102RB
STM32F103C4
STM32F103C6
STM32F103C8
STM32F103CB
STM32F103R4
STM32F103R6
STM32F103R8
STM32F103RB
STM32F103RC
STM32F103RD
STM32F103RE
STM32F103RF
STM32F103RG
STM32F103T4
STM32F103T6
STM32F103T8
STM32F103TB
STM32F103V8
STM32F103VB
STM32F103VC
STM32F103VD
STM32F103VE
STM32F103VF
STM32F103VG
STM32F103ZC
STM32F103ZD
STM32F103ZE
STM32F103ZF
STM32F103ZG
STM32F105R8
STM32F105RB
STM32F105RC
STM32F105V8
STM32F105VB
STM32F105VC
STM32F107RB
STM32F107RC
STM32F107VB
STM32F107VC
STM32F205RB
STM32F205RC
STM32F205RE
STM32F205RF
STM32F205RG
STM32F205VB
STM32F205VC
STM32F205VE
STM32F205VF
STM32F205VG
STM32F205ZC
STM32F205ZE
STM32F205ZF
STM32F205ZG
STM32F207IC
STM32F207IE
STM32F207IF
STM32F207IG
STM32F207VC
STM32F207VE
STM32F207VF
STM32F207VG
STM32F207ZC
STM32F207ZE
STM32F207ZF
STM32F207ZG
STM32F215RE
STM32F215RG
STM32F215VE
STM32F215VG
STM32F215ZE
STM32F215ZG
STM32F217IE
STM32F217IG
STM32F217VE
STM32F217VG
STM32F217ZE
STM32F217ZG
STM32L151C6
STM32L151C8
STM32L151CB
STM32L151QC
STM32L151QD
STM32L151R6
STM32L151R8
STM32L151RB
STM32L151RC
STM32L151RD
STM32L151V8
STM32L151VB
STM32L151VC
STM32L151VD
STM32L151ZC
STM32L151ZD
STM32L152C6
STM32L152C8
STM32L152CB
STM32L152QC
STM32L152QD
STM32L152R6
STM32L152R8
STM32L152RB
STM32L152RC
STM32L152RD
STM32L152V8
STM32L152VB
STM32L152VC
STM32L152VD
STM32L152ZC
STM32L152ZD
STM32L162QD
STM32L162RD
STM32L162VD
STM32L162ZD
STM32F405RG
STM32F405VG
STM32F405ZG
STM32F407IE
STM32F407IG
STM32F407VE
STM32F407VG
STM32F407ZE
STM32F407ZG
STM32F415RG
STM32F415VG
STM32F415ZG
STM32F417IE
STM32F417IG
STM32F417VE
STM32F417VG
STM32F417ZE
STM32F417ZG
Page 14
Copyright ©2011 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.
Unauthorized copying, hiring, renting, public performance and
broadcasting of this DVD prohibited.
20122011
www.mikroe.com
programming
page 14
Step 1 - Start Installation
Step 3 - Installing drivers Step 4 - Finish installation
Step 2 - Select Destination
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:
When you locate the drivers, please extract the setup le from the ZIP archive. You should be able to locate the driver setup le. Double click the setup le to begin installation of the programmer drivers.
Installing programmer drivers
Welcome screen of the installation. Just click on Next button to proceed.
Drivers are installed automatically in a matter of seconds.
You will be informed if the drivers are installed correctly. Click on Finish button to end installation process.
Click Change button to select new destination folder or use the suggested installation path.
A
v
a
i
l
a
b
l
e
o
n
P
r
o
d
u
c
t
D
V
D
!
EasyMx PRO
v7
DVD://download/eng/software/ development-tools/arm/stm32/ mikroprog/st_link_v2_usb_driver.zip
Page 15
A
v
a
i
l
a
b
l
e
o
n
P
r
o
d
u
c
t
D
V
D
!
programming
page 15
Step 1 - Start Installation
Step 3 - Install for All users or current user
Step 5 - Installation in progress
Step 2 - Accept EULA and continue
Step 4 - Choose destination folder
Step 6 - Finish Installation
Programming software
mikroProg Suite™ for ARM
®
Quick Guide
Installation wizard - 6 simple steps
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, rst locate the installation archive on the Product DVD:
Click the Detect MCU button in order to recognize the device ID.
Click the Read button to read the entire microcontroller memory. You can click the
Save button to save it to target HEX le.
If you want to write the HEX le to the microcontroller, rst make sure to load the target HEX le. You can drag-n-drop the le onto the software window, or use the
Load button to open Browse dialog and
point to the HEX le location. Then click
the Write button to begin programming.
Click the Erase button to wipe out the microcontroller memory.
After downloading, extract the package and double click the
executable setup le, to start installation.
DVD://download/eng/software/development-tools/arm/mikroprog/ mikroprog_suite_for_arm_v110.zip
EasyMx PRO
v7
1
2
3
4
Figure 5-2: mikroProg Suite™ for ARM® window
Copyright ©2011 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.
Unauthorized copying, hiring, renting, public performance and
broadcasting of this DVD prohibited.
20122011
www.mikroe.com
Page 16
programming
page 16
Hardware Debugger
What is Debugging?
Every developer comes to a point where he has to monitor the
code execution in order to nd 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.
What is hardware debugger?
The on-board mikroProg™ programmer supports hardware debugger - a highly eective 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.
When you build your project for debugging, and program the microcontroller with this HEX le, 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.
How do I use the debugger?
Figure 5-3: mikroC PRO for ARM® compiler in debugging view, with SFR registers in Watch Window
EasyMx PRO
v7
Page 17
programming
page 17
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 rst 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 rst 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)
Debugger commands
EasyMx PRO
v7
Page 18
SW1
VCC-3.3V VCC-3.3V
VCC-3.3V
UP
DOWN
PULL
1 2 3 4 5 6 7 8
+
_
CN1 CN4
PA8
PA9
PA10
PA11
PA12
PA13
PA15
PA14
PA8 PA9 PA10 PA11 PA12 PA13
PA15PA14
PA8 PA9 PA10 PA11 PA12 PA13
PA15PA14
SW10
VCC
GND
BUTTON PRESS LEVEL
R26
220
R27
220
VCC-3.3V
1 2 3 4 5 6 7
8
O
N
SW15
J7J6
1 2 3 4 5 6 7 8
+
_
PORTA_ LEVEL
PORTA_LED
DATA BUS
PA8
PA9
PA10
PA11
PA12
PA13
PA15
PA14
LD8LD7LD6LD5LD4LD3LD2LD1
RN8 10K
RN7 10K
RN6 10K
RN5 10K
RN4 10K
RN3 10K
RN2 10K
RN1 10K
T8T7T6T5T4T3T2T1
PA8
PA9
PA10
PA11
PA12
PA13
PA15
PA14
page 18
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 grouped
together. It makes development easier, and the entire EasyMx PRO
v7 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
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 those 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 state to the selected PORT pin.
Figure 6-1: I/O group contains PORT header, tri-state pull up/down DIP switch, buttons and LEDs all in one place
Input/Output Group
connectivity
Figure 6-3: Schematics of the single I/O group connected to microcontroller PORTA/H
Button press level tri-state DIP switch is used to determine which logic level will be applied to port pins when buttons are pressed
Figure 6-2: Tri-state DIP switch on PORTA/H
EasyMx PRO
v7
Page 19
Figure 6-4: IDC10 male headers enable easy connection with mikroElektronika accessory boards
connectivity
page 19
Headers Buttons LEDs
LED (Light-Emitting Diode) is a highly
ecient electronic light source. When
connecting LEDs, it is necessary to place a current limiting resistor in series so that LEDs are provided with the current value
specied 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 DIP switch on SW15 (Figure 6-6).
Figure 6-6: SW15.1 through SW15.8 switches are used to enable PORT LEDs
53
55
57
59
61
63
65
67
69
71
73
75
77
54
56
58
60
62
64
66
68
70
72
74
76
78
PA0
SMD LED
SMD resistor
limiting current
through the LED
The logic state of all microcontroller digital inputs may be changed using push buttons. Tri-
state DIP switch SW10 is 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 logical one to the appropriate microcontroller pin. The same goes for GND. If the DIP switch is in the middle position, then all push buttons of the associated PORT will be disconnected from the 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
In the far upper right section of the board, there is a RESET button, which can be used to manually reset the microcontroller.
Figure 6-5: Button press level DIP switch (tri-state)
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 2x5 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.
EasyMx PRO
v7
Page 20
http://www.mikroe.com/mikrobus
mikroBUS™ sockets
mikroBUS™ pinout explained
Easier connectivity and simple conguration
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 I
2
C 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
is not made only to be a part of our development boards. You can freely place
mikroBUS
host connectors in your nal PCB designs, as long as you clearly mark them with
mikroBUS
logo and footprint specications. For more information, logo artwork and
PCB les visit our website:
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 - I
2
C Clock line
SDA - I
2
C Data line
+5V - VCC-5V power line GND - Reference Ground
DATA BUS
AN RST CS SCK MISO MOSI
3.3V GND
PWM
INT
RX TX
SCL
SDA
5V
GND
AN RST CS SCK MISO MOSI
3.3V GND
PWM
INT
RX
TX SCL SDA
5V
GND
21
VCC-3.3V VCC-5V VCC-3.3V VCC-5V
PD8
PD9
PD10 PD11
PD12
PD13 PD14
PC2 PC3
PA0PA4 PA5
PB6 PB7
PB6 PB7
PD5
PD6
MCU_MOSI
MCU_SCK MCU_MISO
MCU_MOSI
MCU_SCK MCU_MISO
Figure 7-1:
mikroBUS
connection schematics
connectivity
EasyMx PRO
v7
page 20
Integrate mikroBUS™ in your design
Page 21
page 21
connectivity
EasyMx PRO
v7
Click Boards™ are plug-n-play!
ADC click
LightHz click
CAN SPI click
DAC click
DIGIPOT click
SHT1x click
WiFi PLUS click
GPS click
BEE click
BlueTooth click
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 literally zero hardware conguration. Just plug and play. Visit the Click
boards™ webpage for the complete list of available boards:
http://www.mikroe.com/eng/categories/view/102/click-boards/
Page 22
USB-UART A
Enabling USB-UART A
communication
page 22
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.
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 communication to be done via USB connection. Controllers such as FT232RL from FTDI® convert UART signals to the appropriate USB standard.
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 RX and TX lines of the microcontroller to the appropriate input and output pins of the FT232RL. This selection is done using DIP switches SW12.1 and SW12.2.
In order to use USB-UART A module on EasyMx PRO
v7 for
STM32®, you must rst install FTDI drivers on your computer.
Drivers can be found on Product DVD:
A
v
a
i
l
a
b
l
e
o
n
P
r
o
d
u
c
t
D
V
D
!
DVD://download/eng/software/development-tools/ universal/ftdi/vcp_drivers.zip
EasyMx PRO
v7
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
TXD DTR# RTS# VCCIO RXD RI# GND NC DSR# DCD# CTS# CBUS4 CBUS2 CBUS3
CBUS0 CBUS1
OSCO
OSCI TEST
AGND
NC
GND
GND
VCC
RESET#
3V3OUT
USBDM
USBDP
FT232RL
U2
FT232RL
VCC-3.3V VCC-5V
C11 100nF
LD69 LD70
RX-LED1 TX-LED1
R15 4K7
R14 2K2
VCC-3.3V VCC-3.3V
R18 4K7
R21 10K
1
2
3
4
VCC
GND
D-
D+
CN22
USB B
C6 100nFC7100nFE110uF
VCC-5VVCC-5VVCC-3.3V
US B UA RT A
CON NECTOR
FTDI1-D_N FTDI1-D_P
RX TX
DATA BUS
1 2 3 4 5 6
7
8
O
N
SW12
TX-FTDI1 RX-FTDI1
PA9 PA10
Copyright ©2011 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.
Unauthorized copying, hiring, renting, public performance and
broadcasting of this DVD prohibited.
20122011
www.mikroe.com
In order to enable USB-UART A communication, you must push SW12.1 (PA9) and SW12.2 (PA10) to ON position. This connects the TX and RX lines to PA9 and PA10 microcontroller pins and its UART module.
Figure 8-1: USB-UART A connection schematics
Page 23
USB-UART B
Enabling USB-UART B
communication
page 23
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.
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 RX and TX lines of the microcontroller to the appropriate input and output pins of the FT232RL. This selection is done using DIP switches SW12.3 and SW12.4.
When using either USB-UART A or USB-
UART B, make sure to disconnect all devices and additional boards that could interfere with the signals and possibly corrupt the sent or received data.
In order to use USB-UART B module on EasyMx PRO
v7
STM32®, you must rst install FTDI drivers on your computer.
Drivers can be found on Product DVD:
A
v
a
i
l
a
b
l
e
o
n
P
r
o
d
u
c
t
D
V
D
!
DVD://download/eng/software/development-tools/ universal/ftdi/vcp_drivers.zip
EasyMx PRO
v7
DATA BUS
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
TXD DTR# RTS# VCCIO RXD RI# GND NC DSR# DCD# CTS# CBUS4 CBUS2 CBUS3
CBUS0 CBUS1
OSCO
OSCI TEST
AGND
NC
GND
GND
VCC
RESET#
3V3OUT
USBDM
USBDP
FT232RL
U4
FT232RL
VCC-3.3V VCC-5V
C26 100nF
LD73 LD74
RX-LED2 TX-LED2
R30 4K7
R29 2K2
VCC-3.3V VCC-3.3V
R37 4K7
R38 10K
1
2
3
4
VCC
GND
D-
D+
CN23
USB B
C24 100nF
C25 100nFE610uF
VCC-5VVCC-5VVCC-3.3V
US B UA RT B
CON NECTOR
FTDI2-D_P
FTDI2-D_N
RX TX
1 2 3 4 5 6
7
8
O
N
SW12
TX-FTDI2
RX-FTDI2
PD5 PD6
Copyright ©2011 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.
Unauthorized copying, hiring, renting, public performance and
broadcasting of this DVD prohibited.
20122011
www.mikroe.com
In order to enable USB-UART B communication, you must push SW12.3 (PD5) and SW12.4 (PD6) to ON position. This connects the TX and RX lines to PD5 and PD6 microcontroller pins and its UART module.
Figure 9-1: USB-UART B connection schematics
Page 24
page 24
USB HOST
communication
USB is the acronym for Universal Serial Bus. This is a very popular industry standard that denes
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 device is connected to HOST
connector can be done through VBUS line. Connection of USB HOST VBUS line and PA10 pin is established when SW10.7 is
on.
Powering USB device
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 PRO
v7
US B HOS T
CON NECTOR
VCC-5V
R34 47K
R36 10K
VCC-3.3V
USB-PSW
1
2
3
4
VCC
GND
D-
D+
CN24
USB A
E9 10uF
USB-D_N
USB-D_P
1
2
3
OUT
GND
IN
5
4
OCEN
U5
TPS2041B
VCC-3.3V
LD71
R31 4K7
E10 10uF
Q2 BC846
R41
10K
LD72
R32 2K2
VCC-5V
D1
BAT43
R40
100
USB-VBUS
ONOC
1 2 3 4 5 6
7
8
O
N
SW12
PA9 PA10
DATA BUS
communication
Figure 10-2: Powering USB device through PSW line
Figure 10-1: USB host connection schematics
Page 25
page 25
USB device
communication
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.
Detecting connection
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.
EasyMx PRO
v7
1
2
3
4
VCC
GND
D-
D+
CN26
USB B
R50 27
R53 27
LD76
R58 4K7
GND
GND
USB-D_N
USB-D_P
US B DEVICE
CON NECTOR
USB-VBUS
R48 100
ON
D2 BAT43
D_N
D_P
1
2 3
4
5
6
7 8
O
N
SW12
USB-VBUS PA9
DATA BUS
communication
Figure 11-2: Enabling USB DEVICE detection via VBUS line
Figure 11-1: USB device connection schematics
Page 26
page 26
Ethernet MCU cards
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 communication
EasyMx PRO
v7
1 3 5 7
9 11 13 15 17 19 21 23 25
2 4 6 8 10 12 14 16 18 20 22 24 26
MCU CARD SOCKET
TX_PTX_N RX_PRX_N
LED1 LED2
TD+
CT
TD-
RD+
RD-
CT
A2A1
K1 K2
CN25
RJ45
R46 51
R49 51
R54 51
R55 51
R44 270
R60
270
LD77
LD75
FP3
C33 10nF
C32
10nF
VCC-3.3V
ETHER NET
CON NECTOR
LED1
LED2
TX_P
TX_N
RX_P
RX_N
LED1
LED2
VCC-3.3V
communication
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).
Figure 12-1: Ethernet connection schematics
Page 27
page 27
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
specically 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 dierential
communication lines before using this module.
VCC-3.3V
R57 10
CN28
CANH
CANL
TX-CAN
RX-CAN
1 2 3
54
6
7
8
D GND Vdd R Vref
CANL
CANH
Rs
U7
SN65HVD230
1 2 3 4 5 6
7
8
O
N
SW12
PD0
PD1
DATA BUS
Enabling CAN
Figure 13-1: CAN connection schematics
CAN communication
EasyMx PRO
v7
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.
Figure 13-2: enabling CAN communica­tion
Page 28
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/ WAVMIDI 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 specic features like DSP eects to the user RAM
memory. You can build music players, audio recording devices, internet radio player applications, and much more.
multimedia
page 28
Audio I/O
CN19
PHONEJACK
L
R
C2 10nF
C3 47nFC410nF
GBUF
CN21
MICROPHONE
E3 10uF
E2 10uF
C9 100pF
C8 100pF
C10 100pF
VCC-3.3V
MICN
MICP
MIC
2
XRESE
3
DGND
4
CVDD
5
IOVDD
6
CVDD
7
GPIO
11
GPIO7
12
DCS/BSY NC
13
OVDD1
14
25
VDD2
24
CS
23
GND422GND3
21
TALI18TALO
17
GND1
16
CO
15
DRE
8
MCP/LN
1
OVDD2
19
GPIO
9
GPIO
10
27 26
GND2
20
28
29
30
31
33
34
35
36
AGND
37
AVDD
38
RIGH
39
AGND40AGND
41
GBU
42
AVDD
43
RCA
44
AVDD
45
LEF
46
AGND
47
LN
48
MCP/LN1
MICN
XRESET
DGND0 CVDD0
IOVDD0
CVDD1
DREQ GPIO2 GPIO3 GPIO6 GPIO7
XDCS/BS YNC
IOVDD1
VC0
DGND1
XTAL0
XTAL1
IOVDD2
DGND2
DGND3
DGND4
XCS
CVDD2
GPIO5
RX
TX
SCLK
SI
SO
XTEST
GPIO1
GND
GPIO4
AGND0
AVDD0
AVDD2
AGND1
AGND2
AGND3
LN2
LEFT
RCAP
AVDD1
GBUF
RIGHT
VS1053
U1
R11 1K
R13 1K
R17 1K
R19 1K
R510R620R7
20
R1 10
R3 10
VCC-1.8V VCC-3.3V
L
R
GBUF
C1
1uF
R20 100K
GPIO
GPIO
R4
10K
VCC-3.3V
R9 27
R12 27
PH_MISO PH_MOSI PH_SCK
MP3-DCS
MP3-DREQ
MP3-RST#
MICN
MICP
MP3-CS#
X1
12.288MHz
R22 1M
C13 22pF
C12 22pF
R8 100k
R16 10K
VCC-3.3V
C23 100nF
C22 100nF
C21 100nF
C15 100nF
C17 100nF
C14 100nF
C18 100nF
C19 100nF
C20 100nF
VCC-1.8V
C16
2.2uF
VCC-3.3V
E5 10uF
1
2
3
IN
GND
OUT
5
4
EN ADJ
U3
AP7331-ADJ
R23
120K
R24
22K
R25
12K1
E4 10uF
1 2 3 4 5 6 7 8
O
N
SW13
PH_MOSI
PH_MISO
PH_SCK
MP3-DREQ
MP3-RST#
MP3-CS# MP3-DCS
PC6 PC7 PC8 PC9
MCU_MOSI
MCU_SCK MCU_MISO
DATA BUS
Enabling Audio I/O
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.
EasyMx PRO
v7
Figure 14-2: Enabling audio codec commu­nication lines
Figure 14-1: Audio IN/OUT connection schematics
Page 29
multimedia
page 29
Secure Digital (SD) is a non-volatile memory card format developed for use
in portable devices. It comes in dierent
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 inter­face with minimum additional electronics, mainly used for stabilizing communication
lines which can be signicantly 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.
Enabling microSD
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.
FP2
FERRITE
E13 10uF
VCC-3.3VVCC-MMC
C30 100nF
1 2 4 5 6 7
G
CS
Din
+3.3V
SCK
GND
Dout
CD
GND
CN27
MICROSD
VCC-MMC
R52 10K
R51 10K
SD-CS#
PH_MISO
PH_MOSI
PH_SCK
SD-CD#
R56
27
microS D
CA RD SLOT
1 2 3 4 5 6 7 8
O
N
SW13
1 2
3
4 5 6 7 8
O
N
SW14
PH_MOSI
PH_MISO
PH_SCK
SD-CS# SD-CD#
PD15
PD3
MCU_MOSI
MCU_SCK
MCU_MISO
DATA BUS
microSD card slot
EasyMx PRO
v7
Figure 15-1: microSD card slot
connection schematics
Page 30
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.
Each pixel is capable of showing 262.144 dierent 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.
page 30
TFT display 320x240 pixels
TFT display is enabled using SW13.3–SW13.4 DIP switches. Back-light can be enabled in two
dierent ways:
1. It can be turned on with full brightness using SW13.3 switch.
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.
VCC-5V
BCK_LIGHT BCK_PWM PE9
GLCD_V EE
VCC-5V
VEE
PE0
PE1
PE2
PE3
PE4
PE5
PE6
PE7
PE8
PE10
PE11
PE12
PE13
BCK_LI GHT
BPWM
PE15
PMRD
PMWR
GND
VCC
NCRSNC
D1D2D3D4D5D6D7
CS
D0
RST
NC
+5V
BPWM
1 20
XR
YU
XL
YD
21 24
Q5 BC846
R62 20
R66
4K7
R64 1K
BCK_PWM
BPWM
VCC-3.3V
1 2 3 4 5 6 7 8
O
N
SW13
DATA BUS
CN32
GLCD-TFT SOCKET
Driving Display Back-light
multimedia
EasyMx PRO
v7
Figure 16-1: TFT display connection schematics
In order to use PWM back-light both SW13.3 and SW13.4 switches must be enabled at the same time.
IMPORTANT:
Figure 16-2: Turn on switches SW13.3 and SW13.4 to enable back-light
Page 31
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
equipped with touch panel controller and connector for 4-wire resistive touch panels. It can very accurately
register pressure at a specic 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.
Touch Panel controller
Figure 17-2:
Turn on switches
SW11.5, SW11.6, SW11. 7 and SW11. 8 to enable
Touch panel controller
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. Prior to using Touch panel in your application, make sure to disconnect other peripherals, LEDs and additional pull-up or pull-down resistors from the interface lines that could interfere with signals and cause data corruption.
Enabling Touch panel
multimedia
CN29
PMRD
PMWR
GND
VCC
NCRSNC
D1D2D3D4D5D6D7
CS
D0
RST
NC
+5V
BPWM
1 20
XR
YU
XL
YD
21 24
GLCD-TFT SOCKET
Q3 BC856
Q4 BC846
R61
10K
R59 1K
VREF
R65
10K
R63 4K7
VCC-3.3V
Q6 BC856
VREF
R67
10K
Q7 BC846
R71
10K
C35 10nF
R70 100K
Q8 BC846
R78
10K
C40 10nF
R77 100K
R75 4K7
VCC-3.3V
RIGHT
TOP
DRIVEA
DRIVEB
E14 10uF
VCC-3.3V
FP4
FERRITE
E15 10uF
VCC-1.8V VREF
LEFT
BOTTOM
PB8 PB9
1
2
3 4 5 6 7 8
O
N
SW11
DRIVEA DRIVEB
LEFT
BOTTOMPB0
PB1
DATA BUS
RIGHT TOP LEFT BOTTOM
Figure 17-1: Touch Panel controller and connection schematics
page 31
EasyMx PRO
v7
NOTE:
VREF=1.8V
Page 32
VCC-5V
BCK_LIGHT BCK_PWM PE9
GLCD_V EE
VCC-5V
VEE
PE0
PE1
PE2
PE3
PE4
PE5
PE6
PE7
PE8
PE10
PE11
PE12
PE13
BCK_LI GHT
BPWM
PE15
CN32
GLCD-TFT SOCKET
Q5 BC846
R62 20
R66
4K7
R64 1K
BCK_PWM
BPWM
VCC-3.3V
P2 10K
GLCD_VEE
VEE
1 2 3 4 5 6 7 8
O
N
SW13
DATA BUS
In order to use PWM back-light both SW13.3 and SW13.4 switches must be enabled at the same time.
IMPORTANT:
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
display connector. Board is tted with uniquely designed
plastic display distancer, which allows the GLCD module to
perfectly and rmly t 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.
GLCD 128x64
multimedia
page 32
EasyMx PRO
v7
Figure 18-1: GLCD 128x64 connection schematics
Connector pinout explained
CS1 and CS2 - Controller Chip Select lines
VCC - +5V display power supply
GND - Reference ground
Vo - GLCD contrast level from potentiometer P3
RS - Data (High), Instruction (Low) selection line
R/W - Determines whether display is in Read or
Write mode.
E - Display Enable line
D0–D7 - Data lines
RST - Display reset line
Vee - Reference voltage for GLCD contrast
potentiometer P3
LED+ - Connection with the back light LED anode
LED- - Connection with the back light LED cathode
Page 33
When working with multi media
applications it is far more intuitive to use a single joystick than several
dierent 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 ve dierent 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.
Navigation switch
Figure 19-2: Navigation switch is an intuitive solution for browsing through on-screen menus.
4
5
6
1
2
3
KEY1
UP
LEFT
CENTER
RIGHT
DOWN
PD2
PD4
PC13
PA6
PB5
SW8
SW5
SW4
SW2
VCC-3.3V
VCC-3.3V
VCC-3.3V
VCC-3.3V
UP
DOWN
PULL
UP
DOWN
PULL
UP
DOWN
PULL
UP
DOWN
PULL
1 2 3 4 5 6 7 8
+
_
1 2 3 4 5 6 7 8
+
_
1 2 3 4 5 6 7 8
+
_
1 2 3 4 5 6 7 8
+
_
PA6
PB5
PC13
PD2
PD4
DATA BUS
Figure 19-1: Navigation switch connection schematics. Pull-up resistors should be enabled during operation
multimedia
page 33
EasyMx PRO
v7
Page 34
DS1820 is a digital tempera-
ture 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 temperature with 9-bit resolution. 1-wire® serial communication ena­bles 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 DIP switch (ON position).
DS1820 - Digital Temperature Sensor
page 34
VCC-3.3V
C41 100nF
1 2
3 4 5 6 7 8
O
N
SW14
DS1820 PB10
DATA BUS
VCC-3.3V
R33 1K5
EasyMx PRO™ v7 for STM32® enables you to establish 1-wire® communication between DS1820 and the microcontroller over PB10 pin. The connection is done placing SW14.5 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 and you might need to replace it with another one. During the readings of the sensor, make sure that no other device (except those in 1-wire network) uses the selected line, because it may interfere with the data.
Figure 20-2: DS1820 correctly placed in socket
Figure 20-4: DS1820 connected to PB10 pin
Enabling DS1820 Sensor
other modules
EasyMx PRO
v7
Figure 20-1: DS1820 socket
Figure 20-3: Enabled SW14.5 DIP switch
Page 35
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 +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 either PC0 or PA3 microcontroller pins.
page 35
C29
100nF
1
2
3 4 5 6
7
8
O
N
SW14
LM35PC0
PA3
LM35
DATA BUS
R79 100
Figure 21-4: LM35 connected to PC0 pin
EasyMx PRO
v7 for STM32® enables you to get analog readings from the
LM35 sensor using PC0 or PA3 microcontroller pins. The selection of either of those two lines is done using SW14.6 or SW14.7 DIP switch (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.
Figure 21-1: LM35 socket
Figure 21-2: LM35 correctly placed in socket
Enabling LM35 Sensor
LM35 - Analog Temperature Sensor
other modules
EasyMx PRO
v7
Figure 21-3: Enabled SW14.6 DIP switch
Page 36
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 dierent sizes and supporting
dierent clock speeds. They are mostly used for mass
storage, as in USB Flash Drives, which are very popular today.
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.
other modules
page 36
Serial Flash Memory
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.
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.
Enabling Serial Flash
What is SPI?
Figure 22-1: Schematics of Serial Flash Memory module
EasyMx PRO
v7
1 2 3
54
6
7
8
CS SDO WP GND SDI
SCK
HOLD
VCC
U6
25P80
VCC-3.3V
R39
100K
C27 100nF
VCC-3.3V
FLASH-CS# PH_MISO
PH_MOSI PH_SCK
R43 27
VCC-3.3V
1 2 3 4 5 6 7 8
O
N
SW13
FLASH-CS#
PH_MOSI
PH_MISO
PH_SCK
PD7
MCU_MOSI
MCU_SCK MCU_MISO
DATA BUS
Page 37
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 conguration data in a wide spectrum
of consumer, automotive, telecommunication, medical, industrial, and PC applications.
EasyMx PRO
v7 for STM32® supports serial EEPROM which
uses I
2
C 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. EEPROM address on I
2
C bus is 0xA2.
other modules
page 37
I2C EEPROM
In order to connect I2C EEPROM to the microcontroller you must enable SW14.1 and SW14.2 switches, as shown on Figure 23-2. 4K7 pull-up resistors necessary for I
2
C 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.
I
2
C 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.
Enabling I2C EEPROM
What is I
2
C?
Figure 23-2: Turn
on switches SW14.1 and SW14.2 to connect EEPROM lines to MCU
Figure 23-1: Schematic of I
2
C EEPROM
module
EasyMx PRO
v7
C36 100nF
1 2 3
54
6
7
8
A0 A1 A2 VSS SDA
SCL
WP
VCC
U9
24AA01 EEPROM
VCC-3.3VVCC-3.3V
VCC-3.3V
R72 2K2
R73 2K2
VCC-3.3V
EEPROM-SCL EEPROM-SDA
EEPROM-SDA
EEPROM-SCL
1 2
3 4 5 6 7 8
O
N
SW14
PB6 PB7
DATA BUS
Page 38
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 dened 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
determines how fast can an analog
voltage be represented in form
of a digital number. This is an important parameter if you need fast data acquisition. The
other parameter is resolution.
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 2
10
=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.
page 38
ADC inputs
P1
10K
R42
220
J8
C28 100nF
PC0
PA3
PA6
PA4 PA5
VCC-1.8V
C42 100nF
VCC-1.8V
DATA BUS
Enabling ADC inputs
In order to connect the output of the potentiometer P1 to PA3, PA4, PA 5, PA 6 or PC0 analog microcontroller inputs, you have to place the jumper J8 in the desired position. By moving the potentiometer knob, you can create voltages in range from GND to VCC.
Figure 24-1: Schematic of ADC input
EasyMx PRO
v7
other modules
Page 39
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 dierent 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
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.
page 39
Figure 25-2: push SW14.8 to ON position to connect Piezo buzzer to PE14
1 2
3 4 5 6 7 8
O
N
SW14
R35
10K
Q1 BC846
R28
1K
VCC-5V
PE14 BUZZER
PZ1 BUZZER
DATA BUS
PERSPECTIVE
VIEW
TOP
VIEW
In order to use the on-board Piezo Buzzer in
your application, you rst 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.
Buzzer starts "singing" when you provide
PWM signal from the microcontroller
to the buzzer driver. The pitch of the sound is determined by the frequency, and amplitude is determined by the
duty cycle of the PWM signal.
Enabling Piezo Buzzer
How to make it sing?
Figure 25-1: Piezo buzzer connected to PE14 microcontroller pin
Freq = 3kHz, Duty Cycle = 50%
Freq = 3kHz,
Volume = 50%
Freq = 3kHz,
Volume = 80%
Freq = 3kHz,
Volume = 20%
Freq = 3kHz, Duty Cycle = 80%
Freq = 3kHz, Duty Cycle = 20%
TO SOCKETS
VCC-5V
R3 1K
PZ1
Q8
10K
R27
VIEW
TOP
VIEW
RE1
RC2
J21
BUZZER
TO SOCKETS
VCC-5V
R3 1K
PZ1
Q8
10K
R27
VIEW
TOP
VIEW
RE1
RC2
J21
BUZZER
TO SOCKETS
VCC-5V
R3 1K
PZ1
Q8
10K
R27
VIEW
TOP
VIEW
RE1
RC2
J21
BUZZER
Piezo Buzzer
multimedia
EasyMx PRO
v7
Page 40
page 40
EasyMx PRO
v7
Additional GNDs
EasyMx PRO™ v7 for STM32® contains GND pins located in dierent 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.
GND is located below microSD section.
GND is located just above PORTE/H Input/Output Group.
GND is located below power supply region.
1
2
3
Figure 26-1: Three oscilloscope GND pins are conveniently positioned so
dierent parts of the board can be
reached with an oscilloscope probe
1
1
2
2
3
3
other modules
Page 41
page 41
What’s Next?
You still don’t have an appropriate compiler? Locate ARM® compiler that suits you best on the Product DVD provided with the package:
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.
Once you have chosen your compiler, and since you already got the board, you are
ready to start writing your rst 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 nd the following folder:
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 nd very useful projects and tutorials and can get help from a large ecosystem of users. Welcome!
Compiler
Projects
DVD://download/eng/software/compilers/
\Development Systems\STM32\
If you want to nd 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 nd
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 proles, you can
get to know other programmers, and
subscribe to receive notications on
their code.
http://www.libstock.com/
Community
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
oers 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/
Support
EasyMx PRO
v7
Copyright ©2011 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.
Unauthorized copying, hiring, renting, public performance and
broadcasting of this DVD prohibited.
20122011
www.mikroe.com
A
v
a
i
l
a
b
l
e
o
n
P
r
o
d
u
c
t
D
V
D
!
multimedia
Page 42
EasyMx PRO
v7
page 42
notes
Page 43
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 modication
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 tness 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, ocers, employees or distributors be liable for any indirect, specic, incidental or consequential damages (including damages for loss of business prots 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.
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
identication or explanation and to the owners’ benet, with no intent to infringe.
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 trac 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 specically disclaim any expressed or implied warranty of tness for High Risk Activities.
Copyright © MikroElektronika
, 2012, All Rights Reserved.
Page 44
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 oce@mikroe.com
EasyMx PRO v7 for STM32
®
User Manual ver. 1.01
0 100000 019610
Loading...