概述
IEEE 1722(AVB/TSN協(xié)議族中的核心協(xié)議)不僅定義了基于以太網(wǎng)的音視頻流傳輸格式(AVTP-AAF),還包含了一套關(guān)鍵的控制協(xié)議—AVTP Control Format(后文簡(jiǎn)稱ACF),為控制指令在車內(nèi)網(wǎng)絡(luò)不同控制節(jié)點(diǎn)間的傳輸提供了新的選擇。
通俗來講,ACF就是將目前較為成熟的控制協(xié)議(如CAN、LIN、FlexRay甚至是RS232串口指令等)進(jìn)行封裝,使這些控制指令能基于以太網(wǎng)進(jìn)行傳輸。這樣部分控制器既能保留原有協(xié)議實(shí)現(xiàn),又能利用以太網(wǎng)TSN 時(shí)間同步、流預(yù)留等實(shí)現(xiàn),保證控制指令精確執(zhí)行。
ACF報(bào)文按“時(shí)效性”分為兩類,報(bào)文格式有所區(qū)別,分別適應(yīng)不同控制場(chǎng)景需求。具體為:
? NTSCF(Non-Time-Synchronous Control Format):此類控制報(bào)文無時(shí)間戳字段,不攜帶時(shí)間戳信息,適用于對(duì)時(shí)間要求不敏感、輕量化的控制指令。
? TSCF(Time-Synchronous Control Format): 此類控制報(bào)文攜帶“展示時(shí)間戳”信息,適用于需要多執(zhí)行器協(xié)同控制的時(shí)間敏感場(chǎng)景(應(yīng)用示例如下圖所示)。

ACF TSCF 應(yīng)用示例圖
報(bào)文格式
ACF 報(bào)文和AVTP音視頻報(bào)文一樣,基于以太網(wǎng)二層進(jìn)行傳輸,其報(bào)文在整個(gè)以太網(wǎng)幀中的結(jié)構(gòu)如下圖所示。

ACF 以太網(wǎng)幀結(jié)構(gòu)示意圖
從圖中可以看出,對(duì)于NTSCF和TSCF這兩種報(bào)文,是通過不同的ACF AVTPDU Header來區(qū)分的,其攜帶的ACF Msg在報(bào)文格式上是沒有區(qū)別的。接下來分別介紹ACF NTSCF Header、TSCF Header和ACF Message 這三部分的報(bào)文格式。
ACF NTSCF Header

NTSCF Header報(bào)文結(jié)構(gòu)示意圖
? subtype
表征當(dāng)前AVTP報(bào)文的類型。在NTSCF Header中,該字段固定為0x82;在TSCF Header中,該字段固定為0x05。
? sv (stream_id valid)
該字段用來表征當(dāng)前報(bào)文的stream_id是否為有效流預(yù)留id。當(dāng)sv=1時(shí),即說明該stream_id對(duì)應(yīng)的數(shù)據(jù)流已通過TSN的流預(yù)留協(xié)議分配了網(wǎng)絡(luò)帶寬資源。
? version
版本號(hào),和其他所有AVTP報(bào)文一致,固定為0。
? r (reserved)
預(yù)留字段。
? ntscf_data_length
表征當(dāng)前報(bào)文攜帶的所有acf_payload的總字節(jié)數(shù),該字段的取值范圍取決于當(dāng)前網(wǎng)絡(luò)的MTU(最大傳輸單元,Maximum Transmission Unit)。
? sequence_num
表征當(dāng)前ACF 報(bào)文在同一個(gè)stream中的序列號(hào),listener端可以通過該字段檢測(cè)丟幀和亂序。
? stream_id
用來做流識(shí)別的報(bào)文流ID,同一個(gè)流的ACF報(bào)文stream id需保持一致。
ACF TSCF Header
ACF TSFC Header中攜帶時(shí)間戳信息,報(bào)頭格式為通用流報(bào)頭(common stream header),各字段含義已經(jīng)在上一篇AAF介紹的文章中進(jìn)行介紹。我們這次只關(guān)注和時(shí)間相關(guān)的avtp_timestamp字段。

TSCF Header報(bào)文結(jié)構(gòu)示意圖
? avtp_timestamp
當(dāng)tv=1時(shí),該字段的值為有效時(shí)間戳信息,含義為talker指示listener執(zhí)行該控制指令的精確時(shí)間。
ACF Message
ACF Message是承載具體控制語義的核心內(nèi)容,緊跟在前面介紹的兩種Header后面。一幀AVTP報(bào)文中可以攜帶一個(gè)或多個(gè)ACF Message。而每一個(gè)ACF Message報(bào)文也可以拆成ACF Message Header和ACF payload兩部分。如圖所示。

ACF Message 結(jié)構(gòu)示意圖
ACF Message Header包括acf_msg_type和acf_msg_length兩個(gè)字段:
? acf_msg_type
該字段描述了ACF Message的類型,ACF Message可以封裝不同類型的控制報(bào)文格式,例如常見的CAN、LIN、MOST等,目前協(xié)議支持的類型見下表。

