我在使用 TRGMUX 将 eMIOS 信号附加到 LCU 时遇到困难。因此,我有三个问题:
- 是否有使用 TRGMUX 的示例(最好将信号附加到 LCU)?
- 有没有LCU输出信号的例子(据我所知Lcu_Ip_LcuControlMotor_S32K344不输出任何信号)?
- 如果没有示例,所附框图中是否有问题(使用带有 RTD_4.4_1.0.0_D2110 的 S32DS ConfigurationTool 完全设置)?
- 要使用 LCU1_LC2_input0,将 LUTCTRL 值设置为 0x5555,我还尝试了 0xAAAA,以防我的位顺序错误。
- 附上我的测量结果。输出显示 eMIOS 配置正确,LCU 中设置的反相信号反映在输出引脚中。
- 可能LCU还没有启动(OUTEN置1,FORCEOUT读为0)。将 LUTCTRL 设置为 0x0000、0x0001 或 0xFFFF 时,输出不会改变(但 LCOUT 会改变)。
最后是初始化代码:
/* Initialize clock () */
Clock_Ip_Init(&Mcu_aClockConfigPB[0]);
/* Initialize all pins using the Port driver */
Siul2_Port_Ip_Init(NUM_OF_CONFIGURED_PINS0, g_pin_mux_InitConfigArr0);
/* Initialize LCU for complementary signal */
Lcu_Ip_ReturnType ret_lcu = Lcu_Ip_Init(&Lcu_Ip_xLcuInitPB);
if (ret_lcu != LCU_IP_STATUS_SUCCESS)
{
exit_code = 1u;
}
/* TRGMUX: connect eMIOS to LCU */
Trgmux_Ip_StatusType ret_trgmux = Trgmux_Ip_Init(&Trgmux_Ip_xTrgmuxInitPB);
if (ret_trgmux != TRGMUX_IP_STATUS_SUCCESS)
{
exit_code = 1u;
}
/* OPWMB */
/* - Initialize Emios_Mcl driver */
/* WATCH OUT: AbeMat: Instance hard coded*/
Emios_Mcl_Ip_Init(1U, &Emios_Mcl_Ip_1_Config_BOARD_INITPERIPHERALS);
/* - Initialize Chargepump: Emios_Pwm_Ip driver */
Emios_Pwm_Ip_InitChannel(EMIOS_PWM_IP_BOARD_InitPeripherals_I1_CH12_CFG, &Emios_Pwm_Ip_BOARD_InitPeripherals_I1_Ch12);