逻辑器件及其mdio数据发送方法

文档序号:7550727阅读:457来源:国知局
专利名称:逻辑器件及其mdio数据发送方法
技术领域
本发明涉及通信技术,尤其涉及一种逻辑器件及其MDIO数据发送方法。
背景技术
MDIO (Management Data Input/Output,管理数据输入输出)接口总线由 IEEE 通过以太网标准IEEE802.3的若干条款加以定义,广泛应用于以太网通信。MDIO接口是一种双线串行接口,其包含2个管脚:MDC (Management Data Clock,管理数据时钟)时钟管脚和MDIO数据管脚。MDC时钟是MDIO数据管脚上传输的管理数据的时钟输入,最高速率可达8.3MHz。MDIO是管理数据的输入输出双向接口,数据是与MDC时钟同步的。换言之,MDIO接口包括MDC时钟线和MDIO数据线。在主机与底层设备进行通信时,通常由逻辑器件,如FPGA (Field ProgrammableGata Array,现场可编程门阵列)、PAL (Programmable Array Logic,可编程阵列逻辑)等在主机与底层设备之间实现MDIO接口到其它通信接口,比如SPI (Serial PeripheralInterface,串行外设接口)接口、IIC (Inter-1ntegrated Circuit,交互集成电路)接口、USB (Universal Serial Bus,通用串行总线)接口的转换。逻辑器件可以包括在线可编程的逻辑器件,也可包括固化为芯片的逻辑器件。例如,

