您好。
我对 MPC5777c 和 eTPU 解析器有一些疑问。
1. SDADC
我想通过这个过程来获取Resolver的SIN和COS信号:SDADC->eDMA->eTPU。
MPC5777c 参考手册上有SDADC_0,SDADC_1,SDADC_2,SDADC_3 eDMA_B通道请求分配。
hanryang_3-1729728631181.png
MPC5777c 参考手册上有 SDADC_1、SDADC_2、SDADC_3、SDADC_4 触发输入。
hanryang_1-1729728617744.png
hanryang_5-1729729787536.png
源代码没有 SDADC_0。
问1.
为什么用作“SDADC 触发输入”和用于“eDMA_B 通道请求分配”时 SDADC 模块的数量不同?
问2.
这种情况下, SDADC -> eDMA -> eTPU 我应该使用哪个 SDADC_x, SDADC_y 来通过这个过程得到旋转变压器的SIN和COS信号?
2.eTPU解析器ATO通道设置
我正在尝试将 eTPU Resolver 应用于我的 SW。
下图中的代码包含在etpuRDCCUG.pdf中。
hanryang_4-1729728804693.png
ETPU_RESOLVER_ATO_CHAN /* chan_num_dma - etpuA1 在通道 DMA_A 28 上生成 dma 请求 */
问3.
这段代码是不是意味着我需要使用dma来访问etpu才能使用ATO?
谢谢你一直帮助我。
祝您有美好的一天。
表格错误,以下是正确的(保留值应该在末尾,而不是在中间):
davidtosenovjan_0-1729855606264.png
SDADC 模块应该标记为 SDADC_1 到 SDADC_4(而不是 0-3)。因此表 4-6 中的内容是不正确的(说实话我从来没有注意到)。
这里我分享了之前的示例代码:
但请注意,一旦启用,SDADC 就会继续运行。没有“单一转换模式”。这要求 CDATA 寄存器不断被 DMA 或 ISR 耗尽。
eTPU触发只与这些模块的同步启动有关,与其他无关。
从 SDADC 到 eTPU 可能有关于有效数据可用或转换看门狗限制的信号,反之,eTPU 可能有门控中断或 DMA 传输。
davidtosenovjan_2-1729856138005.png