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

嵌入式硬件实战提升篇(三)商用量产电源设计方案 三路电源输入设计 电源管理 多输入供电自动管理 DCDC降压

引言:本文你能实际的了解到实战量产产品中电源架构设计的要求和过程,并且从实际实践出发搞懂电源架构系统,你也可以模仿此架构抄板到你自己的项目,并结合硬件篇之前的项目以及理论形成正真的三路电源输入设计与开发板电源架构块供读者学习以及运用到实际产品中。

回归PCB设计的本质,PCB设计的核心任务之一就是实现不同电源需求的元器件在同一个电源系统下的有效运行,这就是所谓的电源管理。电源管理不仅仅是设计电源轨,还包括如何协调、稳定并优化不同工作电压、不同功率需求的元器件之间的关系。电源架构设计的目标是确保每个电路模块都能获得稳定、干净的电源,同时避免相互干扰,从而保证整个系统的高效运行。

目录

一、项目需求

二、TYPE-C 5V输入

1. Type-C接口设计与功能

2. 静电放电(ESD)保护设计

3. 过流保护设计

4. 电源输入与输出的限流设计

5. 综合保护策略

三、40P排针双调试口5V 5V输入||输出

1. 过压保护

2. 过流保护

3. 防反接保护

四、GH1.25-2P 8-24V输入

1. 四路DCDC降压

2. 测试点

3. LDO(低压差线性稳压器)与RTC、ADC供电

4. 电源上电时序

通过项目导向性进行学习最切合实际的高速板的绘制和理论结合实践的知识体系构建!

一、项目需求

开发板的电源架构,重点考虑了三路电源输入,提高了灵活性和适应性,可以适合多种工作场景和设备环境;要做过压过流防倒灌保护,提供全面的保护,降低操作失误时造成的损坏;排针的5V既支持5V输入,也可对外供电,可以自动切换的双向供电,保证了多输入供电时的自动管理;采用了DCDC降压方案,可以将8V-24V转换为5V,适用广泛的电压输入范围,适用于使用3S及以上的锂电池外部大电压供电的场景。

二、TYPE-C 5V输入

图中上半部分是TYPE-C接口,既可以供电,也可以数据交互。两个CC脚都接入了5.1K的下拉电阻,具体为什么可以去看看TYPE-C规范文档。如果是A口供电的话不焊接这两个5.1K下拉电阻是OK的;当用C口供电时,没有这两个下拉电阻,开发板将不会被供电。开发板有两个USB,在开发板上,USB0用作DEVICE设备来和CanMV上位机进行交互。USB1用作HOST等待后续接入以太网或者U盘,这里的TYPE-C连入了开发板的的USB0。

1. Type-C接口设计与功能

  • Type-C接口的供电与数据交互:
    Type-C接口既支持数据传输,也支持电源供给。该接口具有双向供电功能,因此可以通过同一个接口同时供电和进行数据交换。Type-C接口用于识别连接设备的关键信号线,通过向CC脚施加下拉电阻(通常为5.1KΩ),能够明确供电方向并启用Type-C供电功能。

    • 如果使用A口(传统USB-A端口)供电,通常不需要这两个下拉电阻,因为A口供电方向是固定的,不涉及设备识别过程。
    • 若使用C口供电,必须确保这两个5.1KΩ的下拉电阻存在,否则开发板将无法识别并启用电源,从而无法供电。
  • USB0与USB1端口的配置:

    • USB0端口设置为DEVICE模式,与上位机进行数据交互。它允许开发板作为一个外设通过USB与上位机进行通信。
    • USB1端口设置为HOST模式,用于未来扩展,例如连接以太网接口USB存储设备(如U盘)。
      Type-C接口连接至开发板的USB0端口,作为开发板的供电和数据交互接口。

2. 静电放电(ESD)保护设计

  • ESD保护:
    在USB数据线D+和D-上放置ESD保护二极管阵列,目的是防止来自外部设备或电源的静电对USB数据线及芯片造成损害。这些二极管在正常工作状态下不导电,但当电压急剧上升至超过二极管的击穿电压时,二极管会导通,将过高的电压迅速引流至地线,从而保护电路。
    由于ESD事件的持续时间极短(通常在纳秒级别),这些保护器件能在极短时间内响应,并迅速将电流引导至地面,避免了高压脉冲对电路的影响。

  • 钳位(过压)保护:
    ESD保护器件还内置了一个钳位二极管,其作用是防止电压超过设定的安全范围。当电压超过钳位二极管的触发电压时,二极管会从高阻态迅速转变为低阻态,允许电流流过,并将过电压“钳位”在一个安全水平。
    例如,在USB接口处,如果出现过高电压(例如USB端口电压超过5V),钳位二极管会将电压限制在一定范围内,防止高电压损害连接的元器件。

