與UDS相關的一些時間引數

2021-10-05 08:13:33 字數 1528 閱讀 2140

p2server和p2*server_max :

在ecu的軟體中,需要設定p2server這個timer,而這個timer應該被賦p2server_max或p2server_max這兩值。定性地來說,p2server_max指的是ecu在收到請求和給出響應之間的這個時間間隔,它描述了ecu的反應速度。定量地來說,它指的是t_data.ind(ecu收到請求)和t_data.req(ecu給出響應)這兩個函式被呼叫之間的時間。p2server_max與p2server_max的含義類似,區別在於,p2server_max這個時間引數是在ecu給出nrc 0x78之後生效的,ecu返回nrc 0x78,說明ecu當前處理能量不足,所以需要更長的反應時間,即p2server_max。所以p2server_max通常比p2server_max大很多。在講0x10這個診斷命令的時候,我提過這個診斷命令的響應格式是類似50 01 xx xx yy yy這種, xx xx就表示p2server_max,yy yy 就表示p2server_max。診斷儀收到這兩個引數之後,就對ecu的響應速度有了認知,可以據此來判斷ecu的響應是否及時。

∆p2:

∆p2定義了最惡劣情況下的資訊傳輸延時,比如由閘道器、匯流排負載等因此引入的延時等。∆p2和p2server_max或p2*server_max加在一起就是診斷儀期望的最晚接收到響應的時間。∆p2 = ∆p2request + ∆p2response,即請求和響應在匯流排上的傳輸延時之和。

p2client:

診斷儀在成功發出請求之後,會期望在一定的時間內收到響應,這個時間就是p2client,這個時間的開始點是t_data.con,結束點是t_data.ind。根據前面的描述,容易知道,p2client = p2server_max + ∆p2max

p2*client:

p2client與p2client類似,當診斷儀在沒有超時的情況下收到nrc 0x78後,就會啟動這個時間引數,有一點需要注意的是,p2client = p2*server_max + ∆p2response,因為在收到nrc 0x78之後,診斷儀不再發請求,而只是等待ecu的下一次響應,所以不是加上 ∆p2max,而是加上 ∆p2response。

p3client_phys和p3client_func:

這兩個引數定義診斷儀在傳送完一條uds命令之後,下次再傳送命令的最小時間間隔,分別適用於物理定址和功能定址的情況。在iso24229中,它倆的值與p2client相同。

s3server:

在講uds服務的時候,說過ecu需要收到診斷服務才能維持在某個非default session中,或者收到診斷儀持續傳送的3e服務,testerpresent。s3server定義的是ecu多長時間收不到任何診斷服務會回退到default session中。

s3client:

s3client與s3server相對應,它定義的是診斷儀傳送3e服務(testerpresent)的迴圈週期。

一些時間相關操作

1.求星期公式 星期 5 a 實際天數 mod 7 2.干支計算公式 六十甲子干支序號,從1 59 0。六十甲子干支序號 23 a 實際天數 mod 60 3.二十八宿計算公式 二十八宿序號 23 a 實際天數 mod 28 4.實際天數a的計算 a b 基本天數 c 閏日天數 b 計算年 1 36...

與類相關的一些指標

測試 include using namespace std class myclass int axbxc void show cout a is int main int myclass pp myclass cl myclass p int p1 pp myclass axbxc p cl p...

一些與iphone相關的尺寸

截止到目前,iphone已出很多系列,目前市場上主流的iphone4 4s,iphone5 5s 5c,iphone 6 6 plus,iphone 6s 6s plus,針對公司iphone專案,需要完成對上述手機的適配,所以必須得了解這些手機的尺寸和解析度,以及專案中所需要的尺寸,目前做了乙個簡...