NXP MCU 技术论坛
直播中

1123127317

8年用户 1009经验值
擅长:制造/封装 接口/总线/驱动
私信 关注
[问答]

是否可以直接访问RMII TX/RX缓冲区?


我正在研究使用 iMX RT 系列来替代传统的基于 FPGA 的解决方案。
目前我们有一个基于 FDDI 的专有通信系统,它使用现成的 100Base-FX 物理层(100Base-FX PHY 与 SC 连接器光纤 RX/TX 模块)。我们现有的基于 FPGA 的解决方案通过 RMII 连接到 PHY,但物理层之上的所有内容都是定制的。PHY 为我们处理 4b:5b 和时钟+数据恢复,我们的 FPGA 处理其余的编码/解码。
然而,这款 FPGA 即将停产,我们的 FPGA 工程师早已退休。因此,鉴于我们已经在研究用于嵌入式 UI 的 RT 系列,我们一直在考虑尝试访问此原始 RMII 数据并自己在 ARM 内核上对其进行处理。
我们一直在查看 RT 1060 和 1170 参考手册,提出了 3 个可能的选项,并且想在我们承诺布局基本测试 PCB 之前了解 NXP 社区/应用工程师的想法。
  • 将 100Base-FX PHY 连接到 RMII 接口之一,并使用 RCR(接收控制寄存器)、TCR(发送控制寄存器)和接收和发送加速器功能配置寄存器(RACC 和 TACC)禁用所有 MAC 功能并运行使用 MAC FIFO 就像我们使用普通以太网一样。
  • 设置 DMA 以将 ENET TX 和 RX 缓冲区从/复制到其他地方进行处理,并忽略 MAC 的其余部分。
  • 使用 FlexIO 自己模拟 RMII,这也可以让我们更有效地进行一些屏蔽/同步字检测。
我对物理层之上的以太网非常不熟悉,我不确定在场景 1 中我们是否可以充分禁用 MAC 的功能,使 FIFO 数据与传输到 PHY 或从 PHY 接收的数据完全匹配,并且不会填充任何内容/丢弃/校验和等
对于场景 2,我仍然不确定是否可以直接访问 RMII TX/RX 缓冲区,以及它们是否未被 MAC 修改。
我对使用 3 的想法最满意,因为我以前使用过 FlexIO,但如果我们确实可以禁用/忽略 MAC,它也可能需要更多工作,并且它会用完我们也想用于的 FlexIO 缓冲区与另一个专有设备的通信。

更多回帖

发帖
×
20
完善资料,
赚取积分