这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » [转]有关GD32F450的以太网半双工调试经历

共2条 1/1 1 跳转至

[转]有关GD32F450的以太网半双工调试经历

助工
2020-02-19 12:23:00     打赏

估计说起以太网半双工,很多人快遗忘了,说了你不信,我们最近用起了以太网半双工,说到底为了节省成本,由于通讯机制简单,是个独立网络,用简单的HUB代替了小型网关需要的交换机芯片。

 

    GD32F450的半双工模式下可以选择是否进行冲突检测,寄存器MAC_CFG有个配置位CSD,早期我们调试时,CSD一旦配置为0(即启用冲突检测),通讯就失败。

   

    为此我们也找了GD32的技术支持,对方给的原因是,启动冲突检测时PHY的CRS_DV脚必须在MAC发送时拉高才能正常发送

   

    于是我们找到了PHY确实存在寄存器可以使能发送状态下的载波检测,通过示波器检测,也确实有在MAC发送时拉高,但是这个拉高只拉了一小会,MAC就停止发送了,通过逐个BIT数下来,发现MAC只发送了前导码部分就停止发送了,这又是什么原因呢?

 

   我们做了个推论,可能MAC需要的不仅仅是CRS_DV脚使能,同时需要将MAC发出的数据返回做对比才能正常发送,可是PHY只能返回载波使能信号,不能将发送的数据返回,无奈我们在FPGA内做了逻辑,在无通讯冲突的情况下,将MAC发出的数据返回给MAC,于是乎,通讯成功了,MAC层的冲突检测成功启用。





关键词: GD32F450     以太网     调试     双工    

工程师
2020-02-19 22:45:09     打赏
2楼

启动冲突检测时PHY的CRS_DV脚必须在MAC发送时拉高才能正常发送

--- 这个经验很好!MARK!


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]