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.

[参考译文] TM4C1294KCPDT:使用 EPI 连接两个 MCU

Guru**** 2527310 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/962987/tm4c1294kcpdt-connecting-two-mcus-with-epi

器件型号:TM4C1294KCPDT

您好!

我需要使用 EPI 在2个 MCU 之间进行通信、从而有效地在它们之间创建共享存储器空间。

在阅读数据表时、我看到 EPI 可以用作总线主控、但不知道如何将其用作从器件。 是否有任何指导原则?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Oleg、

     我知道有些 TI DSP 处理器具有 EPI 接口、可用作主机或从机、因此主处理器可以共享从机处理器中的存储器。 遗憾的是、TM4C EPI 模块不具有此功能。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、我看到、对从模式没有本机支持、然后我对它进行仿真。 那么、是否有任何方法可以通过外部触发器启动 DMA 传输?

    当然、中断不合适、因为中断服务需要太多时间、我需要每秒有效传输约256KB。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     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 可以获得最佳传输效果
    速率。