CN117278890B - 光模块访问方法、装置、系统、电子设备及可读存储介质 - Google Patents
光模块访问方法、装置、系统、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117278890B CN117278890B CN202311517868.4A CN202311517868A CN117278890B CN 117278890 B CN117278890 B CN 117278890B CN 202311517868 A CN202311517868 A CN 202311517868A CN 117278890 B CN117278890 B CN 117278890B
- Authority
- CN
- China
- Prior art keywords
- optical module
- module
- command
- bit
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 361
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000012545 processing Methods 0.000 claims abstract description 76
- 230000006854 communication Effects 0.000 claims description 68
- 238000004891 communication Methods 0.000 claims description 67
- 230000006870 function Effects 0.000 claims description 63
- 230000004044 response Effects 0.000 claims description 57
- 230000009191 jumping Effects 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012423 maintenance Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 11
- 238000011161 development Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q11/0067—Provisions for optical access or distribution networks, e.g. Gigabit Ethernet Passive Optical Network (GE-PON), ATM-based Passive Optical Network (A-PON), PON-Ring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/27—Arrangements for networking
- H04B10/278—Bus-type networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q2011/0079—Operation or maintenance aspects
- H04Q2011/0081—Fault tolerance; Redundancy; Recovery; Reconfigurability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q2011/009—Topology aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Signal Processing (AREA)
- Optical Communication System (AREA)
Abstract
本发明公开了一种光模块访问方法、装置、系统、电子设备及可读存储介质,应用于计算机技术领域。其中,系统包括中央处理器和包括多个可编程逻辑控制器的接口功能扩展结构,中央处理器通过目标总线与各可编程逻辑控制器的端口连接。中央处理器将光模块访问请求通过目标总线下发至接口功能扩展结构;各可编程逻辑控制器通过多条集成电路互联总线分别与多个光模块相连,其根据光模块访问请求携带的光模块地址访问目标光模块,并通过中断复用方式向中央处理器进行信息反馈。本发明可解决相关技术通过中央处理器访问光模块效率较低的问题,实现低成本且高效地访问光模块。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种光模块访问方法、装置、系统、电子设备及可读存储介质。
背景技术
随着数据中心业务的快速发展,数据中心的交换机需求量、交换机交换容量、面板端口数据和端口速率也逐渐增加,这就需要频繁访问光模块。
相关技术使用CPU(Central Processing Unit,中央处理器)的I2C(Inter-Integrated Circuit,集成电路互联)接口,通过外挂的多级I2C扩展芯片级联实现对光模块的访问。但是,CPU本身的I2C接口只用于简单通信,不处理复杂的I2C通信,且I2C接口较少,导致光模块的访问效率较低。
鉴于此,实现高效访问光模块,是所属领域技术人员需要解决的技术问题。
发明内容
本发明提供了一种光模块访问方法、装置、系统、电子设备及可读存储介质,可以实现高效访问光模块。
为解决上述技术问题,本发明提供以下技术方案:
本发明一方面提供了一种光模块访问系统,包括中央处理器和接口功能扩展结构;
所述接口功能扩展结构包括多个可编程逻辑控制器,所述中央处理器通过目标总线与各可编程逻辑控制器的端口连接;
所述中央处理器,用于将光模块访问请求通过所述目标总线下发至所述接口功能扩展结构;
所述接口功能扩展结构可编程逻辑控制器通过多条集成电路互联总线也即I2C总线分别与多个光模块相连,用于根据所述光模块访问请求携带的光模块地址访问目标光模块,并通过中断复用方式向所述中央处理器进行信息反馈。
在第一种示例性的实施方式下,所述可编程逻辑控制器包括总线从接口模块、地址分配模块、寄存器处理模块、通信控制模块和中断模块;
所述地址分配模块分别与所述总线从接口模块、所述寄存器处理模块、所述通信控制模块相连;所述中断模块分别与所述中央处理器和所述通信控制模块相连;
所述总线从接口模块,用于解析所述目标总线的读写命令,并将解析得到的读写命名转换为目标格式的读写命令;所述地址分配模块用于为所述通信控制模块和所述寄存器处理模块进行地址分配;所述寄存器处理模块,用于对光模块访问过程中的各寄存器进行读写处理;所述通信控制模块,用于控制光模块访问过程中的时序;所述中断模块,用于通过中断复用方式向所述中央处理器进行信息上报。
在第二种示例性的实施方式下,所述通信控制模块包括寄存器接口、字节控制模块、比特控制模块和时钟分频模块;
所述寄存器接口分别与所述字节控制模块、比特控制模块、时钟分频模块相连;所述字节控制模块与所述比特控制模块相连;所述时钟分频模块与所述比特控制模块相连;所述比特控制模块对外连接I2C总线;
所述寄存器接口,用于完成光模块访问过程中寄存器的读写和中断的产生;所述字节控制模块,用于控制光模块访问过程中的起始位命令和停止位命令,并拆分数据位命令和响应位命令;所述比特控制模块,用于完成各命令的发送时序和接收时序;所述时钟分频模块,用于将高频时钟分频为目标I2C时钟信号,并发送至所述比特控制模块。
在第三种示例性的实施方式下,所述字节控制模块,用于通过控制状态机处于不同的状态完成对所述起始位命令和所述停止位命令的控制,以及对所述数据位命令和所述响应位命令的拆分。
在第四种示例性的实施方式下,所述字节控制模块还用于:
当所述状态机的当前状态不为空闲态,若接收到停止位命令,则跳转进入停止比特状态;
若接收到起始位命令,则跳转进入起始位比特状态,并进行相应的字节操作,直至操作完目标比特,同时跳转进入响应比特状态;若完成响应,则跳转进入停止比特状态;若没有完成响应,则跳转进入空闲态。
在第五种示例性的实施方式下,所述字节控制模块,用于当接收到光模块信息读取命令,则进入读比特状态,同时统计读取比特总数;当检测到当前读取比特总数达到所述目标比特,则跳转进入响应比特状态。
在第六种示例性的实施方式下,所述字节控制模块,用于当接收到光模块信息写命令,则进入写比特状态,同时统计写入比特总数;当检测到当前写入比特总数达到所述目标比特,则跳转进入响应比特状态。
在第七种示例性的实施方式下,所述通信控制模块包括多个控制子模块;各控制子模块分别均与所述地址分配模块、所述中断模块相连;
其中,所述控制子模块用于根据所述中央处理器下发的一个光模块访问请求携带的光模块地址,访问对应的光模块,并通过中断复用方式向所述中央处理器进行信息反馈。
在第八种示例性的实施方式下,所述目标总线为精简引脚总线也即LPC,所述总线从接口模块,用于完成对所述精简引脚总线的IO读写功能。
在第九种示例性的实施方式下,所述接口功能扩展结构通过集成电路互联扩展芯片设备也即I2C扩展芯片设备与各光模块相连;所述I2C扩展芯片设备的两端分别通过I2C总线连接所述接口功能扩展结构和各光模块;
所述I2C扩展芯片设备中扩展通道数量基于所述接口功能扩展结构所包含的可编程逻辑控制器数量和所述通信控制模块包含的控制子模块总数确定,且每一个扩展通道唯一对应一个控制子模块。
在第十种示例性的实施方式下,所述接口功能扩展结构包括多个复杂可编程逻辑器件;
各复杂可编程逻辑器件的一端通过所述目标总线与所述中央处理器相连,另一端通过I2C总线与所述I2C扩展芯片设备相连。
在第十一种示例性的实施方式下,所述接口功能扩展结构还用于当检测到与目的光模块相连的I2C总线出现访问异常,向所述中央处理器发送总线异常信号。
在第十二种示例性的实施方式下,所述中央处理器还用于向所述目的光模块发送写命令和停止命令,以使所述目的光模块释放所述I2C总线。
在第十三种示例性的实施方式下,所述接口功能扩展结构还用于向所述目的光模块发送写命令和停止命令,以使所述目的光模块释放所述I2C总线。
在第十四种示例性的实施方式下,所述接口功能扩展结构还用于:
当处于空闲状态时,监测是否存在中断信号,并将监测到的中断信号上报至所述中央处理器;
若检测到出现中断信号,则跳转至中断状态;当处于中断状态时,判断当前中断维持时间是否超过预设中断阈值;
若判定当前中断维持时间超过所述预设中断阈值,则跳转至空闲状态;若判定当前中断维持时间没有超过所述预设中断阈值,则跳转至响应状态;
当处于响应状态时,判断当前响应时间是否超过预设响应阈值;
若判定当前响应时间超过所述预设响应阈值,则跳转至空闲状态;若判定当前响应时间没有超过所述预设响应阈值,则在响应完成之后,跳转至空闲状态。
本发明另一方面提供了一种光模块访问方法,应用于如前任一项所述光模块访问系统,包括:
接收光模块访问请求;
根据所述光模块访问请求携带的光模块地址访问目标光模块,并通过中断复用方式进行信息上报。
作为一种示例性的实施方式,所述根据所述光模块访问请求携带的光模块地址访问目标光模块,包括:
基于所述光模块地址确定I2C扩展芯片设备中对应的目标扩展通道,并打开所述目标扩展通道;
根据I2C通信协议确定的光模块信息获取协议格式,发送光模块信息读取命令,并在光模块信息读取完成,关闭所述目标扩展通道。
作为另一种示例性的实施方式,所述打开所述目标扩展通道,包括:
发送起始位;
发送I2C扩展芯片设备地址写命令,并发送写数据命令,以打开所述目标扩展通道。
作为再一种示例性的实施方式,所述发送光模块信息读取命令,包括:
发送起始位;
发送光模块地址读命令和光模块寄存器读命令;
发送起始位;
发送光模块寄存器读命令和光模块数据读命令。
作为再一种示例性的实施方式,所述在光模块信息读取完成,关闭所述目标扩展通道,包括:
当光模块信息读取完成,发送停止位命令;
发送起始位;
发送I2C扩展芯片设备地址写命令,并发送写数据0命令,以关所述目标扩展通道。
作为再一种示例性的实施方式,所述根据所述光模块访问请求携带的光模块地址访问目标光模块,包括:
基于所述光模块地址确定I2C扩展芯片设备中对应的目标扩展通道,并打开所述目标扩展通道;
根据I2C通信协议确定的光模块信息获取协议格式,发送光模块信息写入命令,并在光模块信息写入完成,关闭所述目标扩展通道。
作为再一种示例性的实施方式,所述发送光模块信息写入命令,包括:
发送起始位;
发送光模块地址读命令和光模块寄存器写命令;
发送光模块数据写命令。
本发明再一方面提供了一种光模块访问装置,应用于如前任一项所述光模块访问系统,包括:
请求接收模块,用于接收光模块访问请求;
光模块访问模块,用于根据所述光模块访问请求携带的光模块地址访问目标光模块,并通过中断复用方式进行信息上报。
本发明还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述光模块访问方法的步骤。
本发明最后还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述光模块访问方法的步骤。
本发明提供的技术方案的优点在于,在原有硬件基础上,通过目标总线将光模块管理接口连接至接口功能扩展结构的端口,利用接口功能扩展结构实现对I2C扩展,可以根据端口数量灵活进行软硬件扩展,实现高效的光模块访问;整体硬件改动较小,硬件设计拓扑简单,逻辑复用性好,可以有效降低逻辑硬件开发成本;采用中断复用方式进行数据上报,软件资源占用由原来的90%可下降为4%以下,只需要对上层驱动需要微调整,减小开发复杂度和设计难度,降低开发风险,有利于提升系统的可靠性,有效节约成本,从而实现低成本且高效地访问光模块。
此外,本发明还针对光模块访问方法提供了相应的实现装置、系统、电子设备及可读存储介质,进一步使得所述方法更具有实用性,所述装置、系统、电子设备及可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
为了更清楚的说明本发明或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的光模块访问系统的一种具体实施方式结构框架示意图;
图2为本发明提供的光模块访问系统的另一种具体实施方式结构框架示意图;
图3为本发明提供的通信控制模块的一种具体实施方式结构框架示意图;
图4为本发明提供的字节控制模块的状态机流程示意图;
图5为本发明提供的中断模块的中断复用流程示意图;
图6为本发明提供的一个示例性应用场景的光模块访问系统结构示意图;
图7为本发明提供的一种光模块访问方法的流程示意图;
图8为本发明提供的光模块访问装置的一种具体实施方式结构图;
图9为本发明提供的电子设备的一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及二者的任何变形,意图在于覆盖不排他的包含。术语“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
目前,数据中心获取端口状态信息的方式为使用I2C端口较多的基板管理控制器进行光模块管理或者使用CPU的I2C端口外挂多级I2C扩展芯片实现光模块访问。但是对于没有BMC需求的客户端,只能将光模块管理放在CPU侧,而CPU的I2C接口有限,只用于简单通信,不处理复杂I2C通信,相关技术多使用多级I2C扩展芯片级联或者使用专用芯片实现光模块管理,不仅效率较低,而且成本较高。本发明在原有硬件基础上,通过目标总线将光模块管理接口连接至接口功能扩展结构的端口,利用接口功能扩展结构实现对I2C扩展,可以根据端口数量灵活进行软硬件扩展,实现低成本且高效的光模块访问。下面详细的说明本发明的各种非限制性实施方式。为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于所属领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
首先请参见图1,图1为本发明提供的一种光模块访问系统在一种示意性实施例下的结构框架示意图,本发明可包括以下内容:
光模块访问系统可包括中央处理器1和接口功能扩展结构2,接口功能扩展结构2包括多个可编程逻辑控制器20,中央处理器1通过目标总线3与各可编程逻辑控制器的端口连接。其中,目标总线3可为任何一种能够连接中央处理器1和各可编程逻辑控制器的总线,如eSPI(Enhanced Serial Peripheral Interface,增强型串行外设接口)总线、LPC ( LowPin Count Bus,精简引脚总线),本发明对此不作任何限定。为了实现低成本实现光模块访问,本实施例的目标总线可为精简引脚总线LPC。接口功能扩展结构2所包含的可编程逻辑控制器20的总数可根据实际应用场景中的光模块总数量和系统软硬件性能确定,可编程逻辑控制器20可为任何一种能够进行编程的硬件。为了实现低成本实现光模块访问,本实施例的可编程逻辑控制器20可为CPLD ( Complex Programmable Logic Device,复杂可编程逻辑器件),例如可采用基于CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)技术和现场可编程闪存技术的可编程逻辑器件,如XC9536XL-10PCG44C芯片(芯片型号),所属领域技术人员根据实际情况进行灵活选择。各复杂可编程逻辑器件的一端通过目标总线3与中央处理器1相连,另一端通过I2C总线与I2C扩展芯片设备相连,I2C扩展芯片设备可以将I2C总线分成多个子总线,并且每个子总线都可以支持多个I2C设备,也即接口功能扩展结构2通过I2C扩展芯片设备可以与多个光模块进行相连,从而实现对光模块的访问。
在本实施例中,中央处理器1用于将光模块访问请求通过目标总线下发至接口功能扩展结构2,光模块访问请求包括光模块信息查询或获取请求,还可包括光模块信息写入请求,中央处理器1收到上层软件或客户端的光模块访问请求,将该光模块访问请求下发至接口功能扩展结构2进行处理。接口功能扩展结构2的每一个可编程逻辑控制器20通过多条I2C(Inter-Integrated Circuit,集成电路互联)总线分别通过光口与多个光模块相连,光口为传输光信号的接口,其包括但并不限制于SFP( Small Form-factor Pluggable,小型热插拔光模块)、QSFP(Quad Small Form-factor Pluggable,四通道小型热插拔光模块),用于根据光模块访问请求携带的光模块地址,基于I2C通信协议访问目标光模块,并通过中断复用方式向中央处理器1进行信息反馈。其中信息反馈可包括向中央处理器上报故障信息以及光模块访问请求的处理进度信息。
在本发明提供的技术方案中,在原有硬件基础上,通过目标总线将光模块管理接口连接至接口功能扩展结构的端口,利用接口功能扩展结构实现对I2C扩展,可以根据端口数量灵活进行软硬件扩展,实现高效的光模块访问;整体硬件改动较小,硬件设计拓扑简单,逻辑复用性好,可以有效降低逻辑硬件开发成本;采用中断复用方式进行数据上报,软件资源占用由原来的90%可下降为4%以下,只需要对上层驱动需要微调整,减小开发复杂度和设计难度,降低开发风险,有利于提升系统的可靠性,有效节约成本,从而实现低成本且高效地访问光模块。
上述实施例对接口功能扩展结构2的每个可编程逻辑控制器20的内部结构并不做任何限定,基于此,本发明还提供了一种示意性的实现方式,请参阅图2,可包括下述内容:
在本实施例中,可编程逻辑控制器20包括总线从接口模块201、地址分配模块202、寄存器处理模块203、通信控制模块204和中断模块205。总线从接口模块201、地址分配模块202、寄存器处理模块203、通信控制模块204和中断模块205均为可编程逻辑控制器20内部实现特定功能的程序模块,也即总线从接口模块201、地址分配模块202、寄存器处理模块203、通信控制模块204和中断模块205为能够完成特定功能的一系列计算机程序指令段。以数据交互或是说数据流向层面来说,地址分配模块202的一端与总线从接口模块201相连,其另一端分别与寄存器处理模块203、通信控制模块204相连;中断模块205还分别与中央处理器和通信控制模块204相连。
其中,总线从接口模块201用于对目标总线3进行读写,其用于解析目标总线的读写命令,并将解析得到的读写命名转换为目标格式的读写命令,根据当前读写需求与对应寄存器进行数据交互,也即总线从接口模块201与目标总线3相匹配,目标总线3为LPC,总线从接口模块201为LPC从接口模块,用于完成LPC总线的IO读写功能。地址分配模块202用于为通信控制模块204和寄存器处理模块203进行地址分配,也即其为光模块访问过程中涉及到的寄存器和通信控制模块204分配地址。寄存器处理模块203用于对光模块访问过程中的各寄存器进行读写处理,如对中断寄存器、复位寄存器、测试寄存器等的读写。通信控制模块204,用于基于I2C通信协议控制光模块访问过程中的时序,如完成I2C通信协议规定的起始位、数据位和停止位时序控制。中断模块205用于通过中断复用方式向中央处理器进行信息上报,其完成通信控制模块204,如果通信控制模块204有多个支路基于I2C通信协议控制光模块访问过程中的时序,则可完成每一条支路的中断信号的上报以及中断超时处理。
由上可知,本实施例通过总线从接口模块、地址分配模块、寄存器处理模块、通信控制模块和中断模块这些实现特定功能的程序模块,完成从接收光模块访问请求到访问光模块的整个过程,简单易于实施,有利于降低成本,实现低成本访问光模块。
上述实施例基于I2C通信协议控制光模块访问过程中的时序并不做任何限定,基于上述实施例,本发明还提供了另外一个实施例,请参阅图3,可包括下述内容:
通信控制模块204可包括寄存器接口、字节控制模块、比特控制模块和时钟分频模块。寄存器接口、字节控制模块、比特控制模块和时钟分频模块均为可编程逻辑控制器20内部实现特定功能的程序模块,也即寄存器接口、字节控制模块、比特控制模块和时钟分频模块为能够完成特定功能的一系列计算机程序指令段。以数据交互或是说数据流向层面来说,寄存器接口的一端连接地址分配模块,另一端分别与字节控制模块、比特控制模块、时钟分频模块相连;字节控制模块与比特控制模块相连;时钟分频模块与比特控制模块相连,向比特控制模块输送时钟信号;比特控制模块对外连接I2C总线,也即与SCL(Serial Clockline,时钟信号线)和SDA(Serial Data,数据信号线)相连。
其中,寄存器接口用于完成光模块访问过程中涉及到的寄存器的读写和中断的产生。字节控制模块用于控制光模块访问过程中的起始位命令和停止位命令,并拆分数据位命令和响应位命令。比特控制模块用于完成各命令的发送时序和接收时序,如完成起始位、数据比特和停止位具体发送和接收时序。时钟分频模块用于将高频时钟分频为目标I2C时钟信号,目标I2C时钟信号为当前I2C通信协议所需求的时钟信号的频率,如完成高频时钟到100KHz、400KHz等I2C发送时钟产生,并发送至比特控制模块。
作为一示意性的实施方式,上述字节控制模块可用于通过控制状态机处于不同的状态来完成对起始位命令和停止位命令的控制,以及对数据位命令和响应位命令的拆分。
示例性的,状态机可包括空闲态、起始位比特状态、停止比特状态和响应比特状态。当状态机的当前状态不为空闲态,也即状态机由空闲态跳转其他状态时,若接收到停止位命令,则跳转进入停止比特状态;若接收到起始位命令,则跳转进入起始位比特状态,并进行相应的字节操作,直至操作完目标比特,同时跳转进入响应比特状态;若完成响应,则跳转进入停止比特状态,通过停止比特状态进入空闲态;若没有完成响应,则直接跳转进入空闲态。
进一步的,比特操作可包括比特读操作和比特写操作,相应的,状态机还可包括进行读子节的读比特状态和进行写字节的写比特状态。字节控制模块还用于当接收到光模块信息读取命令,则进入读比特状态,同时统计读取比特总数;当检测到当前读取比特总数达到目标比特,则跳转进入响应比特状态。当接收到光模块信息写命令,则进入写比特状态,同时统计写入比特总数;当检测到当前写入比特总数达到目标比特,则跳转进入响应比特状态。其中,目标比特根据命令比特数来确定,如图4所示,字节控制模块完成数据位和响应位的9个比特命令拆分,则目标比特为8,bit_cnt表示比特位计数,也即读字节会执行8次读比特,然后跳转到响应比特;写字节会执行8次写比特,然后跳转到响应比特。
基于通信控制模块的结构,中央处理器下的光模块信息读取指令下发至通信控制模块的流程为:通过寄存器接口向字节控制模块下发指令,首先发送起始位,其次发送I2C扩展芯片设备地址写命令,发送写数据命令,8bit(比特)数据对应通道bit置1,从而打开I2C扩展芯片设备的对应连接到所需访问的光模块的通道;然后根据光模块信息获取的协议格式要求,发送起始位、光模块地址读命令、光模块寄存器读命令、起始位、光模块寄存器读命令、数据读命令、读取完成后发送停止位命令;最后发送起始位、I2C扩展芯片设备地址写命令,发送写数据0命令,关闭该通道。中央处理器下的光模块信息写入指令下发至通信控制模块的流程为:通过寄存器接口向字节控制模块下发指令,首先发送起始位,其次发送I2C扩展芯片设备地址写命令,发送写数据命令,8bit数据对应通道bit置1,从而打开I2C扩展芯片设备的对应连接到所需访问的光模块的通道;然后根据光模块信息获取的协议格式要求,发送起始位、光模块地址读命令、光模块寄存器写命令、写数据命令、停止位命令;最后发送起始位、I2C扩展芯片设备地址写命令,发送写数据0命令,关闭该通道。
由上可知,本实施例通过通信控制模块控制I2C通讯过程中时序可实现对光模块的访问。
为了进一步提升光模块访问系统的实用性,实现大规模I2C端口扩展,支持更多光模块的访问,进而实现对海量光模块的管理。基于上述实施例,通信控制模块204可包括多个控制子模块;各控制子模块分别均与地址分配模块202、中断模块205相连。各控制子模块用于根据中央处理器下发的一个光模块访问请求携带的光模块地址,基于I2C通信协议访问对应的光模块,并通过中断复用方式向中央处理器进行信息反馈。
在本实施例中,接口功能扩展结构可包括多个可编程逻辑器件,每个可编程逻辑器件包括一个通信控制模块,而一个通信控制模块204内部又可以同时有多条支路实现对光模块访问请求的处理,这样便可以实现同时对大量光模块的访问和管理。
可以理解的是,接口功能扩展结构2与光口需要通过将I2C总线分为多个子总线的设备,通过每个子总线与相应的光口连接,从而将有限的I2C资源上扩展出足够多的接口。本实施例可使用I2C扩展芯片设备将接口功能扩展结构2和光口连接,I2C扩展芯片设备的两端分别通过I2C总线连接接口功能扩展结构和各光口,进而连接到光模块上。I2C扩展芯片设备中扩展通道数量由接口功能扩展结构2所包含的可编程逻辑控制器20数量和通信控制模块204包含的控制子模块总数确定,且每一个扩展通道唯一对应一个控制子模块。举例来说,I2C扩展芯片设备可为一组I2C交换switch芯片,如一组Pca954x(型号)系列芯片,Pca954x内部只有一个控制寄存器,属于无子地址设备。当进行I/O访问时,只需要向0x00地址处做写操作即可,这就可实现Pca954x下挂设备I2C总线的选路,Pca9548可实现8个开关,实现增加8条I2C扩展通道。当然,在一些应用场景中,外部可不使用I2C扩展芯片设备完成光模块访问,利用大容量CPLD器件替代I2C扩展芯片设备完成所有光模块I2C扩展,所属领域技术人员可根据实际情况灵活选择,这均不影响本实施例的实现。
不可避免地,系统访问光模块会出现各种故障,为了提升系统的可靠性和稳定性,基于上述实施例,本发明还提供了一种示例性的故障处理方式,可包括下述内容:
接口功能扩展结构2还用于当检测到与通过与目标光口相连的目的光模块的I2C总线出现访问异常,向中央处理器发送总线异常信号。当出现总线异常故障之后,中央处理器可直接向与该目标光口相连的目的光模块发送写命令和停止命令,以使目的光模块释放I2C总线。当然,接口功能扩展结构在通知中央处理器发送总线访问异常之后,也可向与该目标光口相连的目的光模块发送写命令和停止命令,以使目的光模块释放I2C总线。
在本实施例中,当检测到总线访问异常后,中央处理器和接口功能扩展结构2均可通过发送写命令和停止命令使从设备释放总线,实现I2C通行协议挂死后的恢复功能。
为了进一步提升系统性能,减少轮训带来的资源占用,基于上述实施例,接口功能扩展结构2的中断复用流程也即中断模块的数据处理流程可包括下述内容:
当处于空闲状态时,监测是否存在中断信号,并将中断信号上报至中央处理器;若检测到出现中断信号,则跳转至中断状态;当处于中断状态时,判断当前中断维持时间是否超过预设中断阈值;若判定当前中断维持时间超过预设中断阈值,则跳转至空闲状态;若判定当前中断维持时间没有超过预设中断阈值,则跳转至响应状态;当处于响应状态时,判断当前响应时间是否超过预设响应阈值;若判定当前响应时间超过预设响应阈值,则跳转至空闲状态;若判定当前响应时间没有超过预设响应阈值,则在响应完成之后,跳转至空闲状态。
如图5所示,中断复用过程包括空闲状态、中断状态和响应状态这三个状态,空闲状态完成对通信控制模块及其内部的每一个控制子模块的中断信号检测,检测到中断信号后,状态跳转至中断状态;中断状态完成当检测到中断超时,跳转至空闲状态,中断响应后,清除中断信号状态并跳转至响应状态。响应状态完成当检测到超时时,跳转至空闲状态,状态响应完成后,状态跳转至空闲状态再次使能中断检测和上报功能。
为了使所属领域技术人员更加清楚明白本发明的技术方案,本发明还提供了一示例性的实施例,本实施例的光模块访问系统的结构如图6所示,例如可应用于交换机领域或通信领域下的光模块的访问,本实施例的可编程逻辑控制器为CPLD,目标总线为LPC总线,从而使用现有硬件上LPC并行接口总线实现I2C端口扩展,进而实现光模块管理。本实施例只需在原有硬件基础上,将LPC总线接到端口管理CPLD,由CPLD逻辑完成I2C扩展,外部使用I2C扩展芯片完成光模块访问。整个系统可基于Lattice Machxo3LF 6900C(产品型号)芯片实现,设计语言采用Verilog语言。本实施例可包括下述内容:
光模块访问系统包括中央处理器和接口功能扩展结构。接口功能扩展结构包括2个CPLD,中央处理器通过LPC总线与第一CPLD和第二CPLD的端口连接;第一CPLD和第二CPLD提供I2C总线与一组Pca9548芯片相连,第一CPLD的一组Pca9548芯片包括Pca9548-1、Pca9548-2、Pca9548-3、Pca9548-4;第二CPLD的一组Pca9548芯片包括Pca9548-5、Pca9548-6、Pca9548-7、Pca9548-8;每一个Pca9548对应与8个光模块接口SFP或四个光模块接口QSFP相连,如Pca9548-1通过I2C总线与SFP相连,Pca9548-2通过I2C总线与SFP相连,Pca9548-3通过I2C总线与SFP相连,Pca9548-4通过I2C总线与QSFP相连,Pca9548-5通过I2C总线与SFP相连,Pca9548-6通过I2C总线与SFP相连,Pca9548-7通过I2C总线与SFP相连,Pca9548-8通过I2C总线与QSFP相连。
在本实施例中,中央处理器将光模块访问请求通过LPC总线下发至相应的CPLD,CPLD的LPC从接口接收到该光模块访问请求,CPLD可包括地址分配模块、通信控制模块、寄存器处理模块和中断模块,通信控制模块包括4个控制子模块,第一CPLD包括控制子模块1、控制子模块2、控制子模块3、控制子模块4;第二CPLD包括控制子模块5、控制子模块6、控制子模块7、控制子模块8。地址分配模块基于LPC从接口获取到该光模块访问请求,根据通信控制模块所包含的控制子模块和光模块访问过程中涉及到的寄存器,为各控制子模块和寄存器分配地址,通信控制模块基于I2C通信协议对光模块访问过程中的时序进行控制,在整个光模块访问过程中,利用寄存器处理模块完成中断寄存器、复位寄存器、测试寄存器等读写,中断模块监测每个控制子模块的中断信号,通过中断复用方式向中央处理器进行中断上报以及中断超时处理。
由上可知,本实施例CPLD在原有硬件基础上,将光模块管理接口接到端口管理CPLD,由端口管理CPLD,基于现有LPC管理总线实现I2C接口功能扩展,进而为上层软件提供统一接口,由上层驱动通过LPC完成对光模块管理。设计灵活,硬件改动小,逻辑复用性好,开发成本低,还方便软件统一处理,降低软件处理复杂度,从而降低开发难度和风险,降低运营成本,实现低成本且高效的光模块访问。
基于上述实施例,本发明还提供了可应用于如前任一个实施例所记载的光模块访问方法,请参见图7,图7为本发明提供的一种光模块访问方法的流程示意图,本发明可包括以下内容:
S701:接收光模块访问请求。
S702:根据光模块访问请求携带的光模块地址访问目标光模块,并通过中断复用方式进行信息上报。
作为本实施例的一种示例性的实施方式,对于光模块访问请求为光模块信息读取请求,则上述实施例的S701“根据光模块访问请求携带的光模块地址访问目标光模块”的实现方式可包括下述内容:
基于光模块地址确定I2C扩展芯片设备中对应的目标扩展通道,并打开目标扩展通道;根据I2C通信协议确定的光模块信息获取协议格式,发送光模块信息读取命令,并在光模块信息读取完成,关闭目标扩展通道。
其中,目标扩展通道为光模块访问请求所要读取数据的光模块的通路,作为上述实施例的一种可选的实施方式,目标扩展通道的打开方式可为:首先发送起始位,其次发送I2C扩展芯片设备地址写命令,并发送写数据命令,以打开目标扩展通道。
当目标扩展通道打开之后,可以读取所需的光模块信息,作为上述实施例的一种可选的实施方式,发送光模块信息读取命令的过程可包括:首先发送起始位,其次发送光模块地址读命令和光模块寄存器读命令;发送起始位;发送光模块寄存器读命令和光模块数据读命令,在对光模块的信息读取过程中,实时检测读取操作是否完成,当光模块信息读取完成,发送停止位命令。当光模块信息读取完成,为了不影响后续光模块被访问,还需关闭目标扩展通道,作为上述实施例的一种可选的实施方式,目标扩展通道的关闭方式可为:首先发送起始位;其次发送I2C扩展芯片设备地址写命令,并发送写数据0命令,从而关闭目标扩展通道。
作为本实施例的另一种示例性的实施方式,对于光模块访问请求为光模块信息写入请求,则上述实施例的S701“根据光模块访问请求携带的光模块地址访问目标光模块”的实现方式可包括下述内容:
基于光模块地址确定I2C扩展芯片设备中对应的目标扩展通道,并打开目标扩展通道;根据I2C通信协议确定的光模块信息获取协议格式,发送光模块信息写入命令,并在光模块信息写入完成,关闭目标扩展通道。
其中,目标扩展通道为光模块访问请求所要进行写数据的光模块的通路,作为上述实施例的一种可选的实施方式,目标扩展通道的打开方式可为:首先发送起始位,其次发送I2C扩展芯片设备地址写命令,并发送写数据命令,以打开目标扩展通道。
当目标扩展通道打开之后,可以将所需光模块信息写入至该光模块中,作为上述实施例的一种可选的实施方式,发送光模块信息写入命令的过程可包括:首先发送起始位,其次发送光模块地址读命令和光模块寄存器写命令;发送光模块数据写命令,在对光模块的信息写入过程中,实时检测数据写操作是否完成,当光模块信息已经写完成,发送停止位命令。当光模块数据均已写入,为了不影响后续光模块被访问,还需关闭目标扩展通道,作为上述实施例的一种可选的实施方式,目标扩展通道的关闭方式可为:首先发送起始位;其次发送I2C扩展芯片设备地址写命令,并发送写数据0命令,从而关闭目标扩展通道。
本实施例所述光模块访问方法的实现过程可根据上述系统实施例记载的内容进行具体实现,其具体实现过程可以参照上述系统实施例的相关描述,此处不再赘述。
由上可知,本实施例实现低成本且高效地访问光模块。需要说明的是,本发明中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图7只是一种示意方式,并不代表只能是这样的执行顺序。
本发明还针对光模块访问方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明提供的光模块访问装置进行介绍,该装置用以实现本发明提供的光模块访问方法,在本实施例中,光模块访问装置可以包括或被分割成一个或多个程序模块,该一个或多个程序模块被存储在存储介质中,并由一个或多个处理器所执行,已完成实施例一公开的光模块访问方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述光模块访问装置在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能,下文描述的光模块访问装置与上文描述的光模块访问方法可相互对应参照。
基于功能模块的角度,参见图8,图8为本发明提供的光模块访问装置在一种具体实施方式下的结构图,应用于如前任一个实施例所记载的光模块访问系统,该装置可包括:
请求接收模块801,用于接收光模块访问请求;
光模块访问模块802,用于根据光模块访问请求携带的光模块地址访问目标光模块,并通过中断复用方式进行信息上报。
示例性的,在本实施例的一些实施方式中,上述光模块访问模块802还可用于:
基于光模块地址确定I2C扩展芯片设备中对应的目标扩展通道,并打开目标扩展通道;根据I2C通信协议确定的光模块信息获取协议格式,发送光模块信息读取命令,并在光模块信息读取完成,关闭目标扩展通道。
作为上述实施例的一种示意性的实施方式,上述光模块访问模块802可进一步用于:发送起始位;发送I2C扩展芯片设备地址写命令,并发送写数据命令,以打开目标扩展通道。
作为上述实施例的另一种示意性的实施方式,上述光模块访问模块802还可进一步用于:发送起始位;发送光模块地址读命令和光模块寄存器读命令;发送起始位;发送光模块寄存器读命令和光模块数据读命令。
作为上述实施例的再一种示意性的实施方式,上述光模块访问模块802还可进一步用于:当光模块信息读取完成,发送停止位命令;发送起始位;发送I2C扩展芯片设备地址写命令,并发送写数据0命令,以关目标扩展通道。
示例性的,在本实施例的另外一些实施方式中,上述光模块访问模块802可进一步用于:
基于光模块地址确定I2C扩展芯片设备中对应的目标扩展通道,并打开目标扩展通道;根据I2C通信协议确定的光模块信息获取协议格式,发送光模块信息写入命令,并在光模块信息写入完成,关闭目标扩展通道。
作为上述实施例的一种示意性的实施方式,上述光模块访问模块802还可进一步用于:发送起始位;发送光模块地址读命令和光模块寄存器写命令;发送光模块数据写命令。
本发明所述光模块访问装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本实施例可以实现低成本且高效地访问光模块。
上文中提到的光模块访问装置是从功能模块的角度描述,进一步的,本发明还提供一种电子设备,是从硬件角度描述。图9为本发明实施例提供的电子设备在一种实施方式下的结构示意图。如图9所示,该电子设备包括存储器90,用于存储计算机程序;处理器91,用于执行计算机程序时实现如上述任一实施例提到的光模块访问方法的步骤。
其中,处理器91可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器91还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器91可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器91也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器91可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器91还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器90可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器90还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器90在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器90在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器90还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器90不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行光模块访问方法过程中的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器90至少用于存储以下计算机程序901,其中,该计算机程序被处理器91加载并执行之后,能够实现前述任一实施例公开的光模块访问方法的相关步骤。另外,存储器90所存储的资源还可以包括操作系统902和数据903等,存储方式可以是短暂存储或者永久存储。其中,操作系统902可以包括Windows、Unix、Linux等。数据903可以包括但不限于光模块访问结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏92、输入输出接口93、通信接口94或者称为网络接口、电源95以及通信总线96。其中,显示屏92、输入输出接口93比如键盘(Keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口94可选的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线96可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图9中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器97。
本发明所述电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本实施例可以实现低成本且高效地访问光模块。
可以理解的是,如果上述实施例中的光模块访问方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明还提供了一种可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时如上任意一实施例所述光模块访问方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种光模块访问方法、装置、系统、电子设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (23)
1.一种光模块访问系统,其特征在于,包括中央处理器和接口功能扩展结构;
所述接口功能扩展结构包括多个可编程逻辑控制器,所述中央处理器通过目标总线与各可编程逻辑控制器的端口连接;
所述中央处理器,用于将光模块访问请求通过所述目标总线下发至所述接口功能扩展结构;
所述接口功能扩展结构的可编程逻辑控制器通过多条集成电路互联总线分别与多个光模块相连,用于根据所述光模块访问请求携带的光模块地址访问目标光模块,并通过中断复用方式向所述中央处理器进行信息反馈;
其中,所述可编程逻辑控制器包括总线从接口模块、地址分配模块、寄存器处理模块、通信控制模块和中断模块;
所述地址分配模块分别与所述总线从接口模块、所述寄存器处理模块、所述通信控制模块相连;所述中断模块分别与所述中央处理器和所述通信控制模块相连;
所述总线从接口模块,用于解析所述目标总线的读写命令,并将解析得到的读写命名转换为目标格式的读写命令;所述地址分配模块用于为所述通信控制模块和所述寄存器处理模块进行地址分配;所述寄存器处理模块,用于对光模块访问过程中的各寄存器进行读写处理;所述通信控制模块,用于控制光模块访问过程中的时序;所述中断模块,用于通过中断复用方式向所述中央处理器进行信息上报;
其中,所述通信控制模块包括寄存器接口、字节控制模块、比特控制模块和时钟分频模块;
所述寄存器接口分别与所述字节控制模块、所述比特控制模块、所述时钟分频模块相连;所述字节控制模块与所述比特控制模块相连;所述时钟分频模块与所述比特控制模块相连;所述比特控制模块对外连接集成电路互联总线;
所述寄存器接口,用于完成光模块访问过程中寄存器的读写和中断的产生;所述字节控制模块,用于控制光模块访问过程中的起始位命令和停止位命令,并拆分数据位命令和响应位命令;所述比特控制模块,用于完成各命令的发送时序和接收时序;所述时钟分频模块,用于将高频时钟分频为目标集成电路互联时钟信号,并发送至所述比特控制模块。
2.根据权利要求1所述的光模块访问系统,其特征在于,所述字节控制模块,用于通过控制状态机处于不同的状态完成对所述起始位命令和所述停止位命令的控制,以及对所述数据位命令和所述响应位命令的拆分。
3.根据权利要求2所述的光模块访问系统,其特征在于,所述字节控制模块还用于:
当所述状态机的当前状态不为空闲态,若接收到停止位命令,则跳转进入停止比特状态;
若接收到起始位命令,则跳转进入起始位比特状态,并进行相应的字节操作,直至操作完目标比特,同时跳转进入响应比特状态;若完成响应,则跳转进入停止比特状态;若没有完成响应,则跳转进入空闲态。
4.根据权利要求3所述的光模块访问系统,其特征在于,所述字节控制模块,用于当接收到光模块信息读取命令,则进入读比特状态,同时统计读取比特总数;当检测到当前读取比特总数达到所述目标比特,则跳转进入响应比特状态。
5.根据权利要求3所述的光模块访问系统,其特征在于,所述字节控制模块,用于当接收到光模块信息写命令,则进入写比特状态,同时统计写入比特总数;当检测到当前写入比特总数达到所述目标比特,则跳转进入响应比特状态。
6.根据权利要求1所述的光模块访问系统,其特征在于,所述通信控制模块包括多个控制子模块;各控制子模块分别均与所述地址分配模块、所述中断模块相连;
其中,所述控制子模块用于根据所述中央处理器下发的一个光模块访问请求携带的光模块地址,访问对应的光模块,并通过中断复用方式向所述中央处理器进行信息反馈。
7.根据权利要求1所述的光模块访问系统,其特征在于,所述目标总线为精简引脚总线;所述总线从接口模块,用于完成所述精简引脚总线的IO读写功能。
8.根据权利要求1所述的光模块访问系统,其特征在于,所述接口功能扩展结构通过集成电路互联扩展芯片设备与各光模块相连;所述集成电路互联扩展芯片设备的两端分别通过集成电路互联总线连接所述接口功能扩展结构和各光模块;
所述集成电路互联扩展芯片设备中扩展通道数量基于所述接口功能扩展结构所包含的可编程逻辑控制器数量和通信控制模块包含的控制子模块总数确定,且每一个扩展通道唯一对应一个控制子模块。
9.根据权利要求8所述的光模块访问系统,其特征在于,所述接口功能扩展结构包括多个复杂可编程逻辑器件;
各复杂可编程逻辑器件的一端通过所述目标总线与所述中央处理器相连,另一端通过集成电路互联总线与所述集成电路互联扩展芯片设备相连。
10.根据权利要求1所述的光模块访问系统,其特征在于,所述接口功能扩展结构还用于当检测到与目的光模块相连的集成电路互联总线出现访问异常,向所述中央处理器发送总线异常信号。
11.根据权利要求10所述的光模块访问系统,其特征在于,所述中央处理器还用于向所述目的光模块发送写命令和停止命令,以使所述目的光模块释放所述集成电路互联总线。
12.根据权利要求10所述的光模块访问系统,其特征在于,所述接口功能扩展结构还用于向所述目的光模块发送写命令和停止命令,以使所述目的光模块释放所述集成电路互联总线。
13.根据权利要求1至12任意一项所述的光模块访问系统,其特征在于,所述接口功能扩展结构还用于:
当处于空闲状态时,监测是否存在中断信号,并将监测到的中断信号上报至所述中央处理器;
若检测到出现中断信号,则跳转至中断状态;当处于中断状态时,判断当前中断维持时间是否超过预设中断阈值;
若判定当前中断维持时间超过所述预设中断阈值,则跳转至空闲状态;若判定当前中断维持时间没有超过所述预设中断阈值,则跳转至响应状态;
当处于响应状态时,判断当前响应时间是否超过预设响应阈值;
若判定当前响应时间超过所述预设响应阈值,则跳转至空闲状态;若判定当前响应时间没有超过所述预设响应阈值,则在响应完成之后,跳转至空闲状态。
14.一种光模块访问方法,其特征在于,应用于如权利要求1至13任一项所述光模块访问系统,包括:
接收光模块访问请求;
根据所述光模块访问请求携带的光模块地址访问目标光模块,并通过中断复用方式进行信息上报。
15.根据权利要求14所述的光模块访问方法,其特征在于,所述根据所述光模块访问请求携带的光模块地址访问目标光模块,包括:
基于所述光模块地址确定集成电路互联扩展芯片设备中对应的目标扩展通道,并打开所述目标扩展通道;
根据集成电路互联通信协议确定的光模块信息获取协议格式,发送光模块信息读取命令,并在光模块信息读取完成,关闭所述目标扩展通道。
16.根据权利要求15所述的光模块访问方法,其特征在于,所述打开所述目标扩展通道,包括:
发送起始位;
发送集成电路互联扩展芯片设备地址写命令,并发送写数据命令,以打开所述目标扩展通道。
17.根据权利要求15所述的光模块访问方法,其特征在于,所述发送光模块信息读取命令,包括:
发送起始位;
发送光模块地址读命令和光模块寄存器读命令;
发送起始位;
发送光模块寄存器读命令和光模块数据读命令。
18.根据权利要求15所述的光模块访问方法,其特征在于,所述在光模块信息读取完成,关闭所述目标扩展通道,包括:
当光模块信息读取完成,发送停止位命令;
发送起始位;
发送集成电路互联扩展芯片设备地址写命令,并发送写数据0命令,以关所述目标扩展通道。
19.根据权利要求14所述的光模块访问方法,其特征在于,所述根据所述光模块访问请求携带的光模块地址访问目标光模块,包括:
基于所述光模块地址确定集成电路互联扩展芯片设备中对应的目标扩展通道,并打开所述目标扩展通道;
根据集成电路互联通信协议确定的光模块信息获取协议格式,发送光模块信息写入命令,并在光模块信息写入完成,关闭所述目标扩展通道。
20.根据权利要求19所述的光模块访问方法,其特征在于,所述发送光模块信息写入命令,包括:
发送起始位;
发送光模块地址读命令和光模块寄存器写命令;
发送光模块数据写命令。
21.一种光模块访问装置,其特征在于,应用于如权利要求1至13任一项所述光模块访问系统,包括:
请求接收模块,用于接收光模块访问请求;
光模块访问模块,用于根据所述光模块访问请求携带的光模块地址访问目标光模块,并通过中断复用方式进行信息上报。
22.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求14至20任一项所述光模块访问方法的步骤。
23.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求14至20任一项所述光模块访问方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311517868.4A CN117278890B (zh) | 2023-11-15 | 2023-11-15 | 光模块访问方法、装置、系统、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311517868.4A CN117278890B (zh) | 2023-11-15 | 2023-11-15 | 光模块访问方法、装置、系统、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117278890A CN117278890A (zh) | 2023-12-22 |
CN117278890B true CN117278890B (zh) | 2024-02-13 |
Family
ID=89212667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311517868.4A Active CN117278890B (zh) | 2023-11-15 | 2023-11-15 | 光模块访问方法、装置、系统、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117278890B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591449B (zh) * | 2024-01-17 | 2024-04-23 | 苏州元脑智能科技有限公司 | 一种基板的可编程逻辑器件系统及其应用设备 |
CN118260237B (zh) * | 2024-05-29 | 2024-08-16 | 山东云海国创云计算装备产业创新中心有限公司 | 一种接口控制器、通信方法、系统、存储介质及程序产品 |
CN118427132B (zh) * | 2024-06-28 | 2024-09-27 | 苏州元脑智能科技有限公司 | 光模块管理方法、系统、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731370A (zh) * | 2004-08-06 | 2006-02-08 | 华为技术有限公司 | 光模块寻址装置及其方法 |
CN102752050A (zh) * | 2012-07-19 | 2012-10-24 | 青岛海信宽带多媒体技术有限公司 | 主机与多个光模块的通信方法及装置 |
CN105302484A (zh) * | 2015-10-19 | 2016-02-03 | 上海斐讯数据通信技术有限公司 | 批量读取以太网卡光模块中数字诊断信息的装置及方法 |
CN105373511A (zh) * | 2015-10-30 | 2016-03-02 | 上海斐讯数据通信技术有限公司 | 一种与多个光模块可同时通信的装置和方法 |
CN109446154A (zh) * | 2018-10-30 | 2019-03-08 | 广州开信通讯系统有限公司 | 光模块监控系统和方法 |
CN112713938A (zh) * | 2020-12-15 | 2021-04-27 | 锐捷网络股份有限公司 | 光模块控制方法、装置和设备 |
-
2023
- 2023-11-15 CN CN202311517868.4A patent/CN117278890B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731370A (zh) * | 2004-08-06 | 2006-02-08 | 华为技术有限公司 | 光模块寻址装置及其方法 |
CN102752050A (zh) * | 2012-07-19 | 2012-10-24 | 青岛海信宽带多媒体技术有限公司 | 主机与多个光模块的通信方法及装置 |
CN105302484A (zh) * | 2015-10-19 | 2016-02-03 | 上海斐讯数据通信技术有限公司 | 批量读取以太网卡光模块中数字诊断信息的装置及方法 |
CN105373511A (zh) * | 2015-10-30 | 2016-03-02 | 上海斐讯数据通信技术有限公司 | 一种与多个光模块可同时通信的装置和方法 |
CN109446154A (zh) * | 2018-10-30 | 2019-03-08 | 广州开信通讯系统有限公司 | 光模块监控系统和方法 |
CN112713938A (zh) * | 2020-12-15 | 2021-04-27 | 锐捷网络股份有限公司 | 光模块控制方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117278890A (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117278890B (zh) | 光模块访问方法、装置、系统、电子设备及可读存储介质 | |
US10896113B2 (en) | Method for implementing backplane lighting for multiple NVMe hard disks | |
CN103559053B (zh) | 一种板卡系统及通信接口卡fpga在线升级方法 | |
CN103150279B (zh) | 一种主机与基板管理控制器共享设备的方法 | |
US9898435B2 (en) | Aggregate baseboard management controller (BMC) controller | |
EP4350515A1 (en) | Load balancing method for multi-thread forwarding, and related apparatus | |
CN103064805A (zh) | Spi控制器及通信方法 | |
CN113872796B (zh) | 服务器及其节点设备信息获取方法、装置、设备、介质 | |
CN114866424B (zh) | 服务器管理方法、装置、系统、电子设备及可读存储介质 | |
CN105790830A (zh) | 光模块在位检测方法和装置 | |
CN111294413B (zh) | 一种互联网协议ip地址的确定方法、装置和可读介质 | |
CN116723198A (zh) | 一种多节点服务器主机控制方法、装置、设备、存储介质 | |
CN103729165A (zh) | 应用于高速运动控制系统的pci从设备核心控制模块 | |
CN104133671B (zh) | 一种数字处理设备的硬件接口屏蔽装置及方法 | |
CN115981971A (zh) | 一种服务器硬盘的点灯方法及服务器 | |
CN111930647B (zh) | Usb接口工作模式选择装置、方法及安卓设备 | |
CN116795752B (zh) | 接口通信方法、装置以及服务器 | |
CN102880574B (zh) | 利用gpio模拟低速并行接口的方法 | |
CN115237849B (zh) | 可动态重构和异构的计算模块及计算装置 | |
CN109739610A (zh) | 截屏控制方法、装置、电子设备及计算机可读存储介质 | |
CA2830868C (en) | A digital netlist partitioning system for faster circuit reverse-engineering | |
US20220342835A1 (en) | Method and apparatus for disaggregation of computing resources | |
CN113064833A (zh) | 一种单片机仿真方法、系统、装置、设备及存储介质 | |
CN113609052A (zh) | 基于fpga和微处理器的芯片模拟系统及实现方法 | |
CN103345377A (zh) | Fifo存储器控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |