FXLS93xxx 是NXP针对底盘安全领域的PSI5接口的加速度传感器。FXPS71407BPS 是NXP针对气囊中侧碰,行人保护等应用推出的PSI5接口的压力传感器。
FXLS93xxxx/FXPS71407BPS 芯片出厂时,COMMTYPE中COMMTYPE[2:0]被设置成0x1. 除COMMTYPE中这一位,其它寄存器默认值都是0.
虽然都是QFN 4mm x 4mm 封装,但pin脚顺序不同,PCB不共用
下面仅介绍了在PSI5模式下最常配置的几个寄存器,其它的配置请参考对应的datasheet
芯片烧写OTP前,有默认模式(un-programmed PSI5)输出 PSI5-P16C-500/2L with 400 Hz, 4-Pole low-pass filter.
SOURCEID_0, SOURCEID_1 对应CH0
SOURCEID_2, SOURCEID_3对应CH1
具体的CH0 和CH1对应的加速度传感器在datasheet 第一页中可以找到
注:PIS5异步模式(Async mode), 仅SOURCEID_0 有效
例:
FXLS93220, 这是X单轴的,它仅能使用Channel 0, 所以配置中仅能配置SOURCEID_0 或 SOURCEID_1 。
FXLS93421, CH0对应的是X轴Middle-g, CH1对应的是Z-axis Low-g的加速度传感器。
如果要使用Z-axis Low-g的加速度传感器,则配置SOURCEID_2 或 SOURCEID_3,如果一个同步周期内只需发一组加速度值,则配SOURCEID_2 就可以了。
SOURCEID_0 中PDCMFORMAT[2:0],例:PSI5需要配置为P16CRC-1000/3H ,数据需要以16-bit 输出, 则配置PDCMFORMAT[2:0] =0b1xx
PSI5_CFG ($25)
最常需配置的位
P_CRC(默认是奇偶校验,写1是CRC校验),ASYNC(默认是Sync mode, 同步模式, 写1改为异步模式Async)
EMSG_EXT 如果模块的spec里没有特别要求,建议写1,因为在模块失效时,可以提供更多的失效信息,便于做FA. PSI5_CFG 其它位的配置主要看系统的结构或接收端是否支持。
PDCM_RSPSTx($26-$2B)
在Sync mode下,PDCM_RSPST0,PDCM_RSPST1,PDCM_RSPST2,PDCM_RSPST3 对应于SOURCEID_0, SOURCEID_1,SOURCEID_2, SOURCEID_3 的数据开始发送的时间, Start time, 这里配置的是tTIMESLOTx的值, tA_SYNC_DLY只有50-600ns.
例: SOURCEID_2的数据开始发送的Timeslot start time是244 μs, 则配置PDCM_RSPST2_L = 0xF4
通过配置的SOURCEID_x选择对应的CHx_CFG_U1,CHx_CFG_U2,CHx_CFG_U3,CHx_CFG_U4,CHx_CFG_U5进行配置。
PDCM_CMD_B_L($38) PDCM_CMD_B_H($39) PSI5 Command Blocking Time 全0为默认值450us.
CH0_CFG_U1($40), CH1_CFG_U1($48) 根据产品需求,在下表中选择合适的LPF[3:0]和SAMPLERATE[1:0]. 该滤波器更详细的内容见Low-pass filter 章节
CH0_CFG_U2($41), CH1_CFG_U2($49) 寄存器U_SNS_MULT[7:0]的配置需结合CHx_CFG_U1中USER_SNS_SHIFT[1:0]一起配置。通过这个配置,可以得到对应的sensitivity和g-range. 具体计算可以参考uGen6UserSensitivityMultiplierCaculation.xslx 文件。注:PSI5 10-bit数据输出范围是-480 ~ 480 LSB, PSI5 16-bit数据输出范围为-30720 ~ 30720 LSB. (这是PSI5协议规定的)
CH0_CFG_U3($42), CH1_CFG_U3 ($4A) CHxDATATYPE0 和 CHxDATATYPE1 , 默认是使能Offset cancellation自动归零功能的。通过这个寄存器配置,可以关闭该功能。
MOVEAVG[1:0] 默认是使用的LPF, 通过MOVEAVG[1:0]配置,可以关闭LPF, 使能平均值滤波。
CH0_CFG_U4($43), CH1_CFG_U4($4B) INVERT 如发现数据输出的正负和期望值是相反的,则将该位置1
假设将传感器转90度,即Offset为1g,当OC_FILT[1:0] 为0时 则由于OC Rate Limiting 的速度是1LSB/4s for PSI5 10-bit(or 16LSB/s for PSI5 16-bit). 如果1g对应的输出是32个LSB (PSI5 10-bit),则需要32*0.25 = 128s实现1g的自动归零功能。
如果使用0.04Hz,OC_FILT[1:0]=1,关闭OC Rate Limiting功能,则 18.36sec 实现归零 final value (+/-1%) . (最快的)
如果使用0.005Hz,OC_FILT[1:0]=2,?
CH0_U_OFFSET_L($55), CH0_U_OFFSET_H($56), CH1_U_OFFSET_L($5D), CH1_U_OFFSET_H($5E) 当测量轴向在重力加速度方向,则需要配置该寄存器。配置的具体值参考uGen6UserSensitivityMultiplierCaculation.xslx 文件。例如FXLS93421, 当使用Z-axis在垂直方向时,由于重力加速度的耦合,使Offset超过了400mg,PSI5总线会报Offest Error信息(EMSG_EXT=1)或是Sensor Defect Error信息(EMSG_EXT=0).
以上仅是FXLS93xxxx/FXPS71407BPS最常做的配置,注意FXPS71407BPS和FXLS93xxxx的配置还是有很多区别的,如只支持10-bit PSI5 输出,所以请以对应的datasheet为准。