VOUT电源开关输出引脚,向负载提供电压。
GND               地引脚,连接到电路的地面,提供电流回路的闭合。外部连接至Power PAD。
SET   外部电阻引脚,用于设置电流限制阈值。
EN              启用输入引脚,逻辑高电平时开启电源开关,低电平时关闭电源开关。
VIN  输入电压引脚,连接电源输入。建议在VIN与GND之间连接一个10uF或更大容量的陶瓷电容,尽量靠近IC以保证稳定的输入电压。

3. 过流保护设计

  • MT9700电子负载开关:
    MT9700西安航天民芯推出的一款低功耗、低成本电子负载开关,具备过热保护、过流保护等功能。MT9700的过流保护可以通过外部电阻(如R1)来设置电流阈值,确保电流不会超过设定范围。
    在你的设计中,选择了3.4KΩ的电阻来设置电流上限为2A,计算公式为: Iset(A)=6.8KΩRset(KΩ)I_{set}(A) = \frac{6.8KΩ}{R_{set}(KΩ)}Iset​(A)=Rset​(KΩ)6.8KΩ​ 这样设计的目的是确保在发生过流时,负载开关能够迅速切断电路,保护K230及其周边电路免受损害。

相关layout也给出来供大家参考。

4. 电源输入与输出的限流设计

  • 输入限流设计:
    左下角的5V输入限流设计通过MT9700的过流保护功能,确保了排针(或USB输入)处的电流不会超过2A。这对于保护电源和防止过大电流输入到系统中的其他部分(尤其是K230芯片)非常重要。
    设计中使用非门来控制MT9700的使能信号,确保只有在电脑USB没有提供电源时,排针输入的电源才会供给后续电路。这种设计可以保证USB供电和排针供电的优先级,避免出现电源冲突。

  • 输出限流设计:
    右下角的5V限流输出设计同样使用MT9700进行过流保护。为避免因电流过大造成电路不稳定,设计将输出电流限制在1A,既满足了K230芯片和周边电路的供电需求,又避免了因电流过大导致的热量积聚或设备损坏。
    这种限流设计不仅有助于保护主控芯片本身,也确保了电路在高负载时仍能保持稳定工作,从而避免因电流过载而导致的潜在风险。

5. 综合保护策略

  • 整合保护功能:
    综合来看,电源架构不仅考虑了基本的供电需求,还包括了静电保护、过压保护、过流保护等多种保护机制。这些保护设计能够有效防止电源端的高压、静电和过流事件对设备造成损害,确保电路系统长期稳定运行。
  • 电源管理:
    通过合理配置和选用适合的保护器件(如MT9700、ESD保护二极管、钳位二极管等),并设置合理的电流保护和限流策略,整个电源管理设计能够有效应对不同的电源输入和负载条件,同时确保系统的安全与稳定性。

三、40P排针双调试口5V 5V输入||输出

这里是DCDC降压,可以把8-24V输入的电压降为5V给后续电路使,使用的DCDC芯片为TPS54302DDCR,最高支持28V的输入,这里标注最大24V是为了留出余量,确保在输入电压波动或瞬时过压的情况下,电源系统仍能稳定工作,不会因电压过高而损坏。这样的设计提高了电源系统的可靠性和鲁棒性,同时也延长了DCDC芯片的使用寿命,使用时不要供超过24V。

