Firmware Development for FPGA-Based Microscope
The project in a nutshell:Â we developed software for an FPGA-based microscope used for biomedical imaging, materials science, and industrial inspection. Our firmware update system allowed the client to migrate their product to a more advanced Zynq Ultrascale+ SoM FZ3 from MYIR and replace a discontinued hardware platform. Â
â–ª Project Overview â–ª
Client & Challenge Â
We engaged our engineers with expertise in FPGAs, firmware, and signal processing to develop low-level software for the microscope. The other group – a mixed team of our and customer engineers – created the necessary drivers, libraries, and ensured compatibility with the microscope software.
We met bi-weekly to discuss project progress, solve problems and monitor compliance with the project goals. Communications were carried out using Microsoft Teams and Jira to ensure that both parties had a common viewpoint.
Â
Solution
1. Our Interaction with ClientÂ
We engaged engineers with expertise in FPGAs, firmware, and signal processing to develop the microscope firmware. The other group – a mixed team of our and customer engineers – created the necessary drivers, libraries, and compatibility with the microscope software. Â
The customer and the contractor met bi-weekly to discuss project progress, solve problems and monitor compliance with project goals. Communications were carried out using Microsoft Teams and Jira to optimise the exchange of information and ensure that both parties had a common viewpoint. The Promwad team provided regular updates and progress reports to the customer.Â
2. Software DevelopmentÂ
Our engineers developed firmware for the microscope with a signal generator to drive a 2D scanner. The new firmware was successfully integrated into the customer’s hardware platform and replaced an outdated one.Â
We validated our new design on Zynq Ultrascale+ using the ZCU102 evaluation board from AMD (Xilinx) for prototyping and MYIR FZ3 SoM as our target hardware.Â
FZ3 card top-view. Source: myirtech.com
This is the basic architecture of the microscope:Â
The upgraded microscope features:
- 4 Ñ… UARTs (up to 230400 baud, reconfigurable during runtime from Linux).
- 1 Ñ… RS485 interface to control the stepper motor.
- 2 Ñ… SPI interfaces to read out laser head diagnostics and control intensity.
- SPI frequency is reconfigurable during runtime from Linux.
- 18 Ñ… GPIO.
- Petalinux 2022.1.
- Boot from SD cards.
- FPGA bitstream updating via Ethernet.Â
Signal generator features:
- Up to 12 digital channels to enable lasers and control camera exposure.
- Up to 4 analogue channels to control scanner position on a plane.
- The synchronisation between all digital and analogue channels.
- Selectable DAC interface for analogue channels: SPI or XY2-100.
- Configurable point generation frequency (1kHz to 200kHz).
- Configurable frequency for SPI/XY2-100 (1kHz to 15MHz).
- Automatic intermediate point generation using a second-degree polynomial for analogue channels.
- Status and diagnostic signals are accessible for Linux.Â
 The diagram shows the main blocks of the new hardware and software platform:Â
Our software architecture was based on the Petalinux version 2021.2. Â
We implemented the driver for the signal generator IP using the UIO subsystem. Also, our engineers created the user pace library written in Rust; it was used directly by the microscope software developed by our client.Â
The partition layout for internal eMMC and SPI NOR flash was customised according to the customer’s requirements, and we provided install scripts to flash the firmware on initial setup. Â
Also, we integrated the RAUC update module with the A/B update schema. We configured dynamic loading of the FPGA bitstream so it could be updated with the software.Â
Business ValueÂ
Thanks to our support in software development, the customer received an upgraded microscope with a signal generator for a 2D scanner. The outdated hardware was replaced with Zynq Ulrtascale+ SoM FZ3 from MYIR that will be supported for many more years, guarantee continuous deliveries, and provide easy improvements for currently implemented features.Â
The developed firmware will become a part of the software stack for the future microscopes produced by our client. Runtime configurable controllers guarantee a flexibility, and there will be no need to rebuild an FPGA project for each configuration. A single build is sufficient for plenty of devices. Bitstream remote update brings additional flexibility for support activities: the firmware can be updated from the cloud.Â
With FPGA software and hardware redesign, the enhanced microscope can be applied across a wide range of fields where high-speed imaging, precise control, and adaptable configuration are key elements. Applications include biomedical imaging, materials science research, industrial inspection, and microelectronics.