Data during AHB Busy state

Hi everyone,

I have a question regarding the data during the BUSY state in a AHB bus. Consider the following example of an AHB master writing data onto an AHB slave:

TIME: T1 T2 T3 T4
HTRANS:    NSEQ    BUSY    SEQ     IDLE
HADDR: 0x01 0x02 0x03 0x04
HWDATA: dataA dataB dataC dataD
HREADY: 1 1 1 1
HBURST: INCR INCR INCR INCR


In the above case will the data written be as follows:

ADDR DATA
0x01 dataB
0x02 xxxx
0x03 dataD
0x04 xxxx

Or will the data written be as follows:

ADDR DATA
0x01 dataC
0x02 xxxx
0x03 dataD
0x04 xxxx

Or is it in some other way the data is written.

Thanks in advance.

Parents
  • Your first solution is correct(ish). 0x01 will get dataB and 0x03 will get dataD. The data phase of the NONSEQ follows immediately after the NONSEQ address phase, so dataB is the data for the NONSEQ access.

    However the address of the BUSY (0x02) is the address the master next intends to access, so the address for the SEQ access is also 0x02 (HADDR does not change when moving from BUSY to SEQ).

Reply
  • Your first solution is correct(ish). 0x01 will get dataB and 0x03 will get dataD. The data phase of the NONSEQ follows immediately after the NONSEQ address phase, so dataB is the data for the NONSEQ access.

    However the address of the BUSY (0x02) is the address the master next intends to access, so the address for the SEQ access is also 0x02 (HADDR does not change when moving from BUSY to SEQ).

Children