STM32F4-Discovery-Board

Inhalt dieser Seite :

Bild vom Board
Boardfunktionen
STM32F4-CPU
Pinbelegung
Stecker (belegte Pins)
Stecker (freie Pins)
ADC-Pins
UART-Pins
SPI-Pins
I2C-Pins
DAC-Pins
Timer Übersicht

STM32F4-Discovery :

discovery_bild

STM32F4-Discovery

Das STM32F4-Discovery-Board :

Eingabemöglichkeiten :
1x Taster
1x Beschleunigungs-Sensor (3-Achs) [LIS302DL]
1x Digitales Mikrofon [MP45DT02]

Ausgabemöglichkeiten :
4x LED (grün,rot,gelb,blau)
1x Sound-DAC und Kopfhöreranschluss [CS43L22]

Mikroprozessor :
STM32F407VGT6

Sonstiges :
-Programmier und JTAG-Debug Schnittstelle per USB (ST-Link/V2)
-Micro-USB-Anschluß für USB-OTG (z.B. um einen USB-Stick anzuschließen)
-zwei Stiftleisten (2x25pol) auf denen viele CPU-Pins aufgelegt sind

Die STM32F4 CPU :

-32Bit ARM4 Architektur
-1MB Flash
-192kByte RAM
-interner Systemclock per PLL bis max. 168 MHz
-Hardware FloatingPoint-Unit zuschaltbar
-9 GPIO-Ports (A-I) davon 8 mit 16bit und eine mit 12Bit breite
-External-Memory-Controller (FSMC)
-EthernetMac
-USB (OTG)
-zwei DMAs
-2 bzw. 3 ADC
-2 DACs
-14 Timer
-6 UARTs
-2 CAN
-3 SPI
-3 I2C
uvm. :-)

Die Pinbelegung der CPU :


Fast alle Pins der CPU sind mehrfach belegt aus dem Grund
gibt es eine ziemlich komplexe Tabelle
hier der Link dazu :

Pinbelegung_v101

Stecker-Übersicht (belegte Pins) :

PA0  - User-Button
PA4  - Sound-DAC [CS43L22]
PA5  - Beschl.Sensor [LIS302DL]
PA6  - Beschl.Sensor [LIS302DL]
PA7  - Beschl.Sensor [LIS302DL]
PA9  - USB
PA10 - USB
PA11 - USB
PA12 - USB
PA13 - SWD
PA14 - SWD

PB3  - SWD
PB6  - Sound-DAC [CS43L22]
PB9  - Sound-DAC [CS43L22]
PB10 - Mikro [MP45DT02]

PC0  - USB
PC3  - Mikro [MP45DT02]
PC7  - Sound-DAC [CS43L22]
PC10 - Sound-DAC [CS43L22]
PC12 - Sound-DAC [CS43L22]
PC14 - Oszillator
PC15 - Oszillator

PD4  - Sound-DAC [CS43L22]
PD5  - USB
PD12 - LED (green)
PD13 - LED (orange)
PD14 - LED (red)
PD15 - LED (blue)

PE0  - Beschl.Sensor [LIS302DL]
PE1  - Beschl.Sensor [LIS302DL]
PE3  - Beschl.Sensor [LIS302DL]

PH0  - Oszillator-IN
PH1  - Oszillator-OUT

Stecker-Übersicht (freie Pins) :

PA1  - [UART4_RX,ETH,TIM5_CH2,TIM2_CH2,ADC123_IN1]
PA2  - [UART2_TX,TIM5_CH3,TIM9_CH1,TIM2_CH3,ETH,ADC123_IN2]
PA3  - [UART2_RX,TIM5_CH4,TIM9_CH2,TIM2_CH4,OTG,ETH,ADC123_IN3]
PA8  - [MCO1,TIM1_CH1,I2C3,OTG]
PA15 - [JTDI,SPI3,I2S3,TIM2_CH1,SPI1]

PB0  - [TIM3_CH3,TIM8_CH2N,OTG,ETH,TIM1_CH2N,ADC12_IN8]
PB1  - [TIM3_CH4,TIM8_CH3N,OTG,ETH,TIM1_CH3N,ADC12_IN9]
PB2  - [GPIO]
PB4  - [SPI3,TIM3_CH1,SPI1,I2S3]
PB5  - [I2C1,CAN2,OTG,ETH,TIM3_CH2,SPI1,SPI3,DCMI,I2S3]
PB7  - [I2C1,FSMC,DCMI,UART1,TIM4_CH2]
PB8  - [TIM4_CH3,SDIO,TIM10_CH1,DCMI,OTG,ETH,I2C1,CAN1]
PB11 - [I2C2,UART3_RX,OTG,ETH,TIM2_CH4]
PB12 - [SPI2,I2S2,I2C2,CAN2,OTG,ETH]
PB13 - [SPI2,I2S2,TIM1_CH1N,CAN2,OTG,ETH]
PB14 - [SPI2,TIM1_CH2N,TIM12_CH1,OTG,TIM8_CH2N,I2S2]
PB15 - [SPI2,I2S2,TIM1_CH3N,TIM8_CH3N,TIM12_CH2,OTG]

