ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PHY配置_MDIO接口协议设计

2022-09-03 12:34:22  阅读:184  来源: 互联网

标签:接口协议 芯片 MDIO 端口 PHY mac phy 设计 inout


一.基本知识

  千兆以太网通过MAC和PHY芯片通信,MAC端可由FPGA实现,而PHY是物理芯片,只需要配置其工作模式,速率等等参数,便可正常运行。在前面的千兆以太网收发模块中我们并没有考虑配置PHY芯片,因为它在默认状态下也可以正常工作。本次设计主要学习如何配置PHY芯片。

①通信协议

  理解:协议分为读和写两种情况。可以看到两种情况都会有前导码等内容,一开始我的疑惑是写的时候为什么还要由mac端来发送前导码,不是应该由phy发送整个帧让mac端来接收并提取出data吗?(这是学了千兆以太网的惯性思维,千兆以太网就是一端发一端收),理清疑惑:mdio区别于千兆以太网这种两个端都能封装发送帧的通信模式,phy端只能读取或者写入phy内部寄存器,不能封装发送帧。

通信过程:

Ⅰ.写阶段:mac端依次发送前导码,开始位,读写标志位,phy芯片地址,寄存器地址,TA转向位(固定),要写入寄存器的数据等通信协议的内容,把数据写入phy内部寄存器。

Ⅱ.读阶段,mac端仍然发送前导码,开始位,读写标志位,phy芯片地址,寄存器地址,TA转向位(转向),此时mac输出变为高阻态,由phy芯片读取寄存器数据并输出。

可以看到,mdio数据信道在读阶段,可由mac端驱动,也可由phy芯片端驱动,之前的想法是这需要两条数据线,但其实一条就够了,在两端把数据接口设置为inout类型,就可以实现一个接口分时实现输入输出数据,便可实现本次通信协议的要求。(前面不理解是不知道或者忘了有inout口)。

②接口读写时序

   理解:MDC时钟是由mac端设计产生的控制phy的时钟(MDC频率跟mac系统时钟频率是不同的,所以才有计数器奇偶之分,才有上下沿的实现)。在写阶段,mac端可以设计在MDC时钟的下降沿发送数据,这样子到达phy端,在MDC的上升沿采集数据时数据已经稳定了,不会产生亚稳态。同理,由于phy端内部设计也是在MDC时钟的下降沿采集数据并发送,所以mac端在MDC时钟的上升沿采集数据。

  在设计过程中,要严格按照时序解读来设计哪一位输出什么,才能成功实现功能。

③ inout端口(难点)

  inout端口口可实现输入输出,功能比input和output更丰富,但设计也更加复杂。

Ⅰ.inout端口由三态门实现,有输入,输出,高阻态三个状态。

Ⅱ.inout端口不可能独立存在,本机使用inout端口,那么这个端口连接的另外一个端口也须为inout端口,才能实现输入输出功能,

Ⅲ.两个相连的inout端口由一对信号交错控制。通信过程存在以下情况:①一个输入,一个输出。此时输入端设置为高阻态,再由寄存器接收输入数据。②两个都输入数据。即设置为高阻态,此时两端都不传输数据。③两个都输出数据。这种情况会产生冲突,要避免。

  由此可知这对信号并非相反信号,因为存在情况②。

Ⅳ.inout端口作为输入端可以由reg型缓冲。时序性更好。

例:

inout databus;
assign databus=(control)?databus:'bz;
//时序逻辑(control_1信号得思考如何设计)
reg data_in;
always @(control_1)
    If(control_1)
        data_in<=databus;
//组合逻辑(简单)
wire data_in
assign data_in = databus;

 另:

pullup(sig) ;//当sig为高阻态时拉为高电平,当sig为其他状态时没有效果(可以一直拉着,反之只有在高阻态时产生效果,其他情况不影响信号)
pulldowm(sig);//同上,只不过是拉低。

 二.逻辑设计

1.模块框图

2.实现方式:三段式状态机

  上一次设计用的三段式状态机是用nextstate来控制变化信号的变化,而本次使用的是currstate,实际上两种都可以,一个是时序变化一个是组合逻辑,currstate变化的时序会慢一拍,两种情况的变化点设计会有所区别,具体可以看仿真图来设定。

3.状态转换图

   具体的实现仍然是用计数器。

4.从机仿真模型

  本次设计的是mac端,由于MDIO口是inout口,势必要有另外一个inout口来对应,才能输入输出数据,且在时序上不能冲突。本次从网上找到了一个phy芯片的仿真模型,可以跟mac端的设计实现通信,这个仿真模型可以实现phy芯片的功能,设计较为复杂,当然也可以自己设计,在时序上不能和mac端冲突。

  从机是相对于主机而言的,例如本次主机是mac端,从机就是phy芯片。类似的叫法还有上位机等等。

 

标签:接口协议,芯片,MDIO,端口,PHY,mac,phy,设计,inout
来源: https://www.cnblogs.com/fbur/p/16652194.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有