首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种多路SMII信号到一路MII信号的复用方法及系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:上海航天有线电厂有限公司

摘要:本发明涉及一种多路SMII信号到一路MII信号的复用方法,包括以下步骤:1FPGA接收多路SMII信号,在每一路中分别通过串并转换器转换为并行信号,并将其写入接收处理模块的两个缓冲区中;2FPGA分别读取每一路接收处理模块的缓冲区中的并行信号;3通过MII信号接口的逻辑发送电路发送每一路中读取到的并行信号。与现有技术相比,本发明具有功能强大、适用性广、可移植性强等优点。

主权项:1.一种多路SMII信号到一路MII信号的复用方法,用以在FPGA中接收多路SMII信号、串并转换以及发送为一路MII信号,其特征在于,包括以下步骤:1FPGA接收多路SMII信号,在每一路中分别通过串并转换器转换为并行信号,并将其写入接收处理模块的两个缓冲区中;2FPGA分别读取每一路接收处理模块的缓冲区中的并行信号;3通过MII信号接口的逻辑发送电路发送每一路中读取到的并行信号。

全文数据:一种多路SMII信号到一路MlI信号的复用方法及系统技术领域[0001]本发明涉及通信领域,尤其是涉及一种多路SMII信号到一路MII信号的复用方法及系统。背景技术[0002]MII,即媒体独立接口,是IEEE-802.3定义的以太网行业标准,用于FastEthernetMAC-block与各种类型的PHY连接。它包括一个数据接口,以及一个]y[AC和PHY之间的管理接口,数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号,管理接口是个双信号接口,一个是时钟信号,另一个是数据信号,通过管理接口,上层能监视和控制PHY。[0003]SMII是由思科提出的一种媒体接口,它有比RMII更少的信号线数目,S表示串行的意思。因为它只用一根信号线传送发送数据,一根信号线传输接收数据,所以在时钟上为了满足100的需求,它的时钟频率很高,达到了125兆,为什么用125兆,是因为数据线里面会传送一些控制信息,SMII—个端口仅用4根信号线完成1〇〇信号的传输,比起rmh差不多又少了一倍的信号线。SMII在工业界的支持力度是很高的,同理,所有端口的数据收发都公用同一个外部的125M时钟。[0004]现有技术条件下只实现了一路SMII信号到一路MII信号的串并转换,而在SDH等多种应用场合下,需要实现多路SMII信号与Mil信号的转换,技术上需要重复多次使用一路SMII信号到一路Mil信号的串并转换,从而造成大量资源的浪费。发明内容[0005]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种功能强大、适用性广、可移植性强的多路SMII信号到一路Mil信号的复用方法及系统。[0006]本发明的目的可以通过以下技术方案来实现:[0007]—种多路SMII信号到一路Mil信号的复用方法,用以在FPGA中接收多路SMII信号、串并转换以及发送为一路MII信号,包括以下步骤:[0008]1FPGA接收多路SMII信号,在每一路中分别通过串并转换器转换为并行信号,并将其写入接收处理模块的两个缓冲区中;[0009]2FPGA分别读取每一路接收处理模块的缓冲区中的并行信号;[0010]3通过MII信号接口的逻辑发送电路发送每一路中读取到的并行信号。[0011]所述的步骤1包括以下步骤:[0012]11FPGA上电,判断复位信号R是否为1,若R为1,则寄存器信息初始化,返回步骤11,若R不为1,则进行步骤12;[0013]12判断时钟信号S是否为上升沿,若是,则进入步骤13,若否,则返回步骤12;[00M]13判断同步信号C是否为1,若是,则位计数器W清零,进行步骤14,若否,则进行步骤16[0015]14开始接收数据,判断当位计数器W数据值为2时,接收到的状态信号D是否为1,若是,则接收到的信号为信息,进行步骤15,若否,则接收到的信号为状态,丢弃接收到的信号,返回步骤13;[0016]15判断缓冲区标志F是否为1,若是,则向缓冲区0写入信息,地址指针P〇自加1,返回步骤11,若否,则向缓冲区1写入信息,地址指针P1自加1,返回步骤11;[0017]16判断位计数器W的值是否为0,若是,则开始接收一个SMII数据串,进行步骤17,若否,则位计数器W的值自加1,进行步骤18;[0018]17判断检测信号B的值是否为1,若是,则继续接收SMII数据串的IP帧,并且设置接收状态信号D的值为1,返回步骤11,若否,则SMII数据串的IP帧接收结束,进行步骤19;[0019]18当接收状态信号D为1时,接收SMII数据信号;[0020]19设置接收状态信号D的值为0,并判断缓冲区标志F是否为1,若是,则将地址指针P1写入到帧长度寄存器L1中,同时P1清0,缓冲区标志F置0;若否,则将地址指针P0写入到帧长度寄存器L0中,同时P0清0,缓冲区标志F置1,输出使能置1,返回步骤11。[0021]所述的步骤2包括以下步骤:[0022]21FPGA上电,判断复位信号R是否为1,若R为1,则寄存器信息初始化,返回步骤21,若R不为1,则进行步骤22;[0023]22判断时钟信号S是否为上升沿,若是,则进入步骤23,若否,则返回步骤22;[0024]2¾判断输出使能信号e是否为1,若是,则使能缓冲区内的信息可读,进行步骤24,若否,则使能缓冲区内的信息不可读,读地址指针P清零,返回步骤21;[0025]24判断缓冲区标志F是否为1,若是,则读取缓冲区0的信息,进行步骤25,若否,则读取缓冲区1的信息,进行步骤27;[0026]25判断读时钟信号H是否为1,若是,则输出当前指针下的高4位数据,读地址指针P自加1,若否,则输出当前指针下的低4位数据,进行步骤26;[0027]2G判断读地址指针P是否与帧长度L相等,若是,则当前IP帧的信息己经读取完成,读地址指P针清0,缓冲区标志F置1,输出使能e置1,并返回步骤21,若否,则返回步骤25;[0028]27判断读时钟信号H是否为1,若是,则输出当前指针下的高4位数据,读地址指针P自加1,若否,则输出当前指针下的低4位数据,进行步骤28;[0029]28判断读地址指针P是否与帧长度L相等,若是,则当前1?帧的信息已经读取完成,读地址指P针清0,缓冲区标志F置〇,输出使能e置1,并返回步骤21,若否,则返回步骤25。[0030]所述的步骤3包括以下步骤:[0031]31判断g信号是否为1,若是,则N进制计数器A在时钟信号H的下降沿时开始计数,输出si-sn,进行步骤32,若否,回到步骤31;[0032]功判断输出使能信号f是否为丨,若是,关闭峨制计数器A,输出由峨制译码器B和K译码并选择对应通道缓冲区的数据,启动24预置减计数器J,进行步骤33,若否回到步骤31;[0033]33判断预置减计数器是否减到为0,若是,开启N进制计数器A,回到步骤31,若否,回到步骤33。[0034]—种多路SMII信号到一路Mil信号复用系统,用以接收多路SMII信号、串并转换以及发送为一路MII信号,包括依次连接的SMII接口、接收处理模块和发送模块,所述的SMII接口和接收处理模块为多路。[0035]所述的接收处理模块包括外部时钟、状态信息存储器、分频器以及依次连接的串并转换器、IP帧缓存器、写控制器、缓冲区和读控制器,所述的外部时钟分别与串并转换器、IP帧缓存器、写控制器、缓冲区和分频器连接;所述的分频器与读控制器连接。[0036]所述的缓冲区设有两个,并且每个缓冲区的容量均大于或等于两个IP帧,IP帧的长度随使用的协议变化,IPv4长度为32位,IPv6长度为128位。[0037]所述的发送模块包括逻辑发送电路,所述的逻辑发送电路包括计数器、译码器、或门、多路选择器、预置减计数器、第一状态信号存储器和第二状态信号存储器,所述的计数器分别与分频器、译码器、多路选择器、第一状态信号存储器和第二状态信号存储器连接,所述的或门分别与接收处理模块、译码器、预置减计数器、第一状态信号存储器和第二状态信号存储器。[0038]所述的计数器的进制与SMII信号接口数一致。[0039]与现有技术相比,本发明具有以下优点:[0040]—、功能强大,本发明实现了不仅实现了信号的串并转换,并且还实现了多路SMII信号复用到1路Mil信号,提升了通信速度。[0041]二、适用性广,本发明中复用通道数可自由配置,能够应对多路SMII信号。[0042]三、可移植性强,本发明结构简单,适合大部分FPGA开发平台。附图说明[0043]图1为本发明中接收SMII信号的流程图。[0044]图2为本发明中读取并行信号的流程图。[0045]图3为本发明的系统结构示意图。[0046]图4为接收处理模块的结构示意图。[0047]其中:1、SMII接口,2、接收处理模块,21、串并转换器,22、IP帧缓存器,23、写控制器,24、缓冲区,25、读控制器,况、状态信息存储器,27、分频器,31、计数器,32、译码器,33、或门,M、多路选择器,35、预置减计数器,36、第一状态信号存储器,37、第二状态信号存储器。具体实施方式[0048]下面结合附图和具体实施例对本发明进行详细说明。[0049]实施例:[00S0]—种多路SMII信号到一路Mil信号的复用方法,包括以下步骤:[0051]1FPGA接收多路SMII信号,在每一路中分别通过串并转换器转换为并行信号,并将其写入接收处理模块的两个缓冲区中;[0052]信号接收部分由多个接收处理模块组成,每个接收处理模块分配两个接收缓冲区,当一个缓冲区因发送数据时被占用时,可用另一个缓冲区接收数据。每个SMII接口收到的数据必须以以太网帧为单位缓存,且每个缓冲区至少能缓存两个IP帧,〗P帧的长度随使用的协议变化,IPv4长度为32位,IPv6长度为128位。每个SMII接口上的两个接收缓冲区具有两种控制权限,当缓冲区为空时,受SMII控制,SMII可以把接收的IP数据写入到该缓冲区中;当接收完一个IP帧后,控制权限移交给MII接口;[0053]2FPGA分别读取每一路接收处理模块的缓冲区中的并行信号;[0054]信号读取部分由读缓冲区标志来选择读取两个缓冲区的哪一个,通过“缓冲区基地址+地址指针”来确定要读取数据的位置,而地址指针是在读时钟的上升沿自加1;读取的字节经过二选一复用器转换为半字节;二选一复用器的控制端是MII接口接收时钟的二分频;当“缓冲区基地址+地址指针”与该缓冲区内以太网帧长度相等时,说明该缓冲区内内容读取完,同时读缓冲区标志指向另一个缓冲区,读地址指针清0;[0055]3通过MII信号接口的逻辑发送电路发送每一路中读取到的并行信号。[0056]信号发送部分为Mil接口获得控制权后才能将缓存好一个完整的以太网帧数据由MII接口发送出去,且每次必须一次性发送完一个IP帧。发送结束后,该缓冲区设为空状态,控制权又切换回SMII接口。MII接口有一个缓冲区管理状态机,循环检查各SMII缓冲区状态,缓冲区为满时,发送缓冲区内容。只要根据SMII和MII接口速率配置SMII通道数量就能满足各通道内数据不会造成数据积压,实现低速SMII信号转换成高速MII信号。[0057]如图1所示,以一路SMII接收信息过程为例,当存在N路SMII同时接收时,各路SMII信息接收过程中互不影响,原理类同,步骤1包括以下步骤:[0058]11FPGA上电,判断复位信号R是否为1,若R为1,则寄存器信息初始化,返回步骤11,若R不为1,则进行步骤12;[0059]12判断时钟信号S是否为上升沿,若是,则进入步骤13,若否,则返回步骤12;[0060]13判断同步信号C是否为1,若是,则位计数器W清零,进行步骤14,若否,则进行步骤16;[0061]14开始接收数据,判断当位计数器W数据值为2时,接收到的状态信号D是否为1,若是,则接收到的信号为信息,进行步骤15,若否,则接收到的信号为状态,丢弃接收到的信号,返回步骤13;[0062]15判断缓冲区标志F是否为1,若是,则向缓冲区0写入信息,地址指针P0自加1,返回步骤11,若否,则向缓冲区1写入信息,地址指针P1自加1,返回步骤11;[0063]16判断位计数器W的值是否为0,若是,则开始接收一个SMII数据串,进行步骤17,若否,则位计数器W的值自加1,进行步骤18;[0064]17判断检测信号B的值是否为1,若是,则继续接收SMII数据串的IP帧,并且设置接收状态信号D的值为1,返回步骤11,若否,则SMII数据串的IP帧接收结束,进行步骤19;[0065]18当接收状态信号D为1时,接收SMII数据信号;[0066]19设置接收状态信号D的值为0,并判断缓冲区标志F是否为1,若是,则将地址指针P1写入到帧长度寄存器L1中,同时P1清0,缓冲区标志F置0;若否,则将地址指针写入到帧长度寄存器L0中,同时P0清0,缓冲区标志F置1,输出使能置1,返回步骤11。[0067]如图2所示,以一路SMII接收信息过程为例,当存在N路SMII同时接收时,各路SMII信息接收过程中互不影响,原理类同,步骤2包括以下步骤:[0068]21FPGA上电,判断复位信号R是否为1,若R为1,则寄存器信息初始化,返回步骤21,若R不为1,则进行步骤22;10069J22判断时钟信号S是否为上升沿,若是,则进入步骤23,若否,则返回步骤22;[0070]23判断输出使能信号e是否为1,若是,则使能缓冲区内的信息可读,进行步骤24,若否,则使能缓冲区内的信息不可读,读地址指针p清零,返回步骤21;[0071]24判断缓冲区标志F是否为丨,若是,则读取缓冲区〇的信息,进行步骤25,若否,则读取缓冲区1的信息,进行步骤27;[0072]25判断读时钟信号H是否为丨,若是,则输出当前指针下的高4位数据,读地址指针P自加1,若否,则输出当前指针下的低4位数据,进行步骤26;[0073]26判断读地址指针P是否与帧长度L相等,若是,则当前IP帧的信息已经读取完成,读地址指P针清0,缓冲区标志F置1,输出使能e置1,并返回步骤21,若否,则返回步骤25;[0074]27判断读时钟信号H是否为1,若是,则输出当前指针下的高4位数据,读地址指针P自加1,若否,则输出当前指针下的低4位数据,进行步骤28;[0075]28判断读地址指针P是否与帧长度L相等,若是,则当前IP帧的信息已经读取完成,读地址指P针清0,缓冲区标志F置0,输出使能e置1,并返回步骤21,若否,则返回步骤25;[0076]步骤3包括以下步骤:[0077]31判断g信号是否为1,若是,则N进制计数器A在时钟信号H的下降沿时开始计数,输出sl-sn,进行步骤32,若否,回到步骤31,[0078]32判断输出使能信号f是否为1,若是,关闭N进制计数器A,输出由N进制译码器B和K译码并选择对应通道缓冲区的数据,启动24预置减计数器J,进行步骤33,若否回到步骤31;[0079]33判断预置减计数器是否减到为0,若是,开启N进制计数器A,回到步骤31,若否,回到步骤33。[0080]以四路SMII信息发送过程为例,在外部资源条件充裕下,可拓展N路SMII信息发送。[0081]四进制计数器,计数时钟h为MII接口接收数据时钟,当g信号为高电平时,在时钟信号h为下降沿时计数,输出si-s2两位的信号。(当多路SMII接口为N路时,对应计数器为N进制计数器,输出信号位数n与N的关系为,2Y多N且n为最小正整数)。[0082]译码器,对计数器的输出信号sl_s2进行译码,译出结果有效电平为高电平(当si-s2为“00”时,译出结果为“0001”)。(当多路SMII接口为N路时,译码器输入为(1中的n,译出位数N"'彡N。[0083]四或门,四或门的输入为译码器输出结果和对应的四个接收处理模块输出使能信号el-e4相与后的信号,只要译码结果与对应的使能逻辑相与后为1,则四或门的输出f为1。计数器从〇到4开始计数,计数结果经过译码器,然后与对应使能信号相与,相与结果经过四或门输出f。计数器经过译码器后与使能信号相与,实现对各个接收处理模块循环检查。当多路SMII接口为N路时,对应N或门,n路输入译码器译出位数中只有N个结果有效,这N个结果对应N个接收处理模块的N个使能信号)。[0084]四选一选择器,根据计数器的输出结果,将对应接收处理模块缓冲区的信号输出至Ijd,如当sl-s2为“01”时,选择将接收处理模块2的d2作为输出,即d=d2。(当多路SMII接口为N路时,计数器输出位数为n,信号为sl-sn,根据n位输出信号sl-sn,选择输出N个接收处理模块的一路)。[0085]预置24减计数器,当四或门的输出信号f为高时,触发开启四或门并关断四进制计数器,只有当预置24减计数器计数到0时才开启四或门。[0086]如图3和图4所示,一种多路SMII信号到一路MII信号的复用系统,用以在FPGA内部接收多路SMII信号、串并转换以及发送为一路Mil信号,其特征在于,包括依次连接的SMII接口1、接收处理模块2和发送模块,SMII接口1和接收处理模块2为多路。[0087]接收处理模块2包括外部时钟、状态信息存储器26、分频器27以及依次连接的串并转换器21、IP帧缓存器22、写控制器23、缓冲区24和读控制器25,外部时钟分别与串并转换器21、IP帧缓存器22、写控制器23、缓冲区24和分频器27连接;分频器27与读控制器25连接,缓冲区24设有两个。[0088]发送模块包括逻辑发送电路,逻辑发送电路包括计数器31、译码器32、或门33、多路选择器34、预置减计数器35、第一状态信号存储器36和第二状态信号存储器37,计数器31分别与分频器27、译码器32、多路选择器M、第一状态信号存储器%和第二状态信号存储器37连接,或门33分别与接收处理模块2、译码器:32、预置减计数器35、第一状态信号存储器36和第二状态信号存储器37。

权利要求:1.一种多路SMII信号到一路Mil信号的复用方法,用以在FPGA中接收多路SMII信号、串并转换以及发送为一路MII信号,其特征在于,包括以下步骤:1FPGA接收多路SMII信号,在每一路中分别通过串并转换器转换为并行信号,并将其写入接收处理模块的两个缓冲区中;2FPGA分别读取每一路接收处理模块的缓冲区中的并行信号;3通过MII信号接口的逻辑发送电路发送每一路中读取到的并行信号。2.根据权利要求1所述的一种多路SMII信号到一路MII信号的复用方法,其特征在于,所述的步骤1包括以下步骤:11FPGA上电,判断复位信号R是否为1,若R为1,则寄存器信息初始化,返回步骤11,若R不为1,则进行步骤12;12判断时钟信号S是否为上升沿,若是,则进入步骤13,若否,则返回步骤12;13判断同步信号C是否为1,若是,则位计数器W清零,进行步骤14,若否,则进行步骤16;14开始接收数据,判断当位计数器W数据值为2时,接收到的状态信号D是否为1,若是,则接收到的信号为信息,进行步骤15,若否,则接收到的信号为状态,丢弃接收到的信号,返回步骤13;15判断缓冲区标志F是否为1,若是,则向缓冲区0写入信息,地址指针P0自加1,返回步骤11,若否,则向缓冲区1写入信息,地址指针P1自加1,返回步骤11;16判断位计数器W的值是否为0,若是,则开始接收一个SMII数据串,进行步骤17,若否,则位计数器W的值自加1,进行步骤18;1乃判断检测信号B的值是否为1,若是,则继续接收SMII数据串的IP帧,并且设置接收状态信号D的值为1,返回步骤11,若否,则SMII数据串的一个IP帧接收结束,进行步骤19;18当接收状态信号D为1时,接收SMII数据信号;19设置接收状态信号D的值为0,并判断缓冲区标志F是否为1,若是,则将地址指针P1写入到帧长度寄存器L1中,同时P1清0,缓冲区标志F置0;若否,则将地址指针写入到帧长度寄存器L0中,同时P0清0,缓冲区标志F置1,输出使能置1,返回步骤11。3.根据权利要求1所述的一种多路SMII信号到一路MII信号的复用方法,其特征在于,所述的步骤2包括以下步骤:21FPGA上电,判断复位信号R是否为1,若R为1,则寄存器信息初始化,返回步骤21,若R不为1,则进行步骤22;22判断时钟信号S是否为上升沿,若是,则进入步骤23,若否,则返回步骤22;23判断输出使能信号e是否为1,若是,则使能缓冲区内的信息可读,进行步骤24,若否,则使能缓冲区内的信息不可读,读地址指针P清零,返回步骤21;24判断缓冲区标志F是否为1,若是,则读取缓冲区〇的信息,进行步骤25,若否,则读取缓冲区1的信息,进行步骤27;2f5判断读时钟信号H是否为1,若是,则输出当前指针下的高4位数据,读地址指针P自加1,若否,则输出当前指针下的低4位数据,进行步骤26;26判断读地址指针P是否与帧长度L相等,若是,则当前”帧的信息已经读取完成,读地址指P针清0,缓冲区标志F置1,输出使能e置1,并返回步骤21,若否,则返回步骤25;27判断读时钟信号H是否为1,若是,则输出当前指针下的高4位数据,读地址指针P自加1,若否,则输出当前指针下的低4位数据,进行步骤28;28判断读地址指针P是否与帧长度L相等,若是,则当前IP帧的信息已经读取完成,读地址指P针清0,缓冲区标志F置0,输出使能e置1,并返回步骤21,若否,则返回步骤25。4.根据权利要求1所述的一种多路SMII信号到一路MII信号的复用方法,其特征在于,所述的步骤3包括以下步骤:31判断g信号是否为1,若是,则N进制计数器A在时钟信号H的下降沿时开始计数,输出sl-sn,进行步骤32,若否,回到步骤31;32判断输出使能信号f是否为1,若是,关闭N进制计数器A,输出由N进制译码器B和K译码并选择对应通道缓冲区的数据,启动24预置减计数器J,进行步骤33,若否回到步骤31;33判断预置减计数器是否减到为0,若是,开启N进制计数器A,回到步骤31,若否,回到步骤33。5.—种实现如权利要求1所述的多路SMII信号到一路MII信号的复用方法的复用系统,用以接收多路SMII信号、串并转换以及发送为一路Mil信号,其特征在于,包括依次连接的SMII接口(1、接收处理模块2和发送模块,所述的SMII接口(1和接收处理模块2为多路。6.根据权利要求5所述的复用系统,所述的接收处理模块2包括外部时钟、状态信息存储器(26、分频器(27以及依次连接的串并转换器(21、IP帧缓存器(22、写控制器23、缓冲区(24和读控制器25,所述的外部时钟分别与串并转换器21、IP帧缓存器22、写控制器23、缓冲区(24和分频器27连接;所述的分频器27与读控制器25连接。7.根据权利要求6所述的复用系统,所述的缓冲区(24设有两个,并且每个缓冲区(24的容量均大于或等于两个IP帧。8.根据权利要求6所述的复用系统,所述的发送模块包括逻辑发送电路,所述的逻辑发送电路包括计数器31、译码器32、或门(33、多路选择器34、预置减计数器35、第一状态信号存储器36和第二状态信号存储器37,所述的计数器31分别与分频器27、译码器32、多路选择器C34、第一状态信号存储器36和第二状态信号存储器C37连接,所述的或门(33分别与接收处理模块2、译码器3¾、预置减计数器35、第一状态信号存储器36和第二状态信号存储器37。9.根据权利要求8所述的复用系统,所述的计数器31的进制与SMII信号接口数一致。

百度查询: 上海航天有线电厂有限公司 一种多路SMII信号到一路MII信号的复用方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。