Executing A Transfer Descriptor - Freescale Semiconductor MPC8313E Family Reference Manual

Powerquicc ii pro integrated processor
Hide thumbs Also See for MPC8313E:
Table of Contents

Advertisement

Allocate 8-DWord dTD block of memory aligned to 8-DWord boundaries. Example: bit address 4–0 would
be equal to '00000'.
Write the following fields:
1. Initialize first seven DWords to '0'.
2. Set the terminate bit to '1'.
3. Fill in total bytes with transfer size.
4. Set the interrupt on complete if desired.
5. Initialize the status field with the active bit set to '1' and all remaining status bits set to '0'.
6. Fill in buffer pointer page 0 and the current offset to point to the start of the data buffer.
7. Initialize buffer pointer page 1 through page 4 to be one greater than each of the previous buffer
pointer.
16.8.5.3

Executing a Transfer Descriptor

To safely add a dTD, the DCD must account for the event in which the device controller reaches the end
of the dTD list at the same time a new dTD is being added to the end of the list.
First, determine whether the link list is empty by checking the DCD driver to see if the pipe is empty
(internal representation of linked-list should indicate if any packets are outstanding). Then follow the
sequence of actions in the following list as appropriate, depending on whether the link list is empty or not
empty.
Case 1: Link list is empty
1. Write dQH next pointer AND dQH terminate bit to '0' as a single DWord operation.
2. Clear active and halt bit in dQH (in case set from a previous error).
3. Prime endpoint by writing '1' to correct bit position in ENDPTPRIME.
Case 2: Link list is not empty
1. Add dTD to end of linked list.
2. Read correct prime bit in ENDPTPRIME—if '1' DONE.
3. Set ATDTW bit in USBCMD register to '1'.
4. Read correct status bit in ENDPTSTATUS. (store in tmp. variable for later).
5. Read ATDTW bit in USBCMD register.
If '0' goto 3.
If '1' continue to 6.
6. Write ATDTW bit in USBCMD register to '0'.
7. If status bit read in (4) is '1' DONE.
8. If status bit read in (4) is '0' then Goto Case 1: Step 1.
MPC8313E PowerQUICC II Pro Integrated Processor Family Reference Manual, Rev. 3
Freescale Semiconductor
Universal Serial Bus Interface
16-149

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mpc8313

Table of Contents