fs23 Lin mode swith question

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

fs23 Lin mode swith question

跳至解决方案
2,088 次查看
gumu
Contributor V

Hello,

We encountered a question while debugging the FS LIN functionality. Specifically, we found that in debug mode, we cannot set the LINTRCV_FS23_TRCVMODE_OFF mode using the LinTrcv_fs23_SetMode() function.

The code snippet is as follows:

 

Std_ReturnType LinTrcv_fs23_SetMode(uint8 u8LinNetwork, LinTrcv_fs23_TrcvModeType eOpMode)
{
    uint16 u16RegData = 0U;
    Std_ReturnType eStatus;
    LinTrcv_fs23_TrcvModeType eNewHwOpMode = LINTRCV_FS23_TRCVMODE_INVALID;
    /* Read M_LIN register. */
    eStatus = Sbc_fs23_ReadRegister(SBC_FS23_M_LIN_ADDR, &u16RegData);

    if ((Std_ReturnType)E_OK == eStatus)
    {
        /* Set new register value. */
        u16RegData &= ~(SBC_FS23_M_LIN_MODE_MASK | SBC_FS23_M_LIN_SLOPE_MASK| SBC_FS23_M_LIN_FS_DIS_MASK);
        if(TRUE == xG_drivers[u8LinNetwork].bLinSlowSlope)
        {
            u16RegData |= SBC_FS23_M_LIN_SLOPE_SLOW;
        }
        if(FALSE == xG_drivers[u8LinNetwork].bLinFailsafeDisable)
        {
            u16RegData |= SBC_FS23_M_LIN_FS_DIS_KEEP;
        }
        u16RegData |= ((uint16)eOpMode << SBC_FS23_M_LIN_MODE_SHIFT);

        eStatus = Sbc_fs23_WriteRegister(SBC_FS23_M_LIN_ADDR, u16RegData);
....
        /*Check the real hardware state*/
        eStatus |= LinTrcv_fs23_GetMode(u8LinNetwork, &eNewHwOpMode);
        if((eNewHwOpMode == eOpMode) && ((Std_ReturnType)E_OK == eStatus))
        {
            eStatus = (Std_ReturnType)E_OK;
        }
        else
        {
            eStatus = (Std_ReturnType)E_NOT_OK;
        }
    }

    return eStatus;
}

 

The eOpMode is LINTRCV_FS23_TRCVMODE_OFF,  the eNewHwOpMode  is LINTRCV_FS23_TRCVMODE_NORMAL.

The manual states that in debug mode, LIN defaults to active mode. Is this behavior normal?

Thanks!

0 项奖励
回复
1 解答
2,057 次查看
quangvuanh
NXP Employee
NXP Employee

Hi @gumu , I got confirmation from hardware team that it's a normal behaviour. In debug mode, the transceiver mode is forced ACTIVE. So even if you try and change the LIN_MODE field to OFFLINE (OFF, 2b00) then the transceiver stays in active mode.

在原帖中查看解决方案

3 回复数
2,059 次查看
quangvuanh
NXP Employee
NXP Employee
Hi, I have to check with hardware team. Can you please let me know what version of FS23 that you have? Or what is the part number?
0 项奖励
回复
2,058 次查看
quangvuanh
NXP Employee
NXP Employee

Hi @gumu , I got confirmation from hardware team that it's a normal behaviour. In debug mode, the transceiver mode is forced ACTIVE. So even if you try and change the LIN_MODE field to OFFLINE (OFF, 2b00) then the transceiver stays in active mode.

2,074 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Quang (@quangvuanh),

Could you please help with this question from Anhui Zhitu Technology China?