? acf_msg_length
因?yàn)锳CF AVTPDU中可以攜帶多個(gè)ACF Message,通過該字段可以得知當(dāng)前ACF message的長(zhǎng)度,便于listener端解析,需要注意的是,該字段的單位為4bytes。
acf_msg_payload也包含了多個(gè)字段,報(bào)文格式根據(jù)其封裝的控制報(bào)文類型有所不同,但是和原控制協(xié)議基本保持一致。本文則以目前常見的CAN(FD)協(xié)議為例,介紹ACF_CAN的payload報(bào)文格式。
ACF_CAN message 的payload如下圖所示。

ACF_CAN message payload結(jié)構(gòu)示意圖
? pad
表示填充長(zhǎng)度,單位bytes,目的是保證整個(gè)ACF_CAN Message的整體長(zhǎng)度 為4字節(jié)對(duì)齊。
? mtv
message_timestamp_valid,表征當(dāng)前報(bào)文是否攜帶有效報(bào)文時(shí)間戳。
? rtr
remote_transmission_request,表征當(dāng)前報(bào)文是否為遠(yuǎn)程幀。
? eff
extended_frame_format,表征當(dāng)前報(bào)文是否為擴(kuò)展幀。
? brs
bit_rate_switch,比特率開關(guān)。
? fdf
CAN flexible data-rate format,表征當(dāng)前報(bào)文是否為CANFD報(bào)文。
? esi
error_state_indicator,表征當(dāng)前是否存在錯(cuò)誤幀。
? can_bus_id
網(wǎng)段ID,由OEM指定,若不指定,默認(rèn)為0。
? message_timestamp
報(bào)文時(shí)間戳,當(dāng)mtv=1時(shí),該時(shí)間戳有效,為當(dāng)前控制指令被接收/生成的時(shí)間,需要和TSCF Header中的avtp_timestamp區(qū)分。
? can_identifier
can報(bào)文id,11bit標(biāo)準(zhǔn)幀或者29位擴(kuò)展幀。
? can_msg_payload
攜帶具體的控制信號(hào)(CAN協(xié)議:0~8字節(jié);CANFD協(xié)議:0~64字節(jié),均需要4字節(jié)對(duì)齊)。
總結(jié)
本文主要介紹了IEEE 1722協(xié)議中的ACF部分,分別介紹了時(shí)間不敏感的NTSCF和時(shí)間敏感的TSCF兩類報(bào)文,并講述了如何在以太網(wǎng)報(bào)文中傳輸傳統(tǒng)控制指令,希望讀者能對(duì)ACF的應(yīng)用以及報(bào)文格式有個(gè)基本概念。
經(jīng)緯恒潤(rùn)作為OPEN聯(lián)盟會(huì)員和AUTOSAR聯(lián)盟的高級(jí)合作伙伴,長(zhǎng)期為國內(nèi)外各大OEM和供應(yīng)商提供涵蓋TCP/IP、SOME/IP、DoIP、AVB、TSN、DDS等技術(shù)領(lǐng)域的設(shè)計(jì)和測(cè)試咨詢服務(wù),積極研發(fā)和探索車載網(wǎng)絡(luò)前沿技術(shù)的工程應(yīng)用。通過多個(gè)項(xiàng)目的實(shí)踐經(jīng)驗(yàn),已建立了高質(zhì)量、本土化的設(shè)計(jì)與測(cè)試一體化解決方案,為整車網(wǎng)絡(luò)架構(gòu)提供可靠支持。
-
以太網(wǎng)
+關(guān)注
關(guān)注
41文章
5864瀏覽量
178547 -
CAN
+關(guān)注
關(guān)注
58文章
2975瀏覽量
470375 -
音視頻
+關(guān)注
關(guān)注
4文章
559瀏覽量
31033
發(fā)布評(píng)論請(qǐng)先 登錄

CAN 與以太網(wǎng)數(shù)據(jù)交換的研究與分析
CAN 與以太網(wǎng)數(shù)據(jù)交換的研究與分析
為什么以太網(wǎng)無法取代CAN?
以太網(wǎng)如何轉(zhuǎn)CAN網(wǎng)關(guān)
車載以太網(wǎng)和CAN的區(qū)別
車載以太網(wǎng)挑戰(zhàn)CAN總線
CAN轉(zhuǎn)以太網(wǎng)中繼器的作用是什么
以太網(wǎng)轉(zhuǎn)CAN網(wǎng)關(guān)應(yīng)該如何連接使用
以太網(wǎng)can網(wǎng)關(guān)TCP Client模式是怎么工作的呢?
基于以太網(wǎng)的網(wǎng)絡(luò)管理報(bào)文

CAN轉(zhuǎn)以太網(wǎng)模塊的應(yīng)用場(chǎng)景
廣成科技CAN轉(zhuǎn)以太網(wǎng)模塊的作用和應(yīng)用

評(píng)論