作者|Tanmoy Sen
微信公眾號 | strongerHuang
如今網(wǎng)絡(luò)發(fā)達(dá)的今天,越來越多的設(shè)備都有聯(lián)網(wǎng)的需求,聯(lián)網(wǎng)的方式也越來越多。
在 2022 年 11 月于紐倫堡舉辦的智能生產(chǎn)解決方案(SPS)展覽會上,由 Analog Devices、Arm、Amazon Web Services (AWS)、B&R Industrial Automation、萊迪思半導(dǎo)體、 施耐德電氣、Texas Instruments 和 NXP 等 8 家合作伙伴組成的一個工作組宣布, 將利用 FreeRTOS 創(chuàng)建一個開放源代碼的基于時間敏感網(wǎng)絡(luò)(TSN)的開放平臺通信聯(lián)合架構(gòu)(OPC UA)。
為了使 OPC UA 與現(xiàn)有的工業(yè)協(xié)議一樣在現(xiàn)場得到廣泛應(yīng)用, 支持 OPC-UA/TSN 的設(shè)備價格必須與現(xiàn)有的解決方案持平。這就需要有支持 OPC-UA/TSN 的基于低成本 MCU 和低功耗 FPGA SoC 的設(shè)備。
FreeRTOS-plus-TCP 軟件架構(gòu)
在 FreeRTOS+TCP 堆棧的現(xiàn)有設(shè)計中,IP 任務(wù)被設(shè)計為事件驅(qū)動任務(wù)。它 它在一個 FreeRTOS 隊列上超時阻塞(掛起),應(yīng)用程序和網(wǎng)絡(luò)接口向該隊列發(fā)布事件 。當(dāng)接收到一個事件(在隊列中發(fā)布的事件)時,IP 任務(wù)會解除阻塞并處理 這些事件。這些事件包括:
從套接字 API 發(fā)送/接收事件,以及向套接字 API 發(fā)送/接收事件
IP 堆棧定時器事件
其他網(wǎng)絡(luò)事件(如網(wǎng)絡(luò)上行/下行事件)
隊列中收到的所有事件當(dāng)前都以相同的優(yōu)先級進(jìn)行處理 (因為只有一個 SW 隊列),與流量類型、套接字配置、協(xié)議等無關(guān)。
支持 TSN 的現(xiàn)有架構(gòu)的局限性
現(xiàn)有堆棧中沒有處理多優(yōu)先級流量數(shù)據(jù)的選項。
三次上下文切換(應(yīng)用程序任務(wù)到 IP 任務(wù)和 IP 任務(wù)到網(wǎng)絡(luò)驅(qū)動程序任務(wù))可能 會使 TSN 運行的發(fā)送和接收延遲變得不確定。
FreeRTOS-plus-TCP 空閑任務(wù) PrvIPTask 目前的優(yōu)先級高于 應(yīng)用任務(wù)。這將造成問題,因為 TSN 較高的吞吐量可能要求應(yīng)用程序 任務(wù)的優(yōu)先級高于空閑任務(wù)。
在發(fā)送和接收時使用相同的以太網(wǎng)驅(qū)動任務(wù) 將對 TSN 的高速吞吐量構(gòu)成挑戰(zhàn)。
向前邁進(jìn) 我們正在根據(jù)以下設(shè)計原則推進(jìn) FreeRTOS+TCP 堆棧: API:
針對盡力而為和 TSN 流量的通用 API。
為了支持TSN 流量類型,引入一個名為 "FREERTOS_AF_TSN 的新的 "xDomain" ——在 "FreeRTOS_socket" API 中。
流量分離層:
套接字層之后的解碼層可區(qū)分盡力而為 TCP 流量 和 TSN 流量。
這一層還可區(qū)分各種優(yōu)先級的 TSN 流量。
流量優(yōu)先級和多優(yōu)先級隊列:
支持多優(yōu)先級,以便在第 2 層獲得確定性流量。
支持根據(jù)優(yōu)先級處理流量。
該堆??稍?2 種模式下工作:
只有盡力而為流量:在這種情況下,堆棧將作為單一隊列系統(tǒng)運行。
盡力而為流量和 TSN 流量:根據(jù)底層硬件支持的隊列數(shù)量, 激活所需的隊列數(shù)量。
流量調(diào)度: 傳輸:
FreeRTOS-plus-TCP 將使用簡單的輪詢機(jī)制將 隊列刷新到硬件。
硬件將決定發(fā)送和接收速率,F(xiàn)reeRTOS-plus-TCP 堆棧將保持硬件速率。
每個隊列都有一個閾值,只要達(dá)到該值,DMA 就會將數(shù)據(jù)傳輸?shù)?TSN MAC。 接收: TSN 硬件將根據(jù)流量優(yōu)先級來確定數(shù)據(jù)包的優(yōu)先級。
發(fā)送+接收框圖
審核編輯:湯梓紅
-
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7570瀏覽量
88833 -
TCP
+關(guān)注
關(guān)注
8文章
1356瀏覽量
79098 -
FreeRTOS
+關(guān)注
關(guān)注
12文章
484瀏覽量
62201 -
軟件架構(gòu)
+關(guān)注
關(guān)注
0文章
64瀏覽量
10289
原文標(biāo)題:FreeRTOS-TCP 軟件架構(gòu)
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論