1. 过压保护

  • 原理: 过压保护是通过钳位二极管来实现的。钳位二极管是一种能够在电压超过一定阈值时自动起作用的元件。在正常情况下,钳位二极管保持在高阻态(即不导电),对电路的正常工作没有影响。当电路中的电压超过钳位二极管的设计激活电压时,钳位二极管会迅速从高阻态转变为低阻态(即导电状态),将多余的电压通过二极管引导到地线,限制电压上升,防止电压过高损坏电路中的其他元件。

  • 工作过程:

    • 正常工作时: 电源电压在正常范围内,钳位二极管不导电,电路正常运行。
    • 过压情况时: 电压超过钳位二极管的激活电压(如超过5V或12V等),钳位二极管开始导电,电流通过二极管流向地线,将电压限制到一个安全值(如5.6V),防止电压继续上升,保护后续电路。
  • 钳位电压: 钳位二极管的工作原理类似于“电压保护器”,它将电压限制在一个安全的水平,一旦超过该阈值,二极管会导通,将电压钳位在安全值范围内。


2. 过流保护

  • 原理: 过流保护通常使用自恢复保险丝(PTC热敏电阻)来检测和控制电流。自恢复保险丝在电流超过额定值时,会迅速升温,从而改变其电阻值,减少流过的电流,并阻止过大的电流损坏电路。该保险丝具有自恢复特性,当过流条件解除后,温度下降,电阻恢复到正常值,电路可以重新正常工作。

  • 工作过程:

    • 正常工作时: 电流流过电路和自恢复保险丝,保险丝的电阻很低,几乎不对电流产生影响,电流可以正常流动。
    • 过流情况时: 当电流超过保险丝的额定电流时,电流的增加会导致保险丝内的PTC热敏电阻快速升温。随着温度的升高,PTC热敏电阻的电阻会急剧增加,从而显著减少流经保险丝的电流。高阻态的保险丝会切断电流流动,避免过流现象导致电路损坏。
    • 过流解除后: 当电流降低到安全范围时,PTC热敏电阻温度下降,电阻值恢复正常,电流可以再次流过电路,保险丝“自恢复”。
  • 实验验证:

    • 可以通过对自恢复保险丝吹热风枪来模拟过流情况。当PTC热敏电阻升温并达到其过流阈值时,保险丝会进入高阻状态,切断电流。一旦冷却,电阻值降低,电流再次通过。

3. 防反接保护

  • 原理: 防反接保护用于防止电源接反时对电路的损坏。当电源电压接反时,电路中的二极管(如D3)会导通,从而通过自恢复保险丝切断电流流向电路,避免过大电流直接流入电路内部,保护电路不受损坏。

  • 工作过程:

    • 正常接入电源时: 电源的正极和负极正确连接,电源电压正常供电。此时,钳位二极管(D3)不会导通,电流按照设计流向负载电路。
    • 电源接反时: 当电源接反时,二极管D3的接地脚(本应为负极)变成了电源的正极,D3导通。由于电源反接,流过电路的电流将通过二极管D3引导到自恢复保险丝,从而导致电流过大。此时,电流会迅速升高,导致自恢复保险丝(F1)迅速升温,并进入高阻态,阻断电流流动。
    • 自恢复保险丝生效: 因为电流大于设定的2A,保险丝会迅速升温,PTC电阻值增加,电流减小,切断反接电源对电路的损坏。
  • 电源接反后的保护: 由于自恢复保险丝限制了电流,电源接反时对电路的损害会被有效避免。待电源接正后,保险丝冷却,电流恢复正常,电路重新供电。

更多参考的案例如下手册也包含可以去看看。

四、GH1.25-2P 8-24V输入

1. 四路DCDC降压

在你的电路中,采用了 TLV62569DBVR 降压芯片来将5V的输入电压转化为多个不同的输出电压,具体包括 0.8V、1.1V、1.8V 和 3.3V。四路电源的电路结构基本相同,但它们的输出电压是通过调整反馈电路的阻值(电阻)和电感的容值来实现的。

以0.8V降压为例,详细解析如下:

  • C13 和 C14:这两个电容用于滤除输入电压中的噪声和纹波,确保输入电压稳定。这有助于保持 DCDC 降压芯片的稳定工作,并减少电压波动。

  • R12:R12电阻将 DCDC 降压芯片的使能脚(EN)拉高。EN引脚控制降压芯片的启用,拉高使芯片进入工作状态。此时,5V的输入电源就能使降压芯片输出0.8V。

  • L2:L2是一个一体成型电感(Inductor),它与 DCDC 芯片共同工作,储存和释放能量,平滑电流,减少纹波。电感有助于调节电流,避免输出电压的剧烈波动,确保电压稳定输出。

  • R13 和 R14:这两个电阻连接在 DCDC 降压芯片的反馈引脚(FB)上,决定了输出电压的大小。通过调整这两个电阻的值,可以改变输出电压。电阻分压比决定了反馈电压,从而调节输出电压。具体的调节公式通常会根据芯片的规范书提供。通常,输出电压 VoutV_{out}Vout​ 与反馈电压 VfbV_{fb}Vfb​ 之间的关系是:

    通过调整R13和R14的值,就能得到所需的输出电压。


