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

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

3天内不再提示

Versal ACAP PS GEM - GEM 控制器可能在大型发送卸载配置中触发错误的 Amba_Error

任凭风吹 来源:任凭风吹 作者:任凭风吹 2022-08-05 17:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

除了误报此错误外,并未观测到任何功能性问题,且仍可继续使用 LSO 卸载功能。

这被分类为次要硬件问题,因为可轻松屏蔽并忽略误报事件。

详细描述

LSO 提供 TCP 分段 (TSO) 和 UDP 分片 (UFO) 硬件功能,广泛用于提升 TCP/IP 或 UDP/IP 性能。

当软件通过缓冲区描述符 (BD) 查询大型帧时,DMA 引擎将基于软件编程的最大分段大小 (MSS) 值(对应 TSO)或最大以太网帧大小(对应 UFO)来生成其自己的 BD。

启用并激活 LSO 后,中断状态寄存器的位 6 会检查这些生成的 BD 的有效性,如果不正确则会发出报告。

经观测发现,当 DMA 进入休眠状态(由于没有帧在排队)时,中断状态寄存器的位 6 可能误报错误。

敬请放心忽略此误报。

解决方案

影响:

很小。可采用软件变通方法。

GEM IP 可能错误触发“amba error”中断。

变通方法:

根据 LSO 帧正在其中排队的队列,将每个 BD 中发送的缓冲区最大长度限制为比分配给该队列的 TX SRAM 空间少 56 个字节。

例如,如果 LSO 帧正在 Q0 中排队,并且已向 Q0 分配 16KB(作为硬件配置的一部分),那么请将每个排队的 BD 中的长度字段限制为最大 16327 个字节(即,如果设置的长度字段在 16328 到 16383 范围内,就可能发生此问题)。

赛灵思驱动程序将每个排队的 BD 中的长度字段限制为 16327 个字节。

1. 通过设置中断掩码寄存器的位 6 从而屏蔽中断状态寄存器的位 6,这样即可屏蔽“amba_error”中断。
2. 当软件内核中已启用 TSO 或 UFO 时,忽略中断例程内的“amba_error”中断。
对于上述第 2 和第 3 项:虽然当 LSO 处于活动状态时此事件不出现,但是用户在任何正常操作环境内都不应目击此错误,其主要目的是在帧排队等待发射时检查全部软件错误。

因此,建议用户首先在完全禁用 LSO 的情况下启用此中断并运行测试,以确保不会通过位 6 报告全部软件错误,然后再将其屏蔽以配合 LSO 来使用。

位 6 所报告的此错误描述如下:

"Transmit frame corruption due to AMBA (AHB/AXI) error.Set if an error occurs whilst midway through reading transmit frame from external system memory, including HRESP errors(AHB), RRESP or BRESP(AXI) errors and buffers exhausted mid frame (if the buffers run out during transmission of a frame then transmission stops, FCS shall be bad and tx_er asserted).Also set in DMA packet buffer mode if single frame is too large for configured packet buffer memory size."

此错误表明发生了 AXI 响应错误、检测到未使用的位中间帧 (used-bit-mid-frame) 或者软件排队的帧对于已配置的数据包缓冲区而言过大。

在中断状态寄存器的位 11 中同样会指出上述第 1 项错误,因此即使位 6 已屏蔽,错误事件仍可见。

第 2 和第 3 项错误与 LSO 帧不相关,因为 DMA 内部生成的 BD 的 MSS 更小。

这表明内部(而非软件提供的)BD 存在错误,因此当非 LSO 帧排队时,将不会出现错误事件。

受影响的配置:

在硬件配置中包含“大型发送卸载”(通过 gem_pbuf_lso 配置选项),且在缓冲区描述符中启用 LSO 功能。

解决方案:

这是第三方勘误表。不对该问题进行修复。

