CANvas: Fast and Inexpensive Automotive Network Mapping
本文提出一种快速的车内网映射的方案CANvas。贡献:
1. 设计了一种基于相关时钟偏移的消息源追踪的方法;
2. 通过隔离ECU设计了一种识别消息目的地的方法。
下图为CANvas的工作流程:
一、ID source mapping
-
术语:
Clock frequency:每秒的周期数( C i C_i Ci);
Relative clock offset:不同时钟频率报告时间之间的差值( O C i , C j O_{C_i,C_j} OCi,Cj);
Relative clock skew:时钟频率之间的差值,即offset的一阶导数( S C i , C j S_{C_i,C_j} SCi,Cj) -
Pairwise offset tracking
(1)当两个时钟之间为非零偏斜时,relative offset应该随着时间递增或者递减;
(2)同一个ECU的不同ID由于初始发送时间的不同会导致时钟偏移不同( O I − i ≠ O I − j O_{I-i}\not=O_{I-j} OI−i=OI−j),但relative offset中的变化是固定的( Δ \Delta Δ O I i O_{I_i} OIi)
测量超周期的时钟偏移:
追踪计算 I 1 I_1 I1和 I 2 I_2 I2每个超周期报告的时间上的差别,如果相对偏移是个非零常数,则两个ID来自同个ECU(图中 I 1 I_1 I1周期 p 1 p_1 p1为7, I 2 I_2 I2周期 p 2 p_2 p2为9,则超周期为最小公倍数,即图中的63)。以下算法1实现超周期相对时钟偏移的追踪计算。
算法1中变量的关系: -
p 2 = l p 1 p_2=lp_1 p2=lp1,l是周期的比例;
-
O I 2 = j O I 1 O_{I_2}=jO_{I_1} OI2=jOI1,如果j=1,两个ID来自同一个EU,否则来自不同ECU;
-
n = m l , L C M ( n , m ) = l n=ml,LCM(n,m)=l n=ml,LCM(n,m)=l;
-
用 O I 1 , I 2 = ( m p 2 + O I 2 + i 2 ) − ( n p 1 + O I 1 + i 1 ) O_{I_1,I_2}=(mp_2+O_{I_2}+i_2)-(np_1+O_{I_1}+i_1) OI1,I2=(mp2+OI2+i2)−(np1+OI1+i1)计算每n个 I 1 I_1 I1和每m个 I 2 I_2 I2出现时间的差,当两个ID来自同个ECU,该值在整个数据记录中的均值趋近于0。
一、ID source mapping
基础知识:CAN数据帧中ACK位被确认智能说明该数据帧被某些活跃ECU接收了,但是否为正确的接收ECU并不确定。
场景设计:车内网中只存在一个ECU用于接收消息,使用发送设备发送尽可能多的ID消息,当发送的消息ACK位被确认了,则确定该ECU可接收的ID。
在真车中实施将除了目标ECU之外的所有ECU陷入bus off状态遇到的困难:
(1)ECU的auto-recover
(2)永久active的ECU