PSI5协议详解

1、简介

        PSI5协议(Peripheral Sensor Interface)是用于汽车传感器上的一种通信协议,主要用于汽车骑车的安全气囊传感器。PSI5是一种开发的,可免费使用的通信协议,该协议目前由“PSI5管理委员会”负责管理,委员会的成员主要由Autoliv,Bosch,Continental组成。

        PSI5的主要特性:PSI5的优势是通过较低成本实现稳定且高速的数据传输。

  •  双线电流接口
  • 采用曼彻斯特编码方式实现数字传输
  • 125Kbps/189Kbps传输速率可选
  • 高EMC稳定性和低辐射
  • 传感器供电电流范围宽
  • 可变数据长度(V1.3版本支持数据长度为8,10,16,20,24;V2.3版本支持10-28bit之间的数据长度)
  • 支持同步或异步模式以及支持不同的总线模式
  • 支持双向通信

2、系统设置和操作模式

2.1 系统连接配置

        上图展示了带PSI5功能的ECU与传感器之间的系统连接配置。

        ECU通过两条线连接到传感器,ECU使用这两条线进行供电和数据通信。ECU端的数据接收模块(Receiver ASIC)为传感器提供一个预调节电压以及对传感器发来的信息进行读取。上图通过传感器1和传感器2展示了点对点的连接方式,通过传感器3和传感器4展示了总线连接方式

PSI5操作模式

        不同的PSI5传感器定义了自身与ECU之间通信的连接方式和相关参数。具体如下说明:

  • A:表示传感器与ECU之间的连接方式为同步模式
  • P:表示传感器与ECU之间的连接方式为异步并行总线模式
  • U:表示传感器与ECU之间的连接方式为异步通用总线模式
  • D:表示传感器与ECU之间的连接方式为异步菊花链总线模式
  • dd:表示传感器与ECU之间的数据长度为10bit
  • P:表示传感器采用奇偶校验方式进行数据校验
  • CRC:表示传感器使用CRC校验方式进行数据校验
  • tttt:数据与数据之间的周期,单位为us
  • n:表示每个周期之间的时间槽个数
  • L/H:表示支持的数据传输速率,L表示125kbps,H表示189kbps

        例如:某款PSI5传感器支持PSI5-P10P-500/3L,则ECU与传感器之间应采用异步并行总线模式,传输的数据长度为10位,校验方式采用奇偶校验,同步脉冲周期为500us,周期之间有三个时间槽,数据传输速率为125kbps。


3、传感器到ECU的通信过程

        物理层说明:PSI5通过两条线对传感器进行供电和数据通信,ECU会给传感器提供一个预调节电压。传感器到ECU的数据传输是传感器通过对供电线路进行电流调制实现数据传输。ECU端对电流振荡进行抑制。

位编码

        传感器使用曼彻斯特编码方式对电流进行调制。上图中的Is_low是传感器的静态电流。Is_high是传感器在静态电流的基础上施加一个灌电流得到的,数据传输采用曼彻斯特编码方式,即位时间内信号的上升沿代表逻辑0,下降沿代表逻辑1。ECU端(Reciver ASIC)通过对电流信号进行曼彻斯特解码实现数据的读取。

        同步:对于同步操作的总线模式而言,ECU端应提供两种电压进行调制,具体可参看同步模式下的说明图。传感器测应检测这种电压调制变化。

数据链路层

        传感器到ECU之间的通信数据格式如下:

        每帧PSI数据帧包含 N bit数据信息,这 N bit数据包含2个起始比特位(“00”)和一个奇偶校验位P,N-3 bit的数据位,如果为CRC校验,则数据位有 N-5 bit。在传输时,低位先发。传感器会周期性地向ECU发送数据帧,帧与帧之间的间隔时间Tgap必须大于一个数据的位时间Tbit

        传感器到ECU的数据帧格式:

        V2.3版本中的帧格式如上图:主要包含了数据区域A数据区域B传感器状态帧控制串行消息通道。下面是相关说明:

错误检测

        传感器使用奇偶检验或CRC校验的方式对数据进行错误检测。CRC校验的种子值为111,CRC多项式为g(x)=1+x+x{^3}。计算过程说明实例如下:

        CRC校验范围不包含起始位。数据从低位到高位依次输入到CRC计算模块,将计算的结果写入到CRC字段中。例如计算出的CRC值为0x4(0100),则CRC字段的填充为0x2(0010),低位在前,高位在后

数据范围

        PSI5数据消息被分为三个独立的范围,不同范围代表不同的含义。分别为传感器输出信号的范围状态和错误消息范围、以及初始化数据范围

        数据范围(10bit):

        对于10bit的传感器而言(即P=10),则 -480 到 +480 被用于表示传感器输出信号,-512 到 -481为传感器在初始化期间传输的ID数据和分块数据,+481 到 +511被用来表示状态信息和错误信息(注意,这里的状态信息和错误信息包含了ECU和传感器)。

数据范围的映射

        传感器数据信号的范围与数据长度成正比(若10bit传感器,数据范围划分为-512到+511,16bit传感器,数据范围划分为-32768到+32767)。对于数据长度超过10bit的传感器,范围2和范围3使用下面的方式进行数据的映射,将10bit数据信息填充到16bit数据的高10位,后6位填充信息则根据10bit数据中的D0为进行复制填充(这也就意味着不同数据长度的传感器,状态和错误消息(范围2)和块的ID和数据消息(范围3),它们的个数是一致的,如范围3固定只有只有16+16条信息编码,而范围2固定只有31条信息编码)。


4、初始化

传感器启动和初始化:传感器每次在上电或者欠压复位后,均执行内部初始化操作,内部初始化操作分为如下三个步骤:

初始化步骤

  • 初始化阶段1:在T0到Tinit1期间,不进行数据传输。典型时长为100ms
  • 初始化阶段2:在Tinit1到Tinit2期间,传感器传输类型编码和序列号N。
  • 初始化阶段3:传输"传感器就绪"或“传感器故障”以及其他传感器特定数据。
  • 初始化阶段4:进入传感器运行阶段,正常传输传感器数据或状态数据。

        ID块和数据块交替发送,共发送K次(传感器设置)。在第三阶段,如果传感器初始故障,则将持续发送“传感器故障”信息和其他可选状态消息,直到断电。如果传感器初始化成功,则传感器进入运行阶段,并开始发送传感器数据或可选状态数据信息,直到传感器关闭或者检测到内部错误。

初始化数据格式

        为了避免与传感器信号数据产生混淆,在初始化阶段使用特殊的数据格式和保留的数据范围。“数据范围3”包含了16个块ID和4bit数据半字节。详细见上表中的范围3说明。

        如果初始化数据超过4*16=64bit(超过36bit的传感器特定消息,即在初始化阶段必须传输的数据信息),数据可以被分页,对于要传输的数据,每64bit可以重复使用ID号,数据页未编码。发送的数据页信息必须满足上面的映射表说明,另外不强制要求传输完所有的数据页信息。

        初始化数据页内容:主要包含PSI5版本信息,初始化期间传输的数据块总数(理解为D的个数),制造商编号传感器类型传感器和应用程序特定消息

        前9个数据信息是强制要求必须拥有的(4*9=36bit),后面的数据是可选的。下面是状态数据的详细说明,值得注意的一点是,在初始化第二阶段数据发送中,数据发送重复次数k的范围为1-16,通常k取4.。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值