当前位置: 首页 > news >正文

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

你们好,我的网工朋友

光模块有很多类别,是我们经常要用到的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年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

相关文章:

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

你们好,我的网工朋友 光模块有很多类别,是我们经常要用到的PHY层器件。虽然封装,速率,传输距离有所不同,但是其内部组成基本是一致的。 以太网交换机常用的光模块有SFP,GBIC,XFP,X…...

基于SpringBoot的桂林旅游景点导游平台

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 景点类型管理 景点信息管理 线路推荐管理 用户注册 线路推荐 论坛交流 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实…...

【小程序 - 加强】自定义组件、使用npm包、全局数据共享、分包_05

目录 一、自定义组件 1. 组件的创建与引用 1.1 创建组件 1.2 引用组件 1.2.1 局部引用组件 1.2.2 全局引用组件 1.2.3 全局引用 VS 局部引用 1.2.4 组件和页面的区别 2. 样式 2.1 组件样式隔离 2.2 组件样式隔离的注意点 2.3 修改组件的样式隔离选项 2.4 styleIso…...

Vue.js3学习篇--Vue模板应用

目录 一,模板基础 1.模板插值 (1)基础插值 (2)HTML代码插值 (3)标签属性插值 2.模板指令 (1)定义 (2)指令参数 二.条件渲染 1.使用v-if指令渲染 2.使…...

【软考】5.2 传输介质/通信方式/IP地址/子网划分

《传输介质》 双绞线:网线;传输距离在100m以内 无屏蔽双绞线:UTP;可靠性相对较低屏蔽双绞线:STP;屏蔽怕干扰;可靠性相对较高;一般用于对传输可靠性要求很高的场合 网线&#xff1a…...

软件测试银行项目网上支付接口调用测试实例

公司最近有一个网站商城项目要开始开发了,这几天老板和几个同事一起开着需求会议, 讨论了接下来的业务规划和需求策略,等技术需求一下来还要讨论技术需求, 确认后再慢慢的进入开发阶段,趁着闲暇时间新造的人想总结一…...

w806 adc 中断扫描通道采集

用到了该芯片adc 扫描4个adc 通道,官方的死循环等待非常浪费时间,这里改用adc 中断采集方式,记录一下 int32_t adcFilterSum[4]{0}; int32_t detec_adc_value[4]{0};//mV int16_t detec_convt_ok[4]{0};/*is OK*/ ADC_HandleTypeDef hadc;vo…...

使用CSS的Positions布局打造响应式网页

在当今移动互联网的时代,响应式网页设计已经成为了一个必备的技能。通过使用CSS Positions布局,我们可以轻松地实现一个响应式的网页,使网页能够在不同的屏幕尺寸下自动适应。本文将介绍如何使用CSS Positions布局来打造一个响应式网页&#…...

模型训练环境相关(CUDA、PyTorch)

模型训练环境相关(CUDA、PyTorch) 1. 查看当前 GPU 所能支持的最高版本的 CUDA2. 如何判断是否安装了 CUDA3. 安装 PyTorch3.1 创建虚拟环境3.2 激活并进入虚拟环境3.3 安装 PyTorch 1. 查看当前 GPU 所能支持的最高版本的 CUDA 打开 NVIDIA 控制面板&a…...

链动2+1模式:社交电商行业的新型商业模式与营销手段

链动21模式是近年来在社交电商行业中崭露头角的一种新型商业模式和营销手段。在经历了多年的发展之后,社交电商行业已经进入了一个竞争激烈、用户获取成本高昂的阶段。在这个阶段,如何迅速吸引用户并增加他们的留存率和复购率成为了亟待解决的问题。 为了…...

竞赛选题 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…...

LuatOS-SOC接口文档(air780E)-- fskv - kv数据库,掉电不丢数据

