FXLS93xxx/FXPS7140xxx OTP programming (中文)

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

FXLS93xxx/FXPS7140xxx OTP programming (中文)

FXLS93xxx/FXPS7140xxx OTP programming (中文)

FXLS93xxx NXP针对底盘安全领域的PSI5接口的加速度传感器。FXPS7140xxxx NXP针对气囊中侧碰,行人保护等应用推出的PSI5接口的压力传感器。

 

FXLS93xxx内部集成了OTP, One-Time-Programmable Memory (一次性烧写,不支持客户重复烧写),这种OTP Memory 分为NXP工厂烧写部分(TypeF),客户可读,和客户可烧写部分(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 烧写流程

zhangcindy_0-1722566394386.png

 

 

进入烧程模式PME(Programming Mode Entry)的时序

  • 上电后delay(tRS_PM) 6ms
zhangcindy_1-1722566394387.png

 

 

  • 发至少31个同步头,同步头的时间周期必须满足 245-255us
zhangcindy_2-1722566394387.png

 

  • PME command
  • 注:上电后6ms+127ms中如果没有收到PME command, 则退出PM Entry.
zhangcindy_3-1722566394387.png

 

 

zhangcindy_4-1722566394388.png

 

烧写电压Vpp 电压9-11V是指BUS_I/VCC pin上电压

zhangcindy_5-1722566394388.png

 

依据寄存器配置内容,写寄存器,寄存器默认值为0x00,如配置内容是默认值,则不需要写

寄存器配置内容写好后,

0x80到WRITE_OTP_EN($11) 烧写UF0, delay 10ms 烧写完成

0x81到WRITE_OTP_EN($11) 烧写UF1, delay 10ms 烧写完成

0x8E(跳过COMMTYPEPHYSADDR寄存器烧写)到WRITE_OTP_EN($11) 烧写UF2, delay 10ms 烧写完成

zhangcindy_6-1722566394389.png

 

验证步骤:

  • 读回烧写过的寄存器,确保烧写内容是否正确
  • DEVSTATDEVSTAT2 寄存器,判断是否在烧写过程中有错误产生。
  • 烧写UF1UF2后,做Margin read, 判断烧写深度是否足够

 

烧写注意事项:

  • OTP烧写中常出现的问题主要是烧写深度不足。失效现象是通过PSI5总线收到传感器错误代码,10-bit 500 0x1F4, 16-bit 32000 0x7D00(PSI5_CFG寄存器中 EMSG_EXT = 0)10-bit 491 0x1EB, 16-bit 31424 0x7AC0PSI5_CFG寄存器中 EMSG_EXT = 1)错误码可能是会在传感器放置或者工作后一段时间,如几天,几个月或更长时间后产生,所以如发生该问题容易导致客户端失效。目前已知原因是:
  1. 烧写电压VPP不够: DatasheetVpp 电压9-11V是指BUS_I/VCC pin上电压,要考虑串联电阻和线束的压降,确保烧写OTP过程中,BUS_I pin电压稳定在这个范围内
  2. 烧写时间不足,写WRITE_OTP_EN后的延时必须大于10ms, 以保证烧写完成(这里写的OTP Program Timing 最大值10ms是每颗芯片需要烧写的时间有区别,但芯片最大的烧写时间是10ms, 所以烧写时间需要大于10ms以确保每颗芯片都烧写深度足够。)
  1. zhangcindy_7-1722566394389.png

     

 

为确保该问题不发生,请确保前面的两点已经满足,并且推荐烧写UF1UF2后,做Margin read, 判断烧写深度是否足够。并将所有烧写后寄存器读回,判断烧写内容是否正确。

  • 还要注意进入烧写模式(PME)后,请勿热插拔FXLS93xxx 芯片或模块, 以避免芯片损坏。

 

烧写工具:

下面是介绍如何通过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.

 

 

zhangcindy_8-1722566394390.jpeg

 

 

 

zhangcindy_9-1722566394390.jpeg

 

 

 

Below an example of a script generated by the Seskion Script generation tool :

 

zhangcindy_10-1722566394391.png

 

 

 

 

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.

 

 

zhangcindy_11-1722566394393.jpeg

 

 

If the programming using the PSI5 Simulyzer from Seskion is not working there few things to consider for debug :

  1. Make Sure that the bit distance in bidirectional communication is set to 250us as specified in sensor product specification.

 

zhangcindy_12-1722566394393.jpeg

 

  1. Make sure that Init Phase1 timing is set to 6.

 

zhangcindy_13-1722566394393.jpeg

 

  1. If device respond to PSI5 programming command but the configuration is not getting written into OTP, please make sure that the applied voltage level is within product specification 9-11V at BUS_I pin. So please include potential voltage drop cause by any potential resistor connected on BUS_I/VCC pin.
zhangcindy_14-1722566394394.png

 

烧写过程,一定是先点RUN, 然后再点Power ,烧写完成后sensor一直发送0x1e1, 就代表烧写成功了

zhangcindy_15-1722566394394.png

 

 

zhangcindy_16-1722566394394.png

 

ラベル(2)
評価なし
バージョン履歴
最終更新日:
‎08-01-2024 07:40 PM
更新者: