ISO15765網絡層服務網絡
a)發送/接收最多4095個字節的數據信息;spa
b)報告發送/接收完成狀態。3d
網絡層內部傳輸服務,CAN總線上的數據幀沒幀只能傳輸8個字節,ISO 爲了適應CAN總線上的數據傳輸,根據診斷報文數據長度的不一樣規定了單幀傳輸和多幀傳輸兩種方式。blog
1.單幀傳輸it
當應用層的診斷服務數據能夠利用單幀CAN數據傳送時,可採用單幀傳送方式(正常地址,數據長度下小於等於7,擴展幀狀況下,數據長度小於等於6)table
2.多幀傳輸擴展
多幀傳送方式中,網絡層根據須要,將診斷數據進行拆分紅一個首幀和多個連續幀。首幀(擴展及混合地址-5字節,正常地址-6字節)包括了分段數據的總長度信息以及一些數據幀;每一個連續幀的第一個字節包含拆分的順序編號,後面的七個字節用於存放診斷數據。接收端在接收到連續幀後根據接收數據幀的編號重組服務數據。float
對於CAN診斷來講,咱們徹底能夠經過識別每條CAN幀數據域的首個字節來肯定它屬於四種類型中的哪類。im
N_PCI是TP層最爲核心的信息,是TP層區別於其餘CAN總線抽象協議的、最爲顯著的特徵。d3
發送端和接收端經過N_PCI(協議控制信息)確認發送或者接收的幀爲首幀、流控幀仍是連續幀,如表3,表4.
接收端經過對接收到數據幀的第一個字節進行分析就能夠得出所接收到的數據幀爲什麼種數據幀,以及所要接收的數據長度
接收的數據第一個字節的高四位爲0則表示所接收的數據幀爲單幀,再經過讀取低四位以肯定單幀數據中的有效字節長度
單幀N_PCI參數定義以下表。
接收的數據的第一個字節爲高四位爲1則表示所接收的數據幀爲多幀的首幀。再讀取第四位和第二個字節後確認所須要接收的字節數後,根據接收的能力和雙方通訊的速率發送流控幀,而後等待多幀連續的到來。
接收的數據第一個字節的高四位爲2則表示所接收的數據幀爲多幀連續幀。而後在對SN連續幀編號以後的數據放入接收緩衝區
CFN PDU中參數SN用以說明連續幀的順序
對於全部拆分信息,SN開始於0。FF應當分配值0,它不是明確地包含在NPCI域中,但應當按拆分信息順序號爲0。
第一個流控幀編號(SN)後的連續幀設置爲1;
在同一個拆分信息上,每個新增的連續幀編號(SN)增1;
連續幀編號(SN)的值不受流控幀的影響;
當連續幀編號(SN)到達值15時,它在下一個連續幀中重置爲0;
順序編號以下表10所示表11所示SN值。
接收的數據第一個字節的高四位爲3,則表示接收的數據幀爲流控幀。低四位的FS表示所發送端所須要進行的動做,BS爲可以發送連續幀的數據,STmin爲每兩幀的時間間隔。
網絡層時間管理是爲了保證發送端和接收端不會由於等待而永久掛起,從而失去通訊能力,所以每次通話的過程當中設置了超時的時間參數
單幀 | 02 10 02 55 55 55 55 55 | 0表示單幀,2表示長度,10 02表示數據,其餘爲位填充 | |
首幀 | 10 14 2E F1 90 01 02 03 | 1表示首幀,0+14表示數據長度(20),後面的爲數據 | |
連續幀 | 21 02 03 04 05 06 07 08 22 09 0A 0B 0C 0D 0E 0F |
2表示連續幀,1,2,3…F,0,1,2… | |
流控幀 | 30 02 20 55 55 55 55 55 | 3表示流控幀,0表示繼續發送,02一次容許發送的連續幀個數, 20表示兩個連續幀之間的時間間隔爲20ms |
紅色部分爲0表示能夠無限發送,流控幀只有3個字節,無數據。 |
根據這個傳輸流程咱們能夠獲得診斷報文的傳輸延遲的公式:T=N_As+N_Bs+N_Cr-Tan+(Ttan+STmin)N-STmin
2019-12-24 11:47:48 Written by 大崔