最近在搞FS26相关的代码,阅读其产品手册,要点记录如下,欢迎补充交流!
1、TRK1和TRK2是电压追踪器,可以用来测量、监控LDO1/LDO2/VREF的电压,需要在外部连接电压传感器,通过ADC模块传输给MCU测量结果。
2、Vcore是给芯片的核电压,Vpre是输出的5v电压,在低功耗模式下是不会掉电的,但LDO1/LDO2是通过OTP模式,可选择的。
3、LD01是MCU的GPIO供电,LDO2是MCU的外设供电。Vref是ADC采样的参考电压,需要较高的精度。
4、VBST是一个Boost调节器,如果选择前端模式,可以确保低于3.2v下依然能工作,但如果选择后端模式,冷启动仅仅支持不低于6v的电压下降。
5、FCCU1、FCCU2是MCU发过来的MCU错误信号,用于触发FS26 SBC芯片对MCU的reset,通过RSTB.
6、FS0B/FS1B是用于故障模式下,关闭外部驱动芯片,停止PWM发波。
7、WAKE up可以通过 wake1、wake2、GPIO等实现,GPIO是可以配置为wake up的。
8、GPIO也可以配置为外部的高边或低边驱动,或双边驱动,或者唤醒。
9、ABIST和LBIST是用于功能安全的功能,一个是模拟开机自测,一个是逻辑开机自测。
10、功能安全机制通过喂狗来实现,可以设置喂狗的周期和duty,可以使用默认的密钥来喂狗,如果是ASIL C/D则需要使用随机密钥来喂狗。
11、RSTB脚是最关键的一个引脚,需要监控其是否变高。变高后才会触发单片机MCU启动,否则单片机没电。
12、把DEBUG pin设为5v,既可以触发DEBUG模式,但前提是给5v时,不要给VSUP施加电压,之后再给。
13、一旦进入深度fail-safe模式,有两种方法重启,一是通过wakeup脚置高,二是通过自重启,100ms一个周期进行自重启,16次之后,变为200ms一个周期,16次值周变为400ms一次,直至得到最大重启次数。这个最大重启次数由OTP设置。
14、如何进入Standby,及Standby下有多少电还保持着?
通过SPI发生以下两条指令:1、0xAA(进入pre-standby);2、0x55(进入Standby),第二条指令需要在第一条指令发出后的10ms内发出
LDO1/2是否使能,取决于OTP的配置。
15、看门狗的刷新周期可以配置,从1到1024ms。周期分为前半周期的CLOSED阶段和后半周期的OPEN阶段。如果没有FCCU错误,才可能正常刷新喂狗。
看门狗的坏数据不论在前半周期还是后半周期,都会导致WD_failure;
看门狗的好数据,在前半周期喂狗会导致WD_Failure,只有在OPEN阶段喂狗才是正确的。
没有数据在CLOSED阶段不会产生问题,但在后半周期会产生WD_Failure。如下图所示:
喂狗分为简单喂狗和复杂喂狗两种情况。简单喂狗适配ASIL B,复杂喂狗适配ASIL D。简单喂狗只需要在OPEN窗口期喂入0x5B2.如下所示
16、Debug模式可以用于产品生产过程。
- Debug模式下无需喂狗刷新;
- DEBUG模式下的deep fail-safe自动进入/重启机制失效;
- RSTB的8s检测也会被禁用(该功能原本设计为:如果RSTB脚被检测8s不被拉高,则会进入Fail-safe状态)。
- 看门狗错误计数和看门狗刷新计数依然是可以使用的;
- 看门狗错误应答会被考虑,此时会增加看门狗错误计数和故障错误计数。当看门狗错误计数达到最大值时,RSTB脚会被激活。
- 看门狗的时间错误不被考虑,此时看门狗的错误计数不会增加;
- FS0B保持低电平,不被释放;
- 在发送第一个正确的喂狗之前,FCCU和错误监控不应该有错误,否则RSTB脚会立即变低,重新回到Fail-safeS状态
- 如果DEBUG模式退出的话,RSTB会被激活,此时设备将进入初始化状态(INIT FS),256ms计数开始发挥作用。假如看门狗不刷新,那timeout将被触发,错误计数将开始增加,直到设备进入Deep FS状态。
- 通过给Vdebug脚5v左右的电压,而且需要早于Vsup脚。可以进入DEBUG模式。
- 进入DEBUG模式后的流程如下:
-
17、DEBUG模式和非debug模式的软件流程区别如下:DEBUG模式流程 DEBUG模式设置流程 给debug脚5v电压,早于Vsup 给Vsup上电 芯片程序执行(模拟自测和逻辑自测) 初始化FS26的各个寄存器,确定FS0B的反应状态 打开看门狗的周期值,设置FS_WDW-duration[15:12]=0x0000 看门狗正确喂狗1次,从而退出初始化状态(INIT FS) 不断喂狗,直到把错误计数器的值降到0 退出DEBUG模式(SPI发送退出指令) 释放FS0B和FS1B安全输出 -
非DEBUG模式(256ms后需要WD刷新):
-
- DEBUG模式(无需WD刷写):
- 18、总结4个模式,init_fs,standby,normal,lpoff,其中从normal和init都可以调到standby模式,方法是发送两个连续的指令:0xAA,0X55.
-
19、FS26的安全机制在于在FTTI时间内通过一次新的喂狗,可以实现单片机的故障恢复,该FTTI时间可以通过软件配置进行选择。
-