Thanks & BRs, Tomas

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-1993707%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Efs23%20Lin%E6%A8%A1%E5%BC%8F%E5%BC%80%E5%85%B3%E9%97%AE%E9%A2%98%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1993707%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%3CP%3E%3CSPAN%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E8%B0%83%E8%AF%95FS%20LIN%E5%8A%9F%E8%83%BD%E6%97%B6%E9%81%87%E5%88%B0%E4%BA%86%E4%B8%80%E4%B8%AA%E9%97%AE%E9%A2%98%E3%80%82%E5%85%B7%E4%BD%93%E6%9D%A5%E8%AF%B4%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%91%E7%8E%B0%E5%9C%A8%E8%B0%83%E8%AF%95%E6%A8%A1%E5%BC%8F%E4%B8%8B%EF%BC%8C%E6%97%A0%E6%B3%95%3C%2FSPAN%3E%3CSPAN%3E%E4%BD%BF%E7%94%A8%3C%2FSPAN%3ELinTrcv_fs23_SetMode()%3CSPAN%3E%E5%87%BD%E6%95%B0%E8%AE%BE%E7%BD%AELINTRCV_FS23_TRCVMODE_OFF%E6%A8%A1%E5%BC%8F%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E4%BB%A3%E7%A0%81%E7%89%87%E6%AE%B5%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3EStd_ReturnType%20LinTrcv_fs23_SetMode(uint8%20u8LinNetwork%2C%20LinTrcv_fs23_TrcvModeType%20eOpMode)%0A%7B%0A%20%20%20%20uint16%20u16RegData%20%3D%200U%3B%0A%20%20%20%20Std_ReturnType%20eStatus%3B%0A%20%20%20%20LinTrcv_fs23_TrcvModeType%20eNewHwOpMode%20%3D%20LINTRCV_FS23_TRCVMODE_INVALID%3B%0A%20%20%20%20%2F*%20Read%20M_LIN%20register.%20*%2F%0A%20%20%20%20eStatus%20%3D%20Sbc_fs23_ReadRegister(SBC_FS23_M_LIN_ADDR%2C%20%26amp%3Bu16RegData)%3B%0A%0A%20%20%20%20if%20((Std_ReturnType)E_OK%20%3D%3D%20eStatus)%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F*%20Set%20new%20register%20value.%20*%2F%0A%20%20%20%20%20%20%20%20u16RegData%20%26amp%3B%3D%20~(SBC_FS23_M_LIN_MODE_MASK%20%7C%20SBC_FS23_M_LIN_SLOPE_MASK%7C%20SBC_FS23_M_LIN_FS_DIS_MASK)%3B%0A%20%20%20%20%20%20%20%20if(TRUE%20%3D%3D%20xG_drivers%5Bu8LinNetwork%5D.bLinSlowSlope)%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20u16RegData%20%7C%3D%20SBC_FS23_M_LIN_SLOPE_SLOW%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if(FALSE%20%3D%3D%20xG_drivers%5Bu8LinNetwork%5D.bLinFailsafeDisable)%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20u16RegData%20%7C%3D%20SBC_FS23_M_LIN_FS_DIS_KEEP%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20u16RegData%20%7C%3D%20((uint16)eOpMode%20%26lt%3B%26lt%3B%20SBC_FS23_M_LIN_MODE_SHIFT)%3B%0A%0A%20%20%20%20%20%20%20%20eStatus%20%3D%20Sbc_fs23_WriteRegister(SBC_FS23_M_LIN_ADDR%2C%20u16RegData)%3B%0A....%0A%20%20%20%20%20%20%20%20%2F*Check%20the%20real%20hardware%20state*%2F%0A%20%20%20%20%20%20%20%20eStatus%20%7C%3D%20LinTrcv_fs23_GetMode(u8LinNetwork%2C%20%26amp%3BeNewHwOpMode)%3B%0A%20%20%20%20%20%20%20%20if((eNewHwOpMode%20%3D%3D%20eOpMode)%20%26amp%3B%26amp%3B%20((Std_ReturnType)E_OK%20%3D%3D%20eStatus))%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20eStatus%20%3D%20(Std_ReturnType)E_OK%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20eStatus%20%3D%20(Std_ReturnType)E_NOT_OK%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20return%20eStatus%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3EeOpMode%20%E4%B8%BA%20LINTRCV_FS23_TRCVMODE_OFF%EF%BC%8CeNewHwOpMode%20%E4%B8%BA%20LINTRCV_FS23_TRCVMODE_NORMAL%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E6%89%8B%E5%86%8C%E6%8C%87%E5%87%BA%EF%BC%8C%E5%9C%A8%E8%B0%83%E8%AF%95%E6%A8%A1%E5%BC%8F%E4%B8%8B%EF%BC%8CLIN%20%E9%BB%98%E8%AE%A4%E4%B8%BA%E6%B4%BB%E5%8A%A8%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%E6%AD%A3%E5%B8%B8%E5%90%97%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1994564%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9Afs23%20Lin%20%E6%A8%A1%E5%BC%8F%E5%BC%80%E5%85%B3%E9%97%AE%E9%A2%98%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1994564%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F211858%22%20target%3D%22_blank%22%3E%40gumu%3C%2FA%3E%20%EF%BC%8C%E6%88%91%E4%BB%8E%E7%A1%AC%E4%BB%B6%E5%9B%A2%E9%98%9F%E9%82%A3%E9%87%8C%E5%BE%97%E5%88%B0%E7%A1%AE%E8%AE%A4%EF%BC%8C%E8%BF%99%E6%98%AF%E4%B8%80%E7%A7%8D%E6%AD%A3%E5%B8%B8%E8%A1%8C%E4%B8%BA%E3%80%82%3CSPAN%20data-teams%3D%22true%22%3E%E5%9C%A8%E8%B0%83%E8%AF%95%E6%A8%A1%E5%BC%8F%E4%B8%8B%EF%BC%8C%E6%94%B6%E5%8F%91%E5%99%A8%E6%A8%A1%E5%BC%8F%E8%A2%AB%E5%BC%BA%E5%88%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%E2%80%9C%E6%B4%BB%E5%8A%A8%E2%80%9D%E6%A8%A1%E5%BC%8F%E3%80%82%E5%9B%A0%E6%AD%A4%EF%BC%8C%E5%8D%B3%E4%BD%BF%E6%82%A8%E5%B0%9D%E8%AF%95%E5%B0%86%20LIN_MODE%20%E5%AD%97%E6%AE%B5%E6%9B%B4%E6%94%B9%E4%B8%BA%E2%80%9C%E7%A6%BB%E7%BA%BF%E2%80%9D%EF%BC%88OFF%EF%BC%8C2b00%EF%BC%89%EF%BC%8C%E6%94%B6%E5%8F%91%E5%99%A8%E4%BB%8D%E4%BC%9A%E4%BF%9D%E6%8C%81%E6%B4%BB%E5%8A%A8%E6%A8%A1%E5%BC%8F%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1994550%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9Afs23%20Lin%20%E6%A8%A1%E5%BC%8F%E5%BC%80%E5%85%B3%E9%97%AE%E9%A2%98%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1994550%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E6%88%91%E5%BF%85%E9%A1%BB%E4%B8%8E%E7%A1%AC%E4%BB%B6%E5%9B%A2%E9%98%9F%E6%A0%B8%E5%AE%9E%E4%B8%80%E4%B8%8B%E3%80%82%E6%82%A8%E8%83%BD%E5%91%8A%E8%AF%89%E6%88%91%E6%82%A8%E6%8B%A5%E6%9C%89%E5%93%AA%E4%B8%AA%E7%89%88%E6%9C%AC%E7%9A%84%20FS23%20%E5%90%97%EF%BC%9F%E6%88%96%E8%80%85%E9%9B%B6%E4%BB%B6%E7%BC%96%E5%8F%B7%E6%98%AF%E5%A4%9A%E5%B0%91%EF%BC%9F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1993741%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9Afs23%20Lin%20%E6%A8%A1%E5%BC%8F%E5%BC%80%E5%85%B3%E9%97%AE%E9%A2%98%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1993741%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Quang%20(%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F220202%22%20target%3D%22_blank%22%3E%40quangvuanh%3C%2FA%3E)%2C%3C%2FP%3E%0A%3CP%3E%E6%82%A8%E8%83%BD%E5%B8%AE%E5%8A%A9%E8%A7%A3%E7%AD%94%E4%B8%80%E4%B8%8B%E6%9D%A5%E8%87%AA%E5%AE%89%E5%BE%BD%E6%99%BA%E5%9B%BE%E7%A7%91%E6%8A%80%EF%BC%88%E4%B8%AD%E5%9B%BD%EF%BC%89%E7%9A%84%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E5%90%97%EF%BC%9F%3C%2FP%3E%0A%3CP%3E%E8%B0%A2%E8%B0%A2%20%26amp%3B%20BRs%EF%BC%8CTomas%3C%2FP%3E%3C%2FLINGO-BODY%3E