文章目录
- 前言
- PSI5接口
- 简介
- 操作模式
- 命名规则
- 异步操作模式(PSI5-A)
- 同步操作模式(PSI5-P)
- 传感器->ECU
- 物理层(位编码)
- 数据链路层
- 数据帧
- 帧格式
- 串行消息帧
- 10bits 传感器帧定义
- 超10bits传感器帧定义
- ECU->传感器
- 物理层(位编码)
- 数据链路层
- 数据帧
- 帧格式1-3
- 帧格式4
- 应用层实现
- 时序参数
- IP 设计
- 结构框图
- 接口设计
- 上板验证
前言
本文参考标准《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零进行计算
应用层实现
具体参考对应芯片手册。