Project hardware and skills required:
ARM STM32F407VET MCU, STM32Cube library , STM32CubeMX, TrueStudio IDE v.9.2
MS4525DO Airspeed sensor over I2C interface using Interrupt to read data
SPI full duplex communication between Master and Slave modules using Interrupt APIs
MCU communication with host PC terminal over USB CDC
Project based on two modules: Master and Slave communicating over SPI interface.
Both modules are the same version each with ARM MCU STM32F407VET with 25MHx crystal running at 168 MHz .
Slave module has Avionics sensors. One of them is Airspeed sensor MS4525DO chip over I2C interface. It sends airspeed data to the Master over SPI when requesting command is received.
This task implements and delivers two processes:
1 - Slave firmware does sensor initialization (zeroing airspeed) and data reading from Airspeed sensor MS4525DO (over I2C) when request received from the Master.
2 - Master firmware MCU sending to the Slave setup data, requesting and receiving Airspeed data and after the units conversion sending Airspeed data to the PC terminal screen over CDC USB interface .
Communication data structure is provided. SPI is running full duplex at 2 MHz speed, MSBFIRST, SPI_MODE0.
Communication errors or other errors to be reported over USB CDC to the PC terminal using STM32Cube library.
Slave MCU reading MS4525DO data using Interrupt routing provided by chip when data is ready.
Links will be provided to the related hardware documentation and project details.