Arm DesignStart FPGA Cortex-M1 Environmental Monitor

The Cortex-M1 is ideal for implementations in low-cost FPGA Spartan 7 devices.

Introduction

Many systems increasingly need to understand their environment. This maybe to optimize operating parameters for best operation given the environment. Alternatively, it may be to provide health and usage monitoring (HUMS) of the system such that the aging of the system can be monitored helping prognostics.
These systems need to be low power and compact, they also need to be able to interface with a range of sensors, for example, temperature, humidity, pressure, acceleration, magnetic field, etc.
Working with these sensors requires the ability to support interfaces such as SPI, UART, I2C etc.
In this project we are going to look at how we can create a simple environmental monitor which uses a cost optimized Xilinx FPGA containing an Arm Cortex-M1 soft core processor available as part of the Arm DesignStart FPGA.

Why the Cortex-M1

The Cortex-M1 is available for use in Xilinx FPGAs as part of the Arm DesignStart program. The Cortex-M1 is 32-bit RISC microprocessor based on the ARMv6-M architecture and intended for control, management and other constrained tasks.
Implementing the Cortex-M1 within our FPGA, is very simple and offers good code density so the implementation requires fewer Block RAMS over other embedded processing options.
Combined all of these features make it ideal for our environmental monitoring application.

Hardware components

  • Digilent Arty S7-50
  • Digilent Pmod NAV
  • Digilent Pmod HYGRO

Software apps and online services

  • Xilinx Vivado Design Suite
  • Arm Keil