一文看懂光模块的工作原理

你们好,我的网工朋友

光模块有很多类别,是我们经常要用到的PHY层器件。虽然封装,速率,传输距离有所不同,但是其内部组成基本是一致的。

以太网交换机常用的光模块有SFP,GBIC,XFP,XENPAK。

SFP的全称是指Small Form-factor Pluggabletransceiver ,即小封装可插拔收发器。

GBIC的全称是指GigaBit Interface Converter,即千兆以太网接口转换器。

XFP的全称是指10-Gigabit small Form-factorPluggable transceiver ,即万兆以太网接口。

XENPAK的全称是指10 Gigabit EtherNet TransceiverPAcKage,即万兆以太网接口收发器集合封装。

今天以SFP光模块为例,给你介绍光模块内部的组成和工作原理。

今日文章阅读福利:《 100G光模块数据手册 》

私信我,发送暗号“光模块”前20名私信的小友即可免费获得该学习资源。限时开放,过时不候哈。

01 什么是光模块?

SFP的英文Small Form-factor Pluggable的简写,即小型化可插拔光模块。SFP收发合一Transceiver因其小型化,热插拔方便,支持SFF8472标准,模拟量读取方便(IIC读取),且检测精度高(+/-2dBm以内。

如果你觉得这些概念过于晦涩,那来举个简单的例子。

我们平时用手机追剧、聊天等,常会用到WiFi网络。

家里安装了WiFi的朋友,对光猫肯定并不陌生,其一般就安装在你家电视墙附近,插上网线就能使用WiFi了。

这个过程的简单逻辑就是,光纤传输信号到光猫,光猫再把这种光信号转换成电信号,最后电信号以WiFi的形式传导给你用。在这复杂的信号转换过程中,往往就要用到光模块。

因此,光模块在网络世界里,是必不可少的存在。

电信市场和数通市场的规模持续增加,对于光模块的需求也会接着持续增加,具体的应用领域包括:

数据中心:数据中心之间信息实时海量交互,这就产生了数据中心互联网络需求,光纤通信则成为了实现互联的必要手段。

移动通信基站:运营商的移动通信基站需要光模块来实现设备间的互连,基站有RRU和BBU设备,在应用中,我们要将这两个设备的链路接通,就需要光模块和光纤跳线。

无源波分系统:无源波分是5G前传所采用的技术方案中占比最高的,而无源波分系统由彩光模块、复用器和光纤组成。

SAN/NAS存储网络:作为数据存储系统,NAS(附加式网络存储装置),SAN(区域存储网络)都需要用到光模块。

依托于电信市场和数通市场的发展,后期光模块的需求会不断增加。

02 SFP光模块的内部结构,我来告诉你

由下图可见,光模块主要部分是由光发射组件TOSA,激光驱动器,光接收组件ROSA(L16.2光模块光接收部分使用APD接收机,还需要升压电路),限幅放大器和控制器组成的。

其中,驱动芯片和限幅放大器一般都支持从155Mb/s到2.67Gb/s多速率。

速率不同,传输距离不同的光模块有很多只是前端光组件的差别,高速率SFP光模块BOM成本的90%都集中在光组件上。

由上图还可以看出,为了保证上电顺序,SFP光模块的金手指部分的长度是不一样的,最长的是信号地,其次是电源,最短的是信号,这样在插拔的时候就保证了地-电源-信号的顺序。

01 光发射组件 TOSA(Transmiter Optical Sub-Assembly)

常用的光发射组件由两大类,一类是采用发光二极管LED封装的TOSA,一类是采用半导体激光二极管LD封装的TOSA。

前者谱线宽,耦合效率低(虽然LED可以发出几毫瓦的光功率,但是方向性差,能耦合到光纤中用于传输的部分只占1%-2%)。

但是价格低,使用寿命长,在低速短距的情况下还是有少量的运用,常用于百兆以太网多模光纤中短距离的数据传输,波长一般是1300nm。我们接触到的光模块一般都是采用的激光二极管。

激光器的种类:

1.VCSEL激光器(垂直表面腔发射激光器):850nm波长,用于千兆以太网多模光纤短距传输,千兆以太网交换机大量使用该类型的光模块,传输光板不会用到,不详细介绍;

2.FP和DFB激光器。

二者的区别在于输出光特性的不同,FP激光器是多纵模激光器MLM,能够产生包含有若干离散波长的光,除了中心波长的主模外,其他波长的次模也具有较高的幅度,而且主模和次模也处于动态的竞争当中,不过频带范围十分狭窄。

DFB激光器是单纵模激光器SLM,主模光功率占到整个发光功率的99%以上,其他少量的次模可以忽略不计。

对于这两种不同类型激光器的光模块,用光谱仪测试其谱宽的时候方法是不一样的。

  • FP激光器光模块,测试其发送侧的谱宽是测试RMS谱宽;
  • DFB激光器光模块,测试其发送侧的谱宽是测试-20dB的谱宽,而且要求测试边模抑制比。

目前在我们所使用的光模块中,155M,622M模块发射波长为1310nm,采用的都是FP激光器,1550nm波长采用的是DFB激光器。2.5G除了2Km 即I-16使用FP激光器外,其他都是使用的DFB激光器。

激光二极管的谐振腔有两个反射镜面,它们是半透明的。它们的作用一方面构成谐振腔保证光子在其中往复运动以激射出新的光子,另一方面有相当一部分光子从反射镜透射出去即发光。前镜面透射出去的光谓之主光,通过与光纤的耦合发送光纤当中变成有用的传输。

而后反射镜面幅射出去的光谓之副光又叫背向光。TOSA将此背向光转换为背光电流,利用它可以来监控光源器件发光功率的大小。

上图为温度升高情况下,激光器输入电流和输出光功率的变化情况。

当激光器腔中的光学增益超过腔体端反射面的损耗时,激光器就会激射出相干的光信号,临界时激光器中的电流称为阈值电流(Ith)。

随着温度升高激光器腔体中的光学增益会降低,由于腔体内光学增益降低,激光器就需要更大的注入电流来获得相干光输出,结果激光器的阈值电流就升高了。

由上图可见,由于阈值电流的升高,导致了输出光功率的降低,如果要保持光功率不变的话,则驱动器必须要输出的更大的偏置电流。

为了补偿激光器阈值的变化,需要采用“自动功率控制(APC)”电路, APC电路监测激光器背光电流,通过调节激光器的偏置电流来保持背光电流的稳定。

一般来说,背光电流与平均光功率之间的比例关系是线性的,因此通过保持背光电流的稳定,使得激光器的平均光功率保持恒定。

还是上图,随着温度的升高,激光器输入电流和输出光功率的特性曲线的斜率会变小,也就是说激光器光电转换的效率降低了。我们知道,消光比Er=10×lg[P1/P0](dB),其中,P1、P0分别代表数字逻辑信号“1”和“0”时激光器的输出光功率,P1-P0表示调制之后光信号的幅度。

假定输出光功率不变的情况下,转换斜率的降低,会引起输出光信号消光比的降低,反映到眼图上,眼图的张开度会变小。

对于光模块而言,在温度变化过程中,除了要保持输出光功率的稳定,同时也要保持消光比的稳定。

保持消光比的稳定就是要增加调制电流,最常用的做法是查表法,利用控制器内部的数字可调电位器(电阻器)来保持消光比。

在数字电位器内置有受温度控制的电阻值表,电阻值作为温度的函数,存储在非易失存储器中,温度范围从-45°C~+95°C,步长为2°C。使用芯片内集成的温度传感器,这种电阻的阻值就可以随温度的变化而自动调整。

数字电位器是设置成随温度升高而减小电阻值,将其连接在驱动器的“调制电流设定端”,在温度升高的过程中,控制器根据测得的温度值查表,不断减小电位器的电阻值,使得调制电流增大,这样,消光比的变化将会得到补偿。

保持消光比,还有一种方法就是K因子补偿法,激光器的驱动器中加入“K-因子”补偿特性,它是在激光器偏置电流增大的同时,按比例增大调制电流。

过程如下:为保持平均光功率稳定,偏置电流是由APC电路控制的,随着偏置电流提高,电路提取偏置电流的一部分用以调节调制电流。

这样,总的调制电流等于原有调制电流加上偏置电流乘以一个因子K。

这个K因子可以通过驱动器芯片外接的电阻来设定,由于调制电流能随着偏置电流增大而增大,于是当激光器温度发生变化或者激光器老化时,消光比能够得到补偿。

上图是一个典型的查表法的控制电路,在控制器中,H0和H1是控制器自带的两个数字电位器,H0用于控制调制电流,H1用于控制偏置电流。

APC功能是驱动器内部集成的,但是其补偿能力在-40到85度这么宽的范围内往往有限,所以用H1实现粗调,驱动器内的APC实现比较精确的自动调整。

这两个数字电位器均使用查表法。具体的电阻值是光模块厂商根据TOSA的特性摸索出来设定的,往往对于不同厂家或者不同批次的TOSA,都要重新修正该电阻值。另外上图中的:

  • MON1用于检测偏置电流的值;
  • MON2用于检测输出光功率;
  • MON3一般用于接收光功率的检测。

这些测量的值都可以通过IIC总线读取相应的寄存器获得,使用方便,精度高,绝大部分厂家能够保证精度控制在2dBm以内,可以有效避免目前一些单板模拟量检测不准这个问题。

从上图也可以看出,光模块的工作原理还是比较简单的,除了保持稳定的光功率和消光比之外,就是要做好驱动器到激光器之间的RC匹配(上图没有画出,在经过串行的10欧姆电阻后,一般都需要加RC电路到地),光模块光口指标的好坏都是由这些RC来决定的。

02 光接收组件ROSA(Receiver Optical Sub-Assembly)

ROSA里面封装了光检测二极管和互阻放大器TIA。光检测二极管有PIN管和APD雪崩二极管两类。

APD光二极管具有倍增效应,能使在同样大小光的作用下产生比PIN光二极管大几十倍甚至几百倍的光电流,相当于起了一种光放大作用(实际上不是真正的光放大),因此能大大提高光接收机的灵敏度(比PIN光接收机提高约10dB以上),但是APD的倍增效应会使耦合进ROSA的噪声也会同时被放大,影响接收机的灵敏度,因此对采用APD作为接收机的光模块需要处理好滤波等问题。

对于接收机,光功率高于过载点或者低于灵敏度,均可能会出现误码或者LOF。PIN管的过载点为-3dBm(一般能达到0dBm),APD为-9dBm(一般能达到-5dBm),对于APD接收机,因为其过载功率低,如果接收功率过大的话,可能会照成击穿损坏。

在我们使用的光模块中,除了L16.1和L16.2使用APD接收机的光模块外,其余都是采用PIN管接收机。

Transceiver的接收侧,比较简单。对于2.5G输出,有些厂商是CML输出,有些厂商是LVPECL输出,需要注意其Datasheet。

附SFP光模块使用的参考电路:

SFP模块决大部分厂家都采用内部交流耦合,模块内部也做好了上下拉匹配,所以靠近光模块这一侧不需要加匹配。

对于MOD_DEF0(光模块在位),MOD_DEF1(IIC Clock),MOD_DEF0(IIC Data),LOS(和SFF定义相反,高为无光输入,低为正常。SFF 是Signal Detect,SD高表示有光信号,低表示无光信号),Tx_Fault(发送失效)都必须要在用户侧的上拉。

当SFP检测到异常情况引发保护关断后,Tx_Fault变高,无光输出,必须要用Tx_Disable信号对其进行复位。

整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/151823.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】 rm命令使用

作为一个程序员 我们经常用到rm -rf * 或者rm -rf XXX 。但是rm -rf 是什么意思不是很清楚,咱们一起来学习一下吧。 rm(英文全拼:remove)命令用于删除一个文件或者目录。 rm 命令 -Linux手册页 著者 由保罗鲁宾、大卫麦肯齐、理…

10.8队列安排,最少找字典次数,表达式转换与计算模拟(栈、队列)

队列安排1160 灵活的插入与删除 用队列实现的话,就是双端队列, 第一阶段是要找到对应编号的同学,然后根据p的取值决定是怎么插入 第二阶段也是要找到对应编号同学,之后就删除,如果找不到就返回 思路是这个思路&…

为什么团队需要实时协作?该如何实现?

协作是任何组织成功的关键部分,通过明确定义的愿景和使命并基于透明度和持续沟通来执行。 实时的协作是指员工之间就不同的项目、任务、文件或文档进行同步、无缝的互动和协作,他们几乎不受任何地理边界的限制,即时沟通和分享反馈、想法和信…

【AI视野·今日Robot 机器人论文速览 第四十七期】Wed, 4 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Wed, 4 Oct 2023 Totally 40 papers 👉上期速览✈更多精彩请移步主页 Interesting: 📚基于神经网络的多模态触觉感知, classification, position, posture, and force of the grasped object多模态形象的解耦(f…

从零开始的C++(七)

1.malloc、free和new、delete的区别: 1、.malloc、free是函数,new、delete是运算符。 2、malloc不会调用构造函数,new可以调用构造函数。 3、malloc开辟失败返回NULL,new失败会捕捉异常。 4、malloc不会自动计算类型大小&…

好奇喵 | PT(Private Tracker)——什么是P2P,什么是BT,啥子是PT?

前言 有时候会听到别人谈论pt,好奇猫病又犯了,啥子是pt? PT——你有pt吗?啥是pt? 从BT开始 BitTorrent是一种点对点(P2P)文件共享协议,用于高速下载和上传大型文件。它允许用户通…

钡铼BL124PN:简单快速转换Profinet到Ethernet/IP

钡铼技术BL124PN是一款高性能的Profinet转Ethernet/IP网关设备。该网关专为工业自动化领域设计,用于实现不同协议之间的互连和通信。BL124PN采用可靠稳定的硬件和先进的通信技术,具有以下主要特点: 协议转换能力:BL124PN能够将Pr…

暴力破解及验证码安全

1.暴力破解注意事项 1、破解前一定要有一个有郊的字典(Top100 TOP2000 csdn QQ 163等密码) https://www.bugku.com/mima/ 密码生成器 2、判断用户是否设置了复杂的密码 在注册页面注册一个,用简单密码看是否可以注册成功 3、网站是…

RabbitMQ-网页使用消息队列

1.使用消息队列 几种模式 从最简单的开始 添加完新的虚拟机可以看到,当前admin用户的主机访问权限中新增的刚添加的环境 1.1查看交换机 交换机列表中自动新增了刚创建好的虚拟主机相关的预设交换机。一共7个。前面两个 direct类型的交换机,一个是…

TDengine+OpenVINO+AIxBoard,助力时序数据分类

时间序列数据分析在工业,能源,医疗,交通,金融,零售等多个领域都有广泛应用。其中时间序列数据分类是分析时序数据的常见任务之一。本文将通过一个具体的案例,介绍 Intel 团队如何使用 TDengine 作为基础软件…

019 基于Spring Boot的教务管理系统、学生管理系统、课表查询系统

基于Spring Boot的教务管理系统、学生管理系统、课表查询系统 一、系统介绍 本作品主要实现了一个课表查询系统,采用了SSM(Spring SpringMVC MyBatis)的基础架构。 二、使用技术 spring-bootspring-MVCthymeleafmybatis-plusdruidLombo…

windows 远程连接 ubuntu桌面xrdp

更新 sudo apt update安装组件 sudo apt-get install xorg sudo apt-get install xserver-xorg-core sudo apt-get install xorgxrdp sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utilsxrdp sudo apt install xrdp sudo systemctl status xrdp sudo …

数据统计--图形报表--ApacheEcharts技术 --苍穹外卖day10

Apache Echarts 营业额统计 重点:已完成订单金额要排除其他状态的金额 根据时间选择区间 设计vo用于后端向前端传输数据,dto用于后端接收前端发送的数据 GetMapping("/turnoverStatistics")ApiOperation("营业额统计")public Result<TurnoverReportVO…

「专题速递」JPEG AI、端到端图像编码的标准化及产品落地、深度学习

从最初的追随者到如今的领跑者&#xff0c;中国的超高清视频编解码技术已经走过20年的漫长征程。从开始制定不同的视频编解码标准&#xff0c;如H.264/265、AV1、VVC、AVS&#xff0c;再到积极地探索基于AI的视频编码技术。视频编解码——这一将视频数据高效压缩、传输和解码还…

mybatis-plus 多数据源配置

1. 双数据库创建 两个数据库各有一张表 2. yml中配置双数据库 下面的配置来源于mybatis-plus官网 spring:datasource:dynamic:primary: master #设置默认的数据源或者数据源组,默认值即为masterstrict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,fal…

k8s-10 ingress-nginx 特性

TLS加密 创建证书 测试 auth认证 创建认证文件 rewrite重定向 进入域名 会自动重定向hostname.html 示例二&#xff1a; 测试 后面必须跟westos 这个关键字 canary金丝雀发布 基于header灰度 场景&#xff1a;版本的升级迭代&#xff0c;比如一个service 升级到另…

基于SpringBoot的房屋租赁管理系统的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 屋主管理 房屋信息管理 房屋租赁公告 租用订单管理 房屋信息管理 保洁管理 房屋信息 租用订单管理 取消订单管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 互联网发展至今&#xff0c;无论是其理论还是…

分布式数据库(林子雨慕课课程)

文章目录 4. 分布式数据库HBase4.1 HBase简介4.2 HBase数据模型4.3 HBase的实现原理4.4 HBase运行机制4.5 HBase的应用方案4.6 HBase安装和编程实战 4. 分布式数据库HBase 4.1 HBase简介 HBase是BigTable的开源实现 对于网页搜索主要分为两个阶段 1.建立整个网页索引&#xf…

【juc】future并行执行并获取返回值

目录 一、截图示例二、代码示例2.1 接口示例2.2 调用示例 一、截图示例 二、代码示例 2.1 接口示例 package com.learning.controller;import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.…

Flink+Doris 实时数仓

Flink+Doris 实时数仓 Doris基本原理 Doris基本架构非常简单,只有FE(Frontend)、BE(Backend)两种角色,不依赖任何外部组件,对部署和运维非常友好。架构图如下 可以 看到Doris 的数仓架构十分简洁,不依赖 Hadoop 生态组件,构建及运维成本较低。 FE(Frontend)以 Java 语…