0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FreeRTOS-TCP軟件架構(gòu)詳解

strongerHuang ? 來源:strongerHuang ? 2024-01-03 09:26 ? 次閱讀

作者|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 家合作伙伴組成的一個(gè)工作組宣布, 將利用 FreeRTOS 創(chuàng)建一個(gè)開放源代碼的基于時(shí)間敏感網(wǎng)絡(luò)(TSN)的開放平臺通信聯(lián)合架構(gòu)(OPC UA)。

為了使 OPC UA 與現(xiàn)有的工業(yè)協(xié)議一樣在現(xiàn)場得到廣泛應(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ū)動任務(wù)。它 它在一個(gè) FreeRTOS 隊(duì)列上超時(shí)阻塞(掛起),應(yīng)用程序和網(wǎng)絡(luò)接口向該隊(duì)列發(fā)布事件 。當(dāng)接收到一個(gè)事件(在隊(duì)列中發(fā)布的事件)時(shí),IP 任務(wù)會解除阻塞并處理 這些事件。這些事件包括:

從套接字 API 發(fā)送/接收事件,以及向套接字 API 發(fā)送/接收事件

IP 堆棧定時(shí)器事件

其他網(wǎng)絡(luò)事件(如網(wǎng)絡(luò)上行/下行事件)

隊(duì)列中收到的所有事件當(dāng)前都以相同的優(yōu)先級進(jìn)行處理 (因?yàn)橹挥幸粋€(gè) SW 隊(duì)列),與流量類型、套接字配置、協(xié)議等無關(guān)。

68821600-a9ce-11ee-8b88-92fbcf53809c.png

支持 TSN 的現(xiàn)有架構(gòu)的局限性

現(xiàn)有堆棧中沒有處理多優(yōu)先級流量數(shù)據(jù)的選項(xiàng)。

三次上下文切換(應(yīng)用程序任務(wù)到 IP 任務(wù)和 IP 任務(wù)到網(wǎng)絡(luò)驅(qū)動程序任務(wù))可能 會使 TSN 運(yùn)行的發(fā)送和接收延遲變得不確定。

FreeRTOS-plus-TCP 空閑任務(wù) PrvIPTask 目前的優(yōu)先級高于 應(yīng)用任務(wù)。這將造成問題,因?yàn)?TSN 較高的吞吐量可能要求應(yīng)用程序 任務(wù)的優(yōu)先級高于空閑任務(wù)。

在發(fā)送和接收時(shí)使用相同的以太網(wǎng)驅(qū)動任務(wù) 將對 TSN 的高速吞吐量構(gòu)成挑戰(zhàn)。

向前邁進(jìn) 我們正在根據(jù)以下設(shè)計(jì)原則推進(jìn) FreeRTOS+TCP 堆棧: API:

針對盡力而為和 TSN 流量的通用 API。

為了支持TSN 流量類型,引入一個(gè)名為 "FREERTOS_AF_TSN 的新的 "xDomain" ——在 "FreeRTOS_socket" API 中。

流量分離層:

套接字層之后的解碼層可區(qū)分盡力而為 TCP 流量 和 TSN 流量。

這一層還可區(qū)分各種優(yōu)先級的 TSN 流量。

流量優(yōu)先級和多優(yōu)先級隊(duì)列:

支持多優(yōu)先級,以便在第 2 層獲得確定性流量。

支持根據(jù)優(yōu)先級處理流量。

該堆棧可在 2 種模式下工作:

只有盡力而為流量:在這種情況下,堆棧將作為單一隊(duì)列系統(tǒng)運(yùn)行。

盡力而為流量和 TSN 流量:根據(jù)底層硬件支持的隊(duì)列數(shù)量, 激活所需的隊(duì)列數(shù)量。

流量調(diào)度: 傳輸:

FreeRTOS-plus-TCP 將使用簡單的輪詢機(jī)制將 隊(duì)列刷新到硬件。

硬件將決定發(fā)送和接收速率,F(xiàn)reeRTOS-plus-TCP 堆棧將保持硬件速率。

每個(gè)隊(duì)列都有一個(gè)閾值,只要達(dá)到該值,DMA 就會將數(shù)據(jù)傳輸?shù)?TSN MAC。 接收: TSN 硬件將根據(jù)流量優(yōu)先級來確定數(shù)據(jù)包的優(yōu)先級。

發(fā)送+接收框圖

6899e500-a9ce-11ee-8b88-92fbcf53809c.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7389

    瀏覽量

    88218
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1324

    瀏覽量

    78757
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    483

    瀏覽量

    61729
  • 軟件架構(gòu)
    +關(guān)注

    關(guān)注

    0

    文章

    64

    瀏覽量

    10254

