一种与多个光模块可同时通信的装置和方法.pdf

上传人:b*** 文档编号:6206107 上传时间:2019-05-20 格式:PDF 页数:13 大小:749.41KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510724822.9

申请日:

2015.10.30

公开号:

CN105373511A

公开日:

2016.03.02

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 13/42申请日:20151030|||公开

IPC分类号:

G06F13/42

主分类号:

G06F13/42

申请人:

上海斐讯数据通信技术有限公司

发明人:

王亦鸾

地址:

201616上海市松江区思贤路3666号

优先权:

专利代理机构:

上海光华专利事务所31219

代理人:

王再朝

PDF下载: PDF下载
内容摘要

本发明提供一种与多个光模块可同时通信的装置和方法,应用于光网络,包括:CPU单元,分别与多个所述光模块通过I2C总线的串行数据线相连接;时钟选通单元,与所述CPU单元通过高速并行总线连接,并分别与多个所述光模块通过所述I2C总线的串行时钟线连接;用于根据所述光模块的数量分离时钟信号,并完成多个所述光模块的时钟信号的选通;其中,每一个所述I2C总线的串行时钟线通过上拉电阻上拉至电源电平。所述时钟选通单元内设置多个比特时钟选通寄存器位,每一个所述比特时钟选通寄存器位对应一个所述光模块。本发明既支持对光模块的批量写操作,也可支持单独对光模块的读写操作,灵活性强,大大提高了系统的效率。

权利要求书

1.一种与多个光模块可同时通信的装置,应用于光网络,其特征在于,所述与多个光模块可
同时通信的装置包括:
CPU单元,分别与多个所述光模块通过I2C总线的串行数据线相连接;
时钟选通单元,与所述CPU单元通过高速并行总线连接,并分别与多个所述光模块
通过所述I2C总线的串行时钟线连接;用于根据所述光模块的数量分离时钟信号,并完成
多个所述光模块的时钟信号的选通;
其中,每一个所述I2C总线通过上拉电阻上拉至电源电平。
2.根据权利要求1所述的与多个光模块可同时通信的装置,其特征在于:所述时钟选通单元
内设置多个比特时钟选通寄存器位,每一个所述比特时钟选通寄存器位对应一个所述光模
块。
3.根据权利要求2所述的与多个光模块可同时通信的装置,其特征在于:所述比特时钟选通
寄存器位由所述CPU单元控制:当所述比特时钟选通寄存器位为“0”时,对应的所述光
模块的时钟信号选通;当所述比特时钟选通寄存器位为“1”时,对应的所述光模块的时
钟信号断开。
4.根据权利要求3所述的与多个光模块可同时通信的装置,其特征在于:当所述CPU单元
对单个所述光模块进行写操作时,所述CPU单元通过所述高速并行总线在单个所述光模
块对应的所述比特时钟选通寄存器位写入“1”,关闭其他的所述光模块的时钟信号,使单
个所述光模块与所述CPU单元的时钟信号相连通;完成所述CPU单元对单个所述光模块
的写操作。
5.根据权利要求3所述的与多个光模块可同时通信的装置,其特征在于:当所述CPU单元
对多个所述光模块同时进行写操作时,所述CPU单元通过所述高速并行总线在多个所述
光模块对应的多个所述比特时钟选通寄存器位写入“1”,使多个所述光模块与所述CPU
单元的时钟信号相连通;完成所述CPU单元对多个所述光模块的同时写操作。
6.根据权利要求5所述的与多个光模块可同时通信的装置,其特征在于:所述光模块为8个
时,且当所述CPU单元对8个所述光模块同时进行写操作时,所述CPU单元在一个I2C
写操作周期内同时完成对8个所述光模块的写操作。
7.根据权利要求1所述的与多个光模块可同时通信的装置,其特征在于:所述上拉电阻为
2.2Kohm。
8.根据权利要求1所述的与多个光模块可同时通信的装置,其特征在于:所述时钟选通单元
采用CPLD进行逻辑设计。
9.一种与多个光模块可同时通信的方法,应用于光网络,其特征在于:所述与多个光模块可
同时通信的方法包括:
对光模块执行写操作;
选通所述光模块对应的时钟信号;
在一个I2C写操作周期内对所述光模块完成写操作。
10.根据权利要求8所述的与多个光模块可同时通信的方法,其特征在于:所述对光模块
执行写操作的步骤中:
如果对单个所述光模块执行写操作,那么选通单个所述光模块对应的时钟信号,关闭
其他所述光模块对应的时钟信号;
如果对多个所述光模块执行写操作,那么全部选通多个所述光模块对应的时钟信号,
并对多个所述光模块在一个所述I2C写操作周期内同时完成写操作。

