CH32V307 我们现在使用MAC TO MAC 模式, 交换机的RGMII 接上CH32V307 上的RGMII, 这样就形成了MAC to MAC

image.png

MAC 连接如下:

switch端 TXD[3:0]------------------------RXD[3:0]     MCU端

switch端 RXD[3:0]------------------------TXD[3:0]     MCU端

switch端 TX_EN   ------------------------RX_DV   MCU端

switch端 RX_DV   ------------------------TX_EN   MCU端

switch端 RX_CLK ------------------------TX_CLK   MCU端

switch端 TX_CLK ------------------------RX_CLK   MCU端

其实就是交叉连接,目前这种连接是正确的,已经在2个交换机芯片, mac to mac 连接进行了验证,运行非常稳定。


目前想在MCU 的MAC 和 交换机芯片的MAC 连接,这样可以减少布线,对板比较小的情况下非常好。 

请问有这个方面的例程吗?


交换机的MAC配置如下,其实就是固定模式:

模式: 配置为             :MODE_EXT_RGMII;

forcemode   配置为    :强制模式MAC_FORCE;

link 配置为                  :强制连接 PORT_LINKUP;

nway 配置为                :不协商DISABLED;

duplex 配置为              :全工作模式 PORT_FULL_DUPLEX;

speed 配置为               :速度强制为1000Mbps PORT_SPEED_1000M;

         rgmiiDelayExt_set,TX 延迟2ns, RX延迟为8个步骤的步骤4.


那么MCU 这边如何配置呢,eth_driver 这个有mac to mac 官方例程吗?




@沁恒张工  你们能帮忙解决吗?


您好,程序的话eth_driver中已经提供,如果只需要MAC层的通信,而不需要协议栈,可以将库部分的初始化注释掉即可,接收数据包可以在接收中断中自己处理,发送部分的函数已经提供。



只有登录才能回复,可以选择微信账号登录