Rev. 3.0, 03/01, page 276 of 390
b) Isochronous Packet Begin and End Address Calculation
When processing an Isochronous Transfer Descriptor, the RelativeFrame (R) is used to
select two offset values, BeginAddrOffset and EndAddrOffset. EndAddrOffset is the lower
12 bits of the last byte of the 1. The source of these offsets is shown in Table 18-2.
Refer to next section for a description of the Descriptor Registers used.
Table 18.2
ITD Packet Offset Location
RelativeFrame
Is Even
RelativeFrame
Equals FrameCount
BeginAddrOffset
EndAddrOffset
Yes
No
Offset0 Low
Offset0 High
No
No
Offset0 High
Offset1
Yes
Yes
Offset0 Low
BEOffset
No
Yes
Offset0 High
BEOffset
The initial address of the transfer is determined from Offset[R]. If bit 12 (the 13th LSb) of
Offset[R] is 0, then the initial buffer address resides in the physical memory page specified
in BufferPage0 of the Isochronous Transfer Descriptor. If bit 12 is 1, then the initial buffer
address will reside in the physical page indicated by BufferEndPage. When the upper 20
bits are selected, the address is completed by using BeginAddrOffset as the low 12 bits of
the address.
c) General Last Packet Calculation
The GTDLastPacket signal is used for two purposes.
•
Setting the CBP value to 0h upon a successful transfer.
•
Limiting the transfer size of the last packet to be the remaining space in the buffer
instead of MaxPacketSize.
GTDLastPacket is asserted when the size of the packet is zero-length (indicated by CBP =
0h) or when the last byte of the buffer lies within the address range CBPOffset plus
MaxPacketSize.
This latter condition occurs when the 13 bit value of CBPOffset plus MaxPacketSize is
greater than or equal to BEOffset_12 concatenated with BEOffset, with one exception, as
stated below. BEOffset_12 is the buffer end relative page. It is set when BEOffset does not
reside in the same page as CBPOffset. There are two conditions for setting BEOffset_12:
CBPPage = BEPage, and the increment of the end address to form BEOffset crosses a
page boundary.
The exception for setting GTDLastPacket is when the two conditions for setting
BEOffset_12 are both valid. This indicates that the buffer end is at the end of the second
page, and there is at least one page worth of data remaining in the buffer.
Содержание HD64465
Страница 25: ...Rev 3 0 03 01 page 6 of 390 ...
Страница 59: ...Rev 3 0 03 01 page 40 of 390 ...
Страница 97: ...Rev 3 0 03 01 page 78 of 390 ...
Страница 147: ...Rev 3 0 03 01 page 128 of 390 ...
Страница 199: ...Rev 3 0 03 01 page 180 of 390 ...
Страница 247: ...Rev 3 0 03 01 page 228 of 390 ...
Страница 385: ...Rev 3 0 03 01 page 366 of 390 ...
Страница 389: ...Rev 3 0 03 01 page 370 of 390 ...
Страница 409: ...Rev 3 0 03 01 page 390 of 390 ...