0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FreeRTOS-TCP软件架构详解

strongerHuang 来源:strongerHuang 2024-01-03 09:26 次阅读

作者|Tanmoy Sen

微信公众号 | strongerHuang

如今网络发达的今天,越来越多的设备都有联网的需求,联网的方式也越来越多。

在 2022 年 11 月于纽伦堡举办的智能生产解决方案(SPS)展览会上,由 Analog Devices、Arm、Amazon Web Services (AWS)、B&R Industrial Automation、莱迪思半导体、 施耐德电气Texas Instruments 和 NXP 等 8 家合作伙伴组成的一个工作组宣布, 将利用 FreeRTOS 创建一个开放源代码的基于时间敏感网络(TSN)的开放平台通信联合架构(OPC UA)。

为了使 OPC UA 与现有的工业协议一样在现场得到广泛应用, 支持 OPC-UA/TSN 的设备价格必须与现有的解决方案持平。这就需要有支持 OPC-UA/TSN 的基于低成本 MCU 和低功耗 FPGA SoC 的设备。

FreeRTOS-plus-TCP 软件架构

在 FreeRTOS+TCP 堆栈的现有设计中,IP 任务被设计为事件驱动任务。它 它在一个 FreeRTOS 队列上超时阻塞(挂起),应用程序和网络接口向该队列发布事件 。当接收到一个事件(在队列中发布的事件)时,IP 任务会解除阻塞并处理 这些事件。这些事件包括:

从套接字 API 发送/接收事件,以及向套接字 API 发送/接收事件

IP 堆栈定时器事件

其他网络事件(如网络上行/下行事件)

队列中收到的所有事件当前都以相同的优先级进行处理 (因为只有一个 SW 队列),与流量类型、套接字配置、协议等无关。

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

支持 TSN 的现有架构的局限性

现有堆栈中没有处理多优先级流量数据的选项。

三次上下文切换(应用程序任务到 IP 任务和 IP 任务到网络驱动程序任务)可能 会使 TSN 运行的发送和接收延迟变得不确定。

FreeRTOS-plus-TCP 空闲任务 PrvIPTask 目前的优先级高于 应用任务。这将造成问题,因为 TSN 较高的吞吐量可能要求应用程序 任务的优先级高于空闲任务。

在发送和接收时使用相同的以太网驱动任务 将对 TSN 的高速吞吐量构成挑战。

向前迈进 我们正在根据以下设计原则推进 FreeRTOS+TCP 堆栈: API:

针对尽力而为和 TSN 流量的通用 API。

为了支持TSN 流量类型,引入一个名为 "FREERTOS_AF_TSN 的新的 "xDomain" ——在 "FreeRTOS_socket" API 中。

流量分离层:

套接字层之后的解码层可区分尽力而为 TCP 流量 和 TSN 流量。

这一层还可区分各种优先级的 TSN 流量。

流量优先级和多优先级队列:

支持多优先级,以便在第 2 层获得确定性流量。

支持根据优先级处理流量。

该堆栈可在 2 种模式下工作:

只有尽力而为流量:在这种情况下,堆栈将作为单一队列系统运行。

尽力而为流量和 TSN 流量:根据底层硬件支持的队列数量, 激活所需的队列数量。

流量调度: 传输:

FreeRTOS-plus-TCP 将使用简单的轮询机制将 队列刷新到硬件。

硬件将决定发送和接收速率,FreeRTOS-plus-TCP 堆栈将保持硬件速率。

每个队列都有一个阈值,只要达到该值,DMA 就会将数据传输到 TSN MAC。 接收: TSN 硬件将根据流量优先级来确定数据包的优先级。

发送+接收框图

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络
    +关注

    关注

    14

    文章

    7251

    浏览量

    87440
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1271

    浏览量

    78291
  • FreeRTOS
    +关注

    关注

    12

    文章

    473

    浏览量

    61347
  • 软件架构
    +关注

    关注

    0

    文章

    60

    浏览量

    10224

原文标题:FreeRTOS-TCP 软件架构

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    TCP-IP详解

    Stevens关于TCP/IP的经典著作(共3卷)的中译本。其中的卷3:《TCP/IP详解 卷3:TCP事务协议、HTTP、NNTP、UNIX域协议》。  
    发表于 08-08 17:30

    FreeRTOS按耐不住,也加入MDK软件包大阵营

    包中,单仅仅也是添加,自此再也没有升级过,而且也不支持CMSIS-RTOS封装层。3. FreeRTOS表示自己单打独斗太辛苦,中间件FreeRTOS-TCPFreeRTOS-FAT也不成熟,加入
    发表于 03-30 16:08

    软件架构存在的意义

    嵌入式或单片机软件开发的初期大多数开发者采用的都是简单的前后台顺序执行架构在嵌入式软件开发中,程序架构主要分为三种,本篇文章将对这三种程序架构
    发表于 10-27 09:34

    TCP-IP详解_卷3_TCP事务协议,HTTP,NNTP

    TCP-IP详解_卷3_TCP事务协议,HTTP,NNTP和UNIX域协议》
    发表于 03-24 22:42 39次下载

    TCP-IP详解_卷1_协议》

    TCP-IP详解_卷1_协议》
    发表于 03-24 22:45 50次下载

    tcp ip协议详解卷三 下载

    tcp ip协议详解卷三:第三卷的内容细节覆盖了当今TCP/IP编程人员和网络管理员必须熟练掌握的四个基本方面:    T/TCP (
    发表于 05-19 11:52 437次下载
    <b class='flag-5'>tcp</b> ip协议<b class='flag-5'>详解</b>卷三 下载

    tcp ip协议详解卷一

    tcp ip协议详解卷一:《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不
    发表于 05-19 12:02 711次下载

    TCP-IP详解卷2_插口选项

    学习TCP很好的资料,电子书:TCP-IP详解卷2 。
    发表于 05-09 14:33 0次下载

    TCP-IP详解卷2_插口层

    学习TCP很好的资料,电子书:TCP-IP详解卷2 。
    发表于 05-09 14:33 0次下载

    TCP-IP详解卷2_域和协议

    学习TCP很好的资料,电子书:TCP-IP详解卷2 。
    发表于 05-09 14:33 0次下载

    TCP-IP详解卷2部分习题的解答

    学习TCP很好的资料,电子书:TCP-IP详解卷2 。
    发表于 05-09 14:33 0次下载

    TCP实现:TCP概要

    学习TCP-IP的很好的书。TCP-IP详解卷3。
    发表于 05-09 16:07 0次下载

    TCP实现:TCP函数

    学习TCP-IP的很好的书。TCP-IP详解卷3。
    发表于 05-09 16:07 0次下载

    FreeRTOS基础知识详解pdf下载

    FreeRTOS基础知识详解
    发表于 03-29 14:36 45次下载

    详解FreeRTOS:嵌入式软件系统架构

    目前常见的嵌入式软件系统架构有三种可以分为:轮询系统架构、前后台系统架构和多任务系统架构
    的头像 发表于 05-04 16:40 1602次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>FreeRTOS</b>:嵌入式<b class='flag-5'>软件</b>系统<b class='flag-5'>架构</b>