说明书

一种与多个光模块可同时通信的装置和方法

技术领域

本发明涉及光网络技术领域,特别是涉及一种应用于光网络的与多个光模块可同时通信
的装置和方法。

背景技术

在光网络中的8端口的GE(GigabitEthernet,千兆以太网)上联卡上,有8个光模块,
每个光模块都通过I2C(Inter-IntegratedCircuit)总线接口和CPU通信。光模块是标准器件,
并且,光模块是固定的、不可设的;因此,安装在一块8端口的GE上联卡上的每一个GE
光模块的地址是相同的,即8个光模块拥有相同的I2C设备地址,CPU不能直接地同时和8
个光模块通信,且同时写多个光模块信息会导致CPU资源占用过多,系统工作效率低下。

如图1所示,光模块有两个存储区:第一块存储区和第二块存储区。其中,第一块存储
区的I2C设备地址是A0h,简称A0表格;第二块存储区的I2C设备地址是A2h,简称A2表
格。

A0表格存储的主要是光模块的一些类型信息,比如光模块的封装、发射波长、传输距离、
速率、厂家信息、模块型号以及生产日期和序列号等。A0表格还有一些空白保留的字节,这
些是留给生产厂家自定义使用以及后续协议增加新的功能使用的。

A2表格中存储的主要是一些光模块的实时数字诊断信息。还预留了用户可写的120字节
区域,寄存器地址是从127字节-246字节。在这段地址空间里,系统可以根据产品需要,将
必要的信息写入到GE光模块中。

目前,CPU和多个光模块之间的通讯一般是通过采用专用的I2C开关芯片I2C_SWITCH
来实现。以8个光模块为例,如图2所示,CPU通过一个专用的8口I2C开关芯片I2C_SWITCH
来访问8个光模块,CPU的I2C总线和8个光模块的I2C总线都连接到开关芯片上,CPU通
过I2C总线来控制开关芯片的选通寄存器,选择和8个光模块中的某1路总线通信,和其它
7路总线断开,完成这一路光模块通信后,CPU再通过I2C总线来控制开关芯片的选通寄存
器,断掉这路的I2C总线的连接,等待下一次通信的开始。

但是,I2C总线是低速总线,速率可在100KHz和400KHz中选择,即在I2C器件支持的
情况下,最高速率也只有400KHz,即一个时钟周期为2.5uS。一次I2C总线的操作时序约30
个时钟周期。现有的技术中,因为加入I2C开关芯片,在对光模块的每一次操作前,增加了
I2C开关的选通操作,操作后,增加了I2C开关的关闭操作。这样是对光模块的每一次I2C
总线操作变成了3次I2C总线操作,操作时间增加到约90个时钟周期。

在A2表区的127字节-246字节中,可以写入用户自定义的一些信息,如系统的厂家信
息,系统类型,系统版本等。这些信息对所有光模块都是一致的。按照现有的技术,每向1
个光模块写入1个信息,需要90个I2C总线时钟周期。向8个光模块写入1个相同的数据信
息时,需要约720个时钟周期。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种与多个光模块可同时通信的
装置和方法,用于解决现有技术的光网络中,CPU无法同时与多个光模块进行通讯,并且,
即使可以实现CPU与多个光模块的通讯,系统的效率也过低的问题。

为实现上述目的及其他相关目的,本发明提供一种与多个光模块可同时通信的装置,应
用于光网络,所述与多个光模块可同时通信的装置包括:CPU单元,分别与多个所述光模块
通过I2C总线的串行数据线相连接;时钟选通单元,与所述CPU单元通过高速并行总线连接,
并分别与多个所述光模块通过所述I2C总线的串行时钟线连接;用于根据所述光模块的数量
分离时钟信号,并完成多个所述光模块的时钟信号的选通;其中,每一个所述I2C总线通过
上拉电阻上拉至电源电平。

于本发明的一实施例中,所述时钟选通单元内设置多个比特时钟选通寄存器位,每一个
所述比特时钟选通寄存器位对应一个所述光模块。

