Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

(2) MB Commands require the XPS_I2C_SLAVE custom IP block and a proper FX2 interrupt handler (i2c_slave_int_handler() function in interrupt.c) running on MicroBlaze.
The I2C bus is used to deliver a MicroBlaze API Commands Command (MB CommandsCommand) to FPGA's MicroBlaze through FPGA's XPS_I2C_SLAVE custom IP blockin particular , the I2C bus is used to write the MB Command in FX22MB_REGsThe I2C bus is also used to retrieve the status of the MicroBlaze (SET_INTERRUPT commandFX22MB_REG0_GETVERSION commandGET_INTERRUPT command). See  Reference Architecture Layer.

MB Commands require the XPS_I2C_SLAVE custom IP block and a proper FX2 interrupt handler (i2c_slave_int_handler() function in interrupt.c running on MicroBlaze); the FX2 interrupt handler is called to handle the signal interrupt xps_i2c_slave_0_IP2INTC_Irpt. The i2c_slave_int_handler() function actually execute the I2C delivered MB Command; when MicroBlaze's software wants to send information to the host computer (through USB FX2 microcontroller), it should write MB2FX2_REGs of XPS_I2C_SLAVE custom IP block. The IP block will rise a interrupt (USB_INT => INT0) at pin INT0 output as a flag. The FX2 microcontroller will manage the interrupt this flag indication (INT0=1 => FPGA_INT0=1) and ; after this, the FX2 microcontroller could read the register registers (MB2FX2_REGs) of XPS_I2C_SLAVE custom IP block.