DMA mode and DTACKgreenspun.com : LUSENET : ece342 : One Thread
When you enter DMA mode, you wait for BGnot and send out BGACKnot.
You then enable the Address from the ARL. We should send a AS_N =0 to say that the address is valid.
Since we are the only device listening, can we assume to grab the data line info without looking for a dtack or do we have to simulate the response by having the RAC poll for address in $8XXXXXX as well as the standard $200000 and then send a dtacknot etc..
-- dtack (firstname.lastname@example.org), February 23, 1999
Since in this case we're the bus master, you should put the address on the address bus, assert AS, UDS, LDS, and wait for the slave to assert DTACK. In all cases, the master handles the strobe lines and the slave handles the DTACK. You just have to figure out which you are at any given point in this lab.
-- Steven Truelove (email@example.com), February 23, 1999.
Steven's answer is right. The only other thing to consider is that during DMA your engine is *always* the bus master (hence the necessity of asking for bus ownership). The DMA engine is a master for either writes to the memory or reads from it, but the memory is the slave in both cases.
-- Robin Grindley (firstname.lastname@example.org), February 23, 1999.