Motivation

Need simple serial interface for configuring registers and sending commands to an ASIC

Must allow for back pressure, so that ASIC can signal that it is done with a command or ready for new data.

Existing Standards not a good fit

SPI: No back pressure. Requires polling.

I2C: Back pressure possible through clock stretching, but complex protocol and implementation.

SACI Features

Master/Slave Serial Interface

4 Signals

  • 3 shared: saciClk, saciCmd, saciRsp
  • 1 dedicated select line per slave: saciSelL
  • Allows multiple slaves on same SACI bus. (Similar to  SPI.)

Serial data transmitted on rising edge of clock and sampled on falling edge. MSB first.

Toggling saciSelL resets Slave state machine in case of lockup.

Waveforms

Writes

  • Master lowers saciSelL
  • Master sends Start Bit, Write Bit, Command, Address and Data

  • Slave responds with Start Bit, Write bit, Command and Address
  • Master optionally raises saciSelL when done.

Reads

  • Master lowers saciSelL
  • Master sends Start Bit, Read Bit, Command and Address

  • Slave responds with Start Bit, Write bit, Command, Address and Data
  • Master optionally raises saciSelL when done.


Presentation

All of this information in PPT form: SACI.pptx


Contact

Ben Reese

bareese@slac.stanford.edu

  • No labels