Mira‐220 camera to HDMI display 25.1 - ArrowElectronics/Agilex-5 GitHub Wiki

Introduction

This reference design uses only FPGA fabric resources. A NIOS®V soft core is used to initialize the various IP blocks and drive the demo. The design uses a Mira-220 RGB MIPI camera from ams OSRAM to capture video in 1600x900 at 60fps rate. The Video is triple-buffered in LPDDR4 then displayed to an HDMI monitor in 1920x1080 at 60fps using the Analog Devices ADV7511 on the board. There are a few IP blocks from the Altera® Video and Vision Processing (VVP) Suite in the video path.

Prerequisites

  • Review Getting Started
  • Host machine running Linux or Windows.
  • Internet connection to download the tools and clone the repositories from github. If you are behind a firewall you will need your system administrator to enable you to get to the git trees.
  • Quartus Prime Pro version 25.1

Set up the Environment

Open a shell (niosv command shell for Windows)

    $ mkdir agilex_5
    $ cd agilex_5

Build the Quartus Reference Design

This can be built under Windows or Linux.

Clone the repository. Open a shell (niosv command shell for Windows)

    $ git clone -b QPDS25.1_REL_GSRD_PR https://github.com/ArrowElectronics/refdes-agilex5 refdes-agilex5
    $ cd refdes-agilex5/axe5_eagle/mipi_hdmi_mira220

Open Quartus and load the Project located in the folder shown above

    $ File --> Open Project. Select axe5_eagle_mipi_hdmi.qpf

Add pin assignments

    $ View --> Console
    $ In the Tcl Console window type 'source sources/axe5_eagle_mipi_hdmi_pin.tcl' and press Enter

Compile the Quartus project

    $ Processing --> Start Compilation

The following file is created:

  • axe5_eagle/refdes-agilex5/axe5_eagle/mipi_hdmi_mira220/axe5_eagle_mipi_hdmi.sof

Configure the Board for the Demo

The following components are required for the demo:

  • AXE5-Eagle (TEI0185) development board,
  • 12VDC 40W power supply
  • Arrow-USB-Blaster (TEI-0004-02) for downloading to the FPGA
  • Trenz Camera Adapter (Trenz CR00300).
  • ams OSRAM MIRA220_RGB_mini_SB imager board (comes with flat ribbon cable)
  • Lens and Lens holder
  • Quartus Prime 25.1 Pro, which is used for the hardware development.
  • Agilex-5 and NIOS-V licenses are necessary but free.
  • HDMI cable
  • HDMI display monitor or TV

Assemble the Hardware

  • Plug the Arrow-USB-Blaster (TEI0004-02) into J34 with the USB connector facing to the right.

  • Connect the power supply to the AXE5-Eagle J29 barrel connector
  • Plug the AC-DC adapter into an AC outlet
  • Add the len holder an lens over the imager.
  • Attach the Flat Ribbon Cable to the camera board.
  • Attach the other end of the Flat Ribbon Cable to the CRUVI camera adapter board (CR00300-01)
  • Insert the CRUVI adapter into the C_HSX connector and apply the small screw to secure it in place.
  • Connect the HDMI cable between J11 and the HDMI monitor/TV.

Program the FPGA configuration file

The FPGA JTAG chain will expose 1 or 2 endpoints when Auto Detected from the programmer.

Open the Quartus Programmer

    $ Tools --> Programmer

Detect the JTAG chain

    $ Processing --> Auto Detect

Select the A5EC065BB32AE4SR0 device in the topology diagram

Program the device

    $ Edit --> Change File. Select output_files/axe5_eagle_mipi_hdmi.sof
    $ Click the 'Program/Configure' check box.
    $ Processing --> Start

This will take a few seconds to complete.

Run the demo

RGB_LED0 will start Red. It will go from Red to Green after the NIOS-V is finished initializing the camera and IP blocks. The LED changes color from Green to Blue when valid data is in the Video Frame Buffer.

Press the FPGA_PB2 button to increase camera exposure. Press the FPGA_PB3 button to decrease camera exposure. There are 12 exposure settings

Using a terminal emulator such as TeraTerm at 19200 baud, via the COMx port on the Arrow Blaster, exposes more commands that can be executed by the user.


Return - Table of Contents
Return - AXE5-Eagle Platform