自学内容网 自学内容网

TLF9471 - High-Speed CAN FD Transceiver

1 框图描述

在这里插入图片描述

2 功能描述

  CAN收发器被设计用来承受汽车应用的恶劣条件,并支持12V应用。
  SBC的控制器区域网络(CAN)收发器部分在汽车和工业应用中提供高速(HS)差分模式数据传输(最高可达2Mbaud) 和接收。它作为CAN协议控制器和与ISO 11898-2:2016和SAE J2284兼容的物理总线线之间的接口。
  CAN FD收发器提供低功耗模式,以减少电流消耗。这支持具有部分断电节点的网络。为了支持软件诊断功能,实现了CAN接收模式。它被设计为在收发器被关闭时提供良好的被动行为(混合网络,钳位15/30个应用程序)。
  通过总线上的信息,可以从CAN唤醒能力模式中进行唤醒。因此,微控制器可以断电或闲置,并被can总线活动唤醒。
  该收发器还可以配置为具有唤醒功能,以保存电流,并确保从正常模式安全过渡到睡眠模式(以避免丢失信息)。
  图19显示了在改变SBC模式时可能发生的收发器模式转换。
在这里插入图片描述注意:

  • Behavior in SBC Development Mode:在SBC初始化模式中的CAN默认值,并且从SBC初始化模式进入SBC正常模式时,它是打开而不是关闭的。

3 代码实现部分

/**
 * @brief   zq
 * @param   mode             
 * @return  uint8 
 * @note    Set HS-CAN Module Modes
 */
uint8 Tle9471CfgHSCANModuleMode(HSCANModuleModesBit workMode, HSCANFlashModeActivationBit flashMode)
{
    if((workMode > CANNormalMode) || (flashMode > FlashModeEnabled))
    {
        return 0xFF;
    }
    else
    {
        g_TLE9471ES.BUS_CTRL_0.U = 0;
        g_TLE9471ES.BUS_CTRL_0.B.CAN = workMode;
        g_TLE9471ES.BUS_CTRL_3.U = 0;
        g_TLE9471ES.BUS_CTRL_3.B.CAN_Flash = flashMode;
        Tle9471DataTransfer(WriteCmd, BUS_CTRL_0_Add, g_TLE9471ES.BUS_CTRL_0.U);
        Tle9471DataTransfer(ReadCmd,  BUS_CTRL_0_Add, g_TLE9471ES.BUS_CTRL_0.U);
        Tle9471DataTransfer(WriteCmd, BUS_CTRL_3_Add, g_TLE9471ES.BUS_CTRL_3.U);
        Tle9471DataTransfer(ReadCmd,  BUS_CTRL_3_Add, g_TLE9471ES.BUS_CTRL_3.U);
        
        return 0;
    }
}

注意事项:如果TLE9471 进入SLEEP状态后,需要支持CAN唤醒,那么再进入SLEEP状态之前,需要将CAN切换至CANIsWakeCapable模式,该模式状态下TLE9471才支持CAN唤醒。


原文地址:https://blog.csdn.net/qq_41164088/article/details/137221492

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!