一种快速下载光模块固件的方法与流程

文档序号:17757415发布日期:2019-05-24 21:24阅读:404来源:国知局
一种快速下载光模块固件的方法与流程

本发明涉及光通信网络技术领域,具体为一种快速下载光模块固件的方法。



背景技术:

光收发模块作为光纤接入网的核心器件,推动了干线光传输系统向低成本方向发展,光模块是一个由光电子器件、功能电路和光接口等结构件组成的光电转换模块,光模块主要用于光信号的收发,光信号通过光纤接入光模块,可以将光信号转为电信号,同时也可以将电信号的信息通过光模块转成光信号,然后通过光纤发送出去,光模块又叫光纤模块。

大部分光模块在设计中都会有微处理器,有的光模块选择c8051系列作为微处理器的方案,有的光模块选择arm系列作为微处理器的方案,因此在光模块的规模化生产过程中一定会对微处理器进行固件下载。

在大批量光模块生产中,固件下载的速度显得非常重要,如果每一只模块的固件下载能得到一点点提升,那么对于规模化生产来说将显得十分重要,将会大大提高生产产能,提高生产效率,同时可以节约人力资源,降低人力成本,因此提高下载光模块固件的速度就非常重要,而现有的技术,仅仅是对单个光模块进行固件下载,下载完成后取下该模块,然后再插上另一个模块进行固件下载,这样就会使得操作工人频繁插拔光模块,导致过多的时间被浪费,而本发明中,就是介绍了一种快速下载光模块固件的方法,以提高下载光模块固件的速度。



技术实现要素:

针对现有技术的不足,本发明提供了一种快速下载光模块固件的方法,解决了上述背景技术中提出的问题。

为实现以上目的,本发明通过以下技术方案予以实现:一种快速下载光模块固件的方法,包括光模块固件下载板,所述光模块固件下载板包括:

光模块:用于光模块固件的下载;

模拟开关:用于连通指定的光模块下载总线;

第一微处理器:负责所有光模块的固件下载;

第二微处理器:负责所有光模块的在位信号检测和模块固件下载状态显示;

光模块固件下载状态显示电路:用于显示光模块固件下载状态;

接口电路:用于连接光模块固件下载板和上位机;

电源电路:用于为光模块固件下载板的所有部件提供工作电源。

可选的,所述光模块设置有多组,且光模块均通过下载总线与模拟开关电性连接,所述光模块均通过在位信号线与第二微处理器电性连接,所述模拟开关与第一微处理器之间通过固件下载总线电性连接,所述第二微处理器与光模块固件下载状态显示电路之间通过i/o口连接,所述第一微处理器通过i2c总线与第二微处理器电性连接。

可选的,所述一个光模块固件下载板上可以根据实际需要来决定需要一次性插多少只光模块。

可选的,所述模拟开关的主要作用是为了选择需要下载固件的光模块,同时将下载总线和需要下载固件的光模块固件下载总线接通。

可选的,所述第一微处理器控制模拟开关的工作模式,以选择需要下载固件的光模块,且第一微处理器需要和被选择的光模块之间进行固件下载,其中,第一微处理器的软件工作过程具体如下:

第一步,定义在位信号寄存器个数i的最大值为n,并且i=1;

第二步,检查在位信号寄存器i的值是否是1:

如果在位信号寄存器i的值是1,

(1)第一微处理器则控制模拟开关,选择对应的光模块下载总线;

(2)开始固件下载;

(3)固件下载完成后对第二微处理器的e2prom对应光模块固件下载状态寄存器i写1;

(4)令i=i+1;

(5)判断寄存器是否有超出预设的最大值,比较i是否小于最大值n;

(6)若i小于最大值n,则返回到第二步;

(7)若i不小于最大值n,则返回到第一步;

如果在位信号寄存器i的值不是1,

(1)令i=i+1;

(2)判断寄存器是否有超出预设的最大值,比较i是否小于最大值n;

(3)若i小于最大值n,则返回到第二步;

(4)若i不小于最大值n,则返回到第一步。

可选的,所述第二微处理器监测光模块的在位情况,同时根据第一微处理器下载固件的情况,将监测光模块的在位情况实时反馈到光模块固件下载状态显示电路中,其中,第二微处理器的软件工作过程具体如下:

第一步,定义在位信号寄存器个数j的最大值为m,并且j=1;

第二步,检查在位信号管脚j的值是否是1:

