基于Cortex-M3的以太网SoC的设计
SoC专题
2024-12-26

微控制器部分

构成

  • 核心:Cortex-M3处理器,负责读取并执行存储模块中的代码,完成对外设的数据读写,最终实现对整体以太网SoC的控制。
  • 总线:AHB总线矩阵,基于AHB2.0协议,用于完成Cortex-M3内核和存储模块及外设的互联。
  • 存储模块:包括ROM、SRAM及EEPROM。
    • ROM:存储编译后的二进制文件,作为Cortex-M3的启动代码。
    • SRAM:作为代码运行过程中的数据区。
    • EEPROM:用于存储MAC地址和MAC PHY地址等配置信息。
  • 外设:包括寄存器、以太网控制器及PCIe控制器。

功能

  • 使用Cortex-M3运行编写的控制程序,完成对MAC控制器和PCIe控制器的配置,确保SoC系统正常工作。
  • 上电后,Cortex-M3通过I-Bus总线从ROM中读取代码指令并执行,同时还会通过D-Bus总线读取数据。
  • 运行上电初始化程序及中断处理程序,通过访问以太网及PCIe控制器相应地址空间,完成对应寄存器的读写。

以太网部分

构成

  • MAC控制器:由MAC核、DMA、收发FIFO等组成。
    • MAC:负责按照IEEE802.3等以太网协议接收和发送以太网帧。
    • DMA:用于将数据从存储器中搬运到PCIe控制器对应的PC端地址空间中,以及配置DMA的工作模式。
    • 收发FIFO:用于缓存接收和发送的数据包内容。
  • 以太网PHY:在发送数据时将MAC送来的帧转化为串行数据流,并按物理层的编码规则进行编码后,最终转换成模拟信号送出;接收数据时反向进行模数转换和解码,最终将数据通过相应接口传输到MAC。

功能

  • 在PHY的支持下能够完成十百千兆速率的以太网帧传输。
  • 支持流量控制、虚拟局域网、远程唤醒功能。
  • 接收数据帧时,剥离数据链路层字段后将数据段内容存入接收FIFO中,DMA控制器将数据搬运到PC端的内存中;发送数据帧时,DMA通过描述符获取数据的内存位置后,将数据送入发送FIFO中,由MAC核添加数据链路层字段后最终通过PHY发出以太网包。

PCIe部分

构成

  • PCIe控制器和收发器PHY:通过AXI桥完成和MAC控制器的数据通信。

功能

  • 数据包的收发
    • 接收:将MAC控制器解析出的数据段内容按PCIe协议要求经过TL层和DLL层封装后,最终通过收发器形成PCIe数据包送入PC端。
    • 发送:解析出PC端发送的数据段送入MAC控制器处理。
  • 接收配置事务:接收PC端的配置包与内存读写请求,通过PCIe控制器和MAC控制器之间的数据通信路径进行处理。

综上所述,基于Cortex-M3的以太网SoC设计通过微控制器部分、以太网部分和PCIe三部分的紧密协作,实现了以太网数据包的正确收发、远程唤醒、功耗管理以及PCIe数据包的处理等功能。

标签:
0
上一篇
基于ARM架构的安全加密专用SOC的研究与实现
下一篇
基于Cortex-M3核的车载MCU设计
发表评论
Darwin1399
2025年4月23日
Alberto4720
2025年4月25日
Riley1916
2025年4月25日
Cristian4651
2025年4月26日
Enrique4782
2025年4月28日
Louis3584
2025年4月28日
Frederick186
2025年4月30日
Axel4894
2025年4月30日
Fred2201
2025年4月30日