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唤醒。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值