相关layout如下参考:

2. 测试点

每个电源输出都有一个测试点(例如TP9,TP10等),这些测试点的作用如下:

  • 调试时测量电压:这些测试点方便工程师在调试过程中实时监测各电源输出电压是否正常。
  • 批量测试:在生产测试阶段,测试点方便自动化测试设备测量各个电压点,确保每块开发板正常工作。
  • 维护和问题诊断:当开发板出现问题时,使用万用表或者自动化测试工具,可以快速检查各个电源的输出,帮助快速定位故障原因。

3. LDO(低压差线性稳压器)与RTC、ADC供电

  • U11(LDO):LDO用来为 RTC(实时时钟)ADC(模数转换器) 提供稳定的低电压电源。RTC和ADC通常需要较为稳定的低电压电源,以保证其高精度工作。

  • U12(电子功率开关):U12是一个功率开关,用于控制电源的开关。它的工作与K230芯片的PMU模块(电源管理单元)相结合。具体来说,当 OUT0 输出高电平时, PRE_VDD_5V 电源就能够提供 VDD_5V,从而使得整个系统获得供电。PMU模块可以通过检测外部事件(比如外部按键的长按)来控制电源开关,完成系统的上电。

  • OUT0的控制:K230芯片的PMU模块通过 INT 引脚来监测外部事件。当外部按键长按时,OUT0 会输出高电平,触发后级电源供电。具体来说,INT0 管脚用于长按3秒后触发电源开启,而 INT4 则用于上拉检测,一旦检测到高电平,OUT0 输出高电平,启动电源。

  • VDD_5V的上电过程:在此电路中,VDD_5V 由PMU模块控制通过 OUT0 来供电。供电条件是 VDD1V8_RTC 必须首先提供供电,确保RTC和低速晶振正常工作。一旦满足条件,K230的PMU模块便会控制 VDD_5V 上电。


4. 电源上电时序

在电路设计中,电源的上电顺序是非常重要的,特别是对于复杂的集成电路(如K230)而言。上电顺序的正确性直接影响到系统的稳定性。根据硬件文档,要求各个电压轨的上电顺序如下:

  • VDD0P8_CORE 必须在 VDD1P8、VDDIO3P3_0 到 VDDIO3P3_5 的 IO 接口电压上电之前。
  • AVDD0P8_MIPI 必须早于 AVDD1P8_MIPI
  • AVDD1P8_RTC 必须早于 AVDD1P8_LDO
  • 其余电源电压轨的上电顺序没有严格要求。

0.8V降压芯片的使能脚:0.8V的降压芯片没有电容用于使能(EN脚),一旦5V输入电源到来,0.8V芯片就直接输出。而其他三个输出电压(1.1V、1.8V、3.3V)则需要等待其EN脚的电容充电完成,才会开始输出电压。这是为了确保电源在上电时符合电源顺序要求,避免同时过早地启用多个电源轨,造成不稳定。

  • 延迟上电的目的:通过在EN脚加电容,使得1.1V、1.8V、3.3V的电源有一个延迟的上电时间,从而保证了0.8V电源先行上电,符合电源顺序要求。

相关文章:

嵌入式硬件实战提升篇(三)商用量产电源设计方案 三路电源输入设计 电源管理 多输入供电自动管理 DCDC降压

引言:本文你能实际的了解到实战量产产品中电源架构设计的要求和过程,并且从实际实践出发搞懂电源架构系统,你也可以模仿此架构抄板到你自己的项目,并结合硬件篇之前的项目以及理论形成正真的三路电源输入设计与开发板电源架构块供…...

【机器学习】机器学习的基本分类-监督学习-逻辑回归-Sigmoid 函数

