基于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日
Alistair4256
2025年5月24日

Very good partnership https://shorturl.fm/68Y8V

Dale4030
2025年5月25日
Dawn3577
2025年5月25日
Caitlin3487
2025年5月25日
Terry1596
2025年5月26日
Sergio1287
2025年5月26日
Diana3284
2025年5月27日
Cindy662
2025年5月27日
Kyle4457
2025年5月27日
Eliana387
2025年5月28日
Ava3188
2025年5月28日
Alexandra1560
2025年5月28日
Kristina815
2025年5月29日
Gabriella2162
2025年5月29日
Camille3884
2025年5月29日
Kara4241
2025年5月29日
Randy2329
2025年5月30日