can_tsync同步原理
整體來說,can的時間同步還是比較簡單的,如下圖所示,整個過程如下(tips:時間戳自1970年1月1日00:00:00經(jīng)過的時間,是由秒+納秒組成的。):
1time master在t01時刻以廣播的形式發(fā)送一個sync報文,并把時間秒部分的時間放到報文上,發(fā)送到time slave;使用can confirmation的機制,記下sync報文實際從can驅(qū)動發(fā)送出去的時間,t1r.
- time slave在t2r時刻接收到sync報文
- time master在sync發(fā)送完之后,隨后發(fā)送follow up報文,并把t1r的納秒通過報文發(fā)送出去,即t4r = t2r-s(t0r)。這里有一個潛在條件,那就是sync報文由can timesync模塊組裝好報文后調(diào)用發(fā)送接口,直到從can driver上出去,整個時間是不會超過1s的。所以t4r實際上就是從can timesync報文發(fā)送出去直到can driver發(fā)送出去的一個延時。
- time slave在t3r接收到follow up報文。
- 因此在t3r時刻,master此刻真正的時間t(master_now) = t3r - t2r + t4r
注意:實際上,上面的時間大多都是不精確的:
- SYNC和FOLLOW_UP消息分為兩種格式,Type=0x10為不安全的不帶CRC校驗的報文格式,對應(yīng)FUP消息類型為0x18;Type=0x20為帶CRC校驗的安全報文格式,對應(yīng)FUP消息類型為0x28。
- Byte0:時間同步類型:0x20代表當(dāng)前發(fā)送的是帶CRC校驗的TSync同步消息, 0x28代表當(dāng)前發(fā)送的是對應(yīng)0x20 SYNC消息的FUP同步消息;0x10代表當(dāng)前發(fā)送的是不帶CRC校驗的TSync同步消息, 0x18代表當(dāng)前發(fā)送的是對應(yīng)0x10 SYNC消息的FUP同步消息;
- Byte1:byte0為0x20或0x28時,Byte1為該消息的CRC校驗值;
- Byte2:高4位為時間同步域Time Domain;低4位為Sequence Counter,隨發(fā)送次數(shù)循環(huán)累加;
- Byte3:byte0為0x10或0x20時,Byte3為UserByte0;同步類型為0x28或0x18時,高5位保留, bit3 SGW為時間同步狀態(tài)(0:SyncToGTM, 1:SyncToSubDomain),bit1-bit0 OVS為時間同步溢出時間overflow of seconds;
- Byte4-Byte7為同步時間,同步類型為SYNC消息時為32bits 秒時間,同步類型為FUP消息時為30bits ns時間。
-
CAN
+關(guān)注
關(guān)注
57文章
2920瀏覽量
467841 -
車載
+關(guān)注
關(guān)注
18文章
638瀏覽量
83950 -
時鐘同步
+關(guān)注
關(guān)注
0文章
117瀏覽量
13025 -
報文
+關(guān)注
關(guān)注
0文章
39瀏覽量
4188
發(fā)布評論請先 登錄
同星多設(shè)備間的時間戳同步機制TSync功能與使用

AUTOSAR CAN時鐘同步問題
基于FPGA的提取位同步時鐘DPLL設(shè)計

分析PTN時鐘同步技術(shù)及應(yīng)用

微波時鐘同步設(shè)計方案
時鐘信號的同步 在數(shù)字電路里怎樣讓兩個不同步的時鐘信號同步?
車載gptp同步原理介紹

車載時間融合與utc同步

如何選擇GPS時鐘同步裝置?
時鐘同步怎樣組網(wǎng)?
網(wǎng)絡(luò)時鐘同步有哪些要求?如何在5G網(wǎng)絡(luò)中測試時間與時鐘同步?
TSN時鐘同步精度技術(shù)解析:TSN網(wǎng)絡(luò)的基石與保障

評論