Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

Referring to the Functional Timing Diagram in Figure B-21 on page B-20 (Appendix B) of the Technical Reference Manual, is it legal or illegal to give a new DMAC request while DMACCLR is HIGH?

0
Posted

Referring to the Functional Timing Diagram in Figure B-21 on page B-20 (Appendix B) of the Technical Reference Manual, is it legal or illegal to give a new DMAC request while DMACCLR is HIGH?

0

It would not be legal to have another DMAC request from the SAME peripheral whilst DMACCLR is HIGH, as the DMACCLR signal is used as a handshaking mechanism to acknowledge the request and deassert the request once it has been serviced. It may, however, be possible to have a new DMAC request from ANOTHER peripheral whilst DMACCLR is HIGH. Thus considering an example of the sequence in question: 1) DMA{S/B}REQ goes active -> 2) data transfer -> 3) on last transfer DMACLR goes active -> 4) DMA{S/B}REQ goes inactive -> 5) DMA{S/B}REQ goes active indicating another transfer -> 6) DMACLR goes inactive. The difference between step-4 and step-6 is only ONE clock. In step-4 the request is inactive. On the very next clock DMACLR goes inactive (having sampled the inactive request) and the channel-state-machine goes to IDLE. After this happens, only then can the request come back again. In other words, the peripheral request should go low for at least ONE HCLK and only then can it can come back ag

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.

Experts123