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数据包的处理等功能。
标签:Cortex-M3