示例 -- 本库的目标是替代fdb库 -- 1. 兼容fdb的函数 -- 2. 使用fdb的flash空间,启用时也会替代fdb库 -- 3. 功能上与EEPROM是类似的 fskv.init() fskv.set("wendal", 1234) log.info("fskv", "wendal", fskv.get("wendal"))--[[ fs…...

一篇文章教你Pytest快速入门和基础讲解,一定要看!

前言 目前有两种纯测试的测试框架,pytest和unittestunittest应该是广为人知,而且也是老框架了,很多人都用来做自动化,无论是UI还是接口pytest是基于unittest开发的另一款更高级更好用的单元测试框架出去面试也好,跟别…...

SpringBoot项目:Cannot find declaration to go to

SpringBoot项目get,set方法总报Cannot find declaration to go to 搜了很多答案,没解决 后来仔细一想,原来是我的idea软件重装了,lombok插件没重新安装导致。 安装步骤: 1、下载地址:https://plugins.jetbrains.com…...

【高并发】多线程和高并发提纲

文章目录 三大源头两个主要问题三大解决方案 最近正在面试,对多线程和高并发相关问题整理了一个简单的提纲。 个人感觉这三大部分由底向上,足够引出对并发编程中大部分问题的讨论~ 三大源头 线程切换带来的原子性问题。 原子操作:利用CPU提…...

vue.js处理数组对象中某个字段是否变为两个字段

一、场景: 产品要求做一个时间步骤条,使用目前后端已返回的数据进行操作实现。时间步骤条要求日期和时间分开显示且相同日期只显示第一个日期。 图左边为实现效果,右边为后台返回的接口。接口中current字段表示当前到达第几步,从…...

从零开始的C++(补充三的内容)

auto:在编译阶段根据数据的类型确认auto所代表的类型,并将auto换成对应的类型。 特点: 1、auto所能代表的类型必须是在编译阶段就能确认的。 2、auto修饰的变量必须初始化,否则编译器无法判断auto的实际类型。 3、auto会根据第一个数据来…...

微信小程序通过createSelectorQuery获取元素 高度,宽度与界面距离

小程序官方有提供给我们一个 const query wx.createSelectorQuery() 函数 我们可以先编写这样一段代码 wxml <view><button bindtap"getDom">点击查看</button><view class "textIn" style "height: 100px;width: 30px;&quo…...

MySQL-事务

MySQL-事务 1.什么是事务 举例&#xff1a;想象炒菜的过程。 洗菜切菜炒菜装盘 我相信缺少任何任何一个步骤&#xff0c;都不完美&#xff01;&#xff01;&#xff01;可以将炒菜的过程理解为一个事务&#xff0c;是一组操作的集合&#xff0c;而MySQL中的事务也是如此。但…...

自动定时删除磁盘文件的脚本(从文件日期最早的开始删)

#!/bin/bash# 指定的挂载点 MOUNTPOINT"/media/vm/MyDisk512GB"# 设置磁盘大小的限制 (例如&#xff1a;800G) LIMIT$((800 * 1024 * 1024)) # 单位是KB# 获取挂载点的已使用空间 USED_SPACE$(df -kP "$MOUNTPOINT" | tail -1 | awk {print $3})echo &quo…...

拆解CPU的基本结构和运行原理

CPU的基本结构 CPU是一个计算系统的核心 南北桥芯片将CPU与外设连接起来 CPU执行流程 CPU的电路基础 组合电路基本原理 时序电路基本原理 多核成为主流 汇编语言和寄存器 中断的基本原理 中断的产生 中断服务程序 CPU 做为计算机的总司令官&#xff0c;它管理着计算…...

Docker安装——Ubuntu (Jammy 22.04)

一、为什么要用 Ubuntu&#xff1f;(centos和ubuntu有什么区别&#xff09; 使用lsb_release命令&#xff1a;lsb_release -a &#xff0c;即可查看ubantu的版本&#xff0c;但是为什么要使用ubantu 呢&#xff1f; 区别&#xff1a;1、centos基于EHEL开发&#xff0c;而ubunt…...

Fast DDS之Transport

目录 transport层负责为DDS用户数据收发和服务发现提供通信。包含UDP&#xff0c;TCP&#xff0c;SHM。...

爱普生L125X_L325X系列打印机Wi-Fi配置方法(Smart Panel)

准备工作&#xff1a; 手机需要下载“Epson Smart Panel”APP&#xff1b; 配置无线&#xff08;Wi-Fi&#xff09;方法 说明&#xff1a;SSID名称&#xff08;Wi-Fi名&#xff09;不能包含中文字符,路由器需要选择2.4GHz频段; 1. 打开“Epson Smart Panel”软件&#xff0…...

【回顾一下Docker的基本用法】

文章目录 回顾一下Docker的基本用法1.初识Docker1.1.什么是Docker1.1.1.应用部署的环境问题1.1.2.Docker解决依赖兼容问题1.1.3.Docker解决操作系统环境差异1.1.4.小结 1.2.Docker和虚拟机的区别1.3.Docker架构1.3.1.镜像和容器1.3.2.DockerHub1.3.3.Docker架构1.3.4.小结 1.4.…...

【Python】Python基础知识

【Python】Python基础知识 关键字 查看Python关键字&#xff1a; >python >>>import keyword >>>keyword.kwlist 注释 注释有两方面作用&#xff1a; &#xff08;1&#xff09;提高程序的可读性&#xff08;最重要的作用&#xff09;&#xff1b…...

【计算机视觉 05】YOLO论文讲解:V1-V7

https://ai.deepshare.net/live_pc/l_63243a65e4b050af23b79338 Part1.目标检测与YOLO系列 1. 目标检测任务及发展脉络 2. YOLO的发展史 Anchors Base原理&#xff1a; Part2.YOLOV1-V3 3. YOLO V1的网络结构 4. YOLO V3的网络结构与实验结果 Part3.YOLO的进化 5. YOLO V4的网络…...

git全局与单仓库的密码管理

概要 在使用git时&#xff0c;有默认的全局配置&#xff0c;每个仓库也有自己的配置&#xff0c;在使用时常常傻傻分不清楚&#xff0c;现在进行一个简单的整理记录。 一般情况下全局配置中的git账号和邮箱通常设置成自己的&#xff0c;其他仓库再根据项目需要进行单独配置&a…...

IDEA的使用(一) (IntelliJ IDEA 2022.1.3版本)

目录 1. IDEA项目结构 2. 模块的导入操作 2.1 正规操作 2.2 取巧操作 2.3 出现乱码 2.4 模块改名 3. 代码模板的使用 后缀补全&#xff08;Postfix Completion&#xff09;、实时模板&#xff08;Live Templates&#xff09;菜单里面什么介绍都有&#xff0c;可以自学&a…...

javaee SpringMVC文件上传 项目结构

引入依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0…...

JavaScript DOM 函数大全详解(使用最新的 JS 语法)

JavaScript DOM 函数大全详解&#xff08;使用最新的 JS 语法&#xff09; JavaScript 的 Document Object Model&#xff08;DOM&#xff09;是用于操作网页内容的编程接口。在最新的 JavaScript 语法下&#xff0c;我们有很多方便和高效的方法来处理 DOM。下面是一些常用 DO…...

Stm32_标准库_8_ADC_光敏传感器_测量具体光照强度

ADC简介 测量方式 采用二分法比较数据 IO通道 ADC基本结构及配置路线 获取数字变量需要用到用到光敏电阻的AO口&#xff0c;AO端口接在PA0引脚即可 测得的模拟数据与实际光照强度之间的关系为 光照强度 100 - 模拟量 / 40;代码&#xff1a; 完整朴素代码&#xff1a; #in…...

基于SSM的固定资产管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…...

Leetcode---364场周赛

题目列表 2864. 最大二进制奇数 2865. 美丽塔 I 2866. 美丽塔 II 2867. 统计树中的合法路径数目 一、最大二进制奇数 这题只要你对二进制有了解(学编程的不会不了解二进制吧)&#xff0c;应该问题不大&#xff0c;这题要求最大奇数&#xff0c;1.奇数&#xff1a;只要保证…...

使用 Powershell 检索不理解的命令

使用 Powershell 检索不理解的命令 尝试使用 Powershell 完成 Powershell 的命令行 使用 Powershell 时&#xff0c;有时您会忘记某个 cmdlet 或想要了解哪些 cmdlet 可用。在这种情况下&#xff0c;最好在互联网上查找&#xff0c;但您也可以使用 Powershell 函数来完成。 以…...

基于 FPGA 的机器博弈五子棋游戏

基于 FPGA 的机器博弈五子棋游戏 一,设计目的 五子棋是一种深受大众喜爱的游戏,其规则简单,变化多端,非常富有趣味性 和消遣性。棋类游戏在具备娱乐性、益智性的同时也因为其载体大多是手机, 电脑等移动互联网设备导致现代社会低头族等现象更加严重,危害青少年的身 体健康…...

uCOSIII实时操作系统 三 移植

目录 uCOSIII简介&#xff1a; 准备工作&#xff1a; 准备基础工程&#xff1a; UCOSIII工程源码&#xff1a; UCOSIII移植&#xff1a; 向基础工程中添加相应的文件夹 向工程中添加分组 常见问题&#xff1a; 下载验证&#xff1a; uCOSIII简介&#xff1a; UCOS-I…...

机器学习之SGD, Batch, and Mini Batch的简单介绍

文章目录 总述SGD(Stochastic Gradient Descent)(随机梯度下降&#xff09;Batch &#xff08;批量&#xff09;mini Batch (迷你批量&#xff09; 总述 SGD, Batch, and Mini Batch是可用于神经网络的监督学习计算权重更新的方案&#xff0c;即∆wij。 SGD(Stochastic Gradi…...

Windows电脑上的多开器与分布式存储系统的关系

Windows电脑上的多开器和分布式存储系统是两个不同的概念&#xff0c;二者之间没有直接的关系。 多开器是一种软件&#xff0c;它可以在Windows电脑上让用户同时运行多个同一应用程序的实例。多开器通常用于游戏玩家和应用程序测试人员等需要同时运行多个实例的用户。 分布式…...

积分球可以用于什么光谱光学检测

积分球是光测量的主要工具之一。积分球可以同时捕获一个光源发出的所有辐射。 1.光源测量 积分球可以用于测量光源的光通量、色温、光效等参数。通过将光源放置在积分球的入口处&#xff0c;球内的光线经过多次反射后形成均匀的照度分布&#xff0c;然后使用光度计或光谱仪对光…...

【力扣面试题】URL化

&#x1f451;专栏内容&#xff1a;力扣刷题⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、题目描述二、题目分析1、使用String内部方法2、使用StringBuilder 一、题目描述 题目链接&#xff1a;URL化 编写一种…...

计算机网络基础(二):物理层、数据链路层及网络层

一、物理层 1.物理层 物理层面的通信标准可以概括划分为与网络基础设施有关的标准和与被传输物理信号有关的标准两类。 网络基础设施的标准&#xff1a;鉴于物理层面的消息互通也是物理层应该兑现的服务&#xff0c;因此物理层的标准还会包括针脚的用途、线缆的材料与设计等…...

小白自学—网络安全(黑客技术)笔记

目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01; 网络安全可以基于攻击和防御视角来分类…...

2.2.3 vim操作合集

1 vim VIM 是 Linux 系统上一款文本编辑器,学习 VIM 最好的文档,应该是阅读学习 VIM 的帮助文档,可以使用本地的帮助文件(vim--->:help),或者使用在线帮助文档。同时针对vim的使用,相应的相书籍也很多,如下 2 vim操作模式 命令模式:默认模式,该模式下可以移动光标…...

解决 Jenkins 性能缓慢的问题~转

解决 Jenkins 性能缓慢的问题 Docker中文社区 ​​ 计算机技术与软件专业技术资格持证人 2 人赞同了该文章 没有什么比缓慢的持续集成系统更令人沮丧的了。它减慢了反馈循环并阻止代码快速投入生产。虽然像使用性能更好的服务器可以为您争取时间&#xff0c;但您最终必须投资…...

Matrix卡顿优化之IdleHandlerLagTracer源码分析

前言 IdleHandler是Android系统为开发者提供的一种在消息队列空闲时运行任务的机制&#xff0c;通过IdleHandler执行的任务优先级低于主线程优先级&#xff0c;会在主线程任务执行完成后再执行&#xff0c;所以适用于一些实时性要求不高的任务&#xff0c;通常用于Android启动…...

(ubuntu)Docker 安装linux 详情过程

文章目录 前言Docker 安装linux第一步&#xff1a;使用dokcker 拉取镜像&#xff1a;第二步&#xff1a;创建本地目录&#xff08;用于挂载&#xff09;第三步&#xff1a;&#xff08;上传配置文件&#xff09;修改配置文件第四步&#xff1a;创建docker容器第五步: 测试本地连…...

ArcMap:第二届全国大学生GIS技能大赛(广西师范学院)详解-上午题

目录 01 题目 1.1 第一小题 1.2 第二小题 1.3 第三小题 1.4 数据展示 02 思路和实操 2.1 第一问思路 2.2 第一问操作过程 2.2.1 地理配准 2.2.2 镶嵌 2.2.2.1 第一种镶嵌方法 2.2.2.2 第二种镶嵌方法 2.2.3 裁剪 2.2.4 DEM信息提取 2.2.5 分类 2.3 第二问思路 …...

Blender 导出 fbx 到虚幻引擎中丢失材质!!!(使用Blender导出内嵌材质的fbx即可解决)

目录 0 引言1 Blender导出内嵌纹理的fbx模型 0 引言 我在Blender处理了一些fbx模型后再次导出到UE中就经常出现&#xff0c;材质空白的情况&#xff08;如下图所示&#xff09;&#xff0c;今天终于找到问题原因&#xff0c;记录下来&#xff0c;让大家避免踩坑。 其实原因很简…...

C++交换a和b的方法

以下是用C编写的交换a和b的六种方法&#xff1a; 1. 方法一&#xff1a;使用临时变量 #include <iostream>int main() {int a 5;int b 10;std::cout << "Before swapping: a " << a << ", b " << b << std::end…...