This message is from the T13 list server.
Yes, I am confusing the low active signal (a dash character at the end of a signal name) with figures standard shown. Many thanks for your kindly and clear explaination. -----Original Message----- From: Mcgrath, Jim [mailto:[EMAIL PROTECTED]] Sent: Friday, January 04, 2002 11:13 AM To: Mcgrath, Jim; '[EMAIL PROTECTED]'; [EMAIL PROTECTED] Subject: RE: [t13] Ultra DMA query Actually, the more I think about it the more clear that it is the sign that threw you off. DSTROBE and DDMARDY- are used, and since they map to IORDY, they all must have the "PIO state" when the UDMA burst has ended. But clearly this means that DSTROBE and DDMARDY (if it existed) would have opposite states. In general just remember that all signals must end up in the state they would be in before a PIO operation just after a UDMA burst ends (i.e. DMACK- is deasserted). Everything flows from there. Jim -----Original Message----- From: Mcgrath, Jim [mailto:[EMAIL PROTECTED]] Sent: Thursday, January 03, 2002 7:05 PM To: '[EMAIL PROTECTED]'; [EMAIL PROTECTED] Subject: RE: [t13] Ultra DMA query This message is from the T13 list server. Actually, you never asked me about DDMARDY, but instead about DSTROBE. They map to the same physical line, but the two are quite different in the UDMA protocol (the former is used in DATA OUT, the latter in DATA IN). Secondly, as I just stated in my previous reply, DDMARDY- is deasserted before DMACK- is deasserted, as the standard clearly indicates. That is, there is no problem here. Perhaps you are confusing DDMARDY (which you use as a term, but which is not used in ATA) with DDMARDY- (which is used in the definitions and figures for UDMA). i.e. the standard uses the reversed state of the signal, just like it does for DMACK- (as opposed to DMACK). Jim PS ATA has standard conventions on how signals are defined, what asserted means, and the like. e.g. section 3.2.5 Signal conventions: Signal names are shown in all uppercase letters. All signals are either high active or low active signals. A dash character ( - ) at the end of a signal name indicates the signal is a low active signal. A low active signal is true when the signal is below ViL, and is false when the signal is above ViH. No dash at the end of a signal name indicates the signal is a high active signal. A high active signal is true when the signal is above ViH, and is false when the signal is below ViL. Asserted means that the signal is driven by an active circuit to the true state. Negated means that the signal is driven by an active circuit to the false state. Released means that the signal is not actively driven to any state (see 4.2.1). Some signals have bias circuitry that pull the signal to either a true state or false state when no signal driver is actively asserting or negating the signal. Control signals that may be used for more than one mutually exclusive functions are identified with their function names separated by a colon (e.g., DIOW-:STOP). -----Original Message----- From: coolaron [mailto:[EMAIL PROTECTED]] Sent: Thursday, January 03, 2002 6:52 PM To: 'Mcgrath, Jim'; [EMAIL PROTECTED] Subject: RE: [t13] Ultra DMA query As you said, "if you did not assert it at this point the legacy PIO operations after getting out of UDMA might be strange". So, if DDMARDY (IORDY at PIO mode) doesn't return to high level before the host has deasserted DMACK-, isn't it strange for PIO? -----Original Message----- From: Mcgrath, Jim [mailto:[EMAIL PROTECTED]] Sent: Friday, January 04, 2002 10:32 AM To: '[EMAIL PROTECTED]'; [EMAIL PROTECTED] Subject: RE: [t13] Ultra DMA query It does (i.e. see figures 57 and 58). The deassertion of DMACK- is always the last thing done, since it clocks the CRC data from the host to the device and defines the end of the DMA burst (after which all the signals revert to their earlier meaning). Indeed, the very question of "changing DDMARDY after DMACK-s has been deasserted" has no meaning since the DDMARDY signal is no longer defined after DMACK- is deasserted! Jim -----Original Message----- From: coolaron [mailto:[EMAIL PROTECTED]] Sent: Thursday, January 03, 2002 6:07 PM To: [EMAIL PROTECTED] Subject: RE: [t13] Ultra DMA query This message is from the T13 list server. Many thanks for your answers. But why DDMARDY doesn't return to high level before the host has deasserted DMACK- in UDMA data-out mode? -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Mcgrath, Jim Sent: Thursday, January 03, 2002 4:43 AM To: '[EMAIL PROTECTED]'; [EMAIL PROTECTED] Subject: RE: [t13] Ultra DMA query This message is from the T13 list server. The key design principle of UDMA is to have the signals be in the exactly same state after the DMA burst as it was before the DMA burst. Remember that outside of the burst you have to play be old PIO rules, which do not allow for double transitions clocking. It is this careful attention to backward compatibility that makes it so successful. In particular, DSTOBE does not exist outside of a DMA burst. It reverts to the old definition of the signal. HSTROBE is DIOR-, while DSTROBE is IORDY. To make this all work they are in the ASSERTED state when you start a UDMA burst and ASSERTED when you leave the burst. I think 1) was placed there so that if for some reason DSTROBE had not been asserted, the device can assert it. It might be possible that it was deasserted if the last PIO before the UDMA burst was using IORDY. I'd just make sure it is asserted at the start of the burst. In 2) the issue is more straightforward, since if you did not assert it at this point the legacy PIO operations after getting out of UDMA might be strange. Jim -----Original Message----- From: aronlin [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 02, 2002 1:08 AM To: [EMAIL PROTECTED] Subject: [t13] Ultra DMA query This message is from the T13 list server. Please help me to resolve questions about ultra DMA, 1. During initiating an ulta DMA data-in burst, why need the action, "The device may assert DSTROBE tZIORDY after the host has asserted DMACK-"? does it mean that first strobe should be from high to low? Why? 2. I cannot understand why "if STROBE is not in the asserted state, the sender shall return STROBE to the asserted state" ? STROBE is active on edge not on level, why we have to care its state on high or low? Thanks in advance. Subscribe/Unsubscribe instructions can be found at www.t13.org. Subscribe/Unsubscribe instructions can be found at www.t13.org. Subscribe/Unsubscribe instructions can be found at www.t13.org. Subscribe/Unsubscribe instructions can be found at www.t13.org. Subscribe/Unsubscribe instructions can be found at www.t13.org.
