The MHO900 keeps the DHO's RK3399 and Rigol's own front-end and ADC chips, then doubles the ADCs, swaps the Zynq for a much larger FPGA loaded from a file at every boot, and adds a two-channel generator with its own microcontroller. This page checks what has been published about it against what we read on our own MHO934.
Signal flows left to right across the top: input, front end, the two ADCs, the FPGA. Solid lines carry data; dashed lines are control from the RK3399. Parts marked * we read from published teardown photos of an MHO98, the same family, rather than from our own board.
verified on our unit means we read it ourselves on our MHO934. photo means we read the marking from Dave Jones's published MHO98 teardown photos: the part is certain, but another production board could differ. public is a published claim we have not confirmed. unknown means nobody has shown it.
| Part | Job | Connected by | How we know |
|---|---|---|---|
| Rockchip RK3399 | Runs everything. 2 × Cortex-A72, 4 × Cortex-A53, Mali-T860 | — | verified on our unit |
| 4 GB RAM | SoC memory | — | verified size. photo two CXMT parts, likely LPDDR4 |
| 32 GB SD card | The only storage | SD bus | verified SD protocol, 29.2 GiB |
| Fudan FMK230T | Acquisition FPGA on most boards (hardware codes 2 to 7), Rigol-marked RT6888IF | PCIe Gen2 ×4 | verified our unit loads the image whose header names the FMK230T, ID code 0x02236143. photo marking |
| Xilinx XC7K160T | The same design, built for hardware code 1 | PCIe | verified in the firmware (ID code 0x0364C093). unknown whether such boards shipped |
| DDR3, 64-bit | Sample memory | The FPGA's own memory controller | verified depth the engine uses. photo four GigaDevice x16 parts |
| Rigol RT8847IQ ×2 | 12-bit ADCs, 8 cores each: 4 / 2 / 1 GSa/s for 1 / 2 / 4 channels | 56 LVDS lanes | verified both brought up by our engine. photo two markings |
| Rigol RT1642 ×4 | Front end per channel, with a 50 Ω mode | Bit-banged SPI | verified the same register map as the DHO's |
| TI LMK04826 | Clock: 10 MHz in, VCO 2 GHz, ADC and transceiver clocks | Bit-banged 3-wire bus | verified chip ID and PLL lock read back. photo marking |
| TI DAC38J82 | Dual generator DAC | JESD204B from the FPGA's transceivers | photo marking. verified the FPGA's link-up flag |
| GigaDevice GD32F350K8 | Generator board MCU: relays and output stages | UART, 115200 baud, text commands | verified the link: it answers an identity query. photo marking |
| TI THS3491 ×2 | Generator output drivers | — | photo and public (Norbert Kiszka) |
| Front panel MCU | Keys, knobs, LEDs | UART at 1.5 Mbaud | verified the same protocol as the DHO. unknown part |
| 7″ panel | 1024 × 600 | MIPI-DSI, 4 lanes, 68 MHz | verified |
| FocalTech FT5422 | Capacitive touch, 10 points | I²C, 0x38 | verified chip ID 0x5422 |
| HDMI | The RK3399's own transmitter | — | verified |
| Motorcomm YT8512C | Ethernet PHY, 100 Mb/s | RMII | verified driver and link. photo suffix |
| Epson RX8010SJ | Real-time clock (the DHO's board leaves it off) | I²C | verified |
| RK808 + SYR827/828 | Power management | I²C | verified |
| HUSB238, TI TPS51397 | USB-C 20 V input, main buck | — | photo |
The MHO900 firmware carries two acquisition bitstreams and picks one from a hardware code wired on the board. We parsed both, packet by packet, as AMD/Xilinx's configuration guide (UG470) describes the format:
| Image for code 1 | Image for codes 2 to 7 | |
|---|---|---|
| Part named in the header | 7k160tffg676 | FMK230T |
| ID code it writes | 0x0364C093 (Xilinx XC7K160T) | 0x02236143 (not a Xilinx code) |
| Configuration frames | 16,560 | 20,520 |
| Configuration bits | 53,540,576: exactly Xilinx's figure for the XC7K160T | 66,339,296: no Xilinx part has this size |
What the FPGA does, block by block, is on Inside the Rigol FPGA.
Where a published claim and our own reading of the unit disagree, both are here, with thanks to whoever raised it.
corrected One teardown post named it FM230T. The bitstream's own header says FMK230T, and distributors sell it as the FMK230T8. dc101's reading of the same file on EEVblog agrees.
corrected The teardown video called the big chip an acquisition ASIC, with a hint that it was not what it seemed. It is an FPGA: the RK3399 configures it from a bitstream file at every boot and waits for its done signal.
corrected Our own earlier text said this. There are two RT8847IQ ADCs with eight cores each: 16 cores, interleaved across two chips.
clarified That is the SD card the scope boots from; there is no separate eMMC. Forum members found the card, and our unit's kernel sees an SD-protocol device of 29.2 GiB.
partly The processor, the front-end chip and the ADC chip are the same, and the software grew from the DHO's. The FPGA, its loading and memory, the clock chip, the number of ADCs, the PCIe width and the whole generator are new.
confirmed Two ADCs, a 2 GHz ADC clock, and 4 GSa/s only with one channel.
consistent The 50 Ω mode is a path in the RT1642's own register set, switched together with the range lines. Whether the resistor itself is on the chip we cannot tell from software.
open Rigol's help gives this for UltraAcquire. We have not measured triggered rates on our MHO yet. On the DHO's FPGA the same kind of record sequence needs about 23.8 µs per frame (see the FPGA page).
Thank you to Dave Jones (EEVblog #1717 and its photo album, whose markings we read but do not copy), dc101 (the first bitstream reading), PELL and thm_w (the FPGA marking), 0xdeadbeef, Norbert Kiszka, Martin72, 2N3055, SiliconWizard and faveri97.
Have a photo of an MHO900 board, especially one with a Xilinx-marked FPGA? [email protected].