一种光模块温度补偿方法及装置与流程

文档序号:16197822发布日期:2018-12-08 06:19阅读:420来源:国知局
一种光模块温度补偿方法及装置与流程
本发明涉及光通信
技术领域
,尤其涉及一种光模块温度补偿方法及装置。
背景技术
目前光模块通常具备数字诊断监控功能,监控的指标有温度(temp),工作电压,bias偏置电流,发射光功率txpwr和接收光功率rxpwr。根据光模块中的激光器的工作原理,发射光功率和er(传输距离)会变化,因此针对高速sfp+(smallform-factorpluggable,小型可插拔)光模块而言,需要保证全温范围内发生光功率的稳定和er的稳定,从而保证系统的稳定性。为了保证发射光功率和er的稳定性,需要对全温范围内发射光功率和er进行补偿,形成补偿表写入到光模块内部,使光模块工作在不同温度下时,发射光功率和er会根据补偿表对应到该温度下的值。由于发射光功率和er的补偿表是以温度为参考点进行补偿的。如果温度不准确,就会导致此温度下发射光功率和er偏大或者偏小,从而光模块性能异常,影响系统的正常运行。因此,保证温度的精度十分重要。技术实现要素:有鉴于此,本发明提供一种光模块温度补偿方法及装置来解决现有技术中光模块温度精度不准确的问题。具体地,本发明是通过如下技术方案实现的:本发明提供一种光模块温度补偿方法,所述方法应用于光模块中的mcu,所述方法包括:查找驱动芯片的指定管脚的当前工作状态对应的温度补偿表,从所述温度补偿表中获取当前ddmi温度对应的补偿值进行温度补偿,所述指定管脚的工作状态为第一状态或第二状态;当所述指定管脚的从第一状态切换到第二状态时,分别查找第一状态对应的所述第一温度补偿表和所述第二状态对应的所述第二温度补偿表;获取所述第一温度补偿表中的切换前的ddmi温度对应的第一补偿值以及所述第二温度补偿表中的切换后的ddmi温度对应的第二补偿值:在预设时间内,根据所述第一补偿值和所述第二补偿值的差值,按照预设时间间隔进行温度补偿。基于相同的构思,本发明还一种光模块温度补偿装置,所述装置应用于光模块中的mcu,所述装置包括:第一补偿单元,用于查找驱动芯片的指定管脚的当前工作状态对应的温度补偿表,从所述温度补偿表中获取当前ddmi温度对应的补偿值进行温度补偿,所述指定管脚的工作状态为第一状态或第二状态;补偿表查找单元,用于当所述指定管脚的从第一状态切换到第二状态时,分别查找第一状态对应的所述第一温度补偿表和所述第二状态对应的所述第二温度补偿表;补偿值获取单元,用于获取所述第一温度补偿表中的切换前的ddmi温度对应的第一补偿值以及所述第二温度补偿表中的切换后的ddmi温度对应的第二补偿值:第二补偿单元,用于在预设时间内,根据所述第一补偿值和所述第二补偿值的差值,按照预设时间间隔进行温度补偿。由此可见,本发明可以使mcu查找驱动芯片的指定管脚的当前工作状态对应的温度补偿表,从所述温度补偿表中获取当前ddmi温度对应的补偿值进行温度补偿,所述指定管脚的工作状态为第一状态或第二状态,相比于现有技术中mcu只根据一种工作状态下的温度补偿表进行温度补偿,本发明可以根据不同的工作状态查找对应的不同的温度补偿表从而使温度补偿的更加精确;当所述指定管脚的从第一状态切换到第二状态时,分别查找第一状态对应的所述第一温度补偿表和所述第二状态对应的所述第二温度补偿表;获取所述第一温度补偿表中的切换前的ddmi温度对应的第一补偿值以及所述第二温度补偿表中的切换后的ddmi温度对应的第二补偿值:在预设时间内,根据所述第一补偿值和所述第二补偿值的差值,按照预设时间间隔进行温度补偿,因此可以在状态切换的过程中保证ddmi温度平滑的切换,从而确保状态切换时的温度精度满足要求。附图说明图1是本发明的示例性实施例中光模块的结构示意图;图2是本发明一种示例性实施方式中的一种光模块温度补偿方法的处理流程图;图3本发明一种示例性实施方式中的一种光模块温度补偿装置的逻辑结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。请参考图1,本发明的示例性实施例中光模块的结构示意图,其中光模块10主要包括:driver驱动芯片101、mcu(microcontrollerunit,微控制单元)102、tosa(transmitteropticalsubassembly,光发射次模块,也称激光器)103和rosa(receiveropticalsubassembly,光接收次模块,也称探测器)104。其中driver用于驱动tosa工作,driver具有tx_dis发端关断功能,可以开启和关闭tosa工作;mcu主要负责对各个工作模块的监控、上报、通讯、控制等工作;tosa及rosa分别用于发射光信号和将光信号接收转变为电信号。目前光模块温度监控主流的方案是采用模块内部的mcu作为参考,将模块的ddmi(dititaldiagnosticsmornitoringinterface,数字监控接口)温度校准成case外壳温度。温度精度是指模块的ddmi温度和case温度的差异,通常温度精度需要控制在+/-3℃以内。mcu内部集成有温度传感器,可以感知光模块的pcba(printedcircuitboardassembly,成品线路板)温度,其温度精度是比较准确的,可以通过记录不同环境温度下的mcu温度以及光模块的case温度,得到光模块的ddmi温度补偿表并写入到光模块里。当光模块工作在一定的ddmi温度下时,可以通过查找温度补偿表得到此时的温度补偿值,从而根据温度补偿值进行温度补偿,即将ddmi温度校准为case温度。一般情况下,业内认为光模块的温度精度应该是光模块处于正常工作状态下的温度精度。但是当光模块正常工作时,若tx_dis处于低电平,则光模块会产生热量,热量主要来自于driver和tosa以及rosa,其中tosa以及rosa产生的热量一部分传到pcba上,一部分传到光模块的其他结构件上;而当tx_dis处于高电平时,光模块tosa和rosa不工作,光模块的热量主要来自于driver,而pcba没有直接和外壳接触。因此当tosa和rosa不工作时,光模块功耗降低,pcba上的热量减小,mcu采集到的热量减小,反馈到ddmi温度也会减小,但case温度受环境温度影响较大,所以case温度下降不明显,最终导致case温度和ddmi温度偏差变大。已有的光模块只有在正常工作状态下的一张温度补偿表,无论tx_dis处于低电平或是高电平,都使用相同的温度补偿表进行温度补偿,则会导致case温度和ddmi温度偏差变大,影响温度精度。为了解决现有技术存在的问题,本发明可以使mcu查找驱动芯片的指定管脚的当前工作状态对应的温度补偿表,从所述温度补偿表中获取当前ddmi温度对应的补偿值进行温度补偿,所述指定管脚的工作状态为第一状态或第二状态,相比于现有技术中mcu只根据一种工作状态下的温度补偿表进行温度补偿,本发明可以根据不同的工作状态查找对应的不同的温度补偿表从而使温度补偿的更加精确;当所述指定管脚的从第一状态切换到第二状态时,分别查找第一状态对应的所述第一温度补偿表和所述第二状态对应的所述第二温度补偿表;获取所述第一温度补偿表中的切换前的ddmi温度对应的第一补偿值以及所述第二温度补偿表中的切换后的ddmi温度对应的第二补偿值:在预设时间内,根据所述第一补偿值和所述第二补偿值的差值,按照预设时间间隔进行温度补偿,因此可以在状态切换的过程中保证ddmi温度平滑的切换,从而确保状态切换时的温度精度满足要求。请参考图2,是本发明一种示例性实施方式中的一种光模块温度补偿方法的处理流程图,所述方法应用于所述方法应用于光模块10中的mcu102,所述方法包括:步骤201、查找驱动芯片的指定管脚的当前工作状态对应的温度补偿表,从所述温度补偿表中获取当前ddmi温度对应的补偿值进行温度补偿,所述指定管脚的工作状态为第一状态或第二状态;在本实施例中,mcu可以监控驱动芯片上的指定管脚的工作状态,当该指定管脚的工作状态发生变化时,可以向mcu上报当前工作状态。具体的,该指定管脚的工作状态具体为第一状态或第二状态,在一个实施例中,该第一状态可以为光模块的工作状态,对应的,第二状态则为光模块的不工作状态;另外,该第一状态还可以为光模块的正常工作状态,对应的,第二状态则为光模块的低功耗工作状态。在可选的实施例中,第一状态具体可以为管脚低电平状态,第二状态具体可以为管脚高电平状态。在可选的实施例中,该指定管脚具体可以为驱动芯片上具有发端关断功能的tx_dis管脚,可以通过该tx_dis管脚开启和关闭tosa。作为一个实施例,mcu可以预先根据该指定管脚的第一工作状态和第二工作状态分别创建第一温度补偿表和第二温度补偿表;例如,当光模块正常工作时,若tx_dis处于低电平,则光模块会产生热量,热量主要来自于driver和tosa以及rosa,其中tosa以及rosa产生的热量一部分传到pcba上,一部分传到光模块的其他结构件上,基于此创建第一温度补偿表;而当tx_dis处于高电平时,光模块tosa和rosa不工作,光模块的热量主要来自于driver,而pcba没有直接和外壳接触,基于此创建第二温度补偿表。当然还可以创建更多工作状态下的温度补偿表,具体创建温度补偿表的方法可以参考已有的技术实现,本发明不做限定。创建第一温度补偿表和第二温度补偿表后,可以将所述第一温度补偿表和所述第二温度补偿表保存在光模块的空闲存储区域中,第一温度补偿表和第二温度补偿表可以存在同一个可知存储区域也可以分开存在不同的空闲存储区域。在一个实施例中,mcu可以根据指定管脚的不同工作状态查找不同的温度补偿表,具体来讲,若当前工作状态为第一状态时,在所述光模块的空闲存储区域中查找所述第一状态对应的所述第一温度补偿表;若所述当前工作状态为第二状态时,在所述光模块的空闲存储区域中查找所述第二状态对应的所述第二温度补偿表。获取当前工作状态对应的温度补偿表后,可以进一步从该温度补偿表中获取当前ddmi温度对应的补偿值进行温度补偿。由于现有技术中只对一种常见工作状态创建温度补偿表,而忽略了其他工作状态,从而导致在工作状态变化时,原有的温度补偿表在进行温度补偿时偏差较大,无法达到要求的温度精度。而本发明可以根据指定管脚的不同工作状态查找不同状态对应的不同的温度补偿表,本发明的温度补偿表更具有针对性,因此补偿的温度精度更加精确。此外,本发明还可以利用光模块中的空闲存储区域来存储不同的工作状态对应的温度补偿表,从而可以避免温度补偿表存储冲突,并且可以提高光模块的存储空间的利用率。步骤202、当所述指定管脚的从第一状态切换到第二状态时,分别查找第一状态对应的所述第一温度补偿表和所述第二状态对应的所述第二温度补偿表;在本实施例中,当mcu收到该指定管脚的从第一状态切换到第二状态上报的信息时,mcu可以在存储区域中查找第一状态对应的第一温度补偿表,以及第二状态对应的第二温度补偿表。步骤203、获取所述第一温度补偿表中的切换前的ddmi温度对应的第一补偿值以及所述第二温度补偿表中的切换后的ddmi温度对应的第二补偿值:在本实施例中,由于工作状态发生切换,则光模块的ddmi温度也会发生变化。因此mcu可以获取所述第一温度补偿表中的切换前的ddmi温度对应的第一补偿值,以及所述第二温度补偿表中的切换后的ddmi温度对应的第二补偿值。步骤204、在预设时间内,根据所述第一补偿值和所述第二补偿值的差值,按照预设时间间隔进行温度补偿。在本实施例中,mcu可以在预设时间内,根据上述第一补偿值和第二补偿值的差值,按照预设时间间隔进行温度补偿。具体来讲,mcu可以计算第一补偿值和第二补偿值的差值,然后按照所述预设时间内的预设时间间隔的个数,将所述差值分成若干份子差值,则在预设时间内,每个时间间隔补偿所述若干份子差值其中的一份子差值;其中,所述预设时间的时长和所述预设时间间隔的时长都可以根据温差的不同而改变,但需要保证温度精度符合应用要求。下面通过一个具体实施例对工作状态切换时的温度补偿方法进行详细说明。假设指定管脚为驱动芯片的tx_dis管脚,该管脚的工作状态包括,第一状态,即低电平,第二状态,即高电平。可以预先在该管脚低电平时,记录不同的温度环境下的ddmi温度以及对应温度补偿值,创建第一温度补偿表,如表1所示,存入光模块的空闲存储区域;在该管脚稿电平时,记录不同的温度环境下的ddmi温度以及对应温度补偿值,创建第二温度补偿表,如表2所示,存入光模块的空闲存储区域。本实施例中的表1和表2仅为示例性的温度补偿表,具体形式及内容不限。ddmi10℃20℃……50℃补偿值-2℃-3℃……1℃表1ddmi10℃20℃……50℃补偿值4℃2℃……3℃表2当mcu监测tx_dis状态为低电平时,根据第一温度补偿表(表1)进行温度补偿,例如,当前ddmi温度为10℃时,则查找表1得到对应的补偿值为-2℃;当mcu监测tx_dis状态切换为高电平时,可以根据切换前ddmi温度,例如10℃,从第一温度补偿表(表1)中获取对应的第一补偿值为-2℃;由于状态切换后,ddmi对应的补偿温度也会变化,根据第二温度补偿表(表2)中获取对应的第二补偿值为4℃,为了避免切换过程中温度变化太大,因此可以获取第一补偿值和第二补偿值的差值,即|-2-4|=|-6|=6℃,因此差值为6℃。假设要求的温度精度的范围为+/-3℃,如果在切换状态后,直接按照第二补偿值进行温度补偿,会导致温度精度超出+/-3℃,因此可以在预设时间,按照预设时间间隔,对差值进行平分处理。例如,预设时间为6分钟,预设时间间隔为1分钟,则预设时间内的预设时间间隔数量为6/1=6个,则将所述差值平分成6份,即6℃/6=1℃,得到每个时间间隔补偿的子差值为1℃。然后,在预设时间6分钟内,每分钟对度补偿1℃,即状态切换后的第1分钟,补偿值为1℃;第2分钟,补偿值为2℃;第3分钟,补偿值为3℃;第4分钟,补偿值为4℃;第5分钟,补偿值为5℃;第6分钟,补偿值为6℃;使补偿值平滑变化,从而避免温度精度超出+/-3℃的范围,同时也可以避免基于温度的电流突变而引起光模块异常。由于本发明可以在状态切换的过程中对tx_dis高低电平的温度差值进行平分处理,使tx_dis状态切换时ddmi温度不会发生较大的跳变,而是平滑的变化,保证温度精度满足要求。其中,tx_dis高低电平的温度差值不同,平分处理的时间和间隔可以随之改变,具有灵活性和适用性。基于相同的构思,本发明还提供一种光模块温度补偿装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的光模块温度补偿装置作为一个逻辑意义上的装置,是通过其所在光模块10的mcu102将存储器中对应的计算机程序指令读取后运行而成。请参考图3,是本发明一种示例性实施方式中的一种光模块温度补偿装置30的逻辑结构图,所述装置应用于光模块中的mcu,所述装置包括:第一补偿单元301,用于查找驱动芯片的指定管脚的当前工作状态对应的温度补偿表,从所述温度补偿表中获取当前ddmi温度对应的补偿值进行温度补偿,所述指定管脚的工作状态为第一状态或第二状态;补偿表查找单元302,用于当所述指定管脚的从第一状态切换到第二状态时,分别查找第一状态对应的所述第一温度补偿表和所述第二状态对应的所述第二温度补偿表;补偿值获取单元303,用于获取所述第一温度补偿表中的切换前的ddmi温度对应的第一补偿值以及所述第二温度补偿表中的切换后的ddmi温度对应的第二补偿值:第二补偿单元304,用于在预设时间内,根据所述第一补偿值和所述第二补偿值的差值,按照预设时间间隔进行温度补偿。作为一个实施例,所述装置还包括:补偿表创建单元305,用于预先根据所述管脚的第一工作状态和第二工作状态分别创建所述第一温度补偿表和所述第二温度补偿表;将所述第一温度补偿表和所述第二温度补偿表保存在光模块的空闲存储区域中。作为一个实施例,所述第一补偿单元301,具体用于若所述当前工作状态为第一状态时,在所述光模块的空闲存储区域中查找所述第一状态对应的所述第一温度补偿表;若所述当前工作状态为第二状态时,在所述光模块的空闲存储区域中查找所述第二状态对应的所述第二温度补偿表。作为一个实施例,所述第一状态为低电平,所述第二状态为高电平。作为一个实施例,所述第二补偿单元304,具体用于按照所述预设时间内的预设时间间隔的个数,将所述差值分成若干份子差值,每个时间间隔补偿所述若干份子差值其中的一份子差值;其中,所述预设时间和所述预设时间间隔根据所需的温度精度而定。综上所述,本发明可以使mcu查找驱动芯片的指定管脚的当前工作状态对应的温度补偿表,从所述温度补偿表中获取当前ddmi温度对应的补偿值进行温度补偿,所述指定管脚的工作状态为第一状态或第二状态,相比于现有技术中mcu只根据一种工作状态下的温度补偿表进行温度补偿,本发明可以根据不同的工作状态查找对应的不同的温度补偿表从而使温度补偿的更加精确;当所述指定管脚的从第一状态切换到第二状态时,分别查找第一状态对应的所述第一温度补偿表和所述第二状态对应的所述第二温度补偿表;获取所述第一温度补偿表中的切换前的ddmi温度对应的第一补偿值以及所述第二温度补偿表中的切换后的ddmi温度对应的第二补偿值:在预设时间内,根据所述第一补偿值和所述第二补偿值的差值,按照预设时间间隔进行温度补偿,因此可以在状态切换的过程中保证ddmi温度平滑的切换,从而确保状态切换时的温度精度满足要求。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1