光模块基础知识
1. 光模块的封装
光模块是光收发模块的简称,主要根据不同的外型来区分,而在同一外型中,又有着多种规格;在数据通信领域,最常见的光模块(根据外型区分)分别是SFF、GBIC、SFP、和XFP、QSFP 、XENPAK和X2光模块,其中SFF、GBIC、XENPAK和X2都是比较早期的标准,已经逐步被QSFP、SFP所取代。下面图1-1和图1-2展示QSFP和SFP光模块。

图1-1 QSFP+光模块

图1-2 SFP-DD
在各类光模块中,SFF、GBIC、SFP是百、千兆速率的;XENPAK、X2、XFP、SFP+是万兆速率的;QSFP+是40G的,QSFP28是100Gbps;QSFP+模块的尺寸与XFP尺寸相当,XENPAK、CFP尺寸最大,SFF,SFP/SFP+尺寸最小。
而各类光模块在各自的速率下,又有着多种规格,以传输距离来做区分,常见的有500m(千兆速率下,万兆是300m)、10km、40km.
2. SFP光模块的内部基本结构
图2-1简单描述了光模块的内部结构,其中各个部分的含义如下:
O/E:光信号探测器,能够吸收光并转变为电流;
Pre-amp(TIA):跨阻放大器, 放大来自探测器微弱的电信号,需要很好的过载能力和较高的灵敏度;
Limit-amp:主放大器, 分为限幅放大器和AGC放大器,其中限幅放大器较为通用;
E/O:光发送器,用于将电信号转化为光信号;
Laser Driver:光驱动器,对电信号进行整形和调整为激光器脉冲;

