nuttx/Documentation/platforms/arm/stm32f4/boards/stm32f401rc-rs485/index.rst

195 lines
4.1 KiB
ReStructuredText
Raw Normal View History

=================
stm32f401rc-rs485
=================
This page discusses issues unique to NuttX configurations for the
NuttX STM32F4-RS485 development board.
.. figure:: stm32f401rc_rs485.jpg
:align: center
Board information
=================
This board was release on NuttX International Workshop 2023 and developed based on
STM32F401RCT6 microcontroller.
STM32F401RCT6 microcontroller features:
- Arm 32-bit Cortex®-M4 CPU with FPU
- 128 Kbytes of Flash memory
- 64 Kbytes of SRAM
- Serial wire debug (SWD) & JTAG interfaces
- Up to 81 I/O ports with interrupt capability
- Up to 11 communication interfaces
- Up to 3 I2C interfaces
- Up to 3 USARTs
- Up to 4 SPIs
- SDIO interface
- USB 2.0 full-speed device/host/OTG controller with on-chip PHY
The board features:
- Digital I2C Temperature Sensor (TMP75)
- 2K bits (256x8) I2C EEPROM
- On-board RS485 Transceiver
- Two Analog Input Stages with Amplifier Buffer
- Two Analog Output Stages with Amplifier Buffer
- MicroSD Connector supporting 1 or 4-bit bus
- Four User LEDs
- Four User Buttons
- USB for DFU (Device Firmware Update) and USB device functionality, as well as powering the board
- Onboard voltage regulator from 5V to 3.3V
- SWD Pins for use as STLink (Pin header) and TC2030-IDC 6-Pin Tag-Connect Plug-of-Nails™ Connector
- Crystal for HS 8MHz
- Crystal for RTC 32.768KHz
Board documentation:
https://github.com/lucaszampar/NuttX_STM32F4_RS485_DevBoard
As F4 series have a USB DFuSe-capable BootROM [AN2606], the board can be flashed
via `dfu-util` over USB, or via `stm32flash` over UART without any debuggers.
LEDs
====
The STM32F4-RS485 has 4 software controllable LEDs.
===== =====
LED PINS
===== =====
LED_1 PC0
LED_2 PC1
LED_4 PC2
LED_5 PC3
===== =====
User Buttons
============
The STM32F4-RS485 has 4 user switches.
======= =====
SWITCH PINS
====== =====
SWIO_1 PB13
SWIO_2 PB14
SWIO_3 PB15
SWIO_4 PC6
====== =====
UARTs
=====
The STM32F4-RS485 has 1 USART available for user.
USART2
------
========== =====
UART/USART PINS
========== =====
CTS PA0
RTS PA1
TX PA2 *Warning you make need to reverse RX/TX on
RX PA3 some RS-232 converters
CK PA4
========== =====
SDCARD
=====
The STM32F4-RS485 has 1 SDCard slot connected as below:
========== =====
SDIO PINS
========== =====
SDIO_D0 PC8
SDIO_D1 PC9
SDIO_D2 PC10
SDIO_D3 PC11
SDIO_DK PC12
========== =====
EEPROM
======
The STM32F4-RS485 development board has serial EEPROM HX24LC02B, with 2k bits (256x8) and internally
organized with 32 pages of 8 bytes each. It is connected through I2C as below:
====== =====
I2C PINS
====== =====
SDA PB7
SCL PB8
====== =====
Temperature Sensor
==================
The STM32F4-RS485 development board has a temperature sensor TMP75 (TMP75AIDR) connected through I2C as below:
====== =====
I2C PINS
====== =====
SDA PB7
SCL PB8
====== =====
RS485 Transceiver
=====
The STM32F4-RS485 development board has a half-duplex RS-485 transceiver, the BL3085B it is connected
through USART2 as below:
========== =====
USART2 PINS
========== =====
USART2_RX RO
USART2_RTS DE, /RE
USART2_RX DI
========== =====
A/D Converter
=====
The STM32F4-RS485 development board has two Analog to Digital converters with Amplifier Buffer (1COS724SR)
and connected as below:
======= =====
PWM PINS
======= =====
PWM_1 PB6
PWM_2 PA6
======= =====
D/C Converter
=====
The STM32F4-RS485 development board has two Digital to Analog converters with Amplifier Buffer (1COS724SR)
and connected as below:
======= =====
ADC PINS
======= =====
ADC_1 PA0
ADC_2 PA4
======= =====
Configurations
==============
Each stm32f401rc-rs485 configuration is maintained in a sub-directory and
can be selected as follow::
tools/configure.sh stm32f401rc-rs485:<subdir>
Where <subdir> is one of the following:
Configuration Directories
-------------------------
nsh
---
Configures the NuttShell (nsh) located at apps/examples/nsh. This
configuration enables a serial console on UART2.