35.6.2 Descriptor Structure Members Description

View 0 Descriptor

Next Descriptor Address Member (MBR_NDA)
Microblock Control Member (MBR_UBC)
Transfer Address Member (MBR_TA)

View0 is the simplest descriptor having just three members.

Next Descriptor Address Member (MBR_NDA):

MBR_NDA is similar to XDMAC Channel Next Descriptor register (XDMAC_CNDAx). The XDMAC_CNDAx register is initialized to the address of the first descriptor of the linked list, whereas Next Descriptor Address Member (MBR_NDA) is initialized to the address of the subsequent descriptor to be fetched from the linked list. If there are no further descriptors present in the linked list, then MBR_NDA should be initialized with 0. When a descriptor is fetched, XDMAC_CNDAx register is updated with MBR_NDA value for the execution of the next descriptor (Block).

TransferAddress Member (MBR_TA):

Transfer Address Member (MBR_TA) should be written with the destination address during Memory-to-Memory and Peripheral-to-Memory transfers. When the descriptor is fetched, the Channel Destination Address register (XDMAC_CDAx) is updated with the valued stored in Transfer Address member (MBR_TA) based on the previous descriptor’s MBR_UBC.NDEN value.

Transfer Address Member (MBR_TA) should be written with the source address during Memory-to-Peripheral transfer. When the descriptor is fetched, the Channel Source Address register (XDMAC_CSAx) is updated with the values stored in Transfer Address member (MBR_TA) based on the previous descriptor’s MBR_UBC.NSEN value.

Note: For the first descriptor of the linked list, XDMAC_CNDCx.NDSUP and XDMAC_CNDCx.NDDUP values should be directly initialized. These values decide whether to update the Channel Source/Destination Address registers with MBR_TA or not.

View 1 Descriptor

Next Descriptor Address Member (MBR_NDA)
Microblock Control Member (MBR_UBC)
Source Address Member (MBR_SA)
Destination Address Member (MBR_DA)

View 1 descriptor has two extra members in addition to View 0 descriptor.

Source Address Member (MBR_SA):

It contains the source address value of the corresponding descriptor (BLOCK). The value of MBR_SA is copied to the Channel Source Address register (XDMAC_CSAx) based on the previous MBR_UBC.NSEN settings. Therefore, the source address can be changed between different descriptors (BLOCKS).

Note: For the first descriptor of the linked list, the XDMAC_CNDCx.NDSUP value should be directly initialized. This value decides whether to update Channel Source Address register (XDMAC_CSAx) with MBR_SA or not.

Destination Address Member (MBR_DA):

It contains the destination address value of the corresponding descriptor (BLOCK). The value of MBR_DA is copied to the Channel Destination Address register (XDMAC_CDAx) based on the previous MBR_UBC. NDEN settings. Therefore, the destination address can be changed between different descriptors (BLOCKS).

Note: For the first descriptor of the linked list, the XDMAC_CNDCx.NDDUP value should be directly initialized. This value decides whether to update Channel Destination Address register (XDMAC_CDAx) with MBR_DA or not.

View 2 Descriptor

Next Descriptor Address Member (MBR_NDA)
Microblock Control Member (MBR_UBC)
Source Address Member (MBR_SA)
Destination Address Member (MBR_DA)
Configuration Member (MBR_CFG)

View2 descriptor has Configuration Member (MBR_CFG) in addition to View 1 descriptor.

ConfigurationMember (MBR_CFG):

MBR_CFGis similar to the XDMAC_CCx register. During the descriptor fetch, the value of MBR_CFG is copied to the XDMAC_CCx register.

View 3 Descriptor

Next Descriptor Address Member (MBR_NDA)
Microblock Control Member (MBR_UBC)
Source Address Member (MBR_SA)
Destination Address Member (MBR_DA)
Configuration Member (MBR_CFG)
Block Control Member (MBR_BC)
Data Stride Member (MBR_DS)
Source Microblock Stride Member (MBR_SUS)
Destination Microblock Stride Member (MBR_DUS)

View3 descriptor has four extra members in addition to View 2 descriptor.

Block Control Member (MBR_BC):

MBR_BC is similar to the Channel Block Control Register (XDMAC_CBCx). During the descriptor fetch, the value of MBR_BC is copied to the XDMAC_CBCx register.

Data Stride Member (MBR_DS):

MBR_DS is similar to the Channel Data Stride Memory Set Pattern Register (XDMAC_CDS_MSPx). During the descriptor fetch, the value of MBR_DS is copied to the XDMAC_CDS_MSPx register.

Source Microblock Stride Member (MBR_SUS):

MBR_SUS is similar to the Channel Source Microblock Stride Register (XDMAC_CSUSx). During the descriptor fetch, the value of MBR_SUS is copied to the XDMAC_CSUSx register.

Destination Microblock Stride Member (MBR_DUS):

MBR_DUS is similar to the Channel Destination Microblock Stride Register (XDMAC_CDUSx). During the descriptor fetch, the value of MBR_DUS is copied to the XDMAC_CDUSx register.