NUCLEO-F446RE: Difference between revisions

From Embedded Workshop
Jump to navigation Jump to search
Line 22: Line 22:
  FPU, single precision
  FPU, single precision
  DSP instructions
  DSP instructions
  QSPI interface: https://www.compel.ru/wordpress/wp-content/uploads/2018/05/en.dm00227538.pdf
  QSPI interface: https://www.st.com/resource/en/application_note/an4760-quadspi-interface-on-stm32-microcontrollers-and-microprocessors--stmicroelectronics.pdf


==Hardware==
==Hardware==

Revision as of 10:55, 30 May 2023

The NUCLEO-F446RE development board uses the STM32F446RE as the target processor.
This board is a rock solid development board with on-board ST-Link loader / debugger, using an STM32F103CBT6.

Processor: STM32F446RE

512KB Flash
128KB SRAM
180MHz CPU clock
1.7 to 3.6 V application supply and I/Os
3× 12-bit, 2.4 MSPS ADC: up to 24 channels
2× 12-bit D/A converters
17 timers: 2x watchdog, 1x SysTick timer, twelve 16-bit and two 32-bit timers up to 180 MHz
4 USARTs
4 SPI/I2S (up to 45 Mbit/s)
4 I2C
2 CAN (2.0B)
1 RTC: sub-second accuracy, hardware calendar
1 SDIO interface (SD/MMC/eMMC)
1 USB 2.0 full-speed device/host/OTG controller with on-chip PHY
8 to 14 bit parallel camera interface (54Mbytes/sec)
1 CRC calculation unit
FPU, single precision
DSP instructions
QSPI interface: https://www.st.com/resource/en/application_note/an4760-quadspi-interface-on-stm32-microcontrollers-and-microprocessors--stmicroelectronics.pdf

Hardware

  • Green LED, LD2, connected to PA5, illuminates when driven high
  • Blue PushButton, B1, connects to PC13, grounding the signal when pressed
  • 32,768Hz crystal oscillator, LSE, used for Real Time Clock (RTC)
  • 8MHz HSE, is provided by the 8MHz crystal oscillator from the attached ST-Link, into PD0
  • UART2 connects the target processor to the ST-Link, providing a USB COM port connection on the host computer. Uses PA2 for TX, and PA3 for RX.
  • ST-Link connects to TCK (PA14), TMS (PA13)

Firmware

https://www.st.com/en/microcontrollers-microprocessors/stm32f446re.html
https://www.st.com/resource/en/datasheet/stm32f446re.pdf
https://www.st.com/en/evaluation-tools/nucleo-f446re.html
https://www.st.com/en/embedded-software/stm32cubef4.html

ST Website for the STM32F4 family: https://www.st.com/en/microcontrollers-microprocessors/stm32f4-series.html

Why I like this board

I like the speed, RAM size and FLASH size, and the large selection of peripherals on the board.
 
Besides the on-board JTAG, and USB-UART functionality, it has a QSPI interface that requires
more in-depth examination on my part.
(The ability to directly execute code from an external serial FLASH device intrigues me.)
This functionality provides a mechanism for OTA, in that a new copy of a program can be placed
in an alternate section of FLASH, and then executed just like the first copy, using the windowing feature.

MicroPython:
This board supports MicroPython. I've used this to learn/work with CAN bus devices.
Just "import" some of the many MicroPython packages into your Python program.
https://micropython.org/download/NUCLEO_F446RE/

I use STM32CubeProgrammer to flash the .hex file.

Since MicroPython is open source, I've been able to modify and recompiled it
to add support for the second CAN bus interface. (Pretty easy)

Projects

STM32-OTG-CDC