可直接对所述光模块参数进行修改,相对于设备厂家必须通过光模块厂家才可修改模块参数的现有技术而言,给设备厂家生产带来了极大的便利,简化了设备厂家修改光模块参数的流程,提高了设备厂家的生产效率;另一方面,当通过光模块厂家密码已成功修改光模块参数,则将光模块厂家密码转换为无效密码(即无法再通过光模块密码对光模块参数进行修改),从而便于分析光模块的故障原因(如光模块故障的原因是设备厂家对光模块参数进行修改后导致的,还是光模块本身的原因导致的)。
[0038]可选地,还可根据光模块内记录的操作信息中的操作数据标识或者操作次数是否被赋值判断有效密码;可选地,在光模块出厂前,所述操作信息中包含的操作数据标识或者操作次数未被赋值,则光模块厂家密码有效;该光模块出厂时,所述操作信息中包含的操作数据标识或者操作次数被赋初始值(如所述操作数据标识被设置为初始的第二预设标识,所述操作次数为O),则只有设备厂家密码有效,防止在光模块出厂后设备厂家采用光模块厂家密码对光模块参数进行修改的问题。
[0039]为了便于设备厂家对光模块参数进行修改,本发明实施例中为光模块厂家与设备厂家各提供对应的调试密码(即将光模块厂家密码与设备厂家密码分离),同时为了便于当光模块出故障时分析故障原因(光模块本身的问题还是由于设备厂家对光模块参数的修改而导致的问题),该光模块厂家密码与设备厂家密码在同一时刻只能一个密码有效(如光模块出厂前只有光模块厂家密码有效,一旦光模块出厂后则只有设备厂家密码有效)。
[0040]图3为本发明光模块参数的修改方法实施例二的流程示意图,在上述实施例一的基础上,进一步地,如图3所示,该方法包括:
[0041 ] S301、接收到包含密码数据的中断指令。
[0042]S302、根据光模块内记录的标志位判断有效密码。
[0043]S303、若确定所述设备厂家密码和所述光模块厂家密码都为有效密码,则判断所述密码数据是否等于所述设备厂家密码;若确定所述密码数据等于所述设备厂家密码(隐含光模块已出厂),则执行步骤S304 ;若确定所述密码数据不等于所述设备厂家密码,则执行步骤S305。
[0044]S304、将所述标志位的值修改为用于指示仅所述设备厂家密码为有效密码的数值,并将光模块厂家自定义区域的操作权限设置为可修改权限。
[0045]S305、判断所述密码数据是否等于所述光模块厂家密码;若确定所述密码数据等于所述光模块厂家密码(隐含光模块还未出厂,设备厂家未米用设备厂家密码对光模块参数进行修改过),则执行步骤S306 ;若确定所述密码数据不等于所述光模块厂家密码,则执行步骤S307。
[0046]S306、将光模块厂家自定义区域的操作权限设置为可修改权限(如将等级全局变量标识符设置为0x08,其中,0x08用于指示可修改隐藏的区域)。
[0047]S307、将协议指定区域的操作权限设置为只读权限(如将等级全局变量标识符设置为0x00,其中,0x00用于指示不可修改隐藏的区域)。
[0048]可见,本实施例实现了为光模块厂家与设备厂家各提供对应的调试密码(即将光模块厂家密码与设备厂家密码分离),在光模块出厂前采用光模块密码对光模块参数进行修改,在该光模块出厂后采用设备厂家密码对光模块参数进行修改,无需通过光模块厂家对光模块参数进行修改,不仅简化了设备厂家修改光模块参数的流程,提高了设备厂家的生产效率,而且便于分析光模块的故障原因。
[0049]图4为本发明光模块参数的修改方法实施例三的流程示意图,在上述实施例一的基础上,进一步地,如图4所示,该方法包括:
[0050]S401、接收到包含密码数据的中断指令。
[0051 ] S402、根据光模块内记录的标志位判断有效密码。
[0052]S403、若确定仅所述设备厂家密码为有效密码(如该标志位的数值为A,隐含该光模块已出厂),则判断所述密码数据是否等于所述设备厂家密码。
[0053]若确定所述密码数据等于所述设备厂家密码,则执行步骤S404 ;若确定所述密码数据不等于所述设备厂家密码,则执行步骤S405。
[0054]S404、将光模块厂家自定义区域的操作权限设置为可修改权限。
[0055]S405、将协议指定区域的操作权限设置为只读权限。
[0056]可选地,在上述光模块参数的修改方法实施例一和实施例三中所述将光模块厂家自定义区域的操作权限设置为可修改权限之后,还包括:
[0057]接收所述设备厂家对光模块参数进行修改的指令并执行相应修改操作后,记录操作信息,所述操作信息为所述设备厂家对光模块进行修改操作的信息。
[0058]本发明实施例中,当中断指令中包含的密码数据等于所述设备厂家密码时,将光模块厂家自定义区域的操作权限设置为可修改权限之后,进一步地,接收所述设备厂家对光模块参数进行修改的指令并执行相应修改操作;为了便于当光模块出故障时分析故障原因(光模块本身的问题还是由于设备厂家对光模块参数的修改而导致的问题),可选地,本发明实施例中在所述设备厂家对光模块参数进行修改时,记录操作信息,其中,所述操作信息为所述设备厂家对光模块进行修改操作的信息,可选地,所述操作信息包括:操作数据标识和操作次数;从而便于当以后光模块出故障时,根据所述操作信息判断故障原因:1)若所述操作信息中的操作数据标识和操作次数仍然为光模块出厂时的设置(如所述操作数据标识仍然为初始的第二预设标识,所述操作次数为0,其中,所述第二预设标识为光模块出厂时的初始操作数据标识),即设备厂家并未对光模块参数进行修改过,则可以排除由于设备厂家对光模块参数的修改而导致的问题,而认为是光模块本身的问题,从而光模块厂家需要对所述光模块进行维护;2)若所述操作信息中的操作次数不等于光模块出厂时的设置(如操作次数为大于O的数字),即设备厂家对光模块参数进行修改过,则可以排除是光模块本身的问题,而认为是由于设备厂家对光模块参数的修改而导致的问题,从而光模块厂家无需对所述光模块进行维护。
[0059]本发明实施例中,若设备厂家频繁地对光模块参数进行修改,使用于存储所述操作信息的存储器的读写次数达到上限,在确定中断指令中包含的密码数据等于所述设备厂家密码之后,若直接将光模块厂家自定义区域的操作权限设置为可修改权限,以使所述设备厂家对所述光模块参数进行修改,可能会使修改无效。因此,为了保证设备厂家对光模块参数进行修改的有效性,在上述光模块参数的修改方法任意实施例中确定所述密码数据等于所述设备厂家密码之后,所述将光模块厂家自定义区域的操作权限设置为可修改权限之前,还包括:
[0060]判断光模块内记录的操作信息中的操作数据标识是否等于第一预设标识或第二预设标识;所述第一预设标识用于指示设备厂家在进行数据通讯时光模块掉过电,所述第二预设标识为光模块出厂时的初始操作数据标识;
[0061]若所述操作数据标识等于所述第一预设标识或者所述第二预设标识,则将所述操作信息中包含的操作次数加I ;或者,
[0062]若所述操作数据标识不等于所述第一预设标识及所述第二预设标识中的任一预设标识,则将协议指定区域的操作权限设置为只读权限。
[0063]本发明实施例中,在确定中断指令中包含的密码数据等于所述设备厂家密码之后,先判断光模块内记录的操作信息中的操作数据标识是否等于所述第一预设标识或所述第二预设标识;若所述操作数据标识等于所述第一预设标识或者所述第二预设标识(即表示所述光模块已出厂,只有设备厂家密码有效),则将所述操作信息中包含的操作次数加1,并将光模块厂家自定义区域的操作权限设置为可修改权限,其中,将操作次数加I的目的是为了便于当以后光模块出故障时,根据所述操作次数可以确定设备厂家修改过该光模块参数,从而可以排除是光模块本身的问题,而认为是由于设备厂家对光模块参数的修改而导致的问题;或者,若所述操作数据标识不等于所述第一预设标识及所述第二预设标识中的任一预设标识,则将协议指定区域的操作权限设置为只读权限。
[0064]可选地,所述操作信息存储于存储器中,所述存储器可以为闪存(Flash)存储器,其中,所述Flash存储器中的预设空间用于存储所述操作信息;而无需使用外部只读存储器(Electrically Erasable Programmable Read-Only,简称 EEPR0M)等外设。
[0065]本发明实施例中,若设备厂家频繁地对光模块参数进行修改,使所述存储器的读写次数达到上限,在确定所述操作数据标识等于所述第一预设标识或者所述第二预设标识,并将所述操作信息中包含的操作次数加I之后,若直接将光模块厂家自定义区域的操作权限设置为可修改权限,以对所述光模块参数进行修改,可能会使修改无效。因此,为了保证设备厂家对光模块参数进行修改的有效性,可选地,所述将光模块自定义区域的操作权限设置为可修改权限之前,还包括:
[0066]判断用于记录所述操作信息的存储器的擦写次数是否达到极限;
[0067]若所述擦写次数小于等于预设擦写次数阈值,则执行将所述光模块自定义区域的操作权限设置为可修改权限的步骤;或者,
[0068]若所述擦写次数大于所述预设擦写次数阈值,则确定所述存储器的擦写次数已达到极限,并将所述协议指定区域的操作权限设置为只读权限。
[0069]图5为本发明光模块参数的修改方法实施例四的流程示意图,在上述任