基于AURIX-TC275调试调试tlf35584心得

tlf35584是TC275配套电源安全IC,集成了电源DCDC和LDO、电源监控、MCU错误监控、WWDG和FWDG、功能安全输出(ss1、ss2)等,从复杂性上来讲称得上是SBC(System Basic Chip),通过SPI和MCU通信,自身的状态机有多种状态:init、normal、sleep、standby等,并通过spi 指令进行状态切换。上电tlf35584处于init状态,需要spi 指令切换到normal状态,mcu正常运行需要normal状态,因为init状态对应的功能安全输出(ss1、ss2)为低电平,正常应该是高电平,因为低电平控制车体抱闸,进行安全控制了。tlf35584的错误监控引脚连接mcu的smu输出pin,mcu运行正常需要输出电平变化的波,如果运行异常,该pin持续输出低电平,如果是持续输出高电平,有可能是短路,如果不配置smu,则该脚持续输出低电平,因此在不配置smu的情况下,需要关闭tlf35584的错误监控功能。

tlf35584 spi通信采用偶校验方式,具体详见datasheet,个别的重要寄存器为了避免被误写入或擦除,采用了保护的功能,如果想修改这些寄存器配置,需要先解除保护(unlock),配置完成后再进行保护(lock)。

init状态转换到normal状态需要一些条件,其中包括看门狗服务一次之后状态才可以切换,由于配置完tlf35584立即执行切换状态,导致无法正常切换,还停留在init状态,引发功能安全输出(ss1、ss2)持续为低电平,在切换状态之前增加延时即可解决这个问题。另外init状态对应的安全功能输出为低电平,normal状态对应的安全功能输出为高电平。

目前的配置流程如下:

1、unlock

2、启动WWDG功能并配置WDI进行trigger,配置阈值为9,该阈值理解为没有喂狗次数的累计阈

值,超出该阈值则停止工作;

3、配置close window time: 50ms

4、配置open window time:1000ms

5、lock

6、切换为normal状态

具体配置如下:

TLF35584_Unlock();

ProtectState = TLF35584_Read(PROTSTAT, 0xff);

TLF35584_Write(SYSPCFG0, 0x0A); //

TLF35584_Write(SYSPCFG1, 0x00); //

TLF35584_Write(WDCFG0, 0x99); //使能窗口看门狗以及切换喂狗方式为WDI

TLF35584_Write(WDCFG1, 0x09); //functional watchdog error threshold

TLF35584_Write(FWDCFG, 0x0B); //

TLF35584_Write(WWDCFG0, 0x00); //close window: 50ms

TLF35584_Write(WWDCFG1, 0x13); //open window: 1000ms

TLF35584_Lock();

ProtectState1 = TLF35584_Read(PROTSTAT, 0xff);

TLF35584_Write(DEVCTRL, 0xfa); //切换为normal状态

TLF35584_Write(DEVCTRLN, 0x05); //切换为normal状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值