A digital timing diagram is a representation of a set of signals in the time domain. A timing diagram can contain many rows, usually one of them being the clock. It is a tool that is ubiquitous in digital electronics, hardware debugging, and digital communications. Besides providing an overall description of the timing relationships, the digital timing diagram can help find and diagnose digital logic hazards .
Most timing diagrams use the following conventions:
- Higher value is a logic
- Lower value is a logic zero
- A slot showing a high and low cost
- AZ indicates high impedance
- A greyed out slot is a don’t-care or indeterminate.
Example: SPI bus timing
The timing diagram illustrates the Serial Peripheral Interface (SPI) bus . (CPHA) and clock phase (CPHA) with respect to the data. This timing diagram shows the clock for both values of CPOL and the values for the two data lines (MISO & MOSI) for each value of CPHA. Note that when CPHA = 1 then the data is delayed by one-half clock cycle.
SPI operates in the following way:
- The master determines an appropriate CPOL & CPHA value
- The master pulls down the slave select (SS) line for a specific slave chip
- The master clocks SCK at a specific frequency
- During each of the 8 clock cycles the transfer is full duplex :
- The MISO line and reads the MISO line
- The Slave Writes on the MISO line and reads the MOSI line
- When finished the master can continue with another byte transfer or pull
When a slave’s SS line is high then both of its MISO and MOSI lines should be high impedance so to avoid disrupting a transfer to a different slave. Prior to SS being pulled low, the MISO and MOSI lines are indicated with a “z” for high impedance. Also, prior to the SS being pulled low the “cycle #” row is meaningless and is shown greyed-out.
Note that for CPHA = 1 the MISO and MOSI lines are undefined until after the first clock edge and are also shown greyed-out before that.
A more typical timing diagram