
技术摘要:
本发明实施例公开了一种信号处理方法、装置、设备和存储介质,所述方法应用于光模块,光模块包括金手指和寄存器;寄存器包括一个告警寄存器和对应的屏蔽寄存器;金手指包括状态脚;所述方法包括:根据读取寄存器的操作获得第一标志变量的状态;第一标志变量的状态表征 全部
背景技术:
目前多种光模块金手指上都包含状态脚(INTL脚),如(Quad Small Form-factor Pluggable,QSFP)光模块,(Small Form Factor Pluggable,XFP)光模块等,INTL脚是光模 块所有异常状态集合的反应,若INTL脚为低电平表示光模块有异常未被屏蔽的告警标志置 位,如温度告警,发射光功率告警,电压告警等,导致INTL脚变低的原因能够通过查询光模 块对应的告警状态寄存器获得,清除(具有INTL脚的光模块告警状态为锁存状态,告警状态 读后清除)或者通过屏蔽寄存器屏蔽,若对应的告警状态被读后清除且模块无其他告警状 态或者对应的告警状态被屏蔽寄存器屏蔽,则INTL脚被释放为高电平,另外INTL脚具有对 应的软件状态位,在INTL硬件脚置高或者置低时,对应的软件状态位也要做相应的更新。 光模块相关协议定义从光模块异常状态产生到INTL脚置低电平,最长时间为 100ms,从光模块相关异常告警寄存器被读取,告警标志清除到INTL脚释放为高电平最长时 间为500us,从产生告警的对应的告警标志屏蔽寄存器置1到INTL脚被阻止置低电平,最长 时间为100ms,从产生告警的对应告警标志屏蔽寄存器置0到INTL脚能被正常置低电平,最 长时间为100ms。 光模块的软件执行除中断处理函数外的其他操作,通常为轮询方式串行执行,例 如光模块的数字诊断监控更新,如电压监控,温度监控等,只能是先监控电压,然后监控温 度或者先监控温度,然后监控电压,两者是不能同时监控的,光模块协议定义的时间100ms, 100ms用轮询的方式可以实现,但是INTL脚释放时间500us,用轮询的方式实现比较困难,若 要用轮询的方式实现,则只能通过拆分功能,例如完整的发射光功率上报,一般需要经过 ADC采样,校准,相关告警标志更新三步,正常处理方式是三步操作中不插入任何其他操作, 顺序执行,但是若要用轮询处理方式保证INTL释放时间500us,可能需要将其拆分为三步处 理,插入INTL更新操作,缩短单次轮询时间,保证500us之内将INTL脚状态更新,或者采用定 时器中断的方式,每500us进入定时器中断更新INTL脚状态,保证能满足协议相关时间定 义,此两种方法均会增加软件复杂度,降低软件可靠性。针对该问题,目前尚无有效解决方 案。
技术实现要素:
有鉴于此,本发明实施例期望提供一种信号处理方法、装置、设备和存储介质。 本发明实施例的技术实施例是这样实现的: 本发明实施例提供一种信号处理方法,所述方法应用于光模块中,所述光模块至 少包括金手指和寄存器;所述寄存器包括至少一个告警寄存器和对应的屏蔽寄存器;所述 金手指至少包括状态脚;所述方法包括: 5 CN 111552207 A 说 明 书 2/15 页 根据读取寄存器的操作获得第一标志变量的状态;所述第一标志变量的状态表征 是否记录读取所述告警寄存器的操作; 获得第二标志变量的状态;所述第二标志变量的状态表征所述状态脚待置为高电 平的操作是否被设置; 判断所述第一标志变量的状态和所述第二标志变量的状态是否满足预设条件; 在所述第一标志变量的状态和所述第二标志变量的状态满足预设条件的情况下, 获得第一告警寄存器的状态和对应的第一屏蔽寄存器的状态;所述第一告警寄存器为所述 寄存器中的任意一个告警寄存器;所述第一屏蔽寄存器为所述寄存器中的任意一个屏蔽寄 存器; 根据所述第一告警寄存器的状态和所述第一屏蔽寄存器的状态确定所述状态脚 的状态。 在上述方案中,所述根据读取寄存器的操作获得第一标志变量的状态,包括: 根据读取寄存器的操作触发所述光模块进入读取通讯中断的操作,判断所述寄存 器是否为所述第一告警寄存器; 在所述寄存器不为所述第一告警寄存器的情况下,保持所述寄存器的数值以及所 述第一标志变量的数值; 在所述寄存器为所述第一告警寄存器的情况下,控制所述寄存器的数值由一置零 以及所述第一标志变量的数值由零置一; 所述第一标志变量的状态包括所述第一标志变量的数值置零或置一。 在上述方案中,所述获得第二标志变量的状态,包括: 在所述光模块执行除读取通讯中断外的其他操作的情况下,判断所述状态脚待置 为高电平的操作是否被设置; 在所述状态脚待置为高电平的操作被设置的情况下,控制所述第二标志变量的数 值置一; 在所述状态脚待置为高电平的操作未被设置的情况下,控制所述第二标志变量的 数值置零; 所述第二标志变量的状态包括所述第二标志变量的数值置零或置一。 在上述方案中,所述判断所述第一标志变量的状态和所述第二标志变量的状态是 否满足预设条件,包括: 判断所述第一标志变量的数值和所述第二标志变量的数值是否置一。 在上述方案中,所述在所述第一标志变量的状态和所述第二标志变量的状态满足 预设条件的情况下,获得第一告警寄存器的状态和对应的第一屏蔽寄存器的状态,包括: 在所述第一标志变量的状态的数值和所述第二标志变量的状态的数值置一的情 况下,获得所述第一告警寄存器的数值和对应的所述第一屏蔽寄存器的数值。 在上述方案中,所述根据所述第一告警寄存器的状态和所述第一屏蔽寄存器的状 态确定所述状态脚的状态,包括: 判断所述第一告警寄存器的数值是否为零; 在所述第一告警寄存器的数值为零的情况下,控制所述状态脚置高电平以及所述 所述第一标志变量的数值置零; 6 CN 111552207 A 说 明 书 3/15 页 在所述第一告警寄存器的数值不为零的情况下,判断所述第一屏蔽寄存器的数值 是否为一; 在所述第一屏蔽寄存器的数值为一的情况下,控制所述状态脚置高电平以及所述 第一标志变量的数值置零。 在上述方案中,所述方法还包括: 更新所述第二标志变量的数值为置零;判断所述第一告警寄存器的数值是否为 零; 在所述第一告警寄存器的数值不为零的情况下,判断所述第一屏蔽寄存器的数值 是否为一; 在所述第一屏蔽寄存器的数值不为一的情况下,控制所述状态脚置为低电平以及 所述状态脚对应的状态位置零。 在上述方案中,所述方法还包括: 更新所述第二标志变量的数值为置一; 判断所述第一告警寄存器的数值是否为零; 在所述第一告警寄存器的数值为零的情况下,控制所述状态脚置为高电平以及所 述状态脚对应的状态位置一; 在所述第一告警寄存器的数值不为零的情况下,判断所述第一屏蔽寄存器的数值 是否为一; 在所述第一屏蔽寄存器的数值为一的情况下,控制所述状态脚置为高电平以及所 述状态脚对应的状态位置一。 本发明实施例提供一种信号处理装置,所述装置与光模块连接,所述光模块至少 包括金手指和寄存器;所述寄存器包括至少一个告警寄存器和对应的屏蔽寄存器;所述金 手指至少包括状态脚;所述装置包括:获得单元、判断单元和确定单元,其中: 所述获得单元,用于根据读取寄存器的操作获得第一标志变量的状态;所述第一 标志变量的状态表征是否记录读取所述告警寄存器的操作;以及获得第二标志变量的状 态;所述第二标志变量的状态表征所述状态脚待置为高电平的操作是否被设置; 所述判断单元,用于判断所述获得单元获得的所述第一标志变量的状态和所述第 二标志变量的状态是否满足预设条件; 所述获得单元,还用于在所述第一标志变量的状态和所述第二标志变量的状态满 足预设条件的情况下,获得第一告警寄存器的状态和对应的第一屏蔽寄存器的状态;所述 第一告警寄存器为所述寄存器中的任意一个告警寄存器;所述第一屏蔽寄存器为所述寄存 器中的任意一个屏蔽寄存器; 所述确定单元,用于基于所述获得单元获得的所述第一告警寄存器的状态和所述 第一屏蔽寄存器的状态确定所述状态脚的状态。 在上述方案中,所述获得单元,还用于根据读取寄存器的操作触发所述光模块进 入读取通讯中断的操作,判断所述寄存器是否为所述第一告警寄存器;在所述寄存器不为 所述第一告警寄存器的情况下,保持所述寄存器的数值以及所述第一标志变量的数值;在 所述寄存器为所述第一告警寄存器的情况下,控制所述寄存器的数值由一置零以及所述第 一标志变量的数值由零置一;所述第一标志变量的状态包括所述第一标志变量的数值置零 7 CN 111552207 A 说 明 书 4/15 页 或置一。 在上述方案中,所述获得单元,还用于在所述光模块执行除读取通讯中断外的其 他操作的情况下,判断所述状态脚待置为高电平的操作是否被设置;在所述状态脚待置为 高电平的操作被设置的情况下,控制所述第二标志变量的数值置一;在所述状态脚待置为 高电平的操作未被设置的情况下,控制所述第二标志变量的数值置零;所述第二标志变量 的状态包括所述第二标志变量的数值置零或置一。 在上述方案中,所述判断单元,还用于判断所述第一标志变量的数值和所述第二 标志变量的数值是否置一。 在上述方案中,所述获得单元,还用于在所述第一标志变量的状态的数值和所述 第二标志变量的状态的数值置一的情况下,获得所述第一告警寄存器的数值和对应的所述 第一屏蔽寄存器的数值。 在上述方案中,所述确定单元,还用于判断所述第一告警寄存器的数值是否为零; 在所述第一告警寄存器的数值为零的情况下,控制所述状态脚置高电平以及所述所述第一 标志变量的数值置零;在所述第一告警寄存器的数值不为零的情况下,判断所述第一屏蔽 寄存器的数值是否为一;在所述第一屏蔽寄存器的数值为一的情况下,控制所述状态脚置 高电平以及所述第一标志变量的数值置零。 在上述方案中,所述装置还包括:更新单元,用于更新所述第二标志变量的数值为 置零;判断所述第一告警寄存器的数值是否为零;在所述第一告警寄存器的数值不为零的 情况下,判断所述第一屏蔽寄存器的数值是否为一;在所述第一屏蔽寄存器的数值不为一 的情况下,控制所述状态脚置为低电平以及所述状态脚对应的状态位置零。 在上述方案中,所述更新单元,还用于更新所述第二标志变量的数值为置一,判断 所述第一告警寄存器的数值是否为零;在所述第一告警寄存器的数值为零的情况下,控制 所述状态脚置为高电平以及所述状态脚对应的状态位置一;在所述第一告警寄存器的数值 不为零的情况下,判断所述第一屏蔽寄存器的数值是否为一;在所述第一屏蔽寄存器的数 值为一的情况下,控制所述状态脚置为高电平以及所述状态脚对应的状态位置一。 本发明实施例提供一种信号处理设备,包括存储器和处理器,所述存储器存储有 可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述所述方法的任一步 骤。 本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机 程序被处理器执行时实现上述所述方法的任一步骤。 本发明实施例提供的一种信号处理方法、装置、设备和存储介质,其中,包括:根据 读取寄存器的操作获得第一标志变量的状态;所述第一标志变量的状态表征是否记录读取 所述告警寄存器的操作; 获得第二标志变量的状态;所述第二标志变量的状态表征所述状态脚待置为高电 平的操作是否被设置;判断所述第一标志变量的状态和所述第二标志变量的状态是否满足 预设条件;在所述第一标志变量的状态和所述第二标志变量的状态满足预设条件的情况 下,获得第一告警寄存器的状态和对应的第一屏蔽寄存器的状态;所述第一告警寄存器为 所述寄存器中的任意一个告警寄存器;所述第一屏蔽寄存器为所述寄存器中的任意一个屏 蔽寄存器;根据所述第一告警寄存器的状态和所述第一屏蔽寄存器的状态确定所述状态脚 8 CN 111552207 A 说 明 书 5/15 页 的状态。采用本发明实施例的技术方案,通过读取寄存器的操作立即触发光模块进入读取 中断操作,在读取中断操作结束后,根据第一标志变量的状态和第二标志变量的状态获得 第一告警寄存器的状态和对应的第一屏蔽寄存器的状态,以将状态脚的状态释放为高电 平;实现了状态脚释放为高电平的时间满足协议要求,且不需要增加定时器中断或者利用 各种办法缩短轮询时间,大大提升了软件的可靠性。 附图说明 图1为本发明实施例信号处理方法实现流程示意图; 图2本发明实施例信号处理方法中I2C读取中断函数处理流程示意图; 图3本发明实施例信号处理方法中I2C通讯结束中断函数处理流程示意图; 图4本发明实施例信号处理方法中以轮询方式执行状态脚的处理函数处理流程示 意图; 图5为本发明实施例信号处理装置的组成结构示意图; 图6为本发明实施例中信号处理设备的一种硬件实体结构示意图。