Le circuit Maple Mini clone est un circuit imprimé conportant un microprocesseur STM32F103CBT6, 32-bit ARM Cortex M3 pouvant fonctionner à 72 MHz, avec flash et ram intégré. Le format du circuit imprimé est celui d'un microprocesseur Intel 8031 ou Motorola 6800 avec 2 rangées de 20 pins espacées de 6 pas (0.6 in). On peut le trouver sur internet au prix de environ 4 euros chez Ebay ou Aliexpress.
L'interêt d'un tel circuit est de pouvoir remplacer, dans une application, un AVR ou un PIC à un prix compétitif, lorsque le besoin en puissance se fait sentir.
Ce document présente les caractéristiques de ce module processeur. Les informations sont extraites des documentations officielles qu'il ne faut pas hésiter à consulter.
Voici les caractéristiques principales du processeur:
Le tableau suivant indique Memory mapping du processeur:
Memory mapping | |||||
---|---|---|---|---|---|
Nom | Adresse | Taille | |||
Cortex-M3 Peripherals | 0xE000 0000 | 0x0010 0000 | |||
Peripherals | 0x4000 0000 | 0x0002 3400 | |||
SRAM | 0x2000 0000 | 0x5000 (20 k) | |||
Option Bytes | 0x1FFF F800 | 0x0F | |||
System memory | 0x1FFF F000 | 2 k | |||
Flash | 0x0800 0000 | 0x20000 (128 k) | |||
Flash ou System memory | 0x0000 0000 | 0x0800 0000 |
Le démarrage du processeur, après un reset, est controlé par 2 pins BOOT0 et BOOT1 et résumé dans le tableau suivant:
Boot pin configuration | |||||
---|---|---|---|---|---|
BOOT1 | BOOT0 | Boot mode | Aliasing | ||
1 | 0 | User Flash memory | User Flash memory application program | ||
0 | 0 | User Flash memory | User Flash memory DFU bootloader | ||
0 | 1 | System memory | System memory is selected as the boot space | ||
1 | 1 | Embedded SRAM | Embedded SRAM is selected as the boot space |
Ce tableau montre l'état initial des pins BOOT0, BOOT1 et NRST sachant que, par défaut, BOOT1 n'est connecté à aucun élément.
Boot pin initial state | |||||
---|---|---|---|---|---|
BOOT1 | BOOT0 | NRST | |||
X | 0 | 1 |
Le signal BOOT1 est connecté au port PB2 dans le processeur. En positionnant PB2 à 0, l'application pourra imposer le démarrage sur le bootloader après un reset.
Photo du circuit coté processeur.
Photo du circuit coté prise usb.
Le schéma proposé ici est un essai de raccordement de différentes fonctions au module maple-mini: carte sd, ds18b20, lm4040, lm35, spi, i2c, usart1, usart3 ...
Le tableau suivant montre la disposition des fonctions nécessaire à l'élaboration du schéma.
STM32F103xx LQFP48 Nr is board DIP40 pin number with 1 at Vin. Pin is processor pin number used : 0 used on board 1 alim 5 V 2 connector 2 SPI 3 connector 3 misc 4 connector 4 usart 5 connector 5 I2C 6 connector 6 lm4040, lm35, DS18B20 7 connector 7 config Nr used Alternate functions Pin Type Pin name Main Default Remap 1 Vin 18 1 S VBAT VBAT 17 2 7 I/O PC13-TAMPER-RTC PC13 TAMPER-RTC 16 3 I/O PC14-OSC32_IN PC14 OSC32_IN 15 4 I/O PC15-OSC32_OUT PC15 OSC32_OUT 5 0 I OSC_IN OSC_IN PD0 6 0 O OSC_OUT OSC_OUT PD1 14 7 0 I/O NRST NRST 8 0 S VSSA VSSA 9 0 S VDDA VDDA 13 10 6 I/O PA0-WKUP PA0 WKUP/USART2_CTS/ADC12_IN0/TIM2_CH1_ETR 12 11 6 I/O PA1 PA1 USART2_RTS/ADC12_IN1/TIM2_CH2 11 12 6 I/O PA2 PA2 USART2_TX/ADC12_IN2/TIM2_CH3 10 13 6 I/O PA3 PA3 USART2_RX/ADC12_IN3/TIM2_CH4 9 14 2 I/O PA4 PA4 SPI1_NSS/USART2_CK/ADC12_IN4 8 15 2 I/O PA5 PA5 SPI1_SCK/ADC12_IN5 7 16 2 I/O PA6 PA6 SPI1_MISO/ADC12_IN6/TIM3_CH1 TIM1_BKIN 6 17 2 I/O PA7 PA7 SPI1_MOSI/ADC12_IN7/TIM3_CH2 TIM1_CH1N 5 18 2 I/O PB0 PB0 ADC12_IN8/TIM3_CH3 TIM1_CH2N 19 0 I/O PB1 PB1 ADC12_IN9/TIM3_CH4 TIM1_CH3N 4 20 2 I/O PB2 PB2/BOOT1 3 21 3 I/O PB10 PB10 I2C2_SCL/USART3_TX TIM2_CH3 2 22 3 I/O PB11 PB11 I2C2_SDA/USART3_RX TIM2_CH4 19 23 0 S VSS_1 20 24 0 S VDD_1 40 25 3 I/O PB12 PB12 SPI2_NSS/I2C2_SMBAl/USART3_CK/TIM1_BKIN 39 26 3 I/O PB13 PB13 SPI2_SCK/USART3_CTS/TIM1_CH1N 38 27 3 I/O PB14 PB14 SPI2_MISO/USART3_RTS/TIM1_CH2N 37 28 3 I/O PB15 PB15 SPI2_MOSI/TIM1_CH3N 36 29 3 I/O PA8 PA8 USART1_CK/TIM1_CH1/MCO 35 30 4 I/O PA9 PA9 USART1_TX/TIM1_CH2 34 31 4 I/O PA10 PA10 USART1_RX/TIM1_CH3 33 32 0 I/O PA11 PA11 USART1_CTS/CANRX/USBDM/TIM1_CH4 32 33 0 I/O PA12 PA12 USART1_RTS/CANTX/USBDP/TIM1_ETR 31 34 I/O PA13 JTMS/SWDIO "" PA13 35 0 S VSS_2 36 0 S VDD_2 30 37 I/O PA14 JTCK/SWCLK "" PA14 29 38 I/O PA15 JTDI "" TIM2_CH1_ETR/PA15/SPI1_NSS 28 39 I/O PB3 JTDO "" TIM2_CH2/PB3/TRACESWO/SPI1_SCK 27 40 I/O PB4 JNTRST "" TIM3_CH1/PB4/SPI1_MISO 26 41 7 I/O PB5 PB5 I2C1_SMBAl TIM3_CH2/SPI1_MOSI 25 42 5 I/O PB6 PB6 I2C1_SCL/TIM4_CH1 USART1_TX 24 43 5 I/O PB7 PB7 I2C1_SDA/TIM4_CH2 USART1_RX 23 44 0 I BOOT0 45 0 I/O PB8 PB8 TIM4_CH3 I2C1_SCL/CANRX 46 0 I/O PB9 PB9 TIM4_CH4 I2C1_SDA/CANTX 22 47 0 S VSS_3 21 48 0 S VDD_3 PA4 ADC12_IN4 means input channel 4 of ADC1 and ADC2 are connected to pin PA4.
C'est peut être plus lisible avec une image...
Voir page Développement sur stm32
Voir page Boot du processeur stm32f103 par liaison série
Pour atteindre le mode Bootloader en ROM, il faut, après avoir brancher le cable liaison série reliant le PC à la carte :
Pour atteindre le mode Bootloader Usb, il faut, après avoir brancher le cable mini-usb: