调试UJA1169碰到过的问题

前提:UJA1169是一款集成高速 CAN且提供5V或3.3V供电的SBC,它具有在极低电流的待机和睡眠模式下运行,并具有总线和本地唤醒功能,会在Sleep模式下切断给MCU的供电。

下面描述调试中碰到的问题。

问题1 无法使用CAN通信功能

退出工厂模式时,设置0x73寄存器的V2SUC位为0(图1.1所示),进而导致0x10寄存器的V2C上电时的默认值为0,即V2C在所有模式下都是OFF的(图1.2所示)。

根据图1.3所示,1169 CAN Trcv的功能是通过V2供电的,V2受V2C控制,因此,在1169的初始化过程中,需用通过SPI配置寄存器0x10h的V2C的值,使1169在需要支持CAN通信的模式下让V2供电。

问题2 1169供电的MCU无法下电问题

根据1169的芯片手册,1169通过V1给MCU供电,如图2.1所示。

当MCU走下电流程需要1169停止供电时,需要1169进入SLEEP模式,如图2.2所示。

而由其他模式进入SLEEP,需满足图2.3所示的4个条件。在我调试的过程中,发现1169的WAKE pin一直被其他外设拉高,导致设置SLEEP模式失败,进而导致MCU下电失败

问题3 1169供电的MCU下电后又上电即反复唤醒问题

1169还提供看门狗功能,我在初始化11169的时候,设置看门狗的模式为Timeout模式,根据1169芯片手册,当设置看门狗的模式为Timeout的时候,在1169为Sleep状态下,看门狗依然为Timeout模式(如图3.1,3.2所述),若是不喂狗,看门狗会复位,进而复位MCU,即出现反复唤醒的问题

初次碰到这个问题,我以为是设置1169位SLEEP模式后,出现唤醒事件,导致1169进入RESET模式,在设置SLEEP模式之前获取了一下1169的所有事件状态,发现也没任何唤醒事件。后面经过同事的提醒,才定位到时看门狗复位导致的,再次感谢我那位同事,听君一席话胜读十年书诚不欺人!

因此解决办法是在设置1169进入SLEEP之前,先设置1169的看门狗模式为Autonomous模式

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值