如果在位信号管脚j的值是1,检查e2prom里对应的固件状态寄存器是否是1,如果e2prom里面对应的固件状态寄存器是1,则打开相应的i/0口,使得固件下载状态灯为亮,同时令j=j+1,如果e2prom里面对应的固件状态寄存器不是1,则令j=j+1;

如果在位信号管脚j的值不是1,关闭相应的i/o口,固件下载状态灯灭,令j=j+1;

第三步,判断寄存器j是否小于最大值m:如果j小于m则返回第二步继续进行;如果j不小于m则返回第一步继续进行。

可选的,所述接口电路负责总线协议转换,将上位机上的固件数据传递给第一微处理器,而光模块的固件下载方式是采用下载总线,例如i2c总线或者c2总线,而上位机的通讯方式采用usb通信,接口电路将下载总线通信转换成usb通信。

可选的,所述电源电路主要提供整个测试装置所需电源,包括接口电路电源、第一微处理器电源、第二微处理器电源、模拟开关电源以及所有需要测试的光模块电源。

可选的,所述光模块单个的工作电流为0.3a,接口电路上选择siliconlab的c8051f320,第一微处理器和第二微处理器采用siliconlab的c8051f320,模拟开关选择adi的adg706bruz,光模块固件下载状态显示电路选择普通的贴片式led灯。

可选的,所述光模块固件下载完成后,mcu会将对应的i/o口置高,led灯会被点亮,以此来表示该光模块的固件下载完成;当光模块固件未下载完成时,该i/o口保持为低,led灯保持熄灭状态,以此来表示该光模块的固件下载未完成。

本发明提供了一种快速下载光模块固件的方法,具备以下有益效果:该快速下载光模块固件的方法,能极大提高光模块固件下载效率,提高生产线产能,提高生产效率,降低人力成本,使用光模块固件下载板的测试装置,可以实现对多个光模块的固件下载,并且通过上位机开发,可以实时准确地反馈光模块的固件下载状态,以便提示操作工人进行正确的操作。

附图说明

图1为本发明光模块固件下载板硬件结构示意图;

图2为本发明光模块固件下载状态显示电路示意图;

图3为本发明光模块固件下载板上第一微处理器软件工作流程示意图;

图4为本发明光模块固件下载板上第二微处理器软件工作流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

请参阅图1至图4,本发明提供一种技术方案:一种快速下载光模块固件的方法,包括光模块固件下载板,光模块固件下载板包括:

光模块:用于光模块固件的下载;

模拟开关:用于连通指定的光模块下载总线;

第一微处理器:负责所有光模块的固件下载;

第二微处理器:负责所有光模块的在位信号检测和模块固件下载状态显示;

光模块固件下载状态显示电路:用于显示光模块固件下载状态;

接口电路:用于连接光模块固件下载板和上位机;

电源电路:用于为光模块固件下载板的所有部件提供工作电源;

光模块设置有多组,且光模块均通过下载总线与模拟开关电性连接,光模块均通过在位信号线与第二微处理器电性连接,模拟开关与第一微处理器之间通过固件下载总线电性连接,第二微处理器与光模块固件下载状态显示电路之间通过i/o口连接,第一微处理器通过i2c总线与第二微处理器电性连接;

一个光模块固件下载板上可以根据实际需要来决定需要一次性插多少只光模块;

模拟开关的主要作用是为了选择需要下载固件的光模块,同时将下载总线和需要下载固件的光模块固件下载总线接通;

第一微处理器控制模拟开关的工作模式,以选择需要下载固件的光模块,且第一微处理器需要和被选择的光模块之间进行固件下载,其中,第一微处理器的软件工作过程具体如下:

第一步,定义在位信号寄存器个数i的最大值为n,并且i=1;

第二步,检查在位信号寄存器i的值是否是1:

如果在位信号寄存器i的值是1,

(1)第一微处理器则控制模拟开关,选择对应的光模块下载总线;

(2)开始固件下载;

(3)固件下载完成后对第二微处理器的e2prom对应光模块固件下载状态寄存器i写1;

(4)令i=i+1;

(5)判断寄存器是否有超出预设的最大值,比较i是否小于最大值n;

(6)若i小于最大值n,则返回到第二步;

(7)若i不小于最大值n,则返回到第一步;

如果在位信号寄存器i的值不是1,

(1)令i=i+1;

(2)判断寄存器是否有超出预设的最大值,比较i是否小于最大值n;

