您好!
我需要使用 EPI 在2个 MCU 之间进行通信、从而有效地在它们之间创建共享存储器空间。
在阅读数据表时、我看到 EPI 可以用作总线主控、但不知道如何将其用作从器件。 是否有任何指导原则?
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.
您好!
我需要使用 EPI 在2个 MCU 之间进行通信、从而有效地在它们之间创建共享存储器空间。
在阅读数据表时、我看到 EPI 可以用作总线主控、但不知道如何将其用作从器件。 是否有任何指导原则?
您好!
DMA 请求可以根据 NBRFIFO 和 WFIFO 触发。
DMA 操作
μ μDMA 可用于通过 NBRFIFO 和实现 EPI 的最大传输速率
WFIFO。 μ μDMA 有一个用于写入的通道、另一个用于读取的通道。 EPI DMA 发送数据信号即可完成写操作
通过 μ μDMA 对计数(EPIDMATXCNT)寄存器进行编程、使其包含传输的总数量。
一个等效的值被编程到 DMA 通道控制字(DMACHCTL)寄存器中
UDMA 在偏移量0x008处的偏移量。 当 TXCNT 时、EPI WRFIFO 会发出 μ μDMA 请求
EPIWFIFOCNT 寄存器的值大于0、且 EPIWFIFOCNT 寄存器的 WTAV 位域为0
该寄存器小于 EPIFIFOLVL 寄存器的设置阈值触发 WRFIFO。 。
写入通道会继续写入数据、直到 EPIDMATXCNT 寄存器中的 TXCNT 值为零。
注:当 EPIFIFOLVL 寄存器的 WRFIFO 位置位时、应用程序将会突发
四个字到一个空的 FIFO 中、WRFIFO 触发器可能会也可能不会失效、具体取决于
如果所有四个字都被写入 WRFIFO、或者第一个字被立即传递到
函数。 因此、应用程序可能看不到 EPIRIS 中的 WRRIS 位
在突发四个字时清除寄存器。
非阻塞式读通道在 NBRFIFO 处于该级别时从 NBRFIFO 复制值
由 EPIFIFOLVL 寄存器指定。 对于非阻塞式读操作、起始地址和大小均为
传输、并且元素数量必须在 μ μDMA 中编程。 请注意、这两个非阻塞
读取寄存器组可以使用、它们填充 NBRFIFO、这样就可以运行到完成
下一个开始(它们不会交错)。 使用 NBRFIFO 可以获得最佳传输效果
速率。