FXLS93xxx 是NXP针对底盘安全领域的PSI5接口的加速度传感器。FXPS7140xxxx 是NXP针对气囊中侧碰,行人保护等应用推出的PSI5接口的压力传感器。
FXLS93xxx内部集成了OTP, One-Time-Programmable Memory (一次性烧写,不支持客户重复烧写),这种OTP Memory 分为NXP工厂烧写部分(Type是F),客户可读,和客户可烧写部分(UF0, UF1 & UF2). 支持客户烧写的范围是UF0($E0-EE), UF1($F0-FF) & UF2($16-5E) 的区间。芯片内还有部分寄存器是客户可读的和 可读可写的寄存器(非OTP的,写的内容会随下电后重新上电后消失,可以理解为RAM)。
未经烧写OTP的芯片会工作在默认模式PSI5-P16C-500/2L,FXLS93xx0(单轴)加速度数据会在Time slot 1发送,FXLS93xxx(双轴)加速度数据,Ch0数据会在Time slot 1发送,Ch1数据会在Time slot 2发送。
OTP programming 烧写流程
进入烧程模式PME(Programming Mode Entry)的时序
烧写电压Vpp 电压9-11V是指BUS_I/VCC pin上电压
依据寄存器配置内容,写寄存器,寄存器默认值为0x00,如配置内容是默认值,则不需要写
寄存器配置内容写好后,
写0x80到WRITE_OTP_EN($11) 烧写UF0, delay 10ms 烧写完成
写0x81到WRITE_OTP_EN($11) 烧写UF1, delay 10ms 烧写完成
写0x8E(跳过COMMTYPE和PHYSADDR寄存器烧写)到WRITE_OTP_EN($11) 烧写UF2, delay 10ms 烧写完成
验证步骤:
烧写注意事项:
为确保该问题不发生,请确保前面的两点已经满足,并且推荐烧写UF1,UF2后,做Margin read, 判断烧写深度是否足够。并将所有烧写后寄存器读回,判断烧写内容是否正确。
烧写工具:
下面是介绍如何通过Seskion PSI5 Simulyzer 进行快速烧写
Seskion configuration
Once the script is generated from the NXP script generator tool you will need to load it on the PSI5 Simulyzer from Seskion by going into Tools-> ECU Pattern Editor -> Channel 0 -> Load -> Select generated script file.
Make sure that “Use for Sensor Init” is ticked , see below snapshot.
Below an example of a script generated by the Seskion Script generation tool :
The 2 first “0” are trimmed out by the defined number of bit set to 0x2A = 42.
Note : Once the script file are loaded to the PSI5-Simulizer from Seskion the “00” from 00b32ba623e are not shown and what will be displayed is b32ba623e. However since the number of bit is 0x2A = 42 the 5x ‘0’ are automatically appended at the beginning of the command.
If the programming using the PSI5 Simulyzer from Seskion is not working there few things to consider for debug :
烧写过程,一定是先点RUN, 然后再点Power ,烧写完成后sensor一直发送0x1e1, 就代表烧写成功了