ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

PSI5-S 协议解析:TC264 两线制电流接口与时间槽解码

PSI5-S 协议解析:TC264 两线制电流接口与时间槽解码 手上有块 TC264 的板子又刚好要接一颗气压式碰撞传感器翻规格书的时候第一次撞上 PSI5-S 这个词——Peripheral Sensor Interface with Serial PHY。我一开始以为它就是个换了个名字的 SPI两根线同时管供电和通信听起来又很像两线制的 SENT。真正把时序图摊开、拿示波器怼上去之后才发现这套东西的玩法跟前面两个都不太一样供电和通信共用一对双绞线传感器靠拉电流说话ECU 靠压电压喊话同步脉冲把总线上挂着的几颗传感器切成互不打架的时间槽。这类接口在气囊卫星传感器、底盘压力监测、电池包碰撞检测这些位置用得很普遍英飞凌在 TC2xx、TC3xx 系列上都给了对应的 IP 和参考实现。这篇笔记就把我这段时间从规格书、示波器波形和一堆跑不通的代码里抠出来的东西整理一遍重点放在物理层信号到底长什么样、帧怎么逐位解出来、拿 TC264 当主机时外围电路和片上定时器怎么配以及那些只有在台架上真跑起来才会冒出来的坑。1. PSI5-S 在整车电子里到底占哪个位置1.1 为什么气囊和底盘传感器一直偏爱两线制传感器装在车头、车门、B 柱、电池包边梁这些位置线束要穿过狭小空间还要扛住长期振动、温度循环和湿气侵蚀。这种场景下每多一根线就多一个针脚、多一处可能失效的接插件、多一份线束重量和成本。所以从气囊系统一开始工程师就在死磕一件事能不能只留两根线供电和通信都走在同一对上。两线制的核心技巧是让传感器用自己吃多少电流来表达信息。ECU 端在供电回路里串一个分流电阻传感器消耗的全部电流都流过这个电阻电阻上的压降就等于电流乘以阻值。传感器想发1就把自己的等效负载切大一点多吃几十毫安想发0就切回小负载。ECU 只要测量分流电阻上的电压就能还原出传感器的电流波形也就拿到了数据。这条思路其实和工业现场的 4~20 mA 电流环是同宗同源。电流环最讨人喜欢的地方是抗干扰线束上被电磁场感应的干扰电压几乎不会改变回路里流动的电流大小。汽车前舱那个电磁环境点火线圈、电机驱动、继电器切换全在旁边开工能用电流传信息就尽量不要用电压传。这是我理解 PSI5 系列存在的第一层理由。1.2 标准 PSI5曼彻斯特编码、同步脉冲和时间槽标准 PSI5 的上行数据用的是曼彻斯特编码。为什么选它因为电流调制出来的是单极性信号只有吃得多和吃得少两个状态没有天然的电平跳变。曼彻斯特把每个比特周期拆成前后两半用中间那一次跳变的方向来区分 0 和 1——前半高后半低是一种前半低后半高是另一种。这样一来信号本身自带边沿、自带直流平衡接收端只要盯着中间的跳变就能恢复位同步完全不需要额外的时钟线。代价是同样的数据率需要两倍的信号带宽125 kbit/s 的曼彻斯特信号实际基波频率要按 250 kHz 去算。帧结构上标准 PSI5 一帧以两个起始位开头后面跟数据区。常见的两种配置是短帧和长帧短帧的数据区 10 位通常是 8 位测量数据加 1 位奇偶校验再加 1 位保留或停止位长帧的数据区 20 位通常是 16 位数据加 4 位 CRC。数据率常见 125 kbit/s也有 189 kbit/s 的配置。具体用哪一档是 ECU 侧配置、传感器侧出厂设定两边必须对得上对不上就是一堆乱码。同步脉冲是整套机制的心脏。ECU 周期性地把供给传感器的电压往下拉一小段做成一个负向脉冲。总线上所有传感器同时看到这个节拍它干两件事第一给传感器内部的位时钟重新对一次表所以 PSI5 传感器可以不用晶振靠同步脉冲锁相就够第二划分时间槽。一个同步周期被切成若干个槽每颗传感器分配固定的槽位轮到自己的槽才发帧。这样一来一对线上挂两三颗传感器完全可行线束成本直接省一半。常见的同步周期有 500 µs、1 ms、2 ms 几档周期越短数据刷新越快但对时序精度的要求也越苛刻。1.3 PSI5-S 补上的那块短板标准 PSI5 的瓶颈很明确帧长写死、单帧数据量小。一颗单纯的加速度传感器一个 8 位或 16 位的测量值确实够了。但现在传感器越来越聪明——带自检结果、带温度补偿系数、带序列号、多轴数据一起出、还支持工厂标定和在线参数修改。16 位根本不够用而且标定和诊断需要 ECU 往传感器方向写数据标准 PSI5 的下行能力非常有限基本就是个同步信号的用法。PSI5-S 的思路是物理层一点不动还是那对双绞线、还是电流调制上行加电压调制下行但把链路层换掉从曼彻斯特编码改成异步串行UART 那种风格的帧。换完之后的好处是实打实的效率上去了。曼彻斯特要两倍带宽异步串行不需要同样的线带宽能塞进接近两倍的信息量。帧长灵活了。不再是死板的 10 位或 20 位可以是几个字节按传感器实际需要定。速率可以往上抬。PSI5-S 的速率能到 1 Mbit/s 这个量级比标准 PSI5 的 125 kbit/s 高出一个数量级。双向通信更好做。下行也按串行帧来组织寻址、参数下发、诊断读取都能安排上。代价当然也有而且是实打实的工程代价。异步串行对位定时更敏感收发双方的位宽必须匹配到几个百分点以内起始位的检测变得生死攸关那一个边沿没抓到整帧就报废同步脉冲和串行帧之间的配合也得更精细留给保护间隔的余量更小了。所以 PSI5-S 不是标准 PSI5 的免费升级是拿时序裕量换数据吞吐量的一笔交易。2. PSI5-S 物理层上的信号到底是什么样2.1 上行传感器用电流说话传感器内部有一组可切换的电流负载它把自己消耗的电流在两个固定值之间来回切。ECU 端在供电正极回路里串一个分流电阻传感器吃进去的电流全部流经它电阻上的压降就等于电流乘以阻值。用比较器或者高速 ADC 采这个压降就还原出了电流波形。举个具体的数方便算账。假设传感器静态工作电流 15 mA调制时叠加上 20 mA 的电流台阶分流电阻取 4.7 Ω。那么低电平状态下分流电阻上的压降是 15 mA × 4.7 Ω ≈ 70 mV高电平状态是 (15 20) mA × 4.7 Ω ≈ 165 mV两者摆幅大约 94 mV。比较器阈值放在中点也就是 117 mV 附近。数不大但足够一颗带迟滞的比较器分辨。这里有两个特别容易翻车的细节。第一个是分流电阻的直流压降会直接吃掉传感器的供电电压。70 mV 看着不多但要是手一抖选了 20 Ω同样的 15 mA 静态电流就是 300 mV 的固定损失再把线束压降、接插件接触电阻算进去传感器可能就掉到最低工作电压以下了表现是通信正常但数据偶尔乱跳查起来极其费劲。分流电阻的取值永远是在信号幅度够大和别把供电顶穿之间做平衡。第二个是这不到 100 mV 的信号是叠加在几十毫伏直流偏置上的小信号。比较器的输入失调电压、迟滞量、共模输入范围、温漂全都得算进预算里。用普通运放搭的简易比较器温漂几十微伏每摄氏度一进温度箱阈值就开始跑前几天调好的参数过两天就不灵了。提示如果传感器规格书里只给了一个固定的电流台阶值不要想当然地靠加大分流电阻去换信噪比。先把供电余量算清楚再谈信号幅度。2.2 下行ECU 用电压喊话反方向就没法用电流了——供电是 ECU 自己给的它改不了传感器吃多少电流。ECU 改的是供给传感器的电压在供电线上制造一个短暂而明确的电压跌落比如从 7 V 掉到 4 V或者从 5 V 掉到 3 V传感器端检测这个跌落并解码成位。标准 PSI5 里这套机制就是同步脉冲本身。PSI5-S 把它扩展成了完整的下行数据通道一串按节拍出现的电压跌落就构成下行位序列。下行可以承载寻址、参数写入、诊断命令这些东西。设计上有几点必须提前想清楚。跌落幅度要足够大保证在传感器处于最低工作电压、线束压降最大的极端情况下也能被可靠识别但跌落又不能持续太久否则传感器内部电源跌穿就会复位整条总线重新初始化。跌落恢复时的上升沿速度也要控制住太陡会激起线束寄生电感的振铃那串振铃正好落在上行数据的时间窗口里等于自己给自己制造干扰。下行的位定时通常比上行宽松一些因为电压调制的边沿远没有电流调制那么干脆利落收得太紧反而是自找麻烦。2.3 同步脉冲与时间槽分配的实际约束时间槽分配是整个 PSI5 系统设计里最容易被轻视、也最容易在整车阶段爆炸的一块。纸面上算得通实际挂上去就是丢帧原因往往藏在下面这几个约束里。槽位长度必须留够三段余量。第一段是传感器从看到同步脉冲下降到它真正开始发第一个位之间的固定延时这个延时在规格书里有个范围不是定值第二段是帧本身的传输时间第三段是帧结束到下一个同步脉冲之间的保护间隔。三段加起来才是槽位的真实占用。同步脉冲本身也要占时间。典型宽度几十微秒如果同步周期是 500 µs光脉冲就吃掉 8%再扣掉保护间隔留给数据的时间又少一截。同步周期选得越短这个占比越难看。多传感器挂同一对线时每个槽不能重叠还要按最坏情况加余量——时钟偏移、温度漂移、器件批次差异全都要在纸面上先留出来。有些传感器的槽位可编程有些出厂就写死了。选型的时候一定要看清楚这一点固定槽位的传感器会直接限制你在一根总线上能挂几颗。同步周期典型同步脉冲宽度单槽可用时间粗算适合的传感器数量500 µs30~50 µs约 120~150 µs / 槽2~3 颗1 ms30~50 µs约 250~300 µs / 槽3~4 颗2 ms30~50 µs约 500~600 µs / 槽4 颗以上但刷新率下降3. PSI5-S 的串行帧逐位拆解3.1 起始段同步脉冲之后怎么找到第一个位同步脉冲的下降沿是全总线共同的时间参考点。传感器从自己的角度看到这个沿之后内部延时一个固定时间开始发帧。ECU 端要做两件事用同步脉冲的沿把本地一个硬件定时器清零然后预置一个预期起始时刻只在这个时间窗口里打开边沿捕获。为什么不能一直开着捕获因为空闲期线束上会有噪声、有上一颗传感器的尾巴、有下行命令的残余振铃一直开着捕获必然被误触发然后就是一堆解析失败。窗口化捕获是标准做法窗口的中心放在理论起始时刻宽度按最坏情况的抖动加一倍余量。串行帧以起始位开头——数据线上出现一个明确的、持续一个位时间的电平跳变。接收端就拿这个边沿做位同步的重新对齐。这一点是理解 PSI5-S 为什么敢用异步串行的关键每一帧都重新对齐一次误差不会跨帧累积。哪怕传感器的时钟源只是个漂移 2%~3% 的 RC 振荡器只要一帧内的累计漂移不超过半个位时间就能正确解出来。换成同步串行收发双方就要求同源时钟那就得多拉一根时钟线两线制的意义也就没了。位采样的具体做法是确认起始位中间的边沿之后再往后等 1.5 个位时间采第一个数据位之后每隔一个位时间采一次。这个 1.5 位的偏移量是为了把采样点放在每一位的正中心左右各留半个位时间的容错空间。位时间的取值不能死用标称波特率最好用实际测到的起始位宽度做一次校正或者对连续多帧的起始位宽度做平均。3.2 数据区、校验字段与短帧长帧的选择数据区长度是设计时最需要算总账的地方。短帧常见 8 位数据加 1 位奇偶校验长帧可以到 4~8 字节尾部跟 2 位或 4 位 CRC。选哪个不能拍脑袋要把总线占用率算出来。假设一根总线上挂 3 颗传感器同步周期 500 µs每帧 6 字节加上帧头帧尾按 60 位算。波特率选 500 kbit/s位宽 2 µs一帧 120 µs三颗传感器 360 µs加上同步脉冲 40 µs 和保护间隔勉强排得下。如果把波特率降到 125 kbit/s相位宽变成 8 µs一帧 480 µs一颗传感器就把整个同步周期吃光了。这就是为什么 PSI5-S 一定要把速率拉上去——不是单纯追求快是为了在固定的同步周期里塞进更多传感器和更多数据。速率、帧长、传感器数量、刷新率这四个量是互相牵制的改一个另外三个都会动。我一般会先钉死刷新率这是应用层需求再定传感器数量和帧长最后反推需要的波特率看物理层能不能支撑。3.3 错误状态与诊断位怎么用奇偶校验只能查单位错误CRC 能查更多。PSI5 规格里对 CRC 的多项式和计算方式都有明确定义实现时用移位寄存器或者查表都行代码量很小。难的不是算 CRC是算错了之后怎么办。收到一帧校验失败直接丢掉是最省事的做法但在安全相关应用里不够。更稳妥的策略是分层处理单次出错可以先用上一帧的有效值或者简单外推顶上同时把错误计数加一连续出错超过阈值就把这颗传感器标记为失效并上报诊断码走降级策略。如果应用本身有功能安全等级要求那就不能做任何顶替必须直接上报并进入安全状态。还有一点特别容易被忽略PSI5 传感器自己会输出状态位用来告诉 ECU 它检测到的内部异常比如自检失败、供电超出范围、内部温度过高等。这些位在帧格式里是占了位置的写解析代码的时候千万别当成测量数据读进去。我见过有人把状态位和数据位拼在一起当 16 位整数用结果传感器一自检就出一个离谱的大数值查了两天才定位到。4. 用 TC264 当 PSI5-S 主机从外围电路到外设配置4.1 分流电阻、比较器与参考电压分流电阻选型有三条硬要求。阻值要按前面算过的方法定先保证信号幅度再回过头检查供电余量。温度系数要低最好在 50 ppm/K 以内否则温度一变阈值就偏静态测试全对、进了温度箱就崩。封装功率要留余量虽然电流不大但长期工作下的漂移会累积。比较器建议直接选带内部迟滞的型号或者用外部正反馈自己搭迟滞。迟滞量要大于线束上耦合进来的噪声幅度但又不能超过有效信号摆幅的一半否则会把窄的有效脉冲吞掉。我的经验值是把迟滞设在电流台阶对应电压摆幅的 10%~20%对应前面那个例子就是 10~20 mV。这个值不是拍脑袋来的是拿示波器量了线束上实际噪声峰峰值之后定的。参考电压不要图省事直接拿 MCU 的 3.3 V 或 5 V 轨去分压。开关电源的纹波会直接叠到判决阈值上等于在比较器门口加了个噪声源。用一颗专用参考芯片或者至少加两级 RC 滤波加一颗低噪声 LDO成本增加不多误码率下降非常明显。4.2 让 GTM、ERU 和定时器替你数边沿TC264 属于 AURIX TC26x 系列TriCore 架构200 MHz 主频片上外设相当丰富。做 PSI5-S 解码核心思路是硬件数边沿软件做解析把 CPU 从中断风暴里解放出来。同步脉冲生成用 GTM 的 TOM 或 ATOM 通道产生固定周期的固定宽度脉冲驱动 ECU 侧一颗 MOSFET 去拉低传感器供电电压。周期和宽度都按前面算好的时间槽方案配置。边沿捕获比较器输出接 GTM 的 TIM 输入通道硬件自动记录每个边沿的时间戳并压进 FIFO。TIM 的时间戳精度直接决定了位宽测量的精度200 MHz 下就是 5 ns 一格完全够用。信号路由外部比较器的输出先接到 ERU事件请求单元再由 ERU 分发到 GTM 的输入。这样做的好处是引脚映射灵活、边沿极性可选改板的时候不用重画。时间窗口控制用 GTM 的 DTM 产生捕获使能窗口只在预期的时间槽内打开捕获通道其余时间关掉噪声误触发直接掐死在源头。VADC 的位置VADC 不要用来做实时解码。波特率 500 kbit/s 时位宽 2 µs想每位采 4 个点就得 2 MSPS 的稳定采样率TC264 的 VADC 单通道很难稳定跑到这个数即使跑到了采样点的抖动也大到没法用。VADC 更适合做慢速的平均电流监控用于断线检测、短路诊断这类辅助判断。DSADC 的带宽同样不够。这条结论是踩过才有的我一开始想用 ADC 直采整段波形做软件解码图省事实测下来采样点抖动大到完全没法看白白浪费了两天。另外捕获中断的频率要提前估算。500 kbit/s 下每 2 µs 一个边沿200 MHz 主频下就是 400 个时钟周期一次中断。中断服务程序里只能做最少的事——读时间戳、更新状态机、写缓冲解析、CRC 校验、数据搬运全部放到主循环或者用 DMA 处理。这是硬约束不是优化建议。4.3 TC264 上的编译器与工具链怎么选TC264 属于 TriCore 架构能选的编译器就那么几套选之前先想清楚是做验证还是做量产。工具链特点适用场景AURIX Development Studio官方免费Eclipse 基座自带 iLLD 低层驱动和编译器后端开箱即用学习验证、原型开发、非量产Tasking VX-toolset for TriCore商业授权优化能力强车规认证材料齐全业界主流量产项目HighTec GNU TriCore基于 GCC社区版有代码体积限制商业版无限制预算受限的量产项目编译器不只是能不能编过的问题。TriCore 上Tasking 和 GCC 对中断入口、函数属性__interrupt、__near、__far这些、内联汇编语法的写法都不一样iLLD 里有些宏是跟着编译器分支走的。所以选工具链的顺序应该反过来先看你要用的驱动库和参考代码支持哪一套再决定用哪个编译器。我踩过的坑是同一份代码在 AURIX Development Studio 里编得好好的换成 Tasking 编中断向量表的段名对不上链接脚本得改改完之后内存布局又变了调试花了大半天。调试器方面TC264 走 DAP 或 JTAGiSYSTEM 的 winIDEA、Lauterbach 的 TRACE32 都支持AURIX Development Studio 里自带调试功能验证阶段够用。4.4 解码状态机的落地写法串行帧解码用状态机来写最清晰也最好调试。核心状态就那么几个等待同步、等待起始沿、接收位流、校验、输出。typedef enum { PSI5S_IDLE 0, PSI5S_WAIT_START, PSI5S_RECV, PSI5S_CHECK } psi5s_state_t; #define PSI5S_FRAME_BITS 48U /* 6 字节数据区 */ #define PSI5S_BIT_US 2U /* 500 kbit/s */ static volatile psi5s_state_t g_state PSI5S_IDLE; static volatile uint32_t g_bit_time_us PSI5S_BIT_US; static volatile uint8_t g_sample_cnt; static volatile uint64_t g_shift; static volatile uint8_t g_frame[8]; /* 比较器输出接 GTM TIM硬件捕获触发此回调 */ void psi5s_start_edge_isr(uint32_t ts) { uint32_t last; if (g_state ! PSI5S_WAIT_START) { return; } last ts - g_last_sync_ts; /* 同步脉冲沿到起始沿的间隔 */ /* 用实测间隔对位宽做一次粗校正抑制时钟漂移 */ if (last 0U) { g_bit_time_us PSI5S_BIT_US; } g_sample_cnt 0U; g_shift 0ULL; g_state PSI5S_RECV; /* 半位延时后打开位采样定时器把采样点对到起始位中心 */ gtm_start_bit_timer(g_bit_time_us / 2U); } /* 位采样定时器每 g_bit_time_us 触发一次 */ void psi5s_bit_timer_isr(void) { uint8_t level; if (g_state ! PSI5S_RECV) { return; } level psi5s_read_level(); g_shift (g_shift 1) | (level ? (1ULL (PSI5S_FRAME_BITS - 1U)) : 0ULL); g_sample_cnt; if (g_sample_cnt PSI5S_FRAME_BITS) { g_state PSI5S_CHECK; psi5s_stop_bit_timer(); psi5s_post_decode(g_shift); /* 交给主循环或 DMA 做 CRC 与搬运 */ } }这段代码的重点不在语法在几个设计取舍。一是位采样用周期定时器而不是边沿捕获好处是实现简单、抗窄脉冲干扰强代价是位宽误差会累积到帧尾所以帧长不能太长或者中间要插入重新同步点。二是解析结果只往缓冲里写所有耗时操作都甩给主循环。三是状态机在非预期状态下直接返回不做容错分支调试阶段这样更容易暴露问题。5. 台架上跑通之后才会遇到的坑5.1 阈值窗口设偏误码率悄悄上去了典型现象是静态测试全对一上振动台或者进温度箱误码率就开始飙升。这种问题不能瞎改参数要按链路一步步查。第一步用示波器抓分流电阻两端的波形确认两个电平是不是真的分得开。如果看到高电平被削顶说明传感器供电被分流电阻拉低内部恒流源进入了非线性区这时候该减阻值的是分流电阻不是改阈值。第二步看比较器输出有没有毛刺。毛刺通常来自线束耦合直接对应到迟滞量不够。加迟滞之前先确认毛刺的频率和幅度迟滞加到刚好盖住就行加多了会把有效信号一起吞掉。第三步确认阈值是不是落在两个电平的中点上。偏向一边的后果是一边的抗噪裕量大另一边小。温度漂移会让中点慢慢跑偏所以分流电阻和参考分压电阻都要选低温漂的这一点省不得。第四步把连续很多帧的位采样点叠加起来看如果采样点落在位边界附近说明位时间估计偏了要回到位宽校正那一步去改。注意比较器的迟滞是双刃剑。迟滞太大幅度小、宽度窄的有效脉冲会被吞掉太小噪声会变成一堆假边沿。判断标准很简单把迟滞从 0 开始慢慢加大直到比较器输出端的毛刺刚好消失再往上留 20% 的余量就够了。5.2 时间槽漂移与同步抖动单颗传感器挂上去一切正常挂第二颗就开始偶发丢帧或者冷车正常、热车丢帧这类问题基本都出在时间槽上。原因不复杂同步脉冲从 ECU 传到各个传感器的走线长度不一样传播延迟有差异传感器内部从检测脉冲到开始发帧的延时本身有个范围内部时钟随温度漂移实际起始时刻偏离标称值。三个误差叠在一起如果槽位保护间隔留得不够就会打到隔壁槽上。处理办法有几个层次。最直接的是把捕获窗口开宽一点但别宽到把上一颗传感器的尾巴包进来。更进一步是做自适应窗口统计前 N 帧的实际起始时刻算出一个滑动平均动态调整窗口中心。再激进一点把传感器的时间槽配置做成可编程的调试阶段可以随时挪位置但量产时一般会锁死因为可编程槽位通常意味着更多的配置流程和初始化时间。保护间隔建议至少留 10%~20%这个数字看着保守但换来的是一次调试通过。5.3 电源纹波、地偏移与线束电源纹波会直接叠在分流电阻上被当成信号处理。ECU 给传感器的供电前级要加 LC 滤波但要注意 LC 的谐振点不要落在同步脉冲的谐波频率附近否则滤波反而变成放大。地偏移是更隐蔽的问题。传感器和 ECU 的地之间存在压差这个压差会直接抵消掉一部分信号幅度。线束走双绞、单点接地能缓解用差分比较器或者仪表放大器效果更好代价是成本上去。判断方法很简单把传感器用一根短的地线就近接 ECU 的地如果误码率明显改善那就是地偏移在作祟。线束本身也值得单独说。PSI5 的标配是非屏蔽双绞线绞距要均匀随便找根线接上去大概率会出问题。接插件建议用镀金的微动腐蚀会让接触电阻慢慢漂移分流电阻外面再串一个不稳定的接触电阻等于把前面辛苦算出来的阈值一次性废掉。这是很多跑了一周突然开始丢帧类问题的真实原因。6. PSI5-S、SENT、DSI3、SPI 放一张表里怎么选维度PSI5-S标准 PSI5SENT (J2716)DSI3SPI线数22324上行调制电流调制电流调制电压脉冲宽度电流调制电压电平下行调制电压调制电压同步脉冲有限电压/电流电压电平典型速率数百 kbit/s 至 1 Mbit/s125 / 189 kbit/s约 30 kbit/s较高数 MHz 至数十 MHz编码方式异步串行曼彻斯特半字节脉冲编码曼彻斯特/串行同步串行拓扑总线时间槽多传感器总线时间槽点对点为主总线点对点双向能力完整有限部分变种支持支持支持典型场景智能碰撞、多轴、带诊断的压力传感器简单碰撞传感器压力、扭矩、位置气囊卫星传感器板级芯片间通信选型上我的判断顺序是这样的。板级短距离、要高速、不在乎多两根线SPI 最省事别折腾。车身几米线束、电磁环境恶劣、传感器数量多两线制电流调制天生占优。数据量大、需要标定和诊断、甚至要在线升级传感器参数那 PSI5-S 是首选因为它的下行通道是完整的。如果只是传一个模数转换结果、对刷新率和数据量都没要求标准 PSI5 或者 SENT 完全够用硬上 PSI5-S 只是给自己增加时序调试的复杂度收益并不对等。我个人在实际操作中的体会是PSI5-S 的难点从来不在协议本身——协议翻来覆去就那么几页看两遍就懂了。真正吃掉时间的是模拟前端和时序余量分流电阻上一个几十毫伏的小信号要在振动、温度循环、电磁干扰同时存在的情况下稳定地喂给比较器同步脉冲和起始位之间那几个微秒的关系要在所有器件的批次差异下都站得住。我的建议是先用一颗传感器、最低速率、把示波器波形和 GTM 捕获时间戳彻底对通确认位宽测量误差在半个位时间以内再往上加第二颗传感器、加长帧、提速率。每加一个变量就重新验一遍误码率这样出了问题能立刻定位到是哪一步引入的。反过来做一次性把参数全拉满出了问题就只能从头猜起那才是真正耗时间的做法。
返回列表