spinal.lib.com

i2c

package i2c

Visibility
  1. Public
  2. All

Type Members

  1. case class I2c() extends Bundle with IMasterSlave with Product with Serializable

    I2C interface definition

  2. class I2cEdgeDetector extends Area

    Detect the rising and falling Edge of the SCL signals

  3. class I2cIoFilter extends Area

    Filter the SCL and SDA input signals

  4. class I2cIoMaster extends Component

    I2C Master IO Layer _ | |<------- I2C ------->| | | Master | | Slave | CMD Stream ->||-> RSP Flow |_|

    I2C Master IO Layer _ | |<------- I2C ------->| | | Master | | Slave | CMD Stream ->||-> RSP Flow |_|

    Sequence :

    CMD : START DATA DATA DATA DATA STOP Master : | START | DATA | | DATA | | STOP | Slave : | | | DATA | | DATA | | RSP : DATA DATA DATA DATA

  5. case class I2cIoMasterCmd() extends Bundle with Product with Serializable

    Define the command interface

  6. case class I2cIoMasterConfig(g: I2cIoMasterGenerics) extends Bundle with Product with Serializable

    Runtime configuration of the I2C master

  7. case class I2cIoMasterGenerics(samplingSize: Int = 3, samplingClockDividerWidth: BitCount = 10 bits, timerClockDividerWidth: BitCount = 20 bits, timeoutBaudRatioLog2: Int = 9) extends Product with Serializable

    Global configuration of the I2C Master

    Global configuration of the I2C Master

    samplingSize

    : Number of sampler to generate a bit

    samplingClockDividerWidth

    : Width of the clockDivider value

    timerClockDividerWidth

    : Width of the clockDivider value

  8. case class I2cIoMasterRsp() extends Bundle with Product with Serializable

    Define the response interface If you want to read data, set data = True

    Define the response interface If you want to read data, set data = True

    For the slave : (FREEZE) is done with the response stream.

  9. class I2cIoSlave extends Component

    I2C Slave IO Layer :

    I2C Slave IO Layer :

    This component manages the low level of the I2C protocol. (START, STOP, Send & Receive bit data)

    | |<------- I2C ------->| | | Master | | Slave | || RSP Stream --->||---> CMD Flow

    Write sequence :

    RSP : DATA DATA DATA DATA DATA Master : | START | DATA | | DATA | DATA | STOP | Slave : | | | DATA | | | | CMD : START DATA DATA DATA DATA STOP

    Restart sequence :

    RSP : DATA DATA DATA DATA DATA Master : | START | | DATA | START | DATA | STOP | Slave : | | DATA | | | | | CMD : START DATA DATA START DATA STOP

  10. case class I2cIoSlaveCmd() extends Bundle with Product with Serializable

    Define the command interface

  11. case class I2cIoSlaveConfig(g: I2cIoSlaveGenerics) extends Bundle with Product with Serializable

    Run-time configuration for the I2CSlave

  12. case class I2cIoSlaveGenerics(samplingWindowSize: Int = 3, samplingClockDividerWidth: BitCount = 10 bits, tsuDatWidth: BitCount = 6 bits, timeoutWidth: BitCount = 20 bits) extends Product with Serializable

    Generics for the I2C Slave

    Generics for the I2C Slave

    samplingWindowSize

    : deepth sampling

    samplingClockDividerWidth

    : Width of the clock divider

  13. case class I2cIoSlaveRsp() extends Bundle with Product with Serializable

    Define the response interface If you want to read data, set data = True

    Define the response interface If you want to read data, set data = True

    For the slave : (FREEZE) is done with the response stream.

Value Members

  1. object I2cIoMasterCmdMode extends SpinalEnum

    Mode used to manage the slave

  2. object I2cIoSlaveCmdMode extends SpinalEnum

    Mode used to manage the slave

Ungrouped