1 基本介绍
网络交换子系统由EMAC模块、SGMII模块、PHY设备、MDIO模块、网络交换机、以及系统集成的其他相关的子模块。
NETCP的网络交换子系统的主要作用是提供一个在主设备和其他连接设备间进行数据传输的接口。
网络交换子系统主要包括如下三个模块:
Ø 网络交换部件
Ø MDIO模块
Ø 两个SGMII模块(KeyStone I设备两个;KeyStone II设备四个)
网络交换子系统的交换机有三个端口,以及可以给主机的一组中断。可以通过配置总线进行配置。如图 1.1所示:
图1.1 KeyStone I 网络交换子系统框图
KeyStone II的网络交换子系统,拥有两个额外的SGMII端口。网络交换子系统内部的交换机有四个SGMII端口以及一个主机端口。如图 1.2所示:
图1.2 KeyStone II 网络交换子系统框图
Ø 其中端口0是主机端口,该端口允许交换子系统和NETCP进行双向通信
Ø 端口1至端口4用于在SGMII和交换子系统之间进行双向通信
Ø 交换子系统的中断连接到DSP上,以允许通知交换状态;
Ø 配置总线用于连接交换子系统和NETCP,以允许用户配置交换子系统;
Ø 每个SGMII模块都能独立地连接到网络交换子系统、SerDes、以及配置总线。
Ø 配置总线允许用户配置SGMII、交换部件、以及MDIO
2 网络子系统架构
2.1 时钟
2.1.1 网络交换子系统使用了如下时钟:
Ø 网络交换子系统的时钟
Ø SGMII SerDes的参考时钟
Ø IEEE 1588 时间同步时钟
Ø MDIO时钟
Ø GMII时钟
2.1.2 网络交换子系统时钟
网络交换子系统的时钟通常用于网络交换子系统的大多数逻辑,通常为350MHz。
2.1.3 SGMII SerDes参考时钟
SGMII SerDes的参考时钟是DSP的输入时钟。SGMII SerDes参考时钟作为SGMII SerDes PLL的输入,可以通过SGMII_SERDES_CFG_PLL寄存器配置。SGMII SerDes PLL控制在SGMII和SerDes模块之间的数据传输速率。对于SGMII SerDes的时钟范围,可以参考设备特定的数据手册。
2.1.4 MDIO时钟
MDIO的时钟有外设系统时钟分频而来。MDIO时钟可以配置达到2.5MHz,但通常配置为1.0MHz。
2.1.5 IEEE 1588时间同步时钟
IEEE 1588时间同步时钟主要用于网络交换子系统的时间同步模块。可以通过配置