一种多路smii信号到一路mii信号的复用方法及系统的制作方法

文档序号:9929487阅读:351来源:国知局
一种多路smii信号到一路mii信号的复用方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信领域,尤其是涉及一种多路SMII信号到一路MII信号的复用方法及系统。
【背景技术】
[0002]MII,即媒体独立接口,是ffiEE-802.3定义的以太网行业标准,用于FastEthernetMAC-block与各种类型的PHY连接。它包括一个数据接口,以及一个MAC和PHY之间的管理接口,数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号,管理接口是个双信号接口,一个是时钟信号,另一个是数据信号,通过管理接口,上层能监视和控制PHY。
[0003]SMII是由思科提出的一种媒体接口,它有比RMII更少的信号线数目,S表示串行的意思。因为它只用一根信号线传送发送数据,一根信号线传输接收数据,所以在时钟上为了满足100的需求,它的时钟频率很高,达到了 125兆,为什么用125兆,是因为数据线里面会传送一些控制信息,SMII —个端口仅用4根信号线完成100信号的传输,比起RMII差不多又少了一倍的信号线。SMII在工业界的支持力度是很高的,同理,所有端口的数据收发都公用同一个外部的125M时钟。
[0004]现有技术条件下只实现了一路SMII信号到一路MII信号的串并转换,而在SDH等多种应用场合下,需要实现多路SMII信号与MII信号的转换,技术上需要重复多次使用一路SMII信号到一路MII信号的串并转换,从而造成大量资源的浪费。

【发明内容】