PC1  - [ETH,ADC123_IN11]
PC2  - [SPI2,OTG,ETH,I2S2,ADC123_IN12]
PC4  - [ETH,ADC12_IN14]
PC5  - [ETH,ADC12_IN15]
PC6  - [I2S2,TIM8_CH1,SDIO,UART6_TX,DCMI,TIM3_CH1]
PC8  - [TIM8_CH3,SDIO,TIM3_CH3,DCMI]
PC9  - [I2S,MCO2,TIM8_CH4,SDIO,I2C3,DCMI,TIM3_CH4]
PC11 - [UART4_RX,SPI3,SDIO,DCMI,UART3_RX,I2S3]
PC13 - [GPIO]

PD0  - [FSMC,CAN1]
PD1  - [FSMC,CAN1]
PD2  - [UART5_RX,SDIO,DCMI]
PD3  - [FSMC]
PD6  - [FSMC,UART2_RX]
PD7  - [FSMC]
PD8  - [FSMC,UART3_TX]
PD9  - [FSMC,UART3_RX]
PD10 - [FSMC]
PD11 - [FSMC]

PE2  - [FSMC,ETH]
PE4  - [FSMC,DCMI]
PE5  - [FSMC,TIM9_CH1,DCMI]
PE6  - [FSMC,TIM9_CH2,DCMI]
PE7  - [FSMC]
PE8  - [FSMC,TIM1_CH1N]
PE9  - [FSMC,TIM1_CH1]
PE10 - [FSMC,TIM1_CH2N]
PE11 - [FSMC,TIM1_CH2]
PE12 - [FSMC,TIM1_CH3N]
PE13 - [FSMC,TIM1_CH3]
PE14 - [FSMC,TIM1_CH4]
PE15 - [FSMC]

Stecker-Übersicht (ADC-Pins) :

ADC1 - IN0  [PA0]
       IN1  [PA1]
       IN2  [PA2]
       IN3  [PA3]
       IN4  [PA4]
       IN5  [PA5]
       IN6  [PA6]
       IN7  [PA7]
       IN8  [PB0]
       IN9  [PB1]
       IN10 [PC0]
       IN11 [PC1]
       IN12 [PC2]
       IN13 [PC3]
       IN14 [PC4]
       IN15 [PC5]
ADC2 - IN0  [PA0]
       IN1  [PA1]
       IN2  [PA2]
       IN3  [PA3]
       IN4  [PA4]
       IN5  [PA5]
       IN6  [PA6]
       IN7  [PA7]
       IN8  [PB0]
       IN9  [PB1]
       IN10 [PC0]
       IN11 [PC1]
       IN12 [PC2]
       IN13 [PC3]
       IN14 [PC4]
       IN15 [PC5]
ADC3 - IN0  [PA0]
       IN1  [PA1]
       IN2  [PA2]
       IN3  [PA3]
       IN10 [PC0]
       IN11 [PC1]
       IN12 [PC2]
       IN13 [PC3]

Stecker-Übersicht (UART-Pins) :

UART1 - TX [PA9, PB6]
      - RX [PA10, PB7]
UART2 - TX [PA2, PD5]
      - RX [PA3,PD6]
UART3 - TX [PB10, PC10, PD8]
      - RX [PB11, PC11, PD9]
UART4 - TX [PA0, PC10]
      - RX [PA1, PC11]
UART5 - TX [PC12]
      - RX [PD2]
UART6 - TX [PC6, PG14]
      - RX [PC7, PG9]

Stecker-Übersicht (SPI-Pins) :

SPI1 - SCK  [PA5, PB3]
     - MOSI [PA7, PB5]
     - MISO [PA6, PB4]
SPI2 - SCK  [PB10, PB13]
       MOSI [PC3, PB15]
       MISO [PC2, PB14]
SPI3 - SCK  [PC10, PB3]
       MOSI [PC12, PB5]
       MISO [PC11, PB4]

Stecker-Übersicht (I2C-Pins) :

I2C1 - SCL [PB6, PB8]
       SDA [PB7, PB9]
I2C2 - SCL [PB10]
       SDA [PB11]
I2C3 - SCL [PA8]
       SDA [PC9]

Stecker-Übersicht (DAC-Pins) :

DAC1 - PA4
DAC2 - PA5

Timer-Übersicht :


                         Timer Auflösung    Prescaler   Channels    Counter-Typ     DMA   CLK/MaxFrq
Advanced Control Timer : TIM1    16bit     1 bis 65536     4      Up/Down/Up+Down   JA    APB2/168MHz
                         TIM8    16bit     1 bis 65536     4      Up/Down/Up+Down   JA    APB2/168MHz

General Purpose Timer  : TIM2    32bit     1 bis 65536     4      Up/Down/Up+Down   JA    APB1/84MHz 
                         TIM3    16bit     1 bis 65536     4      Up/Down/Up+Down   JA    APB1/84MHz 
                         TIM4    16bit     1 bis 65536     4      Up/Down/Up+Down   JA    APB1/84MHz
                         TIM5    32bit     1 bis 65536     4      Up/Down/Up+Down   JA    APB1/84MHz 