图2-1 SFP/SFP+等光模块内部结构
3. 光模块参数
光模块传输速率:常用的有百兆、千兆、万兆、40Gbps、100Gbps;
中心波长:一般指的是发送波长,常用的有850nm、1310nm和1550nm,前者常称为短波,后两者为长波;
光模块发送光功率:发射端的光强,以dBm为单位,是影响传输距离的重要参数;
消光比:表征光模块发送的0与1的区别;
光模块接收灵敏度:可以探测到的光强度,以dBm为单位,是影响传输距离的重要参数;
饱和光功率值:指光模块接收端最大可以探测到的光功率,当接收光功率大于饱和光功率的时候会导致误码产生,甚至造成接收电路的损坏,因此对于发射光功率大的光模块需要考虑是否要额外增加衰减。
工作温度、功耗等也是光模块的基本参数。
注:光模块可传输的距离主要受到损耗和色散两方面受限;损耗限制可以根据公式:损耗受限距离=(发射光功率-接收灵敏度)/光纤衰减量 来估算,光纤衰减量和实际选用的光纤相关。一般目前的G.652光纤可以做到1310nm波段0.5dB/km,1550nm波段0.3dB/km甚至更佳;50um多模光纤在850nm波段4dB/km 1310nm波段2dB/km。对于百兆、千兆的光模块色散受限远大于损耗受限,可以不作考虑。
4. 太网标准中的光网络标准
以太网支持多种介质的传输,其标准中定义了多个介质的传输指标,包含双绞线、铜缆和光纤;在光介质的指标中,包含了以下标准:1000Base-SX、1000Base-LX、10GBase-SR、10Gbase-LR、10Gbase-ER、10Gbase-SW 、10Gbase-LW、10Gbase-EW,还有40GBASE-SR4、40GBASE-LR4、40GBASE-FR、100GBASE-SR10、100GBASE-LR4、100GBASE-ER4各个标准的规格如下表:
| 速率 | 工作波长/nm | 支持距离 | 备注 | |
| 100Base-FX | 百兆 | 850或1310 | 2km | 1310nm波长在多模光纤上的传输 |
| 1000Base-SX | 千兆 | 850 | 550m | |
| 1000Base-LX | 千兆 | 1310 | 10km | |
| 10Gbase-SR | 万兆 | 850 | 300m | 10.3125Gbps 要求光纤规格:50/125um,模式带宽2000MHz*km |
| 10Gbase-LR | 万兆 | 1310 | 10km | 10.3125Gbps |
| 10Gbase-ER | 万兆 | 1550 | 40km | 10.3125Gbps |
| 10Gbase-SW | 万兆广域网 | 850 | 300m | 9.953Gbps |
| 10Gbase-LW | 万兆广域网 | 1310 | 10km | 9.953Gbps |
| 10Gbase-EW | 万兆广域网 | 1550 | 40km | 9.953Gbps |
| 40GBASE-SR4 | 40G | 850 | 150m | 10.3125Gbps×4线 |
| 40GBASE-LR4 | 40G | 1271/1291/1311/1331 | 10km | 使用WDM技术,在一条光纤上使用4个波长传输,每个波长10.3125Gbps |
| 40GBASE-FR | 40G | 1271/1291/1311/1331 | 2km | 使用单一波长在一条光纤上传输,速度41.25Gbps |
| 100GBASE-SR | 100G | 850 | 150m | 每个波长速率25Gbps,4*25G |
| 100GBASE-LR4 | 100G | 1295/1300/1304/1309 | 10km | 单模,长距离光纤。使用4种波长在一条光纤上传输,每个波长速率25Gbps |
| 100GBASE-ER4 | 100G | 1295/1300/1304/1309 | 40km | 单模,超长距离光纤。使用4种波长在一条光纤上传输,每个波长速率25Gbps |
| ...... | ...... | ...... | ...... | ...... |
而在满足标准规格的基础上,适当提高光模块发送光功率或接收灵敏度,则能令该器件支持更远距离的传输,如支持40km、80km传输的千兆/万兆光模块。
相关文章:
光模块基础知识
1. 光模块的封装 光模块是光收发模块的简称,主要根据不同的外型来区分,而在同一外型中,又有着多种规格;在数据通信领域,最常见的光模块(根据外型区分)分别是SFF、GBIC、SFP、和XFP、QSFP 、XEN…...
【go从零单排】Closing Channels通道关闭、Range over Channels
🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 在 Go 语言中,通道(channel)的关闭是一个重要…...
初始JavaEE篇 —— 文件操作与IO
找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:JavaEE 目录 文件介绍 Java标准库中提供操作文件的类 文件系统操作 File类的介绍 File类的使用 文件内容操作 二进制文件的读写操作…...
GitLab实现 HTTP 访问和 SMTP 邮件发送
GitLab实现 HTTP 访问和 SMTP 邮件发送 本教程详细记录了如何配置 SMTP 邮件通知、实现外网 HTTP 访问,并分享在配置过程中遇到的问题及解决方法。 一、准备工作 安装 Docker:确保在 Synology NAS 上安装 Docker 应用。下载 GitLab 镜像:在…...
HarmonyOS ArkTS 下拉列表组件
Entry Component struct Index {defaultValue: string 下拉列表;// 定义选项数组,包含 value 和可选的 labeloptions: Array<SelectOption> [{ value: aaa },{ value: bbb },{ value: ccc },{ value: ddd },{ value: eee },{ value: fff },{ value: ggg },{…...
zabbix监控Linux系统
1. zabbix agent安装 #sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm #sudo dnf clean all #yum install zabbix-agent -y Running transaction test Transaction test succeeded. Running transactionPreparing …...
线性表-数组描述补充 迭代器(C++)
补充线性表数组实现的迭代器部分 知识点: typedef是C语言中的一个关键字,它的主要作用是为一种数据类型定义一个新的名字(别名)。 在 C 的 STL(Standard Template Library)中,迭代器是连接容…...
vue3 + element-plus 的 upload + axios + django 文件上传并保存
之前在网上搜了好多教程,一直没有找到合适自己的,要么只有前端部分没有后端,要么就是写的不是很明白。所以还得靠自己摸索出来后,来此记录一下整个过程。 其实就是不要用默认的 action,要手动实现上传方式 http-reque…...
dm 创建数据库实例【window】
参考链接:配置实例 1)打开 DM 数据库配置助手 2)按照默认的进行 字符串大小写敏感:譬如 mysql 默认是大小写不敏感,如果在迁移中还选择了 保持对象大小写,那么就会出现一种情况就是每次查询等带有表名的都…...
Docker实践与应用举例:从入门到进阶
Docker实践与应用举例:从入门到进阶 在云计算和微服务架构日益盛行的今天,Docker作为一种轻量级的容器化技术,凭借其高效、灵活、可移植的特点,迅速成为了开发和运维团队的首选工具。本文将通过深入浅出的方式,探讨Do…...
【LeetCode】【算法】560. 和为 K 的子数组
LeetCode 560. 和为 K 的子数组 题目描述 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 思路 思路:前缀和 定义数组preSum[nums.length1],在里面计算nums…...
Webots控制器编程
本文主要内容是如何编写Webots控制器,使用语言为Python。 文章目录 1. 新增控制器2. Hello World Example3. 读取传感器4. 使用执行器5. 理解step和robot.step函数6. 同时使用传感器和执行器7. 控制器参数 1. 新增控制器 对机器人Robot新增控制器的方式࿱…...
舷外机,高效动力的选择,可靠性能的保障_鼎跃安全
舷外机是现代船只动力系统中的核心设备,广泛应用于娱乐船、渔船、巡逻船、救援船等多种场景。它不仅提供船只的动力支持,还因其结构简便、操作灵活和维护方便,成为水上作业的重要组成部分。 一、舷外机的功能作用 1. 强劲动力源 舷外机是船…...
计算机新手练级攻略——如何搜索问题
目录 计算机学生新手练级攻略——如何搜索问题1.明确搜索意图2.使用精确关键词3.使用专业引擎搜索4.利用好技术社区1. Stack Overflow2. GitHub3. IEEE Xplore4. DBLP 5.使用代码搜索工具1. GitHub 代码搜索2. Stack Overflow 代码搜索3. Papers with Code4. IEEE Xplore 6.查阅…...
echarts-gl 3D柱状图配置
1. 源码 此demo可以直接在echarts的编辑器中运行 option {title: {text: 产量图,textStyle: {color: rgba(255, 255, 255, 1),fontSize: 17},left: center},tooltip: {},legend: {show: false,orient: vertical,x: left,top: 0,right: 20,textStyle: {fontSize: 12}},visualM…...
设计模式之模版方法模式(Template)
一、模版方法模式介绍 1、模版方法模式定义: 模板方法模式(template method pattern)原始定义是:在操作中定义算法的框架,将一些 步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某些步骤。 模板方法中的算法可以理…...
背包九讲——背包问题求具体方案
目录 背包问题求具体方案 1. 01 背包问题 题目:12. 背包问题求具体方案 - AcWing题库 算法思路: 代码实现: 2. 多重背包问题 算法思路: 3. 完全背包问题 算法思路: 代码实现: 背包问题第九讲—…...
Python http打印(http打印body)flask demo(http调试demo、http demo、http printer)
文章目录 代码解释 代码 # flask_http_printer.pyfrom flask import Flask, request, jsonify import jsonapp Flask(__name__)app.route(/printinfo, methods[POST]) def print_info():# 分隔符separator "-" * 60# 获取请求头headers request.headers# 获取 JS…...
JSF HTML标签教程一口气讲完!(下)
JSF OutputScript示例 JSF教程 - JSF OutputScript示例 h:outputScript标记渲染类型为“script"的HTML元素,类型为“text/javascript"。 此标记将外部JavaScript文件添加到JSF页面。 以下JSF标记 <h:outputScript library"js" name"…...
cmake报错The link interface of target “gRPC::grpc“ contains: OpenSSL::SSL 解决
系统环境:麒麟V10 报错描述: The link interface of target "gRPC::grpc" contains: OpenSSL::SSL but the target was not found. Possible reasons include: * There is a typo in the target name. * A find_package call is missing fo…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