于本发明的一实施例中,所述比特时钟选通寄存器位由所述CPU单元控制:当所述比特
时钟选通寄存器位为“0”时,对应的所述光模块的时钟信号选通;当所述比特时钟选通寄存
器位为“1”时,对应的所述光模块的时钟信号断开。

于本发明的一实施例中,当所述CPU单元对单个所述光模块进行写操作时,所述CPU
单元通过所述高速并行总线在单个所述光模块对应的所述比特时钟选通寄存器位写入“1”,
关闭其他的所述光模块的时钟信号,使单个所述光模块与所述CPU单元的时钟信号相连通;
完成所述CPU单元对单个所述光模块的写操作。

于本发明的一实施例中,当所述CPU单元对多个所述光模块同时进行写操作时,所述
CPU单元通过所述高速并行总线在多个所述光模块对应的多个所述比特时钟选通寄存器位写
入“1”,使多个所述光模块与所述CPU单元的时钟信号相连通;完成所述CPU单元对多个
所述光模块的同时写操作。

于本发明的一实施例中,所述光模块为8个时,且当所述CPU单元对8个所述光模块同
时进行写操作时,所述CPU单元在一个I2C写操作周期内同时完成对8个所述光模块的写操
作。

于本发明的一实施例中,所述上拉电阻为2.2Kohm。

于本发明的一实施例中,所述时钟选通单元采用CPLD进行逻辑设计。

本发明还公开了一种与多个光模块可同时通信的方法,应用于光网络,所述与多个光模
块可同时通信的方法包括:对光模块执行写操作;选通所述光模块对应的时钟信号;在一个
I2C写操作周期内对所述光模块完成写操作。

于本发明的一实施例中,所述对光模块执行写操作的步骤中:如果对单个所述光模块执
行写操作,那么选通单个所述光模块对应的时钟信号,关闭其他所述光模块对应的时钟信号;
如果对多个所述光模块执行写操作,那么全部选通多个所述光模块对应的时钟信号,并对多
个所述光模块在一个所述I2C写操作周期内同时完成写操作。

如上所述,本发明的一种应用于光网络的与多个光模块可同时通信的装置和方法,解决
了多个光模块的I2C设备地址相同,不能同时挂在一条总线的问题,且具有以下有益技术效
果:

1.不需要专门的I2C总线开关芯片,且时钟信号的选通通道的数目可以根据需要由
CPLD进行扩展;非常灵活;

2.本发明利用I2C总线的时序特点,用一个I2C写操作周期完成8个模块的寄存器写操
作,提高了系统效率:单个光模块的写操作大约需要30个I2C总线周期,现有的技术约需要
90个I2C总线周期,而采用本发明的装置,单个光模块的写操作也只需要大约30个I2C总
线周期,时间缩短了2/3,系统的效率获得了显著的提高;多个光模块,例如8个光模块,的
同时写操作大约需要30个I2C总线周期,现有的技术约需要90*8=720个I2C总线周期,系
统效率提高24倍;

3.本发明既支持对光模块的批量写操作,也可支持单独对光模块的读写操作。

附图说明

图1显示为现有技术中光模块的存储映射关系示意图。

图2显示为现有技术中解决CPU与多个光模块同时通讯的方案的结构示意图。

图3显示为本发明实施例公开的一种与多个光模块可同时通信的装置的结构示意图。

图4显示为I2C总线的时序图。

图5显示为基本发明实施例公开的一种与多个光模块可同时通信的方法的流程示意图。

元件标号说明

110CPU单元

120光模块

130时钟选通单元

140串行数据线

150串行时钟线

160高速并行总线

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露
的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加
以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精
神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征
可以相互组合。

请参阅附图。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基
本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺
寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态
也可能更为复杂。

实施例1

本发明公开了一种应用于光网络的与多个光模块可同时通信的装置,采用电路设计和
CPLD逻辑设计,以完成在写1个光模块的寄存器时,只需要30个I2C总线时钟;在向8个
光模块相同的寄存器地址写入相同信息时,也只需要30个I2C总线。

如图3所示,本实施例的与多个光模块同时通信的装置包括:

CPU单元110,分别与多个所述光模块120通过I2C总线的串行数据线140相连接;

时钟选通单元130,与所述CPU单元通过高速并行总线LocalBUS160连接,并分别与
多个所述光模块120通过所述I2C总线的串行时钟线150连接;用于根据所述光模块的数量
分离时钟信号,并完成多个所述光模块120的时钟信号的选通;

