iso15765-2中定義了網路層和傳輸層的內容,下面就對這兩部分分別進行介紹。所有網路層的服務都有統一的結構,為了定義服務,有三種服務原語:
所有的網路層服務也有統一的格式,如下:
service_name.type
網路層提供了兩種服務:
n_usdata.request
n_usdata.confirm
n_usdata_ff.indication
用於把接收到的分段報文的首幀傳送給上層,如果首幀發現任何錯誤,那麼整個報文都將被忽略;如果資料長度(ff_dl)大於接收方可用的緩衝區,也會被認為是乙個錯誤。
n_usdata.indication
用於給上層提供接收到的資料。
n_changeparameter.request
用於對特定內部引數的動態配置請求。
n_changeparameter.confirm
用於向上層確認修改特定協議的請求已經完成(成功與否)。
mtype —— 報文型別,有兩種:
n_ai —— address information
(1)n_sa,network source address,長度8位
(2)n_ta,network target address,長度8位
(3)n_tatype,network target address type,列舉型別
物理定址:一對一通訊,支援網路層所有型別的報文(4)n_ae,network address extension,長度8位功能定址:一對多通訊,只支援單幀傳輸(廣播)
—— 資料長度,長度32位
—— 傳輸的資料
—— blocksize,separationtime minimum(詳情見傳輸層)
—— blocksize,separationtime minimum的值,長度8位
—— 服務執行結果,列舉型別
(1)n_ok:服務執行成功
(2)n_timeout_a:超過時間n_asmax/n_armax
(3)n_timeout_bs:超過時間n_bsmax
(4)n_timeout_cr:超過時間n_crmax
(5)n_wrong_sn:接收到非預期序列號(pci.sn)
(6)n_invalid_fs:流控幀接收到無效的狀態
(7)n_unexp_pdu:接收到非預期的pdu
(8)n_wft_ovrn:接收方在流控幀中發出等待狀態
(9)n_buffer_ovflw:接收方在流控幀中發出溢位狀態
(10)n_error:網路層發現除上述錯誤之外的錯誤
—— 修改引數配置結果,列舉型別
(1)n_ok:服務執行成功
(2)n_rx_on:服務沒有執行
(3)n_wrong_parameter:引數沒有定義
(4)n_wrong_value:引數值超出範圍
(1)傳送/接收報文
(2)報告傳送/接收報文的結果
2.2.1 單幀傳輸(singleframe transmission)
2.2.2 多幀傳輸(multiple-frametransmission)
2.2.2.1 多幀包含:
① 首幀(first frame)
② 連續幀(consecutive frame)
接收端通過流控機制(flowcontrol)防止傳輸過程中幀丟失,在緩衝區已滿時,接收端傳送流控幀(flowcontrol frame)通知傳送端暫時先不要發報文。2.2.2.1.1 流控幀(flowcontrol frame)包含以下兩個內容:
2.2.2.1.2 流控機制(flow control)的兩種模式:
2.2.2.1.3 接收段緩衝區儲存以下狀態來控制連續幀(consecutive frame)的傳送:
2.2.2.2 傳輸層pdu(protocol data unit):
(1)n_ai:address information,參見本章小節(網路層)內容
(2)n_pci:protocol control information,定義了傳送的n_pdu是哪一種幀
(3)n_data:需要傳送的資料
本文參考的標準是iso15765-2:2016(e),與舊版相比又有所擴充,並且把協議分成了網路層和傳輸層兩部分。網路層提供了交換報文的位址資訊,決定幀的接收端和傳送端;傳輸層則主要在於幀的傳輸機制及多幀的拆分,協議後面還講了四類幀的錯誤處理機制,這裡沒有講,感興趣的可以自行研究一下。以上均是筆者自己的理解,如有錯誤歡迎指正。
CAN匯流排網路「負載率」計算
can匯流排負載率 表徵的是單位時間內匯流排上的 位流 相對於匯流排頻寬的佔比。換就話說,匯流排實際資料傳輸速率與理論上能達到的資料傳輸速率的比值。以景區的負載率為例,每個景區都有乙個容納遊客負荷上限人數 比如說10000人 如果此時景區內只有1000人,則此時景區負載率是10 景區負載率是乙個空間...
傳輸層與網路層的區別
傳輸層位於網路層之上,傳輸層協議為不同 主機上執行的應用程序提供 邏輯通訊,而 網路層協議 為不同主機提供邏輯通訊。網路層負責ip資料報的產生以及ip資料報在邏輯網路上的路由 網路層只是根據網路位址將源結點發出的資料報傳送到目的結點 點到點 其主要任務是 通過路由選擇演算法,為報文或分組通過通訊子網...
傳輸層 和網路層的區別
在 協議棧中,傳輸層位於網路層之上,傳輸層協議為不同 主機上執行的程序提供 邏輯通訊,而 網路層協議 為不同主機提供邏輯通訊。這個區別很微妙,但是卻非常重要。讓我們用一家人作為 模擬來說明一下這個區別。設想一下有兩所房子,乙個位於 東海岸而另乙個位於 西海岸,每所房子裡都住著12個小孩。東海岸的房子...