一种复用接口装置及MAC系统的制作方法

    专利2022-07-07  125


    本发明涉及通信接口领域,特别是涉及一种复用接口装置及mac系统。
    背景技术
    :传统的mac(以太网媒体连接控制器)与phy(物理接口收发器)之间的数据交互方式如图1所示,mac只输出一种与phy通信的接口,如mii(mediaindependentinterface,媒体独立接口)、rmii(reducedmediaindependantinterface,精简mii接口)、gmii(gigabitmediaindependantinterface,千兆mii接口)、rgmii(reducedgigabitmediaindependantinterface,精简gmii接口),而一个phy上只有一种类型的接口,所以当一个mac与不同的phy进行通信时,往往需要添加额外的接口协议转换模块,以实现mac与phy之间的接口适配。比如,mac只输出gmii接口,则用户1在应用rgmii接口的phy时,需要用户1自己实现gmii-rgmii的协议转换;用户2在应用mii接口的phy时,需要用户2自己实现gmii-mii的协议转换。也就是说,对于不同应用场景下,需要额外的接口协议转换工作量,才能实现mac与phy之间的接口适配,这将极大的降低了mac的灵活性,且增加了用户的负担。同时,每种接口又有不同的工作速率,不同的工作速率对应的工作时钟是不一样的,因此用户不仅要完成接口转换,还要完成时钟转换,进一步增加了用户的负担以及实际使用的复杂性。因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。技术实现要素:本发明的目的是提供一种复用接口装置及mac系统,复用接口装置可同时提供不同类型的phy接口,并根据与当前连接的phy适配的接口类型选择对应的接口输出,提高了mac的灵活性且减少了用户的负担;同时,时钟产生模块的设置可完成不同接口的时钟转换,进一步减少了用户的负担以及实际使用的复杂性。为解决上述技术问题,本发明提供了一种复用接口装置,包括:设于mac上、用于输出第一接口的第一接口控制器;与所述第一接口控制器连接的接口转换模块,用于将所述第一接口转换为不同类型的接口输出;分别与所述第一接口控制器、所述接口转换模块及phy连接的输出接口选择器,用于从自身连接的不同类型的接口中,选择与当前连接的phy适配的目标接口接至所述phy;分别与所述mac、所述第一接口控制器及所述接口转换模块连接的时钟产生模块,用于根据所述mac的当前工作速率和与当前连接的phy适配的接口类型,生成符合二者当前通信要求的时钟信号,并将所述时钟信号相应提供给所述目标接口的时钟信号线。优选地,所述第一接口控制器为用于输出gmii接口的gmii控制器;且所述接口转换模块包括:分别与所述gmii控制器和所述输出接口选择器连接的rgmii转换子模块,用于将所述gmii接口转换为rgmii接口输出;分别与所述gmii控制器和所述输出接口选择器连接的mii转换子模块,用于将所述gmii接口转换为mii接口输出;分别与所述mii转换子模块和所述输出接口选择器连接的rmii转换子模块,用于将所述mii接口转换为rmii接口输出。优选地,所述gmii接口包括表示所述时钟产生模块产生的发送时钟的gtx_clk信号、表示发送数据错误的tx_er信号、表示发送使能的tx_en信号、表示发送数据的txd[7:0]信号、表示所述phy产生的接收时钟的rx_clk信号、表示接收数据有效的rx_dv信号、表示接收数据错误的rx_er信号、表示接收数据的rxd[7:0]信号、表示载波监听的crs信号、表示冲突碰撞监听的col信号、表示管理数据的mdio信号、表示管理数据时钟的mdc信号。优选地,所述rgmii接口包括gtx_clk信号、用于传送tx_en信号和tx_er信号两种信息的tx_ctl信号、表示发送数据的txd[3:0]信号、rx_clk信号、用于传送rx_dv信号和rx_er信号两种信息的rx_ctl信号、表示接收数据的rxd[3:0]信号、crs信号、col信号、mdio信号、mdc信号;其中,所述rgmii接口复用与所述gmii接口相同的信号;相应的,所述rgmii转换子模块包括:分别连接gtx_clk信号和txd[7:0]信号的低4位信号的发送时钟上升沿采样单元,用于在gtx_clk信号的上升沿对所述低4位信号进行采样,得到低4位发送信号;在gtx_clk信号的上升沿将tx_en信号输出给tx_ctl信号;分别连接gtx_clk信号和txd[7:0]信号的高4位信号的发送时钟下降沿采样单元,用于在gtx_clk信号的下降沿对所述高4位信号进行采样,得到高4位发送信号;在gtx_clk信号的下降沿将tx_er信号输出给tx_ctl信号;输入端分别与所述发送时钟上升沿采样单元和所述发送时钟下降沿采样单元连接、输出端作为txd[3:0]信号的mux选择器,用于根据所述mac的当前工作速率,控制所述低4位发送信号和所述高4位发送信号交替输出;分别连接rx_clk信号和rxd[3:0]信号的接收时钟上升沿采样单元,用于在rx_clk信号的上升沿对rxd[3:0]信号进行采样,得到高4位接收信号;在rx_clk信号的上升沿对rx_ctl信号进行采样后输出给rx_dv信号;分别连接rx_clk信号和rxd[3:0]信号的接收时钟下降沿采样单元,用于在rx_clk信号的下降沿对rxd[3:0]信号进行采样,得到低4位接收信号;在rx_clk信号的下降沿对rx_ctl信号进行采样后输出给rx_er信号;输入端分别与所述接收时钟上升沿采样单元和所述接收时钟下降沿采样单元连接、输出端作为txd[7:0]信号的com组合模块,用于根据所述mac的当前工作速率,将所述低4位接收信号和所述高4位接收信号组合输出。优选地,所述mii接口包括表示所述phy产生的发送时钟的tx_clk信号、tx_er信号、tx_en信号、txd[3:0]信号、rx_clk信号、rx_dv信号、rx_er信号、rxd[3:0]信号、crs信号、col信号、mdio信号、mdc信号;其中,所述mii接口复用与所述gmii接口相同的信号;相应的,所述mii转换子模块包括:分别连接tx_clk信号和txd[7:0]信号的低4位取出单元,用于在tx_clk信号的驱动下,将txd[7:0]信号的低4位信号进行截取作为txd[3:0]信号输出;分别连接rx_clk信号和rxd[3:0]信号的高4位补0单元,用于在rx_clk信号的驱动下,将rxd[3:0]信号的高位补4位0信号作为rxd[7:0]信号输出。优选地,所述mii转换子模块还包括:中断单元,用于若所述mac的当前工作速率为1000mbps,则产生中断,并进行所述mac的当前输出接口选择错误的提示。优选地,所述rmii接口包括表示所述时钟产生模块产生的参考时钟的ref_clk信号、tx_en信号、表示发送数据的txd[1:0]信号、rx_er信号、表示接收数据的rxd[1:0]信号、由rx_dv信号和crs信号合并的crs_dv信号、mdio信号、mdc信号;其中,所述rmii接口复用与所述mii接口相同的信号;将所述mii转换子模块中的tx_clk信号和rx_clk信号均改为由所述时钟产生模块产生;相应的,所述rmii转换子模块包括:连接ref_clk信号的tx_cnt计数器,用于当所述mac的当前工作速率为100mbps,每1个ref_clk信号的时钟周期均触发读取指令;当所述mac的当前工作速率为10mbps,每10个ref_clk信号的时钟周期均触发读取指令;分别连接tx_clk信号、txd[3:0]信号、tx_en信号及所述tx_cnt计数器的读写异步的tx_fifo单元,用于在tx_en信号的使能下及tx_clk信号的驱动下,将txd[3:0]信号写入所述tx_fifo单元;在接收到所述读取指令后,先读txd[3:0]信号的低2位信号作为txd[1:0]信号,再读txd[3:0]信号的高2位信号作为txd[1:0]信号;连接ref_clk信号的rx_cnt计数器,用于当所述mac的当前工作速率为100mbps,每1个ref_clk信号的时钟周期均触发写入指令;当所述mac的当前工作速率为10mbps,每10个ref_clk信号的时钟周期均触发写入指令;分别连接rx_clk信号、rxd[1:0]信号、csr_dv信号及所述rx_cnt计数器的读写异步的rx_fifo单元,用于在csr_dv信号有效的情况下且接收到所述写入指令后,将rxd[1:0]信号写入所述rx_fifo单元,以依次组成4位有效数据;在rx_clk信号的驱动下,依次读出所述4位有效数据作为rxd[3:0]信号。优选地,所述时钟产生模块包括:连接表示本地时钟的local_clk信号的第一分频器,用于根据所述mac的当前工作速率,为gmii/rgmii转换子模块产生对应的时钟频率;连接表示外部输入时钟的ext_clk信号的第二分频器,用于根据所述mac的当前工作速率,为rmii转换子模块产生对应的tx_clk信号、rx_clk信号及ref_clk信号;分别与所述第一分频器和所述第二分频器连接的时钟选通单元,用于将与当前连接的phy适配的接口类型相匹配的时钟信号选通并供给对应的转换子模块。优选地,所述mac与所述phy直连;且所述mac与所述phy通过二者之间的直连线路传输mdio信号和mdc信号。为解决上述技术问题,本发明还提供了一种mac系统,包括mac及上述任一种复用接口装置。本发明提供了一种复用接口装置,包括第一接口控制器、接口转换模块、输出接口选择器及时钟产生模块。第一接口控制器设于mac上、用于输出第一接口;接口转换模块用于将第一接口转换为不同类型的接口输出;输出接口选择器用于从自身连接的不同类型的接口中,选择与当前连接的phy适配的目标接口接至phy;时钟产生模块用于根据mac的当前工作速率和与当前连接的phy适配的接口类型,生成符合二者当前通信要求的时钟信号,并将时钟信号相应提供给目标接口的时钟信号线。可见,本申请的复用接口装置可同时提供不同类型的phy接口,并根据与当前连接的phy适配的接口类型选择对应的接口输出,提高了mac的灵活性且减少了用户的负担;同时,时钟产生模块的设置可完成不同接口的时钟转换,进一步减少了用户的负担以及实际使用的复杂性。本发明还提供了一种mac系统,与上述复用接口装置具有相同的有益效果。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中的一种mac与phy之间的数据交互结构图;图2为本发明实施例提供的一种复用接口装置的结构示意图;图3为本发明实施例提供的一种复用接口装置的具体结构示意图;图4为本发明实施例提供的一种gmii_rgmii_ctrl子模块的设计原理图;图5为本发明实施例提供的一种gmii_mii_ctrl子模块的设计原理图;图6为本发明实施例提供的一种mii_rmii_ctrl子模块的设计原理图;图7为本发明实施例提供的一种clock_gen子模块的设计原理图。具体实施方式本发明的核心是提供一种复用接口装置及mac系统,复用接口装置可同时提供不同类型的phy接口,并根据与当前连接的phy适配的接口类型选择对应的接口输出,提高了mac的灵活性且减少了用户的负担;同时,时钟产生模块的设置可完成不同接口的时钟转换,进一步减少了用户的负担以及实际使用的复杂性。为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参照图2,图2为本发明实施例提供的一种复用接口装置的结构示意图。该复用接口装置包括:设于mac上、用于输出第一接口的第一接口控制器1;与第一接口控制器1连接的接口转换模块2,用于将第一接口转换为不同类型的接口输出;分别与第一接口控制器1、接口转换模块2及phy连接的输出接口选择器3,用于从自身连接的不同类型的接口中,选择与当前连接的phy适配的目标接口接至phy;分别与mac、第一接口控制器1及接口转换模块2连接的时钟产生模块4,用于根据mac的当前工作速率和与当前连接的phy适配的接口类型,生成符合二者当前通信要求的时钟信号,并将时钟信号相应提供给目标接口的时钟信号线。具体地,本申请的复用接口装置包括第一接口控制器1、接口转换模块2、输出接口选择器3及时钟产生模块4,其工作原理为:第一接口控制器1设于mac上,第一接口控制器1可输出第一接口。接口转换模块2与第一接口控制器1连接,可将第一接口控制器1输出的第一接口转换为不同类型的接口输出。输出接口选择器3的一端分别与第一接口控制器1和接口转换模块2连接、另一端与phy连接,目的是从第一接口控制器1输出的第一接口及接口转换模块2输出的其它不同类型的接口中选择与当前连接的phy适配的目标接口接至phy(物理上来说,复用接口装置对外就一个接口),以实现mac与phy之间的接口适配。而且,本申请还设置有时钟产生模块4,其可根据mac的当前工作速率和与当前连接的phy适配的接口类型,生成符合二者当前通信要求的时钟信号,并将时钟信号相应提供给与当前连接的phy适配的目标接口的时钟信号线,以实现mac与phy之间的通信。本发明提供了一种复用接口装置,包括第一接口控制器、接口转换模块、输出接口选择器及时钟产生模块。第一接口控制器设于mac上、用于输出第一接口;接口转换模块用于将第一接口转换为不同类型的接口输出;输出接口选择器用于从自身连接的不同类型的接口中,选择与当前连接的phy适配的目标接口接至phy;时钟产生模块用于根据mac的当前工作速率和与当前连接的phy适配的接口类型,生成符合二者当前通信要求的时钟信号,并将时钟信号相应提供给目标接口的时钟信号线。可见,本申请的复用接口装置可同时提供不同类型的phy接口,并根据与当前连接的phy适配的接口类型选择对应的接口输出,提高了mac的灵活性且减少了用户的负担;同时,时钟产生模块的设置可完成不同接口的时钟转换,进一步减少了用户的负担以及实际使用的复杂性。在上述实施例的基础上:请参照图3,图3为本发明实施例提供的一种复用接口装置的具体结构示意图。作为一种可选的实施例,第一接口控制器1为用于输出gmii接口的gmii控制器;且接口转换模块2包括:分别与gmii控制器和输出接口选择器3连接的rgmii转换子模块,用于将gmii接口转换为rgmii接口输出;分别与gmii控制器和输出接口选择器3连接的mii转换子模块,用于将gmii接口转换为mii接口输出;分别与mii转换子模块和输出接口选择器3连接的rmii转换子模块,用于将mii接口转换为rmii接口输出。具体地,首先介绍mac与phy之间的四种接口:1)mii接口包含16个信号和2个管理接口信号。mii接口以4位字节的方式双向传送数据。mii接口对应的时钟速率为25mhz时,mac的工作速率可达100mb/s;mii接口对应的时钟速率为2.5mhz时,mac的工作速率可达10mb/s。表1信号名称描述方向tx_clk发送时钟phy→mactx_er发送数据错误mac→phytx_en发送使能mac→phytxd[3:0]发送数据mac→phyrx_clk接收时钟phy→macrx_dv接收数据有效phy→macrx_er接收数据错误phy→macrxd[3:0]接收数据phy→maccrs载波监听phy→maccol冲突碰撞监听phy→macmdio管理数据双向mdc管理数据时钟mac→phyrxd[3:0]:数据接收信号,共4根信号线。tx_er:发送数据错误提示信号,同步于tx_clk,高电平有效,表示tx_er有效期内传输的数据无效;对于10mbps速率下,tx_er不起作用。rx_er:接收数据错误提示信号,同步于rx_clk,高电平有效,表示rx_er有效期内传输的数据无效;对于10mbps速率下,rx_er不起作用。tx_en:发送使能信号,只有在tx_en有效期内传的数据才有效。rx_dv:接收数据有效信号,作用类似于发送通道的tx_en。tx_clk:发送数据参考时钟,100mbps速率下,时钟频率为25mhz;10mbps速率下,时钟频率为2.5mhz。需要注意的是,tx_clk时钟的方向是从phy侧指向mac侧的,因此此时钟是由phy提供的。rx_clk:接收数据参考时钟,100mbps速率下,时钟频率为25mhz;10mbps速率下,时钟频率为2.5mhz。rx_clk也是由phy侧提供的。crs:载波侦测信号,不需要同步于参考时钟,只要有数据传输,crs就有效,另外,crs只有phy在半双工模式下有效。col:冲突检测信号,不需要同步于参考时钟,只有phy在半双工模式下有效。2)rmii接口,相比于mii接口节省了一半的数据线。rmii接口收发使用2位数据进行传输,收发时钟均采用50mhz的时钟源。在100mbps以太网速率中,mac层每个时钟采样一次rxd[1:0]上的数据。在10mbps以太网速率中,mac层每10个时钟采样一次rxd[1:0]上的数据,此时物理层接收的每个数据会在rxd[1:0]保留10个时钟。表2信号名称描述方向ref_clk参考时钟外部时钟提供tx_en发送使能mac→phytxd[1:0]发送数据mac→phyrx_er接收数据错误phy→macrxd[1:0]接收数据phy→maccrs_dv载波和接收数据有效phy→macmdio管理数据双向mdc管理数据时钟mac→phycrs_dv是mii接口中rx_dv和crs两个信号的合并,当物理层接收到载波信号后crs_dv变得有效,将数据发送给rxd。需要注意的是,rmii接口与mii接口的区别不仅在于数据线的减半,更大的不同是:mii接口的tx_clk和rx_clk是phy传递给mac的,而rmii接口上只有一个时钟(50m的ref_clk),是外部提供的,同时提供给mac和phy。3)gmii接口采用8位接口数据,工作时钟为125mhz,因此传输速率可达1000mbps。gmii接口同时兼容mii接口所规定的10/100mbps工作方式,在用作mii模式时,使用tx_clk和8根数据线中的4根。100mbps速率时,工作时钟为25mhz,数据采用低4bits;10mbps速率时,工作时钟为2.5mhz,数据采用低4bits。表3需要注意的是:发送参考时钟gtx_clk和mii接口中的tx_clk是不同的,mii接口中的tx_clk是由phy芯片提供给mac芯片的,而gmii接口中的gtx_clk是由mac芯片提供给phy芯片的。4)rgmii接口与gmii接口相比,rgmii接口具有如下特征:发送/接收数据线由8条改为4条,1gbit/s速率下,时钟频率为125mhz(双沿采样);100mbit/s速率下,时钟频率为25mhz(单沿采样);10mbit/s速率下,时钟频率为2.5mhz(单沿采样)。表4信号名称描述方向gtx_clk发送时钟mac→phytx_ctl发送控制mac→phytxd[3:0]发送数据mac→phyrx_clk接收时钟phy→macrx_ctl接收控制phy→macrxd[3:0]接收数据phy→maccrs载波监听phy→maccol冲突碰撞监听phy→macmdio管理数据双向mdc管理数据时钟mac→phyrgmii的时钟频率仍旧为125mhz,tx/rx数据宽度从8为变为4位,为了保持1000mbps的传输速率不变,rgmii接口在时钟的上升沿和下降沿都采样数据。在参考时钟的上升沿发送gmii接口中的txd[3:0]/rxd[3:0],在参考时钟的下降沿发送gmii接口中的txd[7:4]/rxd[7:4]。rgmi同时也兼容100mbps和10mbps两种速率,此时参考时钟速率分别为25mhz和2.5mhz。tx_ctl信号线上传送tx_en和tx_er两种信息,在tx_clk的上升沿发送tx_en,下降沿发送tx_er;同样的,rx_ctl信号线上也传送rx_dv和rx_er两种信息,在rx_clk的上升沿发送rx_dv,下降沿发送rx_er。基于上述mac与phy之间的四种接口的描述,从mii/rmii/gmii/rgmii的接口信号定义(包括时钟)上看,可以得知,这些协议虽然不同,但是内部结构/功能有很多是覆叠的,因此本申请利用这一点,充分利用gmii控制器的逻辑功能,mii/rgmii在基于gmii控制器的基础上,进行部分修改(包括时钟),分别实现rgmii/mii控制器(分别对应图3中的gmii_rgmii_ctrl/gmii_mii_ctrl),输出对应的rgmii/mii接口,而rmii接口则是复用gmii_mii_ctrl,对应图3中mii_rmii_ctrl,输出rmii接口。phy_intf_mux为输出接口选择器3,根据当前应用场景下phy的具体接口,选择对应的接口进行输出。clock_gen为时钟产生模块4,只对当前phy接口类型对应的接口控制器产生时钟,关闭用不到的接口控制器时钟,极大的降低功耗。也就是说,gmii_ctrl是独立gmii控制器,输出gmii接口,与gmii接口的phy配合使用。gmii_rgmii_ctrl是基于gmii控制器的rgmii控制器(即rgmii转换子模块),输出rgmii接口,与rgmii接口的phy配合使用。gmii_mii_ctrl是基于gmii控制器的mii控制器(即mii转换子模块),输出mii接口,与mii接口的phy配合使用。mii_rmii_ctrl是基于gmii_mii_ctrl的rmii控制器(即rmii转换子模块),输出rmii接口,与rmii接口的phy配合使用。本申请降低功耗的原则是,只对当前phy接口类型对应的接口控制器产生时钟,如当phy芯片为gmii接口类型,clock_gen只输出gmii通路的时钟,关闭gmii_rgmii_ctrl、gmii_mii_ctr、mii_rmii_ctrl子模块的时钟;当phy芯片类型为rgmii接口类型,因为rgmii控制器复用gmii_ctrl,因此clock_gen只输出gmii_ctrl、gmii_rgmii_ctrl子模块的时钟,关闭gmii_mii_ctrl、mii_rmii_ctrl子模块的时钟;当phy芯片类型为mii接口类型,因为mii控制器复用gmii_ctrl,因此clock_gen只输出gmii_ctrl、gmii_mii_ctrl子模块的时钟,关闭gmii_rgmii_ctrl、mii_rmii_ctrl子模块的时钟;当phy芯片类型为rmii接口类型,因为rmii控制器复用mii控制器,而mii控制器又复用gmii控制器,因此clock_gen只输出gmii_ctrl、gmii_mii_ctrl、mii_rmii_ctrl子模块的时钟,关闭gmii_rgmii_ctrl子模块的时钟。作为一种可选的实施例,gmii接口包括表示时钟产生模块4产生的发送时钟的gtx_clk信号、表示发送数据错误的tx_er信号、表示发送使能的tx_en信号、表示发送数据的txd[7:0]信号、表示phy产生的接收时钟的rx_clk信号、表示接收数据有效的rx_dv信号、表示接收数据错误的rx_er信号、表示接收数据的rxd[7:0]信号、表示载波监听的crs信号、表示冲突碰撞监听的col信号、表示管理数据的mdio信号、表示管理数据时钟的mdc信号。具体地,本实施例的介绍已在上述实施例中提及,本申请在此不再赘述。请参照图4,图4为本发明实施例提供的一种gmii_rgmii_ctrl子模块的设计原理图。作为一种可选的实施例,rgmii接口包括gtx_clk信号、用于传送tx_en信号和tx_er信号两种信息的tx_ctl信号、表示发送数据的txd[3:0]信号、rx_clk信号、用于传送rx_dv信号和rx_er信号两种信息的rx_ctl信号、表示接收数据的rxd[3:0]信号、crs信号、col信号、mdio信号、mdc信号;其中,rgmii接口复用与gmii接口相同的信号;相应的,rgmii转换子模块包括:分别连接gtx_clk信号和txd[7:0]信号的低4位信号的发送时钟上升沿采样单元,用于在gtx_clk信号的上升沿对低4位信号进行采样,得到低4位发送信号;在gtx_clk信号的上升沿将tx_en信号输出给tx_ctl信号;分别连接gtx_clk信号和txd[7:0]信号的高4位信号的发送时钟下降沿采样单元,用于在gtx_clk信号的下降沿对高4位信号进行采样,得到高4位发送信号;在gtx_clk信号的下降沿将tx_er信号输出给tx_ctl信号;输入端分别与发送时钟上升沿采样单元和发送时钟下降沿采样单元连接、输出端作为txd[3:0]信号的mux选择器,用于根据mac的当前工作速率,控制低4位发送信号和高4位发送信号交替输出;分别连接rx_clk信号和rxd[3:0]信号的接收时钟上升沿采样单元,用于在rx_clk信号的上升沿对rxd[3:0]信号进行采样,得到高4位接收信号;在rx_clk信号的上升沿对rx_ctl信号进行采样后输出给rx_dv信号;分别连接rx_clk信号和rxd[3:0]信号的接收时钟下降沿采样单元,用于在rx_clk信号的下降沿对rxd[3:0]信号进行采样,得到低4位接收信号;在rx_clk信号的下降沿对rx_ctl信号进行采样后输出给rx_er信号;输入端分别与接收时钟上升沿采样单元和接收时钟下降沿采样单元连接、输出端作为txd[7:0]信号的com组合模块,用于根据mac的当前工作速率,将低4位接收信号和高4位接收信号组合输出。具体地,如图4所示,gmii_rgmii_ctrl子模块功能解析:tx侧:将gmii的发送时序转换为rgmii的发送时序,首先将gmii输入的tx_gmii_data[7:0]分成两路,一路是低4bits,即tx_gmii_data[3:0];一路是高4bits,即tx_gmii_data[7:4]。其中,tx_gmii_data[3:0]用tx_clk的上升沿进行采样,而tx_gmii_data[7:4]用tx_clk的下降沿进行采样。然后两路采样结果输入到mux选择器,mux选择器根据mac的当前工作速率mac_speed信号(有1000mbps/100mbps/10mbps,在实际应用中,该信号是由本地mac与对端的mac自协商得来)进行选择。当mac_speed信号只是当前mac处于1000mbps模式时,mux选择器在tx_clk的上升沿,输出tx_gmii_data[3:0]给tx_rgmii_data[3:0],mux选择器在tx_clk的下降沿,输出tx_gmii_data[7:4]给tx_rgmii_data[3:0]。当mac_speed信号指示当前mac处于100mbps/10mbps模式时,mux选择器只在tx_clk的上升沿,输出tx_gmii_data[3:0]给tx_rgmii_data[3:0]。在tx_clk的下降沿,数据保持不变。在tx_clk的上升沿发送tx_en信号给tx_ctl,在tx_clk的下降沿发送tx_er信号给tx_ctl。rx侧:将rgmii的发送时序转换为gmii的发送时序,首先将tx_rgmii_data[3:0]在rx_clk上升沿和下降沿的时候分别进行采样,得到tx_rgmii_high_data[3:0]和tx_rgmii_low_data[3:0],然后送入com组合模块。com组合模块根据mac_speed信号进行组合。当mac_speed信号指示当前mac处于1000mbps模式时,com组合模块将rx_rgmii_high_data[3:0]和rx_rgmii_data[3:0]在rx_clk的上升沿时组合为rx_gmii_data[7:0](rx_gmii_data[7:4]=rx_rgmii_high_data[3:0],rx_gmii_data[3:0]=rx_rgmii_high_data[3:0])。当mac_speed信号指示当前mac处于100mbps/100mbps模式时候、,com组合模块将rx_rgmii_data[3:0]和0在rx_clk的上升沿时组合为rx_gmii_data[7:0],(rx_gmii_data[7:4]=4’h0,rx_gmii_data[3:0]=rx_rgmii_data[3:0])。在rx_clk的上升沿采样rx_ctl,输出给rx_dv信号,在rx_clk的下降沿采样rx_clk,输出给rx_er信号。其它:cos信号和col信号,在gmii_rgmii_ctrl子模块不做处理,直接透传。请参照图5,图5为本发明实施例提供的一种gmii_mii_ctrl子模块的设计原理图。作为一种可选的实施例,mii接口包括表示phy产生的发送时钟的tx_clk信号、tx_er信号、tx_en信号、txd[3:0]信号、rx_clk信号、rx_dv信号、rx_er信号、rxd[3:0]信号、crs信号、col信号、mdio信号、mdc信号;其中,mii接口复用与gmii接口相同的信号;相应的,mii转换子模块包括:分别连接tx_clk信号和txd[7:0]信号的低4位取出单元,用于在tx_clk信号的驱动下,将txd[7:0]信号的低4位信号进行截取作为txd[3:0]信号输出;分别连接rx_clk信号和rxd[3:0]信号的高4位补0单元,用于在rx_clk信号的驱动下,将rxd[3:0]信号的高位补4位0信号作为rxd[7:0]信号输出。具体地,如图5所示,gmii_mii_ctrl子模块功能解析:tx侧:在phy输入的时钟tx_clk的驱动下(注意,gmii模式下,tx_clk是clock_gen产生的),将gmii的发送数据tx_gmii_data[7:0]进行截取,只截取低4bits,作为输出数据tx_mii_data[3:0]。rx侧:在phy输入的时钟rx_clk的驱动下,将rx_mii_data[3:0]的高位补4’h0后,rx_gmii_data[7:0]={4’h0,rx_mii_data[3:0]},输入给gmii控制器。同时,本控制器输入mac_speed信号,因为mii控制器只支持100/10mbps模式,如果mac_speed指示的速率模式是1000mbps,则本模块上产生中断,并进行当前mac的输出接口选择错误,需重新选择的提示。其它:tx_en、tx_er、rx_dv、rx_er、crs、col信号不做处理,直接透传。作为一种可选的实施例,mii转换子模块还包括:中断单元,用于若mac的当前工作速率为1000mbps,则产生中断,并进行mac的当前输出接口选择错误的提示。具体地,本实施例的介绍已在上述实施例中提及,本申请在此不再赘述。请参照图6,图6为本发明实施例提供的一种mii_rmii_ctrl子模块的设计原理图。作为一种可选的实施例,rmii接口包括表示时钟产生模块4产生的参考时钟的ref_clk信号、tx_en信号、表示发送数据的txd[1:0]信号、rx_er信号、表示接收数据的rxd[1:0]信号、由rx_dv信号和crs信号合并的crs_dv信号、mdio信号、mdc信号;其中,rmii接口复用与mii接口相同的信号;将mii转换子模块中的tx_clk信号和rx_clk信号均改为由时钟产生模块4产生;相应的,rmii转换子模块包括:连接ref_clk信号的tx_cnt计数器,用于当mac的当前工作速率为100mbps,每1个ref_clk信号的时钟周期均触发读取指令;当mac的当前工作速率为10mbps,每10个ref_clk信号的时钟周期均触发读取指令;分别连接tx_clk信号、txd[3:0]信号、tx_en信号及tx_cnt计数器的读写异步的tx_fifo单元,用于在tx_en信号的使能下及tx_clk信号的驱动下,将txd[3:0]信号写入tx_fifo单元;在接收到读取指令后,先读txd[3:0]信号的低2位信号作为txd[1:0]信号,再读txd[3:0]信号的高2位信号作为txd[1:0]信号;连接ref_clk信号的rx_cnt计数器,用于当mac的当前工作速率为100mbps,每1个ref_clk信号的时钟周期均触发写入指令;当mac的当前工作速率为10mbps,每10个ref_clk信号的时钟周期均触发写入指令;分别连接rx_clk信号、rxd[1:0]信号、csr_dv信号及rx_cnt计数器的读写异步的rx_fifo单元,用于在csr_dv信号有效的情况下且接收到写入指令后,将rxd[1:0]信号写入rx_fifo单元,以依次组成4位有效数据;在rx_clk信号的驱动下,依次读出4位有效数据作为rxd[3:0]信号。具体地,如图6所示,mii_rmii_ctrl子模块功能解析:tx侧:在tx_clk的驱动下,将tx_mii_data写入tx_fifo_async,其中,tx_fifo_async实现的功能是读写异步的tx_fifo控制器,其写端数据是4bits,读端数据是2bits,且先读写入端数据4bits的低2bits,再读高2bits。同时,tx_fifo_async的写入端的时钟是tx_clk(100mbps模式下,该时钟为25mhz;10mbps模式下,该时钟为2.5mhz),写入端的使能信号为tx_en。读出端的时钟是ref_clk(100/10mbps模式下,该时钟均为50mhz),且读使能信号与tx_cnt计数器相关,当mac_speed指示当前工作模式为100mbps模式时,每个ref_clk时钟周期,都去读tx_fifo_async。而当mac_speed指示当前工作模式为10mbps模式时,计数周期为10(即tx_cnt的值=9)时,才去读一次tx_fifo_async。其中,计数器tx_cnt受ref_clk驱动,初始值为0,计数到9之后,复位为0。也就是说,在10mbps模式下,每10个ref_clk周期,读一次tx_fifo_async。注意:rmii协议不需要tx_er信号,因此mii的tx_er信号,不需要接入此模块。rx侧:与tx侧是相反的过程。在rx_clk的驱动下,将rx_rmii_data[1:0]写入rx_fifo_async。其中,rx_fifo_async是读写异步的rx_fifo控制器,其写入端的时钟是rx_clk,写入端的数据使能是csr_dv,并且写使能受rx_cnt控制。当mac_speed信号指示当前工作模式为100mbps模式,且csr_dv为高时,将rx_rmii_data[1:0]写入rx_fifo_async。而mac_speed信号指示当前工作模式为10mbps模式时,当csr_dv为高,且rx_cnt的计数周期为10(rx_cnt的值为9),将rx_rmii_data[1:0]写入rx_fifo_async。其中,计数器rx_cnt受ref_clk驱动,初始值为0,计数到9之后,复位为0。也就是说,在10mbps模式下,每10个ref_clk周期,写一次rx_fifo_async。需要注意的是,rx_fifo_async内部在存储写入数据时,先存储第一个有效的rx_rmii_data[1:0],再存储第二个有效的rx_rmii_data[1:0],组成4bits的有效数据之后,再存储。读出端:在rx_clk的驱动下,读出4bits的有效数据rx_mii_data[3:0]。crs_col_gen:该子模块产生mii协议中的crs、col信号。按照这些信号本身的含有,处理如下:crs=tx_en|csr_dv;col=tx_en&csr_dv;rx_dv则由rx_fifo_async读逻辑产生,当有有效的rx_mii_data[3:0]读出时,rx_dv置为1。请参照图7,图7为本发明实施例提供的一种clock_gen子模块的设计原理图。作为一种可选的实施例,时钟产生模块4包括:连接表示本地时钟的local_clk信号的第一分频器,用于根据mac的当前工作速率,为gmii/rgmii转换子模块产生对应的时钟频率;连接表示外部输入时钟的ext_clk信号的第二分频器,用于根据mac的当前工作速率,为rmii转换子模块产生对应的tx_clk信号、rx_clk信号及ref_clk信号;分别与第一分频器和第二分频器连接的时钟选通单元,用于将与当前连接的phy适配的接口类型相匹配的时钟信号选通并供给对应的转换子模块。具体地,如图7所示,clock_gen子模块功能解析:clock_gen子模块的主要功能就是基于phy_intf(指示当前应用场景中phy接口类型)和mac_speed(示mac当前模式),产生与当前phy接口类型对应的时钟信号。local_clk是本地时钟,用于产生gmii/rgmii时钟,一般是125mhz。ext_clk是外部输入时钟,用于rmii时钟,一般是50mhz。divide0是第一分频器,根据mac_speed指示的工作模式(1000mbps—125mhz,100mbps—25mhz,10mpbs—2.5mhz),产生对应的时钟频率,用于gmii/rgmii控制器。divide1是第二分频器,根据mac_speed指示的工作模式(100mbps—25mhz,10mpbs—2.5mhz),产生tx_clk和rx_clk,用于rmii控制器。ref_clk输出50mhz。clock_port_sel为时钟选通单元,用于根据phy_intf的结果,对clock_gen的输出时钟进行选通:当phy为gmii接口,clock_port_sel选通tx_gmii_clk,即1号口选通;当phy为mii接口,clock_port_sel选通tx_gmii_clk,即1号口选通;当phy为rgmii接口,clock_port_sel选通tx_gmii_clk和tx_rgmii_clk,即1号口和2号口选通;当phy为rmii接口,clock_port_sel选通tx_gmii_clk和tx_rmii_clk,即1号和3号口选通。作为一种可选的实施例,mac与phy直连;且mac与phy通过二者之间的直连线路传输mdio信号和mdc信号。具体地,mdio接口用于mac和phy的管理控制,用于读写phy的控制寄存器和状态寄存器,其它协议均有此接口,所以如图3所示,mac与phy直连,使得mac与phy通过二者之间的直连线路传输mdio信号和mdc信号,从而简化线路连接。综上,本申请最大程度的对核心控制逻辑进行复用,减少了代码逻辑,也就减少了硬件资源,减少了对应芯片的面积;同时设计了灵活的时钟产生模块,对不需要的子模块不输出时钟,极大降低了功耗。本申请还提供了一种mac系统,包括mac及上述任一种复用接口装置。本申请提供的mac系统的介绍请参考上述复用接口装置的实施例,本申请在此不再赘述。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 
    技术特征:

    1.一种复用接口装置,其特征在于,包括:

    设于mac上、用于输出第一接口的第一接口控制器;

    与所述第一接口控制器连接的接口转换模块,用于将所述第一接口转换为不同类型的接口输出;

    分别与所述第一接口控制器、所述接口转换模块及phy连接的输出接口选择器,用于从自身连接的不同类型的接口中,选择与当前连接的phy适配的目标接口接至所述phy;

    分别与所述mac、所述第一接口控制器及所述接口转换模块连接的时钟产生模块,用于根据所述mac的当前工作速率和与当前连接的phy适配的接口类型,生成符合二者当前通信要求的时钟信号,并将所述时钟信号相应提供给所述目标接口的时钟信号线。

    2.如权利要求1所述的复用接口装置,其特征在于,所述第一接口控制器为用于输出gmii接口的gmii控制器;

    且所述接口转换模块包括:

    分别与所述gmii控制器和所述输出接口选择器连接的rgmii转换子模块,用于将所述gmii接口转换为rgmii接口输出;

    分别与所述gmii控制器和所述输出接口选择器连接的mii转换子模块,用于将所述gmii接口转换为mii接口输出;

    分别与所述mii转换子模块和所述输出接口选择器连接的rmii转换子模块,用于将所述mii接口转换为rmii接口输出。

    3.如权利要求2所述的复用接口装置,其特征在于,所述gmii接口包括表示所述时钟产生模块产生的发送时钟的gtx_clk信号、表示发送数据错误的tx_er信号、表示发送使能的tx_en信号、表示发送数据的txd[7:0]信号、表示所述phy产生的接收时钟的rx_clk信号、表示接收数据有效的rx_dv信号、表示接收数据错误的rx_er信号、表示接收数据的rxd[7:0]信号、表示载波监听的crs信号、表示冲突碰撞监听的col信号、表示管理数据的mdio信号、表示管理数据时钟的mdc信号。

    4.如权利要求3所述的复用接口装置,其特征在于,所述rgmii接口包括gtx_clk信号、用于传送tx_en信号和tx_er信号两种信息的tx_ctl信号、表示发送数据的txd[3:0]信号、rx_clk信号、用于传送rx_dv信号和rx_er信号两种信息的rx_ctl信号、表示接收数据的rxd[3:0]信号、crs信号、col信号、mdio信号、mdc信号;其中,所述rgmii接口复用与所述gmii接口相同的信号;

    相应的,所述rgmii转换子模块包括:

    分别连接gtx_clk信号和txd[7:0]信号的低4位信号的发送时钟上升沿采样单元,用于在gtx_clk信号的上升沿对所述低4位信号进行采样,得到低4位发送信号;在gtx_clk信号的上升沿将tx_en信号输出给tx_ctl信号;

    分别连接gtx_clk信号和txd[7:0]信号的高4位信号的发送时钟下降沿采样单元,用于在gtx_clk信号的下降沿对所述高4位信号进行采样,得到高4位发送信号;在gtx_clk信号的下降沿将tx_er信号输出给tx_ctl信号;

    输入端分别与所述发送时钟上升沿采样单元和所述发送时钟下降沿采样单元连接、输出端作为txd[3:0]信号的mux选择器,用于根据所述mac的当前工作速率,控制所述低4位发送信号和所述高4位发送信号交替输出;

    分别连接rx_clk信号和rxd[3:0]信号的接收时钟上升沿采样单元,用于在rx_clk信号的上升沿对rxd[3:0]信号进行采样,得到高4位接收信号;在rx_clk信号的上升沿对rx_ctl信号进行采样后输出给rx_dv信号;

    分别连接rx_clk信号和rxd[3:0]信号的接收时钟下降沿采样单元,用于在rx_clk信号的下降沿对rxd[3:0]信号进行采样,得到低4位接收信号;在rx_clk信号的下降沿对rx_ctl信号进行采样后输出给rx_er信号;

    输入端分别与所述接收时钟上升沿采样单元和所述接收时钟下降沿采样单元连接、输出端作为txd[7:0]信号的com组合模块,用于根据所述mac的当前工作速率,将所述低4位接收信号和所述高4位接收信号组合输出。

    5.如权利要求4所述的复用接口装置,其特征在于,所述mii接口包括表示所述phy产生的发送时钟的tx_clk信号、tx_er信号、tx_en信号、txd[3:0]信号、rx_clk信号、rx_dv信号、rx_er信号、rxd[3:0]信号、crs信号、col信号、mdio信号、mdc信号;其中,所述mii接口复用与所述gmii接口相同的信号;

    相应的,所述mii转换子模块包括:

    分别连接tx_clk信号和txd[7:0]信号的低4位取出单元,用于在tx_clk信号的驱动下,将txd[7:0]信号的低4位信号进行截取作为txd[3:0]信号输出;

    分别连接rx_clk信号和rxd[3:0]信号的高4位补0单元,用于在rx_clk信号的驱动下,将rxd[3:0]信号的高位补4位0信号作为rxd[7:0]信号输出。

    6.如权利要求5所述的复用接口装置,其特征在于,所述mii转换子模块还包括:

    中断单元,用于若所述mac的当前工作速率为1000mbps,则产生中断,并进行所述mac的当前输出接口选择错误的提示。

    7.如权利要求5所述的复用接口装置,其特征在于,所述rmii接口包括表示所述时钟产生模块产生的参考时钟的ref_clk信号、tx_en信号、表示发送数据的txd[1:0]信号、rx_er信号、表示接收数据的rxd[1:0]信号、由rx_dv信号和crs信号合并的crs_dv信号、mdio信号、mdc信号;其中,所述rmii接口复用与所述mii接口相同的信号;将所述mii转换子模块中的tx_clk信号和rx_clk信号均改为由所述时钟产生模块产生;

    相应的,所述rmii转换子模块包括:

    连接ref_clk信号的tx_cnt计数器,用于当所述mac的当前工作速率为100mbps,每1个ref_clk信号的时钟周期均触发读取指令;当所述mac的当前工作速率为10mbps,每10个ref_clk信号的时钟周期均触发读取指令;

    分别连接tx_clk信号、txd[3:0]信号、tx_en信号及所述tx_cnt计数器的读写异步的tx_fifo单元,用于在tx_en信号的使能下及tx_clk信号的驱动下,将txd[3:0]信号写入所述tx_fifo单元;在接收到所述读取指令后,先读txd[3:0]信号的低2位信号作为txd[1:0]信号,再读txd[3:0]信号的高2位信号作为txd[1:0]信号;

    连接ref_clk信号的rx_cnt计数器,用于当所述mac的当前工作速率为100mbps,每1个ref_clk信号的时钟周期均触发写入指令;当所述mac的当前工作速率为10mbps,每10个ref_clk信号的时钟周期均触发写入指令;

    分别连接rx_clk信号、rxd[1:0]信号、csr_dv信号及所述rx_cnt计数器的读写异步的rx_fifo单元,用于在csr_dv信号有效的情况下且接收到所述写入指令后,将rxd[1:0]信号写入所述rx_fifo单元,以依次组成4位有效数据;在rx_clk信号的驱动下,依次读出所述4位有效数据作为rxd[3:0]信号。

    8.如权利要求7所述的复用接口装置,其特征在于,所述时钟产生模块包括:

    连接表示本地时钟的local_clk信号的第一分频器,用于根据所述mac的当前工作速率,为gmii/rgmii转换子模块产生对应的时钟频率;

    连接表示外部输入时钟的ext_clk信号的第二分频器,用于根据所述mac的当前工作速率,为rmii转换子模块产生对应的tx_clk信号、rx_clk信号及ref_clk信号;

    分别与所述第一分频器和所述第二分频器连接的时钟选通单元,用于将与当前连接的phy适配的接口类型相匹配的时钟信号选通并供给对应的转换子模块。

    9.如权利要求8所述的复用接口装置,其特征在于,所述mac与所述phy直连;且所述mac与所述phy通过二者之间的直连线路传输mdio信号和mdc信号。

    10.一种mac系统,其特征在于,包括mac及如权利要求1-9任一项所述的复用接口装置。

    技术总结
    本发明公开了一种复用接口装置及MAC系统,包括第一接口控制器、接口转换模块、输出接口选择器及时钟产生模块。本申请的复用接口装置可同时提供不同类型的PHY接口,并根据与当前连接的PHY适配的接口类型选择对应的接口输出,提高了MAC的灵活性且减少了用户的负担;同时,时钟产生模块的设置可完成不同接口的时钟转换,进一步减少了用户的负担以及实际使用的复杂性。

    技术研发人员:张贞雷;刘同强;周玉龙;王贤坤
    受保护的技术使用者:山东云海国创云计算装备产业创新中心有限公司
    技术研发日:2020.11.19
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-6250.html

    最新回复(0)