Skip to main content

// 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

  1. 01 Introduction
  2. 02 Required equipment and software
  3. 03 The four facts the budget rests on
  4. 04 The budget
  5. 05 Measuring a real module
  6. 06 What to do with the finding
  7. 07 Measured results
  8. 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 Binho Supernova USB host adapter for I3C, I2C, SPI & UART View product
Software Mission Control 3 or the Cosmic SDK (Python, C / C++ / C#). Get the software
Files The reference scripts and assets used in this note. Download the assets

// trusted by engineering teams at

+ hundreds more

// 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.