原文標(biāo)題:FreeRTOS-TCP 軟件架構(gòu)

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    TCP-IP詳解

    Stevens關(guān)于TCP/IP的經(jīng)典著作(共3卷)的中譯本。其中的卷3:《TCP/IP詳解 卷3:TCP事務(wù)協(xié)議、HTTP、NNTP、UNIX域協(xié)議》。  
    發(fā)表于 08-08 17:30

    FreeRTOS按耐不住,也加入MDK軟件包大陣營

    包中,單僅僅也是添加,自此再也沒有升級過,而且也不支持CMSIS-RTOS封裝層。3. FreeRTOS表示自己單打獨(dú)斗太辛苦,中間件FreeRTOS-TCPFreeRTOS-FAT也不成熟,加入
    發(fā)表于 03-30 16:08

    軟件架構(gòu)存在的意義

    嵌入式或單片機(jī)軟件開發(fā)的初期大多數(shù)開發(fā)者采用的都是簡單的前后臺順序執(zhí)行架構(gòu)在嵌入式軟件開發(fā)中,程序架構(gòu)主要分為三種,本篇文章將對這三種程序架構(gòu)
    發(fā)表于 10-27 09:34

    TCP-IP詳解_卷3_TCP事務(wù)協(xié)議,HTTP,NNTP

    TCP-IP詳解_卷3_TCP事務(wù)協(xié)議,HTTP,NNTP和UNIX域協(xié)議》
    發(fā)表于 03-24 22:42 ?39次下載

    tcp ip協(xié)議詳解卷三 下載

    tcp ip協(xié)議詳解卷三:第三卷的內(nèi)容細(xì)節(jié)覆蓋了當(dāng)今TCP/IP編程人員和網(wǎng)絡(luò)管理員必須熟練掌握的四個(gè)基本方面:    T/TCP (
    發(fā)表于 05-19 11:52 ?437次下載
    <b class='flag-5'>tcp</b> ip協(xié)議<b class='flag-5'>詳解</b>卷三 下載

    tcp ip協(xié)議詳解卷一

    tcp ip協(xié)議詳解卷一:《TCP/IP詳解,卷1:協(xié)議》是一本完整而詳細(xì)的TCP/IP協(xié)議指南。描述了屬于每一層的各個(gè)協(xié)議以及它們?nèi)绾卧诓?/div>
    發(fā)表于 05-19 12:02 ?712次下載

    TCP-IP詳解卷2_插口選項(xiàng)

    學(xué)習(xí)TCP很好的資料,電子書:TCP-IP詳解卷2 。
    發(fā)表于 05-09 14:33 ?0次下載

    TCP-IP詳解卷2_插口層

    學(xué)習(xí)TCP很好的資料,電子書:TCP-IP詳解卷2 。
    發(fā)表于 05-09 14:33 ?0次下載

    TCP-IP詳解卷2_域和協(xié)議

    學(xué)習(xí)TCP很好的資料,電子書:TCP-IP詳解卷2 。
    發(fā)表于 05-09 14:33 ?0次下載

    TCP實(shí)現(xiàn):TCP輸出

    學(xué)習(xí)TCP-IP的很好的書。TCP-IP詳解卷3。
    發(fā)表于 05-09 14:33 ?0次下載

    TCP實(shí)現(xiàn):TCP概要

    學(xué)習(xí)TCP-IP的很好的書。TCP-IP詳解卷3。
    發(fā)表于 05-09 16:07 ?0次下載

    TCP實(shí)現(xiàn):TCP函數(shù)

    學(xué)習(xí)TCP-IP的很好的書。TCP-IP詳解卷3。
    發(fā)表于 05-09 16:07 ?0次下載

    FreeRTOS基礎(chǔ)知識詳解pdf下載

    FreeRTOS基礎(chǔ)知識詳解
    發(fā)表于 03-29 14:36 ?45次下載

    FreeRtos入門手冊中文版

    全中文FreeRtos詳解,學(xué)習(xí)入門精通。
    發(fā)表于 06-02 11:13 ?0次下載

    詳解FreeRTOS:嵌入式軟件系統(tǒng)架構(gòu)

    目前常見的嵌入式軟件系統(tǒng)架構(gòu)有三種可以分為:輪詢系統(tǒng)架構(gòu)、前后臺系統(tǒng)架構(gòu)和多任務(wù)系統(tǒng)架構(gòu)
    的頭像 發(fā)表于 05-04 16:40 ?2270次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>FreeRTOS</b>:嵌入式<b class='flag-5'>軟件</b>系統(tǒng)<b class='flag-5'>架構(gòu)</b>