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

tcp ip協(xié)議詳解卷一
詳解FreeRTOS:嵌入式軟件系統(tǒng)架構(gòu)

評(píng)論