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 networking 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 multimedia 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