其中,每一个所述I2C总线的串行时钟线150和串行数据线140通过上拉电阻上拉至电
源电平。

在本实施例中,光模块120为8个。但是本发明并不仅限于8个光模块120的情况。

具体地说,通过采用CPLD设计的时钟选通单元130,将输出到8个光模块120的I2C
时钟信号分为8个独立的时钟信号,时钟选通单元130内设8个比特时钟选通寄存器位,每
个比特时钟选通寄存器位对应一个光模块120的时钟选通信号:

当比特时钟选通寄存器位为‘1’时,相对应的光模块120的时钟信号选通;

当比特时钟选通寄存器位为‘0’时,相对应的光模块120的时钟信号位断开。

CPU单元通过高速并行总线160来写入时钟选通单元130的比特时钟选通寄存器位:

当需要110访问单个光模块120时,将相应的比特时钟选通寄存器位写‘1’,其它比特
时钟选通寄存器位写‘0’,完成对单个光模块120的I2C总线的写操作;

当需要给所有光模块120的用户定义区写相同数据时,CPU单元110将时钟选通单元130
中的8个比特时钟选通寄存器位全部写‘1’,8个光模块120的时钟信号同时有效,CPU单
元110的I2C总线控制将要写的地址和数据放到SDA串行数据线140上,实现了对8个光模
块120的同时写操作。

并且,如图3所示,每一个I2C总线的串行时钟线150和串行数据线140通过2.2Kohm
的上拉电阻上拉至电源电平,在本实施例中,电源VCC为3.3V。

进一步地,根据I2C总线来看:

I2C总线是二线制结构,即双向的串行数据线SDA、串行时钟线SCL,在被设计中是单
向信号。并且,I2C总线的所有器件的SDA、SCL引脚的输出驱动都为漏极开路结构,通过
外接的上拉电阻将I2总线上的所有节点的SDA、SCL信号上拉到电源电平,实现了线与的
逻辑关系。

如图4所示,I2C总线的时序包括以下几个信号状态:

1.总线空闲状态:此时每个I2C设备都释放总线,串行数据线SDA和串行时钟线SCL
被上拉电阻拉高;

2.启动信号:在串行时钟线SCL保持高电平期间,串行数据线SDA上的电平被主设备
拉低,产生负跳变,定义为I2C总线的启动信号,标志这一次数据传输的开始。在建立该信
号之前,I2C总线必须是空闲状态;

3.数据位传送:I2C总线每一位数据位都和一个时钟脉冲相对应,在串行时钟线SCL
的串行时钟的配合下,在串行数据线SDA上逐位地串行传送每一位数据。数据传送时,在串
行时钟线SCL呈现高电平期间,串行数据线SDA上的电平必须保持稳定,只有在串行时钟
线SCL为低电平期间,才允许串行数据线SDA上的电平改变状态;

4.应答信号:I2C总线上所有数据都是8位字节传送的,发送器每发送一个字节,就在
第9个时钟脉冲释放数据线,由接收器反馈一个应答信号。应答信号低电平时有效,表示接
收器已经成功地接收了该字节。对于有效应答位ACK的要求是,接收器在第9个时钟脉冲之
前的低电平期间将串行数据线SDA线拉低,并且确保在该时钟的高电平期间为稳定的低电
平。

5.停止信号:在时钟线保持高电平期间,串行数据线SDA被释放,使得串行数据线SDA
返回高电平,发生正跳变,称为I2C总线的停止信号,标志着一次传输的终止。停止信号是
主控器主动建立的,建立停止信号后,总线将返回空闲状态。

从I2C总线的时序和光模块的存储映射关系可以看出,数据位的传输包括三个部分

地址1和读写操作码的传送:地址1是光模块120的设备地址,固定为7-bit1010000(A0h)
或7-bit1010001(A2h);操作码是读写命令,高为读操作,低为写操作,由主设备发出;

地址2的传送:地址2是光模块120的寄存器的8-bit地址,由主设备发出;

数据的传送:如果是写操作,数据字节由主设备发到串行数据线SDA上;如果是读操作,
数据字节由从设备发到串行数据线SDA上。

由此可以看出,当CPU单元110对8个光模块120同时进行写操作时,CPU单元110
在一个I2C写操作周期内可同时完成对8个光模块120写操作。