General Purpose Timer  : TIM9    16bit     1 bis 65536     2            Up         NEIN   APB2/168MHz
                         TIM10   16bit     1 bis 65536     1            Up         NEIN   APB2/168MHz
                         TIM11   16bit     1 bis 65536     1            Up         NEIN   APB2/168MHz
                         TIM12   16bit     1 bis 65536     2            Up         NEIN   APB1/84MHz
                         TIM13   16bit     1 bis 65536     1            Up         NEIN   APB1/84MHz
                         TIM14   16bit     1 bis 65536     1            Up         NEIN   APB1/84MHz

Basic Timer            : TIM6    16bit     1 bis 65536     0            Up          JA    APB1/84MHz
                         TIM7    16bit     1 bis 65536     0            Up          JA    APB1/84MHz

14 Antworten auf STM32F4-Discovery-Board

  1. Joerg sagt:

    Morgen kommt mein 32F429IDISCOVERY

    Bin ja sehr gespannt, leider wird es von CoIde noch nicht unterstützt.

  2. S. Francke sagt:

    Hallo zusammen,
    es gibt neue Mainboard STM32F401 Nucleo, haben auch Anschlüsse wie Arduino.

    http://www.exp-tech.de/products_new.php?tpl=EyeCandy&page=2

  3. studentin sagt:

    Wie viel Leistung verbraucht das Discovery Board bei dessen Versorgung?

    • Joerg B. sagt:

      Das kann man nicht pauschal sagen. je nach Anwendung unterschiedlich. Da Board hat einen Jumper an dem man den Verbrauch messen kann.

  4. Tobias T sagt:

    Hallo,
    Ich habe heute mein Discovery bekommen.
    Leider hab ich die MB997C Revision erwischt.
    Diese hat einen anderen MEMS ( LIS3DSH ) statt ( LIS302DL ) drauf.
    Weiß vielleicht jemand, wo ich dafür die original Firmware und Beispiele bekomme?
    Bei ST gibt es anscheinend nur die Firmware für die Revision MB997A.

    Gruß Tobias

  5. Christian Willdoner sagt:

    Hallo,
    ich bin ein Neuling was das STM32F4 Discovery (ohne Display) angeht. Mit µC hab ich schon diverse Erfahrungen.
    Ich möchte mit 4 Mikrofonen eine Positionsbestimmung realisieren. Die 4 Mikrofone sind an den Ecken eines Quadrates zur Mitte hin ausgerichtet und sollen innerhalb des Quadrates den maximalen Geräuschpegel aufnehmen. Mit einer FFT möchte ich dann die Position bestimmen.
    Für die Aufgabe benötige ich also 4 ADCs wenn ich mich nicht täusche, habe ich da mit dem STM32F4 eine Chance das zu machen?
    Hat jemand schon Erfahrung mit Mikrofone an den STM32 anzuschließen und auszulesen?
    Gruß
    Christian

    • admin_ub sagt:

      viel zu wenig Angaben :
      1. Wie groß ist das “Quadrat”
      2. Was ist das für ein “Geräuschpegel” was muss man sich darunter vorstellen
      3. gibt es Störquellen zusätzlich zum Sender in der Mitte
      4. findet das ganze in einem Raum oder im freien statt
      5. hat die CPU Einflußmöglichkeiten auf den “Sender” (kann sie ihn triggern)
      6. Mit welcher “Genauigkeit” muss die Position bestimmt werden
      7. Welche Kenntnisse im Programmieren hast du
      8. Wieviel Zeit hast du für das Projekt
      9. Wieviel Geld hast du für das Projekt
      10. Hast du alle anderen Arten der Positionsbestimmung ausgeschlossen ?

  6. alex sagt:

    Großes Lob für diese tolle Seite!
    Toolchain laut Anleitung Installiert, deine Projekte ausprobiert, läuft super!
    so macht der Einstieg echt spaß

    danke und mfg
    alex

  7. Snaw sagt:

    Ich bin anfänger un brauche hilfe.
    Ich habe möchte werte eines SRF02 im STM32F4-Discovery auslesen per I2c und am Computer diesen Wert ansehen.
    Können Sie mir vielleicht helfen bei einem Code zur verbindung SRF02 und STM32F4-Discovery? Als Tools benutze ich Coocox.

  8. Christian Julius sagt:

    Hallo,

    weisst Du, ob man bei diesem Board ein paar Peripherigeschichten ausschlachten kann, um mehr Portpins zu bekommen? Der Beschleunigungssensor z.b. aber der liegt wohl an einem I2c, was nicht wirklich was bringt.

    Gruss,
    Christian

    • admin_ub sagt:

      du kannst alle Sensoren runterlöten, wenn du das zerstörungsfrei hin bekommst.
      Es gibt aber auch Eval-Boards ohne Peripherie, das ist vlt einfacher.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


acht − = sieben

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>