PSI5接口

前言

本文参考标准《110601_psi5_spec_v20_base》

PSI5接口

简介

PSI5(Peripheral Sensor Interface)通信是由奥托利夫(Autoliv)、博世(Bosch)、大陆集团(Contimental)协同协会两大飞思卡尔半导体和TRW等共同制定。PSI5是一种开放标准,基于用于外设气囊传感器的现有传感器接口,目前已在数百万个气囊系统中得到验证。传感器数据可通过双线接口同时进行同步和异步传输。PSI5通信协议的技术特性和低实施成本,使它同样适合许多其他汽车传感器应用。

PSI5在中速范围内的优势在于成本比CAN或FlexRay更低,但具有与传感器数据兼容的数据速率。SENT数据总线也用于传感器数据传输,但其限制在于仅能将数据从传感器发送到电子控制单元(ECU)。PSI5为双向,允许传感器寻址和配置。

特点:

  • 双线电流接口(电流信号无视分压,不影响信号)
  • 曼切斯特编码的数字数据传输
  • 高数据传输速度,标准为125Kbps或可选的189Kbps
  • 可变的数据字长度(10~28位,以1位为粒度)
  • 异步或同步操作以及不同的总线模式
  • 双向通信

操作模式

PSI5具有多种操作模式,这些模式定义了ECU和传感器之间的通信拓扑和参数,包括通信模式、数据位数、错误检测、周期时间、每个周期的时间槽数量和波特率。

命名规则

在这里插入图片描述

异步操作模式(PSI5-A)

PSI5-A描述了用于单向、异步数据传输的点对点连接方式。

每个传感器在上电后开始定期向ECU传输数据,数据传输的时序和重复率由传感器控制。

在这里插入图片描述

同步操作模式(PSI5-P)

同步操作模式使用TDMA(时分多址)方式进行通信,控制单元通过发送一个较高电压的脉冲信号来实现数据同步。每个数据的传输都以这个同步信号为基准,总线上的传感器根据自己的时间间隙进行数据的发送。

注:同步功能对于点对点连接方式为可选操作,但是总线连接方式必须具备。

在这里插入图片描述

传感器->ECU

PSI5使用两条线同时为传感器供电和传输数据,ECU提供预调电压,传感器通过改变电流消耗来传输数据。

物理层(位编码)

使用曼切斯特编码,其中逻辑“0”由电流上升沿表示,逻辑“1”由电流下降沿表示。

在这里插入图片描述

数据链路层
数据帧

PSI5的数据帧由 2bits 起始位 + 10-28bits 数据位 + 1bit 奇偶校验位或 3bits CRC校验组成,对于10bits数据位帧,使用偶校验;对于更长的数据位帧,推荐使用CRC校验。

在这里插入图片描述

帧格式

数据帧可能包含一个或者多个字段。

在这里插入图片描述

串行消息帧

串行消息帧由18个连续的PSI5帧的消息字段组成,所有18个帧必须成功传输,串行消息才能被接收。

连续PSI5帧的第8帧的消息位M1决定串行消息帧的格式,可以是12bits数据字段+8bits ID字段,或者是16bits数据字段+4bits ID字段。

在这里插入图片描述

CRC6校验和:

  • 6位校验和的生成多项式为 g(x) = x^6 + x^4 + x^3 + 1
  • 二进制初始值为 “010101”
  • 数据后增加 6bits 零进行计算

在这里插入图片描述

10bits 传感器帧定义

在这里插入图片描述

超10bits传感器帧定义

在这里插入图片描述

ECU->传感器

物理层(位编码)

存在两种编码方式,一是固定同步周期,根据有无脉冲表示1/0,二是通过脉冲宽度来表示1/0。

在这里插入图片描述

数据链路层
数据帧

Tooth Gap 位编码方法只适用于帧格式1-3,而 Pulse Width 位编码方法适用于所有 4 种帧格式。为了确保数据的安全性和可识别性,不允许在同一系统中混合使用不同的帧格式。

帧格式1-3

ECU到传感器通信的数据帧组成,包括特定的起始条件、传感器地址、数据字段和校验和。

  • 起始条件:至少连续5个逻辑0或者至少连续31个逻辑1,用于表示一个新数据帧的开始;
  • 传感器响应:传感器在相应的时隙内以标准传感器到ECU的电流通信方式响应;
  • 同步位:为了区分数据内容和起始条件,并在使用 Tooth Gap 位编码方式时使传感器能够同步,因此在每第4位引入逻辑1作为同步位。同步位有助于ECU和传感器在数据流中识别帧的开始,并且确保传感器能够在正确的时间点同步到数据帧;
  • 数据帧长度:数据帧长度由传感器地址(SAdr)和功能码(FC)的内容定义;
  • CRC3:同“传感器->ECU,数据帧”

在这里插入图片描述
在这里插入图片描述

帧格式4
  • 数据帧4由9bits起始位+4bits传感器地址+20bits数据+6bits CRC组成
  • 数据域中每6bits间隔会填充1bit零,用于区分数据和起始位,从而避免数据帧的误同步
  • 数据帧的传输和确认:通常情况下,不需要对正确的ECU到传感器数据帧进行确认。若需要响应时,可通过以下两种方式响应:
    • 通过在保留的数据范围区域内传输返回代码和返回数据
    • 通过串行消息帧传输

在这里插入图片描述

CRC6校验和:

  • 生成多项式为:g(x) = x^6+x^4+x^3+1
  • 初始值:010101
  • 数据后增加6bits零进行计算

在这里插入图片描述

应用层实现

具体参考对应芯片手册。

时序参数

在这里插入图片描述

IP 设计

结构框图

接口设计

上板验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA的花路

你的鼓励是我最大的创作动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值