XPS_I2C_SLAVE | XPS_NPI_DMA is NOT necessary | XPS_FX2 is NOT necessary | |
---|---|---|---|
(1) (1) | |||
(2) | (3) (3) (3) | (3) (3) (3) | |
LEGEND:
(1) FX2 API Commands do not require any of these reference custom IP block.
Exception: SET_INTERRUPT and GET_INTERRUPT
will retrieve an autoresponse byte array of x byte (maximum 32) at y I2C address (trough I2C) if the pin INT0 has been rised before and the FX2 microcontroller has been already prepared for autoresponse (SET_INTERRUPT).
and have been originally created for XPS_I2C_SLAVE (x=12 byte and y=0x3F) to retrieve the "reply" (MB2FX2_REGs) of MB Command from MicroBlaze.
(2) MB Commands require the XPS_I2C_SLAVE reference custom IP block and a proper FX2 interrupt handler (i2c_slave_int_handler() function in interrupt.c) running on MicroBlaze.
(3) XPS_NPI_DMA and XPS_FX2 custom IP blocks are both necessary to connect host computer's software and TE USB FX2 module's DRAM.
, , are used for test. The FD[7:0] 8 bit bus is used.
Write test should be executed before read test; otherwise the read test will fail.
In production, the user/developer should
to start and stop data transmission between TE USB FX2 module's DRAM and host computer's memory.
If XPS_NPI_DMA and XPS_FX2 custom IP blocks are not used (Logic Architecture Layer not compatible with Reference Architectrure Layer), the user should synthetize two equivalent IP block on the FPGA:
Connect them through MicroBlaze PLB 4.6 connection (without "custom" logic bus connector) is also possible but probably slower (in a significant way).