時間融合和使用
對于整車來說,Tsync模塊需要將整車所有vehicle time和utc同步好,對于用戶來說,開發(fā)者最好提供獲取vehicle time和utc時間的接口,用戶無需要關(guān)注時鐘同步的過程和細(xì)節(jié)。
- 時間融合與utc同步
前面提到vehicle time和utc的精度不一樣,所以使用場景各有不同,也就意味著同一個ecu內(nèi),應(yīng)該同時存在上述兩種時間,我們以網(wǎng)關(guān)(GW),座艙控制器(CDC),智駕控制器(ADC)以及TBOX為例分析。
如上圖所示,vehicle time可以借助gptp以及can_tsync讓所有ecu保持同步,而utc時間必須借助外部環(huán)境先同步TBOX。但是如何讓GW, CDC ,ADC也能同步UTC時間呢?
針對上述拓?fù)洌瑅ehicle master和utc master不在同一個ecu,可以借助當(dāng)前最火的SOA思想,在TBOX上部署UtcServiceProvider,提供GetUtc和PubUtc兩種接口,而GW, ADC, CDC則可以部署UtcServiceConsumer。為了消除SOA傳輸帶來的延遲,我們可以將TBOX的utc和vehicle time一同給到consumer端,這樣的話,UTCconsumer=UTC(provider)+(vehicle_time(consumer)-vehicle_time(provider))。
如果vehicle master和utc master在同一個ecu,如下圖,這種方式相對來說,會更加簡單一點。比如我們可以將utc的時間在tbox上于vehicle time同步,然后通過gptp的報文,簡介的同步所有的ecu的utc時間。
不管上述任何一種情況,實際并不復(fù)雜,前一種讓架構(gòu)部門輸出soa的描述語言(arxml,idl),由下游直接生成服務(wù)和實現(xiàn)服務(wù)即可;而后一種情況從方式較為簡單了,但是需要考慮時間跳變的問題。
- 對外接口
針對使用者來說,期望能夠直接獲取utc時間或者vehicle time,所以開發(fā)者理應(yīng)再提供接口直接獲取,屏蔽使用者無需關(guān)心的細(xì)節(jié)。代碼示例如下:
C++
class JinbaoClock {
public:
static struct timespec GetVehicleTime()
{
struct timespec ts_ptp;
if (clock_gettime(clk_id_, &ts_ptp)) {
return {};
}
return ts_ptp;
}
static struct timespec GetUtc()
{
struct timespec ts_utc;
if (clock_gettime(CLOCK_REALTIME, &ts_utc)) {
return {};
}
return ts_utc;
}
};
-
模塊
+關(guān)注
關(guān)注
7文章
2735瀏覽量
47757 -
控制器
+關(guān)注
關(guān)注
112文章
16448瀏覽量
179483 -
車載
+關(guān)注
關(guān)注
18文章
617瀏覽量
83467 -
時鐘同步
+關(guān)注
關(guān)注
0文章
89瀏覽量
12804
發(fā)布評論請先 登錄
相關(guān)推薦
怎樣把嵌入式默認(rèn)UTC時間改為CST本地時間
怎么將hwclock同步到系統(tǒng)時間上,并設(shè)置成CST時間?
適用于WSN的時間同步方法
GPS、北斗授時模塊普及:UTC時間,GMT,GPS時,北斗時,北京時間及其關(guān)系
GPS和北斗授時模塊的介紹及UTC、GMT、GPS、北斗時和北京時間的關(guān)系
嵌入式linux設(shè)置本地時間CST以及同步網(wǎng)絡(luò)時間命令

MAX6459UTC+T PMIC - 監(jiān)控器

車載以太網(wǎng)時間同步之EthTsync技術(shù)解析

車載以太網(wǎng)時間同步AUTOSAR層級關(guān)系

車載以太網(wǎng)時間同步Time Slave行為

NTP網(wǎng)絡(luò)時間服務(wù)器,實現(xiàn)安防系統(tǒng)時間同步

智能駕駛數(shù)據(jù)融合的時間同步關(guān)鍵技術(shù)

車載gptp同步原理介紹

評論