![NXP Semiconductors LPC43Sxx Скачать руководство пользователя страница 592](http://html1.mh-extra.com/html/nxp-semiconductors/lpc43sxx/lpc43sxx_user-manual_1721827592.webp)
UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2015. All rights reserved.
User manual
Rev. 2.1 — 10 December 2015
592 of 1441
NXP Semiconductors
UM10503
Chapter 22: LPC43xx/LPC43Sxx SD/MMC interface
7. The SD/MMC DMA engine will now wait for a DMA interface request (dw_dma_req)
from BIU. This request will be generated based on the programmed receive threshold
value. For the last bytes of data which can’t be accessed using a burst, SINGLE
transfers are performed on AHB.
8. The SD/MMC DMA fetches the data from the FIFO and transfer to Host memory.
9. When data spans across multiple descriptors, the SD/MMC DMA will fetch the next
descriptor and continue with its operation with the next descriptor. The Last Descriptor
bit in the descriptor indicates whether the data spans multiple descriptors or not.
10. When data reception is complete, status information is updated in SD/MMC DMA
status register (IDSTS) by setting Receive Interrupt, if enabled. Also, the OWN bit is
cleared by the SD/MMC DMA by performing a write transaction to DES0.
22.7.6.8 Interrupts
Interrupts can be generated as a result of various events. The SD/MMC DMA Status
Register (IDSTS) contains all the bits that might cause an interrupt. The SD/MMC DMA
Interrupt Enable Register (IDINTEN) contains an Enable bit for each of the events that can
cause an interrupt.
There are two groups of summary interrupts - Normal and Abnormal - as outlined in Status
Register (IDSTS). Interrupts are cleared by writing a 1 to the corresponding bit position.
When all the enabled interrupts within a group are cleared, the corresponding summary
bit is cleared. When both the summary bits are cleared, the interrupt signal is de-asserted.
Interrupts are not queued and if the interrupt event occurs before the driver has
responded to it, no additional interrupts are generated. For example, Receive Interrupt
(IDSTS[1]) indicates that one or more data was transferred to the Host buffer.
An interrupt is generated only once for simultaneous, multiple events. The driver must
scan the SD/MMC DMA Status Register for the interrupt cause.
Remark:
The final interrupt (int) signal from created is a logical OR of the interrupt from
BIU and SD/MMC DMA.
22.7.6.9 Abort
When the host issues CMD12 when a data transfer on the card data lines is in progress,
the FSM closes the present descriptor after completing the transfer of data until a DTO
interrupt is asserted. Once an abort command is issued, the DMA performs single burst
transfers:
1. When the host issues CMD12 when a data transfer on the card data lines is in
progress, the FSM closes the present descriptor after completing the transfer of data
until a DTO interrupt is asserted. Once an abort command is issued, the DMAC
performs single burst transfers.
2. For a card read, the SD/MMC DMA keeps popping data from FIFO and writes to the
host memory until a DTO interrupt is generated. This is required since DTO interrupt
is not generated until and unless all the FIFO data is emptied.
Remark:
The following scenarios apply for closing the descriptors:
•
In case of an FBE, the current descriptor and the remaining unread descriptors are
not closed by the SD/MMC DMA.