NXP IMX6Q + FPGA-Based Fully Automatic Blood Analyzer Solution
Fully automatic blood cell analyzers — known clinically as complete blood count (CBC) analyzers, hemocytometers, or blood cell counters — are among the most widely deployed instruments in clinical laboratories worldwide. They automate the detection and classification of red blood cells, white blood cells, and platelets within a defined volume of whole blood, replacing the laborious and error-prone manual differential count. Embedding this capability into a compact, cost-effective embedded platform is a recurring design challenge: the system must drive precision analog front-ends, communicate with FPGA-based signal processing logic, render a clinician-friendly GUI, and meet strict medical reliability standards — all simultaneously. This post outlines a solution architecture that tackles exactly that combination using the NXP i.MX6Q application processor paired with an FPGA co-processor.
Why i.MX6Q for Medical Instrumentation
The NXP i.MX6Q (Quad) is a member of NXP's i.MX6 Cortex-A series, integrating four ARM Cortex-A9 cores running at up to 1 GHz. The quad-core configuration is well suited to medical instruments that must do several things in parallel: one core can manage real-time communication with peripheral sub-systems (motor controllers, reagent dispensers, optical detectors), another can run the Linux-based application stack, and headroom remains for background data logging and network connectivity.
Key hardware attributes of the i.MX6Q core board used in this solution:
- Processor: Quad-core ARM Cortex-A9 @ 1 GHz
- PCB construction: 12-layer immersion gold (ENIG) process — immersion gold provides a flat, oxidation-resistant surface finish that is critical for high-density BGA footprints and improves solderability and long-term contact reliability in environments subject to humidity and chemical reagent vapors
- Display interfaces: Multiple output types supported (LVDS, HDMI, parallel RGB), allowing the same core module to drive everything from a 7-inch resistive touchscreen at the instrument panel to a larger capacitive display for a workstation-class UI
- Multimedia acceleration: On-chip Vivante GC2000 3D GPU and dedicated hardware video encode/decode (H.264), ensuring the GUI renders smoothly even when overlaying real-time cell count histograms, scatter plots, and video from a microscope camera
The ENIG finish and multi-layer stackup are not mere marketing points in this context: medical instruments operate in environments where reagents and cleaning agents can degrade lesser PCB surface treatments, and the signal integrity requirements of a 1 GHz SoC demand controlled impedance on every high-speed trace.
Role of the FPGA in the Signal Chain
A blood cell analyzer's core detection mechanism — typically impedance-based (Coulter principle), laser light-scattering, or a hybrid of both — generates high-frequency analog pulses that must be digitized, filtered, and classified in real time. An FPGA handles this front-end signal processing work far better than the application processor alone:
- Deterministic timing: pulse width and amplitude must be captured within microsecond windows; an FPGA delivers cycle-accurate capture without OS jitter
- Parallel processing: simultaneous acquisition from multiple detector channels (forward scatter, side scatter, fluorescence in multi-parameter analyzers)
- Custom digital filtering: matched filters and threshold logic implemented in programmable logic run at ADC clock rates without CPU involvement
- Motor and fluid sequencing: precision timing for stepper motors driving the sample aspiration and reagent mixing subsystems
The i.MX6Q communicates with the FPGA over a high-speed parallel bus or SPI/QSPI interface, receiving pre-processed cell event data rather than raw ADC streams. This division of labor keeps the Linux application stack responsive while the FPGA maintains real-time guarantees.
Solution Topology
The solution topology diagram (shown above) illustrates how these subsystems connect. At the center sits the i.MX6Q core board, interfacing outward to:
- The FPGA co-processor handling analog front-end control and real-time signal acquisition
- The display subsystem (touchscreen panel + GPU-accelerated GUI)
- Storage (eMMC/SD for the OS and patient result database)
- Ethernet/Wi-Fi for LIS (Laboratory Information System) connectivity
- USB for barcode readers, external drives, or firmware update ports
- Serial interfaces (UART/RS-485) for motor controllers and reagent management boards
Why This Architecture Scales
The combination of an i.MX6Q running embedded Linux and an FPGA handling deterministic I/O is a proven pattern in mid-to-high-throughput clinical analyzers. Linux provides the ecosystem for a full-featured Qt or web-based GUI, DICOM/HL7 integration libraries, and over-the-air update infrastructure. The FPGA provides the hard real-time layer that Linux cannot guarantee. The 12-layer immersion gold board design ensures the solution can pass EMC and safety certifications (IEC 61010-2-101 for in-vitro diagnostic equipment) without hardware redesigns driven by signal integrity failures.
For OEM manufacturers targeting the 3-part or 5-part differential CBC instrument market, a validated i.MX6Q + FPGA module significantly shortens time-to-certification compared to starting from discrete components, while the multiple display interface options allow the same hardware platform to serve both entry-level clinic instruments and higher-end hospital analyzers.