(3)若i小于最大值n,则返回到第二步;

(4)若i不小于最大值n,则返回到第一步;

第二微处理器监测光模块的在位情况,同时根据第一微处理器下载固件的情况,将监测光模块的在位情况实时反馈到光模块固件下载状态显示电路中,其中,第二微处理器的软件工作过程具体如下:

第一步,定义在位信号寄存器个数j的最大值为m,并且j=1;

第二步,检查在位信号管脚j的值是否是1:

如果在位信号管脚j的值是1,检查e2prom里对应的固件状态寄存器是否是1,如果e2prom里面对应的固件状态寄存器是1,则打开相应的i/0口,使得固件下载状态灯为亮,同时令j=j+1,如果e2prom里面对应的固件状态寄存器不是1,则令j=j+1;

如果在位信号管脚j的值不是1,关闭相应的i/o口,固件下载状态灯灭,令j=j+1;

第三步,判断寄存器j是否小于最大值m:如果j小于m则返回第二步继续进行;如果j不小于m则返回第一步继续进行;

接口电路负责总线协议转换,将上位机上的固件数据传递给第一微处理器,而光模块的固件下载方式是采用下载总线,例如i2c总线或者c2总线,而上位机的通讯方式采用usb通信,接口电路将下载总线通信转换成usb通信;

电源电路主要提供整个测试装置所需电源,包括接口电路电源、第一微处理器电源、第二微处理器电源、模拟开关电源以及所有需要测试的光模块电源;

光模块单个的工作电流为0.3a,接口电路上选择siliconlab的c8051f320,第一微处理器和第二微处理器采用siliconlab的c8051f320,模拟开关选择adi的adg706bruz,光模块固件下载状态显示电路选择普通的贴片式led灯;

光模块固件下载完成后,mcu会将对应的i/o口置高,led灯会被点亮,以此来表示该光模块的固件下载完成;当光模块固件未下载完成时,该i/o口保持为低,led灯保持熄灭状态,以此来表示该光模块的固件下载未完成。

综上,该快速下载光模块固件的方法,在具体实施中,以sfp光模块为例,以下将以4只sfp光模块进行固件下载的形式来对整个方法进行举例表述:

首先,操作员先插上4个sfp的光模块,点击上位机软件开始按钮,让软件开始运行,此时光模块固件下载板上因为固件均还未下载,故此时光模块固件下载板上的固件下载状态灯均处于熄灭状态;

然后,随着第一个光模块下载结束,第一微处理器会发送写指令给到第二微处理器的e2prom对应位置,第二微处理器检测到对应的模块在位信号管脚为低,同时检测到对应的e2prom寄存器值为1,则第二微处理器会将相应的i/o口置高,固件下载状态灯亮;

接下来,软件开始第二个光模块的程序下载,此时操作员会观察到评估板上1号模块对应的固件下载灯已被点亮,此时,操作员可以将1号模块取下来,换上一只新的模块,换上新模块后,第二微处理器虽然检测到有在位信号,但是此时对应的固件状态寄存器不是1,则会马上将控制光模块固件下载状态的i/o口置低,此时固件下载状态灯熄灭;

接着,操作员可以观察是否有其他的光模块固件下载完成,该光模块固件下载板不需要等4个光模块下载完成后才统一更换,可以实时更换固件下载完成的光模块,以达到提高生产效率的目的,具体一次性可以插多少只光模块,可以根据不同的产品,不同的下载速率而定;

在员工插拔光模块的时候,如果不小心拔掉了还未下载固件的光模块,则评估板和软件未给出对应的提示,容易造成漏下程序的问题,导致还未下载固件的光模块流入到下一个工位,针对这样的问题,软件可以做这样的处理:软件检测到光模块在位信号后,在未检测到固件下载完成寄存器的值为1之前,如果有出现在位信号变化的情况,则将对应的固件下载状态灯处于闪烁状态,以提醒操作员刚刚拔掉的光模块还未下载程序,以防止漏工序的情况,即对软件做进一步升级,以达到防呆的效果;

在电源电路的设计上,留有的选择余地很大,因为本测试装置不会涉及到微弱信号的处理,因此对于电源的信噪比冗余量很大,操作人员甚至可以直接选择220v交流转3.3v直流的电源模块,额定电流10a,一只光模块的工作电流为0.3a,4只光模块的供电电流为1.2a,再考虑到微处理器、接口电路和模拟开关的功耗,20a的额定电流足够。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

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