图1示出通过FPGA实现主机与底层设备之间的通信:FPGA中的MDIO处理模块与主机通信通过MDIO接口总线通信:FPGA中的MDIO处理模块通过MDIO接口从主机接收数据,存入到RAM (Random Access Memory,随机访问存储器)中,FPGA中的SPI处理模块从RAM中获取数据通过SPI接口将数据发送到底层设备的单片机、CPU (Central ProcessingUnit,中央处理机)、或处理器;或者,FPGA中的SPI处理模块通过SPI接口接收底层设备的单片机、CPU、或处理器发送的数据后,存入到RAM中,FPGA中的MDIO处理模块从RAM获取数据后再通过MDIO接口向主机发送。MDIO接口在没有传输数据的空闲状态(IDLE)时,MDIO数据线处于高阻态;MD10接口在进行数据传输时,MDIO数据线上传输的数据是与MDC时钟线上的MDC时钟信号同步的,即在一个MDC时钟周期内,MDIO数据线上同步传输I比特数据。比如,FPGA检测到MDIO接口的MDC时钟线上有10个MDC时钟,则根据这10个MDC时钟,FPGA可检测出MDIO接口的MDIO数据线上同步传输的10个比特的数据。也就是说,MDIO数据接收方可以根据每个MDC时钟同步接收MDIO数据线上传输的每比特数据。根据MDC时钟同步接收MDIO数据线上每比特数据的技术为本领域技术人员所熟知、常用的技术,此处不再进行详细介绍。下面介绍一下MDIO数据线上传输的数据所遵循的MDIO接口的通信协议帧格式,如下表I所示:表I
权利要求
1.一种MDIO数据发送方法,包括: 主机通过MDIO接口向逻辑器件发送读取请求; 所述逻辑器件根据接收的读取请求,在接收到所述主机发送的第2比特的转换标志后的第一个处理时钟到来时,触发将第I比特的MDIO数据赋值到所述MDIO接口的MDIO数据线上的操作; 在所述逻辑器件发送多比特的MDIO数据过程中,在将第i比特的MDIO数据赋值到所述MDIO数据线后,若检测到MDC时钟上升沿/下降沿,则在检测到MDC时钟上升沿/下降沿的时间点后的第m个处理时钟到来时,触发将第i+Ι比特的MDIO数据赋值到MDIO数据线的操作,向所述主机发送MDIO数据;其中,i为自然数。
2.如权利要求1所述的方法,其中,所述m个处理时钟的时间段小于一个MDC时钟周期的时间段。
3.如权利要求2所述的方法,其中,所述m个处理时钟的时间段大于数据维持时间指标所指示的数据维持时间;其中,所述数据维持时间指标为所述MDIO接口的指标之一。
4.如权利要求1-3任一所述的方法,其中,所述检测到MDC时钟上升沿/下降沿具体包括: 在每次处理时钟到达时,对所述MDC时钟进行采样,根据采样的数值的变化,确定检测到所述MDC时钟上升沿/下降沿。
5.如权利要求4所述的方法,其中,在所述逻辑器件发送多比特的MDIO数据前,还包括: 所述逻辑器件对所述MDIO数据线上的数据进行重采样:在每个处理时钟到达时,对所述MDIO数据线上的数据进行采样;并根据重采样的数值接收所述主机通过所述MDIO接口发送的数据。
6.一种逻辑器件,包括: 处理时钟输出模块,用于输出处理时钟; 数据接收处理模块,用于通过MDIO接口接收主机发送的数据,并在确定接收到主机发送的读取请求后,根据所述读取请求中的物理地址和设备地址获取相应数据到缓存中;并在接收到所述主机发送的第2比特的转换标志后的第一个处理时钟到来时,发送数据发送信号; 数据发送模块,用于接收所述处理时钟输出模块输出的处理时钟,并在接收到所述数据接收处理模块发送的数据发送信号后,将所述缓存中的第I比特的MDIO数据赋值到所述MDIO接口的MDIO数据线上;以及在将第i比特的MDIO数据赋值到所述MDIO数据线后,若检测到MDC时钟上升沿/下降沿,则在检测到MDC时钟上升沿/下降沿的时间点后的第m个处理时钟到来时,将所述缓存中的第i+Ι比特的MDIO数据赋值到MDIO数据线向所述主机发送;其中,i为自然数。
7.如权利要求6所述的器件,其中,所述处理时钟输出模块输出的处理时钟,满足如下要求:m个处理时钟的时间段小于一个MDC时钟周期的时间段。
8.如权利要求7所述的器件,其中,所述处理时钟输出模块输出的处理时钟,满足如下要求:m个处理时钟的时间段大于数据维持时间指标所指示的数据维持时间;其中,所述数据维持时间指标为所述MDIO接口的指标之一。
9.如权利要求8所述的器件,其中,所述数据接收处理模块还用于接收所述处理时钟输出模块输出的处理时钟,并使用所述处理时钟对所述MDIO接口的MDIO数据线上传送的数据进行重采样,根据重采样的数值接收所述主机发送的数据。
10.如权利要求6-9任一所述的器件,其中,所述数据发送模块包括: 数据赋值单元,在接收到所述数据接收处理模块发送的数据发送信号后,将所述缓存中的第I比特的MDIO数据赋值到所述MDIO接口的MDIO数据线上; 时钟沿检测单元,用于接收所述处理时钟输出模块输出的处理时钟,在每次处理时钟到达时,对所述MDC时钟进行采样,根据采样的数值的变化,确定检测到所述MDC时钟上升沿/下降沿;并在确定检测到所述MDC时钟上升沿/下降沿时,发送延时计数信号; 延时单元,用于接收所述处理时钟输出模块输出的处理时钟,并在接收到所述时钟沿检测单元发送的延时计数信号后,在每次处理时钟到达时进行计数,在计数结果等于m时,发送数据赋值信号; 所述数据赋值单元在将所述缓存中的第I比特的MDIO数据赋值到所述MDIO接口的MDIO数据线后,若接收到所述延时单元发送的数据赋值信号,则将所述缓存中的当前发送数据的下一比特MDIO数据赋值到MDIO数`据线向所述主机发送。
全文摘要
本发明公开了一种逻辑器件及其MDIO数据发送方法,所述方法包括主机通过MDIO接口向逻辑器件发送读取请求;逻辑器件根据接收的读取请求,在将第i比特的MDIO数据赋值到所述MDIO数据线后,若检测到MDC时钟上升沿/下降沿,则在检测到MDC时钟上升沿/下降沿的时间点后的第m个处理时钟到来时,触发将第i+1比特的MDIO数据赋值到MDIO数据线的操作。由于在检测到MDC时钟上升沿/下降沿后,延时m个处理时钟就开始发送下个比特的数据,从而保证发送到MDIO数据线上的数据在下个MDC时钟上升沿/下降沿到来时有足够的时间建立,从而避免主机接收到错误数据,提高MDIO接口通信的可靠性。
文档编号H04L1/00GK103107862SQ20131002039
公开日2013年5月15日 申请日期2013年1月18日 优先权日2013年1月18日
发明者孙黎明 申请人:青岛海信宽带多媒体技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1