車載以太網(wǎng)AVB/TSN協(xié)議:實(shí)時(shí)音視頻流傳輸?shù)腝oS保障
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著智能網(wǎng)聯(lián)汽車的快速發(fā)展,車內(nèi)網(wǎng)絡(luò)對(duì)實(shí)時(shí)音視頻流傳輸?shù)男枨笕找嬖鲩L(zhǎng)。傳統(tǒng)的以太網(wǎng)技術(shù)雖然能夠滿足大數(shù)據(jù)量的傳輸需求,但在實(shí)時(shí)性和確定性方面存在不足。為了解決這一問題,車載以太網(wǎng)引入了AVB(Audio Video Bridging)和TSN(Time-Sensitive Networking)技術(shù),為實(shí)時(shí)音視頻流傳輸提供了強(qiáng)有力的QoS(Quality of Service)保障。
AVB/TSN技術(shù)概述
AVB是一項(xiàng)基于以太網(wǎng)架構(gòu)的音頻/視頻傳輸協(xié)議集,旨在解決數(shù)據(jù)在以太網(wǎng)中的實(shí)時(shí)性、低延時(shí)以及流量整形問題。它最初由IEEE 802.1工作組于2005年提出,并在2009年成立了AVnu聯(lián)盟推動(dòng)其市場(chǎng)化和產(chǎn)品間互操作性。2012年,AVB任務(wù)組更名為TSN任務(wù)組,將應(yīng)用范圍擴(kuò)展到工業(yè)自動(dòng)化、車載網(wǎng)絡(luò)等多個(gè)領(lǐng)域。
TSN是在AVB基礎(chǔ)上進(jìn)一步擴(kuò)展的技術(shù),旨在提供更高水平的網(wǎng)絡(luò)確定性和可靠性。它通過一系列協(xié)議標(biāo)準(zhǔn),如時(shí)間同步、數(shù)據(jù)流調(diào)度策略、網(wǎng)絡(luò)配置等,實(shí)現(xiàn)了零擁塞丟包的傳輸,為時(shí)延敏感流量提供了確定性傳輸保證。
QoS保障機(jī)制
在車載以太網(wǎng)中,AVB/TSN協(xié)議通過以下機(jī)制為實(shí)時(shí)音視頻流傳輸提供QoS保障:
時(shí)間同步:AVB/TSN協(xié)議采用gPTP(generalized Precision Time Protocol)實(shí)現(xiàn)網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)的時(shí)鐘同步。gPTP以PTP(IEEE 1588)為基礎(chǔ),通過減少協(xié)議棧緩存帶來的延時(shí)不確定性,并縮短報(bào)文的傳輸時(shí)間,實(shí)現(xiàn)了高精度的時(shí)鐘同步,為實(shí)時(shí)音視頻流的同步播放提供了基礎(chǔ)。
流量整形:AVB/TSN協(xié)議通過流量整形機(jī)制,根據(jù)報(bào)文的優(yōu)先級(jí)對(duì)流量進(jìn)行分類和調(diào)度。例如,IEEE 802.1Qav協(xié)議提出了基于信用的整形方法(Credit-Based Shaper),通過為每個(gè)隊(duì)列分配一個(gè)信用值來控制數(shù)據(jù)的傳輸,從而確保高優(yōu)先級(jí)流量的優(yōu)先傳輸。
幀搶占:在TSN協(xié)議中,還引入了幀搶占機(jī)制,允許高優(yōu)先級(jí)幀中斷低優(yōu)先級(jí)幀的傳輸,從而進(jìn)一步降低關(guān)鍵數(shù)據(jù)的傳輸延遲。這一機(jī)制在IEEE 802.1Qbu和802.3br協(xié)議中得到了實(shí)現(xiàn)。
AVB/TSN協(xié)議在車載以太網(wǎng)中的應(yīng)用
在車載以太網(wǎng)中,AVB/TSN協(xié)議被廣泛應(yīng)用于多媒體傳輸和車輛控制與安全等領(lǐng)域。例如,在智能座艙中,AVB/TSN協(xié)議可以確保音頻和視頻流的同步播放,提供高質(zhì)量的音視頻體驗(yàn)。同時(shí),在自動(dòng)駕駛系統(tǒng)中,AVB/TSN協(xié)議可以確保傳感器數(shù)據(jù)的實(shí)時(shí)傳輸,為車輛的安全行駛提供有力保障。
代碼示例
以下是一個(gè)簡(jiǎn)化的AVB/TSN協(xié)議在車載以太網(wǎng)中應(yīng)用的偽代碼示例,用于展示如何通過流量整形和幀搶占機(jī)制為實(shí)時(shí)音視頻流提供QoS保障。
c
#include "avb_tsn.h"
// 初始化AVB/TSN網(wǎng)絡(luò)
void avb_tsn_init(avb_tsn_network_t *network) {
// 初始化時(shí)間同步、流量整形和幀搶占等機(jī)制
network->time_sync_init();
network->traffic_shaping_init();
network->frame_preemption_init();
}
// 發(fā)送音視頻流數(shù)據(jù)
void send_av_stream(avb_tsn_network_t *network, uint8_t *data, uint32_t length, uint8_t priority) {
// 根據(jù)優(yōu)先級(jí)進(jìn)行流量整形
if (network->traffic_shaping_enqueue(data, length, priority)) {
// 如果隊(duì)列中有高優(yōu)先級(jí)幀,則進(jìn)行幀搶占
if (network->frame_preemption_check()) {
network->frame_preemption_execute();
}
// 發(fā)送數(shù)據(jù)
network->send_data(data, length);
} else {
// 處理隊(duì)列溢出等情況
// ...
}
}
int main() {
avb_tsn_network_t network;
uint8_t av_data[DATA_SIZE]; // 音視頻數(shù)據(jù)
// 初始化AVB/TSN網(wǎng)絡(luò)
avb_tsn_init(&network);
// 發(fā)送音視頻流數(shù)據(jù)
send_av_stream(&network, av_data, DATA_SIZE, HIGH_PRIORITY);
return 0;
}
結(jié)論
AVB/TSN協(xié)議為車載以太網(wǎng)中的實(shí)時(shí)音視頻流傳輸提供了強(qiáng)有力的QoS保障。通過時(shí)間同步、流量整形和幀搶占等機(jī)制,AVB/TSN協(xié)議確保了高優(yōu)先級(jí)流量的優(yōu)先傳輸,降低了關(guān)鍵數(shù)據(jù)的傳輸延遲,為智能網(wǎng)聯(lián)汽車的發(fā)展提供了有力支持。隨著技術(shù)的不斷進(jìn)步和應(yīng)用場(chǎng)景的拓展,AVB/TSN協(xié)議將在車載以太網(wǎng)中發(fā)揮更加重要的作用。