应用于通讯网络中光模块的数字诊断方法及系统与流程

文档序号:14452221阅读:335来源:国知局

本发明属于通讯技术领域,尤其涉及一种应用于通讯网络中光模块的数字诊断方法及系统。



背景技术:

sff-8472数字诊断协议的推出,规定了光模块内数字诊断相关参数阈值和实时参数存储位置,并规定使用iic作为底层通讯协议完成参数交互。众多厂家推出遵守sff-8472协议的光模块提供了数字诊断的技术基础。

由意外原因使得网络中光模块接收光功率过低或其他物理参数超出阈值引发通讯失败的情况屡见不鲜。网络中多个光模块需要实时监测并统一管理,并且在电子系统中虽然fpga广泛作为主控芯片但内部资源和外部引脚有限。因此提供一种应用于通讯网络中光模块的数字诊断方法的同时,减少主控芯片的资源开销、简化系统是很有必要的。



技术实现要素:

本发明旨在克服现有技术的缺陷,,提供一种应用于通讯网络中光模块的数字诊断方法。

为实现上述目的,本发明采用以下技术方案:提供一种应用于通讯网络中光模块的数字诊断方法,包括如下步骤:

(a)为主控模块配置总线选择器,选择并使能所述总线选择器上的其中一路总线;

(b)所述主控模块通过所述总线选择器的所述其中一路总线读取与所述其中一路总线连接的光模块的各个实时参数及参数阈值;

(c)所述主控模块将读取的实时参数与参数阈值进行比较,并判断实时参数和参数阈值是否在正常范围内;

(d)重复(a)~(c)步骤,遍历挂在所述总线选择器上的所有总线及光模块。

步骤(a)中,所述主控模块选用fpga,所述总线选择器选用pca9548。

步骤(b)中,采用sff-8472数字诊断协议,所述sff-8472数字诊断协议规定使用iic作为底层通讯协议用于读取所述光模块的各个参数阈值及实时参数,同时还规定了各参数存储地址,使所述主控模块可以根据所述sff-8472数字诊断协议直接得到所述光模块的实时参数,并将实时参数与参数阈值进行比较。

所述主控模块包括:

时钟产生模块:

所述主控模块与所述总线选择器采用iic通信协议进行通信,所述时钟产生模块通过分频产生各个程序模块所需的时钟;

地址、数据发生模块:

所述地址、数据发生模块用于产生地址和数据,用来配置总线选择器和读取光模块数字诊断相关的参数;

iic通讯接口模块:

所述iic通讯模块作为iic通讯接口,用于将所述地址、数据发生模块发来的并行数据转为iic协议的串行数据;

数字诊断结果显示模块:

所述数字诊断结果显示模块通过点亮led灯的个数表示实时接收光功率数值是否在正常范围内。

为实现上述目的,本发明采用以下技术方案:提供一种应用于通讯网络中光模块的数字诊断系统,包括:

选择单元,用于通过主控模块配置总线选择器,选择并使能所述总线选择器上的其中一路总线;

读取单元,用于通过所述主控模块选择所述总线选择器的所述其中一路总线读取与所述其中一路总线连接的光模块的各个实时参数及参数阈值;

判断模块,用于通过所述主控模块将读取的实时参数与参数阈值进行比较,并判断实时参数和参数阈值是否在正常范围内。

所述主控模块选用fpga,所述总线选择器选用pca9548。

采用sff-8472数字诊断协议,所述sff-8472数字诊断协议规定使用iic作为底层通讯协议用于读取所述光模块的各个参数阈值及实时参数,同时还规定了各参数存储地址,使所述主控模块可以根据所述sff-8472数字诊断协议直接得到所述光模块的实时参数,并将实时参数与参数阈值进行比较。

所述主控模块包括:

时钟产生模块:

所述主控模块与所述总线选择器采用iic通信协议进行通信,所述时钟产生模块通过分频产生各个程序模块所需的时钟;

地址、数据发生模块:

所述地址、数据发生模块用于产生地址和数据,用来配置总线选择器和读取光模块数字诊断相关的参数;

iic通讯接口模块:

所述iic通讯模块作为iic通讯接口,用于将所述地址、数据发生模块发来的并行数据转为iic协议的串行数据;

数字诊断结果显示模块:

所述数字诊断结果显示模块通过点亮led灯的个数表示实时接收光功率数值是否在正常范围内。

附图说明

图1所示为本发明应用于通讯网络中光模块的数字诊断方法的流程框图。

图2所示为本发明应用于通讯网络中光模块的数字诊断系统的电路原理框图。

图3为如图2所示的应用于通讯网络中光模块的数字诊断系统的主控模块的结构图。

图4所示为本发明应用于通讯网络中光模块的数字诊断系统的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,而不构成对本发明的限制。

参考图1,本发明提供的应用于通讯网络中光模块的数字诊断方法,包括如下步骤:

步骤一:为主控模块配置总线选择器,选择并使能所述总线选择器上的其中一路总线;