Sigmoid 函数是一种常用的激活函数,尤其在神经网络和逻辑回归中扮演重要角色。它将输入的实数映射到区间 (0, 1),形状类似于字母 "S"。 1. 定义与公式 Sigmoid 函数的公式为: 特点 输出范围:(0, 1),适合用…...

EasyDarwin搭建直播推流服务

学习链接 easydarwin官网 - 这里看介绍 easydarwin软件下载地址 - 百度网盘 easydarwin视频 B站 文章目录 学习链接使用下载EasyDarwin压缩包,并解压到目录启动EasyDarwin点播直播easyplayer.jsapidocffmpeg推流rtsp & ffplay拉流 使用 下载EasyDarwin压缩包…...

无人机数据处理系统:原理与核心系统

一、数据处理系统的运行原理 数据获取:无人机在飞行过程中,通过搭载的传感器(如相机、激光雷达等)采集到各种类型的数据,例如图像、点云等。这些数据是后续处理和分析的基础。 数据传输:采集到的数据会通…...

DLL中的inline static成员变量:Windows开发中的常见陷阱

在Windows平台进行C开发时,DLL(动态链接库)是一个非常重要的概念。它让我们能够实现代码的模块化和动态加载,提高了程序的灵活性和维护性。然而,当我们在DLL中使用C17引入的inline static成员变量时,可能会…...

pandas 读写excel

在Python中,使用Pandas库读写Excel文件是一个常见的操作。Pandas提供了read_excel和to_excel方法来分别实现读取和写入Excel文件的功能。以下是一些基本的示例: ### 读取Excel文件 python import pandas as pd # 读取Excel文件 df pd.read_excel(pat…...

记录Threadlocal使用