[0005]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种功能强大、适用性广、可移植性强的多路SMII信号到一路MII信号的复用方法及系统。
[0006]本发明的目的可以通过以下技术方案来实现:
[0007]—种多路SMII信号到一路MII信号的复用方法,用以在FPGA中接收多路SMII信号、串并转换以及发送为一路MII信号,包括以下步骤:
[0008]I)FPGA接收多路SMII信号,在每一路中分别通过串并转换器转换为并行信号,并将其写入接收处理模块的两个缓冲区中;
[0009]2)FPGA分别读取每一路接收处理模块的缓冲区中的并行信号;
[0010]3)通过MII信号接口的逻辑发送电路发送每一路中读取到的并行信号。
[0011]所述的步骤I)包括以下步骤:
[0012]11)FPGA上电,判断复位信号R是否为1,若R为1,则寄存器信息初始化,返回步骤11),若R不为I,则进行步骤12);
[0013]12)判断时钟信号S是否为上升沿,若是,则进入步骤13),若否,则返回步骤12);
[0014]13)判断同步信号C是否为1,若是,则位计数器W清零,进行步骤14),若否,则进行步骤16)
[0015]14)开始接收数据,判断当位计数器W数据值为2时,接收到的状态信号D是否为1,若是,则接收到的信号为信息,进行步骤15),若否,则接收到的信号为状态,丢弃接收到的信号,返回步骤13);
[0016]15)判断缓冲区标志F是否为1,若是,则向缓冲区O写入信息,地址指针PO自加1,返回步骤11),若否,则向缓冲区I写入信息,地址指针Pl自加1,返回步骤11);
[0017]16)判断位计数器W的值是否为0,若是,则开始接收一个SMII数据串,进行步骤17),若否,则位计数器W的值自加I,进行步骤18);
[0018]17)判断检测信号B的值是否为1,若是,则继续接收SMII数据串的IP帧,并且设置接收状态信号D的值为1,返回步骤11),若否,则SMII数据串的IP帧接收结束,进行步骤 19);
[0019]18)当接收状态信号D为I时,接收SMII数据信号;
[0020]19)设置接收状态信号D的值为0,并判断缓冲区标志F是否为1,若是,则将地址指针Pl写入到帧长度寄存器LI中,同时Pl清0,缓冲区标志F置O ;若否,则将地址指针PO写入到帧长度寄存器LO中,同时PO清0,缓冲区标志F置1,输出使能置1,返回步骤11)。
[0021]所述的步骤2)包括以下步骤:
[0022]21)FPGA上电,判断复位信号R是否为1,若R为1,则寄存器信息初始化,返回步骤21),若R不为1,则进行步骤22);
[0023]22)判断时钟信号S是否为上升沿,若是,则进入步骤23),若否,则返回步骤22);
[0024]23)判断输出使能信号e是否为1,若是,则使能缓冲区内的信息可读,进行步骤24),若否,则使能缓冲区内的信息不可读,读地址指针P清零,返回步骤21);
[0025]24)判断缓冲区标志F是否为1,若是,则读取缓冲区O的信息,进行步骤25),若否,则读取缓冲区I的信息,进行步骤27);
[0026]25)判断读时钟信号H是否为1,若是,则输出当前指针下的高4位数据,读地址指针P自加1,若否,则输出当前指针下的低4位数据,进行步骤26);
[0027]26)判断读地址指针P是否与帧长度L相等,若是,则当前IP帧的信息已经读取完成,读地址指P针清0,缓冲区标志F置1,输出使能e置1,并返回步骤21),若否,则返回步骤 25);
[0028]27)判断读时钟信号H是否为1,若是,则输出当前指针下的高4位数据,读地址指针P自加1,若否,则输出当前指针下的低4位数据,进行步骤28);
[0029]28)判断读地址指针P是否与帧长度L相等,若是,则当前IP帧的信息已经读取完成,读地址指P针清0,缓冲区标志F置0,输出使能e置1,并返回步骤21),若否,则返回步骤 25) ο
[0030]所述的步骤3)包括以下步骤:
[0031]31)判断g信号是否为1,若是,则N进制计数器A在时钟信号H的下降沿时开始计数,输出sl-sn,进行步骤32),若否,回到步骤31);
[0032]32)判断输出使能信号f是否为I,若是,关闭N进制计数器A,输出由N进制译码器B和K译码并选择对应通道缓冲区的数据,启动24预置减计数器J,进行步骤33),若否回到步骤31);
[0033]33)判断预置减计数器是否减到为0,若是,开启N进制计数器A,回到步骤31),若否,回到步骤33)。
[0034]—种多路SMII信号到一路MII信号复用系统,用以接收多路SMII信号、串并转换以及发送为一路MII信号,包括依次连接的SMII接口、接收处理模块和发送模块,所述的SMII接口和接收处理模块为多路。
[0035]所述的接收处理模块包括外部时钟、状态信息存储器、分频器以及依次连接的串并转换器、IP帧缓存器、写控制器、缓冲区和读控制器,所述的外部时钟分别与串并转换器、IP帧缓存器、写控制器、缓冲区和分频器连接;所述的分频器与读控制器连接。
[0036]所述的缓冲区设有两个,并且每个缓冲区的容量均大于或等于两个IP帧,IP帧的长度随使用的协议变化,IPv4长度为32位,IPv6长度为128位。
[0037]所述的发送模块包括逻辑发送电路,所述的逻辑发送电路包括计数器、译码器、或门、多路选择器、预置减计数器、第一状态信号存储器和第二状态信号存储器,所述的计数器分别与分频器、译码器、多路选择器、第一状态信号存储器和第二状态信号存储器连接,所述的或门分别与接收处理模块、译码器、预置减计数器、第一状态信号存储器和第二状态信号存储器。
[0038]所述的计数器的进制与SMII信号接口数一致。
[0039]与现有技术相比,本发明具有以下优点:
[0040]—、功能强大,本发明实现了不仅实现了信号的串并转换,并且还实现了多路SMII信号复用到I路MII信号,提升了通信速度。
[0041]二、适用性广,本发明中复用通道数可自由配置,能够应对多路SMII信号。
[0042]三、可移植性强,本发明结构简单,适合大部分FPGA开发平台。
【附图说明】
[0043]图1为本发明中接收SMII信号的流程图。
[0044]图2为本发明中读取并行信号的流程图。
[0045]图3为本发明的系统结
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1