关于CC3200 DMA
cc3200 DMA的4的通道编码代表什么?第四个都为xx_SW是做什么用的?
另外手册上关于DMA的描述篇幅比较少。
还有 关于DMA 仲裁参数的设置是否要参考FIFO的触发点
你是想看Arbitration size的设置吗?3200 里面的MCU和tiva 基本一致,我从tiva的一个论坛里面看到下面的解释,和DMA的transfer mode是相关的。请参考如下:
Let's see what transfer modes we have
Wich ones do we have?
- Stop Mode
- Basic Mode
- Auto Mode (remember this in "The channels and triggers?)
- Ping-Pong
- Scatter-Gather, more specifically, (this won't be explained here, please consult the datasheet for more info)
- Memory Scatter-Gather
- Peripheral Scatter-Gather
Stop Mode
Stop mode doesn't actually do a transfer. When the mode field has the value to stop then it doesn't do a transfer and disables the DMA. At the end of a transfer the mode field automatically changes to that and disables the DMA
Basic Mode
In Basic mode the DMA transfers items while there are more items to transfer and the transfer request is present. In this mode a transfer is only started when the configured trigger happens and the transfer size per trigger depends on theArbitration size. This type of mode is better to be used with peripheral triggers, this is because it only transfers a set number of items (Arbitration size) when the peripheral says he's ready (the trigger).
Now let's see a case where the DMA channel is configured with a Transfer size of 1024 and a Arbitration size of 1, while on Basic Mode. This loads a value into the transfer counter of 1023. Each time a trigger happens the DMA transfers 1 item and decreases the counter by 1. This until the counter reaches 0 or the processor stops it. When it reaches 0 the DMA stops by setting the transfer mode to Stop mode.
Auto Mode
Auto mode is very similar to the basic mode but istead it transfers all the number of items set in Transfer size, ignoringArbitration size and then stops by setting the transfer mode to Stop mode. This also ignores if the request is removed. This is better for software triggers where you just want to transfer all the items with 1 request.
Ping-Pong
Now Ping-Pong mode. Ping-Pong is similar to the Basic Mode. It transfers a number of items set in Arbitration sizewhen a trigger happens.
感谢回复!