此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问
题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。

实施例2

如图5所示,本实施例公开了一种应用于光网络的与多个光模块可同时通信的方法,包
括:

对光模块执行写操作:

CPU单元对于光模块的写操作分为两种:一种是分别对光模块的寄存器写入不同的值,
即对单个光模块进行写操作;另一种是对不同的光模块的相同的寄存器地址写入相同的值,
即对多个光模块同时进行写操作。

选通所述光模块对应的时钟信号:

根据CPU单元对光模块的写操作的种类,选通对应的时钟信号:

当CPU单元需要对单个光模块进行写操作时,可以将时钟选通单元中相应的1个比特时
钟选通寄存器位写‘1’,其他7个比特时钟选通寄存器位写“0”,时钟选通单元将对应的
单个光模块的时钟信号选通,关闭其它7路光模块的时钟信号;

当CPU单元需要对8个模块同时进行写操作时,可以将时钟选通单元中相应的8个比特
时钟选通寄存器位全部写‘1’,时钟选通单元将8个光模块的时钟信号全部选通。

在一个I2C写操作周期内对所述光模块完成写操作:

当CPU单元需要对单个光模块进行写操作时,CPU单元直接对单个光模块进行一次I2C
总线的写操作;

当CPU单元需要对8个模块同时进行写操作时,CPU单元的I2C时钟信号同时送到8
个光模块上,8个光模块共享串行数据线SDL,CPU单元将I2C设备地址、写操作码、寄存
器地址和数据放到总线上。因为8个光模块的I2C设备地址相同,要访问的寄存器地址相同,
每个光模块都识别到这次访问周期是对自己的写操作,都会将I2C总线上的数据写入到相应
的寄存器中。访问过程中,有CPU单元等待光模块的应答信号的过程,8个光模块都会在串
行数据线SDL上应答。并且,因为I2C总线是漏极开路电路,能够实现8个光模块的应答信
号的线与功能,这样CPU单元通过一次I2C总线的写操作,同时完成了对8个光模块的寄存
器的写操作,极大地提高效率。

需要说明的是,上面方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤
或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护
范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算
法和流程的核心设计都在该专利的保护范围内。

并且不难发现,本实施例为与第一实施例相对应的方法实施例,本实施例可与第一实施
例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,
这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。

综上所述,本发明的一种应用于光网络的与多个光模块可同时通信的装置和方法,解决
了多个光模块的I2C设备地址相同,不能同时挂在一条总线的问题。本发明不需要专门的I2C
总线开关芯片,且时钟信号的选通通道的数目可以根据需要由CPLD进行扩展,非常灵活;
本发明利用I2C总线的时序特点,用一个I2C写操作周期完成8个模块的寄存器写操作,提
高了系统效率:单个光模块的写操作大约需要30个I2C总线周期,现有的技术约需要90个
I2C总线周期,而采用本发明的装置,单个光模块的写操作也只需要大约30个I2C总线周期,
时间缩短了2/3,系统的效率获得了显著的提高;多个光模块,例如8个光模块,的同时写操
作大约需要30个I2C总线周期,现有的技术约需要90*8=720个I2C总线周期,系统效率提
高24倍;且本发明既支持对光模块的批量写操作,也可支持单独对光模块的读写操作。所以,
本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技
术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡
所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等
效修饰或改变,仍应由本发明的权利要求所涵盖。

一种与多个光模块可同时通信的装置和方法.pdf_第1页
第1页 / 共13页
一种与多个光模块可同时通信的装置和方法.pdf_第2页
第2页 / 共13页
一种与多个光模块可同时通信的装置和方法.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《一种与多个光模块可同时通信的装置和方法.pdf》由会员分享,可在线阅读,更多相关《一种与多个光模块可同时通信的装置和方法.pdf(13页珍藏版)》请在专利查询网上搜索。

本发明提供一种与多个光模块可同时通信的装置和方法,应用于光网络,包括:CPU单元,分别与多个所述光模块通过I2C总线的串行数据线相连接;时钟选通单元,与所述CPU单元通过高速并行总线连接,并分别与多个所述光模块通过所述I2C总线的串行时钟线连接;用于根据所述光模块的数量分离时钟信号,并完成多个所述光模块的时钟信号的选通;其中,每一个所述I2C总线的串行时钟线通过上拉电阻上拉至电源电平。所述时钟选通。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1