i didnt find at spec any note about the waited write transfer.
T1 : NONSEQ + write transfer + HREADY is high
T2: HREADY dropped + HTRANS is idle - HWDATA ?
does the HWDATA have to be the right data or it can be any junk ? and only when the HREADY will rise again the HWDATA have to be the correct one ?
HWDATA ***MUST*** be driven correctly for the entire data phase of the transfer. All diagrams in the spec will show HWDATA driven to a constant value for the full data phase of a write transfer.
Section 6.1.1 of the AMBA 5 AHB spec does describe the HWDATA bus requirements...
"If the transfer is extended then the master must hold thedata valid until the transfer completes, as indicated by HREADY HIGH."
i.e. by "hold" it means that the data cannot change throughout the data phase, so it must start valid and end at the same valid value.
But what is happened for the IDLE state ?
i wrote that T2 is IDLE. the HWDATA still have to be valid ?
The AHB protocol works in a pipelined manner, so in T2 you have an IDLE transfer in its address phase, but also the earlier NONSEQ transfer in its data phase, and during the data phase of a write transfer HWDATA must be driven constantly (even when HREADY is low).
So the fact that HTRANS is IDLE in T2 isn't really relevant to what HWDATA is doing in T2.
View all questions in Embedded forum