您好!
我正在开发一个定制控制板、需要 EnDat 接口和2个旋转变压器。 为了非常快速地访问专用的分解器数字并行输出、我想以非常规的方式使用 EMIF 接口。 同时、我想使用相同的 emif1连接外部闪存。 因此、我需要异步接口的全部三个芯片选择(2个用于旋转变压器、1个用于闪存存储器)。 EMI1CS2只能在 GPIO34上复用。
根据 sprui35 4.2.7和5、GPIO34似乎是 EnDat 方向控制的唯一可能选择。 同时、sprui71 (关于 tformat、使用相同的接口)第5节似乎有所不同:
GPIO34用于 IDDK 和上的此用途
示例项目。 用户可以使用选择任何 GPIO
OUTPUTXBAR1多路复用器选项。
您是否确认可以使用其他引脚而不是 GPIO34? 在这种情况下、根据必须使用 OUTPUTXBAR1的事实、其他可能的引脚为:GPIO2、GPIO24、GPIO58。
我对 EnDAT/BiSSC/tformat 接口的资源要求还有另一个问题:在相应的 sprui 中、EPWM4似乎专用于时钟生成。 但是、在初始化过程中、似乎必须修改其他 ePWM 的寄存器:
SPRUI35 (EnDat) 4.2.5
启用 ePWM 实例1、2、3和4的时钟。
CpuSysRegs.PCLKCR2.bit.EPWM1 = 1;
CpuSysRegs.PCLKCR2.bit.EPWM2 = 1;
CpuSysRegs.PCLKCR2.bit.EPWM3 = 1;
CpuSysRegs.PCLKCR2.bit.EPWM4= 1;
SPRUI71 (tformat) 4.2.4
启用 ePWM 实例1、2、3和4的时钟。
tformatData.SPI = SpibRegs (SpibRegs);
pm_tformat_setupPeriph();
SPRUI37 (BiSSC) 4.2.6
启用 ePWM 实例3和4的时钟:
CpuSysRegs.PCLKCR2.bit.EPWM3 = 1;
CpuSysRegs.PCLKCR2.bit.EPWM4= 1;
那么第二个问题是:为什么我必须修改除数字4之外的其他 ePWM 的寄存器? 在使用 EnDat/tformat/BiSSc 接口时、是否可以自由使用 EPWM1 2和3而不受任何限制? 这个问题是相关的、因为我需要同时使用至少18个 PWM 通道、所以我需要至少9个专用 ePWM 周期。
我还有第三个问题的重要性较低。 这样做是否可以通过某种方式连接多个 EnDat 编码器? 我想对一些信号进行路由。 一种可能的方法是具有两个独立接口、并通过某些专用集成电路路由 EnDatclk、SPISIMO、SPISOMI 和方向控制。 您认为该解决方案可以进行补偿吗?
提前感谢