// application note
AN0011 Measuring CMIS firmware update time with the Binho Supernova
Updating firmware on an optical module is slow, and the obvious remedy is a faster management bus. Working through the CMIS access limits and the Table 10-4 timing parameters shows that the wire is not where the time goes: for a 1 MiB image the bus clock accounts for a small fraction of the total and the per-block hold-offs account for most of it. This application note derives the budget from the specification, states plainly which numbers are arithmetic and which would have to be measured, and supplies a command that times the access phases of a real module against the specification ceilings so that a host can find out which hold-offs its module actually takes.
- Products
- Binho Supernova
- Protocols
- I2C
- Topics
- CMIS
- Revision
- Rev 1.0 · November 6, 2026
// outcomes
What you'll walk away with
The document covers the arithmetic of a CMIS firmware download: the access length limits, the block sizes of the two Write Firmware Block commands, and the Table 10-4 hold-off parameters. It supplies a command that times the read, page change and Common Data Block access phases of a module against those ceilings.
It does not write firmware to a module, and the supplied utility has no command that does. It does not cover the firmware update state machine, image signing, or the Run and Commit sequence beyond noting their timing. AN0008 covers the register model and is a prerequisite.
// background
Background
I3C single data rate runs roughly 31 times faster than I2C Fast-mode on the wire. A host engineer facing a slow module firmware update reasonably expects a faster management bus to make it roughly 31 times quicker.
Working the arithmetic through the CMIS access limits gives a different answer, and the difference is actionable: the choice of which Common Data Block command carries the payload matters more than the choice of bus.
This note derives the budget, and supplies a way to find out where a specific module actually spends its time rather than where the specification permits it to.
This document does not state a measured throughput. Section 7 explains why, and what would have to be run to state one.
// applicable devices
Applicable devices
| Item | Role | Basis |
|---|---|---|
| Binho Supernova | Host adapter | Exercised, Section 7 |
| Binho Pulsar | Host adapter | Not exercised |
| Any CMIS managed module | Target | Not exercised. The measurement used an adapter in target mode |
The budget in Section 4 is arithmetic, not measurement. It is derived from OIF-CMIS-05.3 sections 5.2.2 and chapter 9 and from Table 10-4, and is reproducible with
python cmis_mci.py budget. No row of it has been checked against a module.
// what's covered
What's covered in the note
- 01 Introduction
- 02 Required equipment and software
- 03 The four facts the budget rests on
- 04 The budget
- 05 Measuring a real module
- 06 What to do with the finding
- 07 Measured results
- 08 Troubleshooting
The full procedure, measured results, and reference code are in the PDF and the assets archive.
// materials
What you'll need
Binho Supernova USB host adapter for I3C, I2C, SPI & UART View product // trusted by engineering teams at
+ hundreds more
// related notes
Related Application Notes
// newsletter
Get new application notes
New notes, firmware releases, and tool updates from Binho. No spam, unsubscribe anytime.
Put it on the bench
Every step in AN0011 was run on the Binho Supernova. Get the hardware to reproduce it, or talk to our engineers about your I2C bring-up.