编写ThreadLocal工具类 package com.jjking.jplan.context;public class BaseContext<T> {public static final ThreadLocal threadLocal new ThreadLocal();//存储用户public static void set(Object t) {threadLocal.set(t);}//获取用户public static <T> T ge…...

2024 ccpc 辽宁省赛 E(构造 思维?)L(二分+一点点数论知识?)

E 题意&#xff1a; 可以注意到&#xff1a; 我的两种方格都四个方格的大小。 所以 如果存在一种摆放方式 那么 4|nm。 再考虑一种特殊的情况 22 &#xff0c;此时虽然我的积是4 但是无法摆放的。 1>对于 4 | n,或者 4 | m.我直接摆放第二种方格就可以了。 如果我n 是4 的…...

【iOS】设计模式的六大原则

【iOS】设计模式的六大原则 文章目录 【iOS】设计模式的六大原则前言开闭原则——OCP单一职能原则——SRP里氏替换原则——LSP依赖倒置原则——DLP接口隔离原则——ISP迪米特法则——LoD小结 前言 笔者这段时间看了一下有关于设计模式的七大原则&#xff0c;下面代码示例均为OC…...

网络安全:攻防技术-Google Hacking的实现及应用

前言 google hacking其实并算不上什么新东西&#xff0c;在早几年我在一些国外站点上就看见过相关的介绍&#xff0c;但是由于当时并没有重视这种技术&#xff0c;认为最多就只是用来找找未改名的mdb或者别人留下的webshell什么的&#xff0c;并无太大实际用途。但是前段时间仔…...

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。-多语言

目录 C 语言实现 Python 实现 Java 实现 Js 实现 Ts 实现 题目&#xff1a;输入一行字符&#xff0c;分别统计出其中英文字母、空格、数字和其它字符的个数。 程序分析&#xff1a;利用while语句,条件为输入的字符不为\n。 C 语言实现 #include <stdio.h>int mai…...

2-2-18-9 QNX系统架构之文件系统(三)

阅读前言 本文以QNX系统官方的文档英文原版资料为参考&#xff0c;翻译和逐句校对后&#xff0c;对QNX操作系统的相关概念进行了深度整理&#xff0c;旨在帮助想要了解QNX的读者及开发者可以快速阅读&#xff0c;而不必查看晦涩难懂的英文原文&#xff0c;这些文章将会作为一个…...

各大浏览器(如Chrome、Firefox、Edge、Safari)的对比

浏览器如Chrome、Firefox、Edge等在功能、性能、隐私保护等方面各有特点。以下是对这些浏览器的详细对比&#xff0c;帮助你选择合适的浏览器。 1. Google Chrome 市场份额&#xff1a;Chrome是目前市场上最流行的浏览器&#xff0c;约占全球浏览器市场的65%以上。 性能&#…...

nginx搭建直播推流服务

文章目录 学习链接步骤使用nginx搭建直播推流服务安装依赖库下载nginx-http-flv-module模块下载nginx解压nginx&#xff0c;进入nginx目录设置nginx编译配置编译并安装配置nginx rtmp服务启动nginx 准备另外一台电脑下载OBS下载OBS windows | linux 安装vlc观看直播flv协议hls协…...

单片机-- 松瀚sonix学习过程

硬件&#xff1a;松瀚sn8f5701sg、SN-LINK 3 Adapter模拟器、sn-link转接板 软件&#xff1a; keil-c51&#xff08;v9.60&#xff09;&#xff1a;建立工程&#xff0c;编辑&#xff0c;烧录程序 SN-Link_Driver for Keil C51_V3.00.005&#xff1a;安装sonix设备包和snlin…...

循环神经网络:从基础到应用的深度解析

&#x1f35b;循环神经网络&#xff08;RNN&#xff09;概述 循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;是一种能够处理时序数据或序列数据的深度学习模型。不同于传统的前馈神经网络&#xff0c;RNN具有内存单元&#xff0c;能够捕捉序列中前后信息…...

从扩散模型开始的生成模型范式演变--SDE

SDE是在分数生成模型的基础上&#xff0c;将加噪过程扩展时连续、无限状态&#xff0c;使得扩散模型的正向、逆向过程通过SDE表示。在前文讲解DDPM后&#xff0c;本文主要讲解SDE扩散模型原理。本文内容主要来自B站Up主deep_thoughts分享视频Score Diffusion Model分数扩散模型…...

【python使用kazoo连ZooKeeper基础使用】

from kazoo.client import KazooClient, KazooState from kazoo.exceptions import NoNodeError,NodeExistsError,NotEmptyError import json# 创建 KazooClient 实例&#xff0c;连接到 ZooKeeper 服务器 zk KazooClient(hosts127.0.0.1:2181) zk.start()# 定义节点路径 path…...

【设计模式系列】解释器模式(十七)

一、什么是解释器模式 解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为型设计模式&#xff0c;它的核心思想是分离实现与解释执行。它用于定义语言的文法规则&#xff0c;并解释执行语言中的表达式。这种模式通常是将每个表达式抽象成一个类&#xff0c;并通…...

只出现一次的数字

只出现一次的数字 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使用常量额外空间。 示例 1 &#xff…...

SpringMVC-08-json

8. Json 8.1. 什么是Json JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式&#xff0c;目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写&#xf…...

技术文档的语言表达

技术文档的语言表达 在这个瞬息万变的技术世界中&#xff0c;了解如何撰写有效的技术文档显得尤为重要。无论是开发团队还是最终用户&#xff0c;清晰、简洁且有条理的文档都是连接各方的桥梁。本文将深入探讨技术文档的语言表达&#xff0c;从其重要性、写作原则到各种类型&a…...

UEFI 事件

UEFI 不再支持中断&#xff08;准确地说&#xff0c;UEFI 不再为开发者提供中断支持&#xff0c;但在UEFI内部还是使用了时钟中断&#xff09;&#xff0c;所有的异步操作都要通过事件&#xff08;Event&#xff09;来完成。 启动服务为开发者提供了用于操作事件、定时器及TPL…...

大师开讲-图形学领域顶级专家王锐开讲Vulkan、VSG开源引擎

王锐&#xff0c;毕业于清华大学&#xff0c;图形学领域顶级专家&#xff0c;开源技术社区的贡献者与推广者。三维引擎OpenSceneGraph的核心基石开发者与维护者&#xff0c;倾斜摄影数据格式osgb的发明人。著有《OpenSceneGraph 3 Cookbook》,《OpenSceneGraph 3 Beginers Guid…...

小F的矩阵值调整

问题描述 小F得到了一个矩阵。如果矩阵中某一个格子的值是偶数&#xff0c;则该值变为它的三倍&#xff1b;如果是奇数&#xff0c;则保持不变。小F想知道调整后的矩阵是什么样子的。 测试样例 样例1&#xff1a; 输入&#xff1a;a [[1, 2, 3], [4, 5, 6]] 输出&#xff1a…...

ORB-SLAM2 ----- LocalMapping::SearchInNeighbors()

文章目录 一、函数意义二、函数讲解三、函数代码四、本函数使用的匹配方法ORBmatcher::Fuse()1. 函数讲解2. 函数代码 四、总结 一、函数意义 本函数是用于地图点融合的函数&#xff0c;前面的函数生成了新的地图点&#xff0c;但这些地图点可能在前面的关键帧中已经生成过了&a…...

给UE5优化一丢丢编辑器性能

背后的原理 先看FActorIterator的定义 /*** Actor iterator* Note that when Playing In Editor, this will find actors only in CurrentWorld*/ class FActorIterator : public TActorIteratorBase<FActorIterator> {//..... }找到基类TActorIteratorBase /*** Temp…...

【Docker】常用命令汇总

Docker 是1个开源的应用容器引擎&#xff0c;基于Go 语言并遵从 Apache2.0 协议开源。 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。 容器是完全使用沙箱机制&#xff0c;相…...

Mybatis:CRUD数据操作之多条件查询及动态SQL

Mybatis基础环境准备请看&#xff1a;Mybatis基础环境准备 本篇讲解Mybati数据CRUD数据操作之多条件查询 1&#xff0c;编写接口方法 在 com.itheima.mapper 包写创建名为 BrandMapper 的接口。在 BrandMapper 接口中定义多条件查询的方法。 而该功能有三个参数&#xff0c;…...

【笔记】轻型民用无人驾驶航空器安全操控

《轻型民用无人驾驶航空器安全操控》 理论考试培训材料 法规部分 【民用无人驾驶航空器的分类】 1、如何定义微型、轻型无人驾驶航空器&#xff1f; 微型无人驾驶航空器&#xff0c;是指空机重量小于0.25千克&#xff0c;最大平飞速度不超过40千米/小时&#xff0c;无线电发…...

长沙网站建设哪家靠谱/郑州见效果付费优化公司

String.prototype.charAt()str.charAt(index)返回字符串中指定位置的字符。字符串中的字符从左向右索引&#xff0c;第一个字符的索引值为 0&#xff0c;最后一个字符(假设该字符位于字符串 stringName 中)的索引值为 stringName.length - 1。如果指定的 index 值超出了该范围&…...

网站中捕获鼠标位置/色盲测试图及答案大全

接触数据库的时间也不短&#xff0c;通过暑假的《耿建玲数据库系统管理与维护》又更加系统的强化了一次&#xff0c;下面先谈谈我对这一个系列视频学习后的感受。 这个视频一共13章43集&#xff0c;看完第一遍的时候&#xff0c;感觉真的是“囫囵吞枣”那样直接把它装到了自己的…...

品牌建站/sem竞价是什么

https://ww2.mathworks.cn/help/matlab/ref/colon.html (帮助中心) 3. 向量和矩阵 创建包含多个元素的 MATLAB 变量。 手动输入数组 任务 1 创建一个名为 x 并且值为 4 的变量。 >> x=4 任务 2 创建一个名为 x 的数组,其中两个元素位于同一行中:7 和 9 >> x=…...

扁平化配色方案网站/在线域名查询网站

给定一个字符串s&#xff0c;将s分割成一些子串&#xff0c;使每个子串都是回文串。 返回s所有可能的回文串分割方案。 样例 给出 s "aab"&#xff0c;返回 [ [“aa”, “b”], [“a”, “a”, “b”] ] 分析&#xff1a;采用深度优先搜索即可&#xff0c;这种回文串…...

网站后台如何更改/竞价托管如何托管

自从猿来入此发布实战开发教程以来&#xff0c;我们截至目前一共发布了22个Java实战项目开发教程&#xff0c;从最基础的Java控制台实战项目到数据库封装教程再到swing的单机项目教程、servlet的web实战教程、ssm框架的实战教程直到现在的springboot项目的实战教程&#xff0c;…...

鞍山站/个人建站

一.命令行多窗口参数 vim -o file1 file2 ... #水平打开多窗口&#xff0c;vim -O file1 file2 ... #垂直打开多窗口,vim -d file1 file2 ... #垂直打开多窗口,并且进行比较vimdiff file1 file2 .. #等同于上一句二.VIM 多窗口命令在已经打开编辑界面时&#xff0c;如果要进…...