审核编辑 黄昊宇

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

    关注

    114

    文章

    17879

    浏览量

    195150
  • GEM
    GEM
    +关注

    关注

    0

    文章

    9

    浏览量

    6873
  • Versal
    +关注

    关注

    1

    文章

    176

    浏览量

    8542
  • ACAP
    +关注

    关注

    1

    文章

    54

    浏览量

    8756
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    zynqmp PS端DDR配置说明

    详细讲解zynqmp ps端DDR相关时序参数配置过程。
    发表于 03-24 14:56 0次下载

    S32K310 MCAL CAN 在初始通电时触发错误帧怎么解决?

    在使用S32K310的MCAL时,我遇到了一些问题。我在MCAL 创建了两个控制器一—CAN1和CAN2-一并让CAN1处于工作状态 ,每500毫秒发送一个消息帧。奇怪的是,当系统通电或重启
    发表于 03-12 07:47

    PSOC 4100PS系列微控制器

    PSOC 4100PS系列微控制器PSoC 4100PS系列微控制器是英飞凌(原Cypress)推出的一款基于32位Arm® Cortex®-M0+内核的可编程片上系统(PSoC),具
    发表于 03-11 09:45

    请问如何解决CW32L083系列微控制器在通信过程可能出现的数据错误问题?

    如何解决CW32L083系列微控制器在通信过程可能出现的数据错误问题?
    发表于 12-16 08:01

    选择微控制器MCU几个步骤

    16位微控制器。 记住,微控制器选型是一个反复的过程。你可能在这个步骤中选择了一个16位的器件,但在后面的步骤中发现32位ARM器件会更好。这个步骤只是让工程师有一个正确的考虑方向。
    发表于 11-26 07:09

    基于FPGA的DDR控制器设计

    SDRAM相比,DDR SDRAM的最大特点是双边沿触发,即在时钟的上升沿和下降沿都能进行数据采集的发送,同样的工作时钟,DDR SDRAM的读写速度可以比传统的SDRAM快一倍。 DDR3读写控制器
    发表于 10-21 14:30

    AMD 7nm Versal系列器件NoC的使用及注意事项

    AMD 7nm Versal系列器件引入了可编程片上网络(NoC, Network on Chip),这是一个硬化的、高带宽、低延迟互连结构,旨在实现可编程逻辑(PL)、处理系统(PS)、AI引擎(AIE)、DDR控制器(DDR
    的头像 发表于 09-19 15:15 3132次阅读
    AMD 7nm <b class='flag-5'>Versal</b>系列器件NoC的使用及注意事项

    LM3423-Q1 汽车 N 沟道恒流 LED 控制器技术手册

    LM3421-Q1 和 LM3423-Q1 系列器件是用于 LED 驱动的多功能高压 N 沟道 MOSFET 控制器。它们可以轻松配置为降压、升压、降压-升压和 SEPIC 拓扑。这种灵活性以及 75 V 的额定输入电压使这些
    的头像 发表于 09-03 17:53 1188次阅读
    LM3423-Q1 汽车 N 沟道恒流 LED <b class='flag-5'>控制器</b>技术手册

    LM3423 用于恒流 LED 驱动的 N 通道控制器技术手册

    LM3421 和 LM3423 系列器件是用于 LED 驱动的多功能高压 N 沟道 MOSFET 控制器。它们可以轻松配置为降压、升压、降压-升压和 SEPIC 拓扑。这种灵活性以及 75 V 的额定输入电压使这些
    的头像 发表于 09-03 16:14 950次阅读
    LM3423 用于恒流 LED 驱动<b class='flag-5'>器</b>的 N 通道<b class='flag-5'>控制器</b>技术手册

    一文读懂 | SECS/GEM 通信基础及 GEM 控制状态模型

    现代化制造工厂要求设备与工厂主机系统之间实现流程同步与无缝通信。SEMI标准(尤其是SECS/GEM(半导体设备通信标准/通用设备模型)系列标准)通过规范这些实体间的通信协议,已成为半导体制造自动化
    的头像 发表于 08-19 13:46 4736次阅读
    一文读懂  |  SECS/<b class='flag-5'>GEM</b> 通信基础及 <b class='flag-5'>GEM</b> <b class='flag-5'>控制</b>状态模型

    是否有可能在 FX10 嵌入一个电源传输堆栈并使用这两个引脚进行通信?

    电阻接地。这应该允许 FX10 知道电缆连接方向并相应地控制内部 USB 多路复用器。 将来是否有可能在 FX10 嵌入一个电源传输堆栈并使用这两个引脚进行通信?
    发表于 07-21 07:59

    基于AMD Versal器件实现PCIe5 DMA功能

    Versal是AMD 7nm的SoC高端器件,不仅拥有比16nm性能更强的逻辑性能,并且其PS系统的CPM PCIe也较上一代MPSoC PS硬核PCIe单元强大得多。本节将基于A
    的头像 发表于 06-19 09:44 2026次阅读
    基于AMD <b class='flag-5'>Versal</b>器件实现PCIe5 DMA功能

    CAN总线采样点不一致的危害

    。其中一个ECU的采样点配置为50%,而其他ECU配置为87.5%。在高噪声环境下,采样点为50%的ECU可能在信号未稳定时采样,导致位错误。该ECU会
    发表于 06-07 08:55

    可能在 FX3 GPIF2 创建两个独立的状态机吗?

    我想,如果我想通过 FX3 GPIF2 创建两个独立的传输流接口,我需要在 GPIF2 设计创建两个独立的状态机,我是否有可能在 GPIF2 设计
    发表于 05-20 06:14

    如何验证CAN控制器错误响应机制?

    CAN节点的稳定性、可靠性和安全性得益于其强大的错误管理机制。上一篇文章我们介绍了CAN控制器错误管理机制的工作原理。本文将基于其工作原理及ISO16845-1:2016标准,为大家介绍
    的头像 发表于 04-30 18:24 1025次阅读
    如何验证CAN<b class='flag-5'>控制器</b>的<b class='flag-5'>错误</b>响应机制?