Sundance Technology |
| ST201 |
|
REGISTERS AND DATA STRUCTURES
DMA DATA STRUCTURES
PRELIMINARY draft 2
A TFD is used to move data, which is to be transmitted onto a LAN, from host system memory to the TxFIFO within the ST201. A TFD is 16 to 512 bytes in length, and it’s location in host system memory is indicated by the value in the TxDMAListPtr register.
A RFD is used to move data, which has been received from a LAN, from the RxFIFO within the ST201 to host system memory. A RFD is 16 to 512 bytes in length, and it’s location in host system memory is indi- cated by the value in the RxDMAListPtr register.
Figure 9 shows the two DMA data structures.
|
| HOST SYSTEM MEMORY |
|
| HOST SYSTEM MEMORY | ||||||
|
|
|
| Offset from |
|
|
|
| Offset from | ||
|
|
|
|
|
|
|
| ||||
|
|
|
| TFD Start |
|
|
|
| RFD Start | ||
|
|
| Next TFD Ptr. | 0x00 |
|
|
| Next RFD Ptr. | 0x00 | ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| TxFrameControl | 0x04 |
|
|
| RxFrameStatus | 0x04 | ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1st TxDMAFragAddr | 0x08 |
|
|
| 1st RxDMAFragAddr | 0x08 | ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1st TxDMAFragLen | 0x0c |
|
|
| 1st RxDMAFragLen | 0x0c | ||
|
|
|
|
|
|
|
|
|
|
|
|
TFD | 2nd TxDMAFragAddr | 0x10 | RFD | 2nd RxDMAFragAddr | 0x10 | ||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2nd TxDMAFragLen | 0x14 |
|
|
| 2nd RxDMAFragLen | 0x14 | ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nth TxDMAFragAddr
nth TxDMAFragLen
0x00+n·8
0x04+n·8
nth RxDMAFragAddr
nth RxDMAFragLen
0x00+n·8
0x04+n·8
FIGURE 9: TFD and RFD DMA Data Structures
27