請問McBSPs能否過透,DMA直接回傳記憶體內容?
如:
DR寫 0x1,透過DMA讀取0x1+offset回傳Dx資料
DR寫 0x2,透過DMA讀取0x2+offset回傳Dx資料
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
請問McBSPs能否過透,DMA直接回傳記憶體內容?
如:
DR寫 0x1,透過DMA讀取0x1+offset回傳Dx資料
DR寫 0x2,透過DMA讀取0x2+offset回傳Dx資料
我认为这应该是可能的;您只是想让 DMA 永远这样做,还是在传输一定数量后停止?我们可以相应地设置源/目标地址,如果每次都只是少量数据,它可能发生在一次Burst和 0 传输中;并使用 CONTINUOUS 位使 DMA 重新准备/重新加载原始地址并等待下一个传入数据。
您只是想让 DMA 永远这样做,还是在传输一定数量后停止?
永遠這樣做。
我们可以相应地设置源/目标地址。
可以根據輸入的DR資料,回傳對應的設定位址嗎?
如
DR=0x1,回傳 (0x1+設定的位址) 的資料
DR=0x2,回傳 (0x2+設定的位址) 的資料
已为您联系TI资深工程师,您也可以访问https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1201294/tms320f28377s-mcbsps-slave-mode-directly-returns-memory-content-through-dma关注最新进展
Fixed address set | 0x100 | |
C2000 Slaver | ||
N | DR | Dx |
1 | 0x1 | x |
2 | x | Data(address 0x1+0x100) |
3 | 0x2 | x |
4 | x | Data(address 0x2+0x100) |
這樣清楚嗎?
我相信我明白了。所以,我认为如果您不要求将数据值写入内存,这很容易做到;即当接收到数据时,DMA 将其从接收缓冲区复制到发送缓冲区,这样就行了。
如果我们也需要写入内存,则需要 2 个 DMA 资源。 一个DMA将 DR 数据写入 RAM,然后从第一个 DMA ISR 触发另一个 DMA,将数据写回 DX。 DMA 应保持同步,并使用更多或仅 1 个字的内存。