步骤二:所述主控模块通过所述总线选择器的所述其中一路总线读取与所述其中一路总线连接的光模块的各个实时参数及参数阈值;

步骤三:所述主控模块将读取的实时参数与参数阈值进行比较,并判断实时参数和参数阈值是否在正常范围内;

步骤四:重复步骤一至三,遍历挂在所述总线选择器上的所有总线及光模块。

参考图2,图2为本发明的电路原理框图,步骤一中,所述主控模块选用fpga,所述总线选择器选用pca9548。

步骤二中,采用sff-8472数字诊断协议,所述sff-8472数字诊断协议规定使用iic作为底层通讯协议用于读取所述光模块的各个参数阈值及实时参数,同时还规定了各参数存储地址,使所述主控模块可以根据所述sff-8472数字诊断协议直接得到所述光模块的实时参数,并将实时参数与参数阈值进行比较。

下面详细介绍系统运作过程:

(1)首先主控模块即fpga向总线选择器即pca9548发送配置数据,使能总线选择器上许多路总线的其中一路iic总线;

(2)预主控模块读取光讯模块的数字诊断接口以得到接收光功率的阈值,根据sff-8472协议规定:

光模块中a2区域地址32存放rx_power_high_alarm;

地址36存放rx_power_high_warning;

地址38存放rx_power_low_warning;

地址34存放rx_power_low_alarm。

将以上地址中存放的阈值读取并输出。

(3)sff-8472规定读取光模块的a2区域地址104得到实时接收光功率rx_power并输出。

(4)为了方便比较、直观测试,设计了led_drive模块用于驱动led灯,通过led灯显示的个数来表示数字诊断结果。实际应用中可使用lcd显示屏等器件来扩展监测多个实时数据。

(5)循环以上步骤,遍历总线选择器上所有总线,即遍历与总线选择器相连的所有光模块。

需要说明的是,参考图2和3,选用的总线选择器作为主控模块即fpga与各个光模块的数字诊断接口的桥梁同样使用iic作为底层通信协议。如图2所示的实施例中,总线选择器连接7光模块,分别是光模块0~7。

本发明在使用iic通讯模块读取光模块数字诊断相关参数时采用页读取的方式一次将2字节的参数读出。

本发明采用内部校准和预读取的方式,在数字诊断之前将光模块的阈值取出然后再实时采集参数,并将实时参数直接与阈值进行比较得出结果。因此光模块遵守sff-8472协议的情况下,本方案是用于各型号光模块的数字诊断情形。

参考图3,所述主控模块包括:

所述主控模块即fpga内的数字诊断程序各模块功能:

时钟产生模块(gen_divclk):

fpga与pca9548通信采用iic通信协议,通信速率100k,因此设计时钟产生模块用来分频产生各个程序模块所须的时钟;

地址、数据发生模块(gen_adr_data):

地址、数据发生模块用于产生地址和数据,用来配置总线选择器和读取光模块数字诊断相关的参数。本发明可用于监测光模块的实时接收光功率,如果要检测其他实时参数则根据sff-8472协议改变读取地址即可。

iic通讯接口模块(iic_interface):

iic通讯接口模块作为iic通讯接口,将gen_adr_data发来的并行数据转为iic协议的串行数据。

数字诊断结果显示模块(led_drive):

通过点亮led灯的个数表示实时接收光功率数值是否在正常范围内。在系统中有若干组led灯,每组灯对应于一个光模块用于显示数字诊断结果;每组灯由4个led组成,每组led灯点亮的个数直观反映该组对应的光模块接收光功率的强弱:

rx_power>rx_power_high_alarm点亮4个led,接收光功率高于阈值上限;

rx_power_high_alarm>rx_power>rx_power_high_warning点亮3个led,接收光功率偏高;

rx_power_high_warning>rx_power_0>rx_power_low_warning点亮2个led,接收光功率正常;

rx_power_low_warning>rx_power>rx_power_low_alarm点亮1个led,接收光功率偏低;

rx_power<rx_power_low_alarm点亮0个led,接收光功率低于阈值下限。

参数名称说明

本发明可用于监测光模块的实时接收光功率,如果要检测其他实时参数则根据sff-8472协议改变读取地址即可。

rx_power_x:编号为x的光模块的实时接收光功率;

h_alarm_x:编号为x的光模块接收光功率阈值上限;

h_warn_x:如果编号为x的光模块接收光功率在h_alarm~h_warn之间则代表接收光功率偏高;

l_alarm_x:编号为x的光模块接收光功率阈值下限;

l_warn_x:如果编号为x的光模块接收光功率在l_alarm~l_warn之间则代表接收光功率偏低。

fpga从挂在总线选择器上的某一个光模块读出以上数据,并将它们输出用于分析和比较。

端口名中的“_x”代表挂在总线选择器上的编号为x的光模块,为了方便说明系统中挂了4个光模块。

参考图4,为实现上述目的,本发明还采用以下技术方案:提供一种应用于通讯网络中光模块的数字诊断系统,包括:

选择单元,用于通过主控模块配置总线选择器,选择并使能所述总线选择器上的其中一路总线;

读取单元,用于通过所述主控模块选择所述总线选择器的所述其中一路总线读取与所述其中一路总线连接的光模块的各个实时参数及参数阈值;

判断模块,用于通过所述主控模块将读取的实时参数与参数阈值进行比较,并判断实时参数和参数阈值是否在正常范围内。

参考图2,所述主控模块选用fpga,所述总线选择器选用pca9548。

采用sff-8472数字诊断协议,所述sff-8472数字诊断协议规定使用iic作为底层通讯协议用于读取所述光模块的各个参数阈值及实时参数,同时还规定了各参数存储地址,使所述主控模块可以根据所述sff-8472数字诊断协议直接得到所述光模块的实时参数,并将实时参数与参数阈值进行比较。

需要说明的是,参考图2和3,选用的总线选择器作为主控模块即fpga与各个光模块的数字诊断接口的桥梁同样使用iic作为底层通信协议。

本发明在使用iic通讯模块读取光模块数字诊断相关参数时采用页读取的方式一次将2字节的参数读出。

本发明采用内部校准和预读取的方式,在数字诊断之前将光模块的阈值取出然后再实时采集参数,并将实时参数直接与阈值进行比较得出结果。因此光模块遵守sff-8472协议的情况下,本方案是用于各型号光模块的数字诊断情形。

下面介绍系统运作详细过程:

(1)首先主控模块即fpga向总线选择器即pca9548发送配置数据,使能总线选择器上许多路总线的其中一路iic总线;

(2)预主控模块读取光讯模块的数字诊断接口以得到接收光功率的阈值,根据sff-8472协议规定:

光模块中a2区域地址32存放rx_power_high_alarm;

地址36存放rx_power_high_warning;

地址38存放rx_power_low_warning;

地址34存放rx_power_low_alarm。

将以上地址中存放的阈值读取并输出。

(3)sff-8472规定读取光模块的a2区域地址104得到实时接收光功率rx_power并输出。

(4)为了方便比较、直观测试,设计了led_drive模块用于驱动led灯,通过led灯显示的个数来表示数字诊断结果。实际应用中可使用lcd显示屏等器件来扩展监测多个实时数据。

(5)循环以上步骤,遍历总线选择器上所有总线,即遍历与总线选择器相连的所有光模块。

需要说明的是,参考图2和3,选用的总线选择器作为主控模块即fpga与各个光模块的数字诊断接口的桥梁同样使用iic作为底层通信协议。如图2所示的实施例中,总线选择器连接7光模块,分别是光模块0~7。

参考图3,所述主控模块包括:

所述主控模块即fpga内的数字诊断程序各模块功能:

时钟产生模块(gen_divclk):

fpga与pca9548通信采用iic通信协议,通信速率100k,因此设计时钟产生模块用来分频产生各个程序模块所须的时钟;

地址、数据发生模块(gen_adr_data):

地址、数据发生模块用于产生地址和数据,用来配置总线选择器和读取光模块数字诊断相关的参数。本发明可用于监测光模块的实时接收光功率,如果要检测其他实时参数则根据sff-8472协议改变读取地址即可。

iic通讯接口模块(iic_interface):

iic通讯接口模块作为iic通讯接口,将gen_adr_data发来的并行数据转为iic协议的串行数据。

数字诊断结果显示模块(led_drive):

通过点亮led灯的个数表示实时接收光功率数值是否在正常范围内。在系统中有若干组led灯,每组灯对应于一个光模块用于显示数字诊断结果;每组灯由4个led组成,每组led灯点亮的个数直观反映该组对应的光模块接收光功率的强弱:

rx_power>rx_power_high_alarm点亮4个led,接收光功率高于阈值上限;

rx_power_high_alarm>rx_power>rx_power_high_warning点亮3个led,接收光功率偏高;

rx_power_high_warning>rx_power_0>rx_power_low_warning点亮2个led,接收光功率正常;

rx_power_low_warning>rx_power>rx_power_low_alarm点亮1个led,接收光功率偏低;

rx_power<rx_power_low_alarm点亮0个led,接收光功率低于阈值下限。

参数名称说明:

本发明可用于监测光模块的实时接收光功率,如果要检测其他实时参数则根据sff-8472协议改变读取地址即可。

rx_power_x:编号为x的光模块的实时接收光功率;

h_alarm_x:编号为x的光模块接收光功率阈值上限;

h_warn_x:如果编号为x的光模块接收光功率在h_alarm~h_warn之间则代表接收光功率偏高;

l_alarm_x:编号为x的光模块接收光功率阈值下限;

l_warn_x:如果编号为x的光模块接收光功率在l_alarm~l_warn之间则代表接收光功率偏低。

fpga从挂在总线选择器上的某一个光模块读出以上数据,并将它们输出用于分析和比较。

端口名中的“_x”代表挂在总线选择器上的编号为x的光模块,为了方便说明系统中挂了4个光模块。

以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所作出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1