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

硬件-射频-PCB-常见天线分类-ESP32实例

文章目录

    • 一:常见天线
    • 1.1 PCB天线
      • ①蓝牙模块的蛇形走线-天线
      • ②倒F天线-IFA:
      • ③蛇形倒F天线-MIFA
      • ④立体的倒F天线-PIFA
    • 1.2 实例示意图
      • 1.21 对数周期天线(LPDA):
      • 1.22 2.4GHZ的八木天线:
      • 1.23 陶瓷天线:
      • 1.24 外接天线:
    • 二:ESP32的射频设计
      • 2.1 ESP32-C3射频电路
      • 2.2 ESP32-C3射频调试电路
      • 2.3 上机匹配调试
      • 阻抗匹配步骤:
    • 三:ESP32射频的PCB Layout设计
      • 3.1 确定PCB板层数量与层压结构
      • 3.2 计算阻抗线参数
      • 3.3 匹配电路+芯片布局
    • 四:天线的 layout 注意事项:(以倒 F 天线为例)
      • 4.1 PCB layout 画天线(全文重点)
      • 4.2 芯片部分:
      • 4.3 倒F天线参数公式
    • 道友:患焦虑症的人担心的事85%不会发生。即使担心的事发生了,79%的结果也比预期的要好,结果比预期更差的情况只占总体的3%。简言之,97%的担忧都是杞人忧天。

一:常见天线

1.1 PCB天线

天线形式有 :单极 、IFA 、loop这三大类;
根据材料则有 金属框、 MDA、 LDS 、FPC 、PDS等等
总之天线设计这件事儿,一定要听劝——专业的事交给专业的人。

  • 蓝牙无线数据的收发,主要借助于2.4G的无线信号作为载波来进行数据的交换,所以,
    蓝牙天线起到至关重要的作用,如果不考虑成本及体积,可以选用效率高的天线,如外置的鞭状天线、橡胶套天线(大尺寸、高性能、高成本)、PIFA 天线等,或者选用体积更小的陶瓷天线(成本高、空间小、效率低)。

①蓝牙模块的蛇形走线-天线

  • 因成本和产品空间的限制,目前我们用的较为广泛的是直接将天线做到 PCB 板上,称
    为 PCB 微带天线,而 PCB 天线是低成本、小尺寸,只要设计得当又能获得足够性能的天线。
    应用较多的 PCB 天线类型有四分之一波长的蛇型天线和 IFA 天线(俗称倒 F 天线),在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

②倒F天线-IFA:

用于无线通信的天线,它是由一个单极天线组成,平行于地面,一端接地

在这里插入图片描述在这里插入图片描述在这里插入图片描述

③蛇形倒F天线-MIFA

  • 蛇形天线是半波振子天线变形(为了省空间),因其少了一个天线臂(¼λ),输入阻抗
    为 36.6R,所以,其效率只有半波振子天线的一半,并且只有一个线极化方向,抗干扰能力
    差,所以很少用在室内或环境复杂的公共场所,现在的 2.4G天线(BlueTooth、ZigBee、
    WiFi),包括手机等手持无线设备,一般都用PIFA天线(平面倒 F 天线),或IFA(俗
    称倒F天线)天线,因IFA天线具有两个极化方向(水平跟垂直极化)和等向辐射特性(各
    个方向上辐射密度相等),所以IFA天线可以有效地增强接收效果。在这里插入图片描述在这里插入图片描述
  • 三个参数的主要影响:
    L 增加时,谐振频率降底,输入阻抗减小,天线呈感性。
    H 增加时,谐振频率降底,输入阻抗增加,天线呈感性。
    S 增加时,谐振频率升高,输入阻抗减小,天线呈容性。(主要影响带宽)
    因此,只要适当选取这三个参数,就能使倒 F 天线谐振在任意的频率上,且可以使得
    天线的输入阻抗非常接近 50 欧姆的纯电阻。这样就可以达到不需要匹配元件就能实
    现跟微波传输线的阻抗匹配。

④立体的倒F天线-PIFA

在这里插入图片描述

  • 总结:其中蛇形倒F天线因其体积小,也没什么成本,被广泛用于各种人机接口设备(HID)中,其迹线一般会放置在PCB顶层,并且需要根据PCB的不同厚度调整天线长度去匹配阻抗和频率,其中切割天线会使其频率升高,所以当设计不确定时更建议将走线画长一点,毕竟切割比加长容易得多,这类F型天线效率和性能相对较低,且容易被主板干扰,除了这类F型天线,PCB天线还有对数周期天线、八木天线、车轮天线、MMIC天线、贴片列阵天线等
    在这里插入图片描述

1.2 实例示意图

1.21 对数周期天线(LPDA):

  • 像芭蕉扇,是一种宽频带多元定向天线,常用于点对点通讯,可以接收发送中、短波信号,不仅可以作为有线电视天线,也可以接收电台信号,还可以用于发送数字基站的科技讯号,属于全向型天线,主要这东西还防水。
    在这里插入图片描述

1.22 2.4GHZ的八木天线:

  • 优点好似增益高、方向性好,其是定向天线,由于它们将所有输入都集中在一个方向上,因此相对于对数周期天线,它们具有更高的增益,适合接收低强度信号,虽然带款或频率范围受到一定限制,当然,无论哪种PCB走线,都非常占用面积,而有一种板载天线就很小,第三种
    在这里插入图片描述

1.23 陶瓷天线:

  • 也叫芯片天线,体积小,由于陶瓷的介电常数较高,长的像电容,陶瓷天线可以通过电容器和电感器进行谐调,因此特别适合于蓝牙装置,GPS定位设备等小型化天线中使用,但小型陶瓷贴片成本较高,且通常具有特别窄的带宽,且贴片式的陶瓷天线更换非常便捷,不需要重新设计PCB板,拥有更大的调整通用性。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

1.24 外接天线:

  • 比如WIFI路由器上使用的这类棒状天线,或者IPEX接口天线,外接天线的信号方向指向性好,效率高,抗干扰能力强,能远离主板上的干扰,而且不用过多的进行调试匹配,但是成本高,占用体积大
    在这里插入图片描述

二:ESP32的射频设计

点我跳转乐鑫科技ESP官网-ESP硬件设计指南

2.1 ESP32-C3射频电路

ESP32-C3 系列芯片的射频电路主要由三部分组成:PCB 板射频走线、芯片匹配电路、天线及其匹配电路。各部分电路应满足以下设计规范:
① PCB 板射频走线:需进行 50 Ω 阻抗控制。
②芯片匹配电路:请尽量靠近芯片放置,优先采用 CLC 结构。

  • CLC 结构主要用于阻抗匹配及谐波抑制,空间允许的情况下可以再加一组 LC。
  • 芯片匹配电路如图 ESP32-C3 系列芯片射频匹配电路图 所示。

③ 天线及其匹配电路:为保证辐射性能,建议天线的输入阻抗为 50 Ω 左右。为保险起见,推荐在靠近天线位置增加一组 π 型匹配电路,用于调节天线的输入阻抗。如果经过仿真可以确保天线阻抗点为 50 Ω 左右,并且空间较小,则可以不加天线端的匹配电路,50 Ω这个数值是经过数学和实践得出来,使天线具有最高效率的一个阻抗匹配的值。

ESP32-C3 系列芯片射频匹配电路图
在这里插入图片描述

2.2 ESP32-C3射频调试电路

射频匹配网络的参数值和PCB板有关,不要直接使用模组的匹配值,须按照下述射频调试进行确认
图 ESP32-C3 射频调试示意图 展示了射频调试的大概过程。

ESP32-C3 射频调试示意图
在这里插入图片描述

  • 将芯片匹配电路靠近芯片的端口定义为端口 1,将其靠近天线的端口定义为端口 2。
  • 则 S11 用来描述从端口 1 反射回来的信号功率与输入信号功率之比,如果匹配阻抗与芯片阻抗共轭,则传输性能最佳。
  • S21 用来描述从端口 1 到端口 2 的信号功率传输损耗。如果 S11 接近芯片共轭阻抗点 (35+j0),且 S21 在 4.8 GHz 和 7.2 GHz 频率下小于 -35 dB,则匹配电路可满足传输要求。
  • 将芯片匹配电路的两端分别接到综测仪上,测试其信号反射参数 S11 及传输参数 S21。调试该匹配电路中元件的数值,直至 S11 和 S21 满足上述要求。如果芯片的 PCB 板严格设计遵循章节 PCB 版图布局 里的规范,用户可以参考表 匹配电路元器件推荐数值范围 来调试该匹配电路。

在这里插入图片描述备注:如果不需要使用射频功能,射频引脚可以悬空。

2.3 上机匹配调试

  • 调试分为两个项目:阻抗匹配调试和射频性能调试。
    测试使用的仪器为矢量网络分析仪和IQ综测仪。若条件有限,可只做阻抗匹配调试。
  • 对于DIY用户来说,可使用NanoVNA这类低成本(<1k RMB)的非专业矢量网络分析仪。虽然性能上与专业仪器有差别,但可以用作简单的调试参考,具备一定的指导意义。
  • 也可以找第三方厂商进行收费调试。一般一个频点下一个阻抗值,单次收费一般是200~400RMB。不同仪器具体操作方式不同,但我们需要查看的参数和调试流程大致是一致的,此处仅做简单介绍。

阻抗匹配步骤:

1.矢量网络分析仪,打开Smith阻抗圆图、S11(阻抗)和S21(Loss)测量参数,校准端口,补偿线缆等准备步骤。
2.找到阻抗匹配的开路接入端点,焊接射频同轴线缆。注意线缆接地,需要靠近进接入点,并且焊接接地充分,必要时可刮开接地覆铜的阻焊层做接地点。
在这里插入图片描述3.焊接再匹配网络,串联器件的位置上焊接0Ω/8.2pf。测试本征阻抗。
4.多次调整匹配网络LC串联并联形式,最终使Smith阻抗圆图上,阻抗点回归目标阻抗。
在这里插入图片描述5、查看Smith阻抗点、S11与S21参数是否符合测试要求。可参考3、匹配电路要点-ESP32官方匹配示例。匹配调试大体步骤既是如此,难点便是在于步骤4中,更换匹配器件的参数,控制阻抗走向。此步骤较为繁琐,需要多次尝试,需要一定经验。虽然串并联LC以控制阻抗走向,已有明确的理论指导与辅助工具。但受限于实际器件与环境的寄生参数等影响。理论和实践存在明显差别,还是需要多次的实际调试,较为消磨耐心。

三:ESP32射频的PCB Layout设计

大致流程
1.确定PCB板层数量与层压结构等信息
2.计算阻抗线参数
3.确定天线、匹配电路与芯片的布局
4.射频线布线,优化走线,优化匹配器件焊盘,铺地过孔布置

  • 其中1、2步骤属于前期设计,用于设计传输线阻抗。需要结合生产板厂工艺信息,辅以SI9000等计算工具,计算目标阻抗下传输线线宽等相关信息。3、4步骤则是PCBLayout的实操环节。
  • 嘉立创提供相关信息、计算工具与EDA工具,本次实例以嘉立创作为操作实例。

3.1 确定PCB板层数量与层压结构

  • 注意:本次示例的PCB板材选择使用FR-4硬板。其余如多层FPC软板,刚绕结合板,Rogers,铁氟龙等板材信息与计算方式需要与厂商沟通获取。并使用第三方计算器计算相关阻抗,本文完成时嘉立创暂未支持相关计算。
  • 射频板板层数量一般选取4层以上,2层板主要因板厚过厚,导致阻抗线线宽过宽,难以布线。本次板层数量选用4层。
  • 层压结构上,嘉立创提供共计566种叠层。其中4层板有136种。
    推荐文章《硬件-PCB-叠层设计(四层板六层板)》
    推荐:嘉立创阻抗计算
    在这里插入图片描述在这里插入图片描述

其中我们可以发现结构型号主要与PP层型号关联。PP层使用的是波纤布材料、7628、3313、1080等编号是玻纤布的规格信息。

本次板厚选用1.6,层压结构选用7628,内外层铜厚选用外层1oz,内层0.5oz的常用厚度。是较为常用的工艺参数,

  • 设计4层板在PCB叠层分布如下:
    1-Top signal-(RF传输线布置层,阻抗模式使用共面单端,到铜距离选用10mil)
    2-Gnd-(阻抗参考)
    3-Power
    4-Bottom Signal

3.2 计算阻抗线参数

使用嘉立创下单助手-阻抗计算神器计算相关参数
在这里插入图片描述将步骤1中确定的设计信息填入计算器,点击计算,下方弹出各叠层的计算结果。我们选用的是7628结构,根据7628的计算结果,得出阻抗线的线宽。注意,射频线传输线阻抗模型为共面单端。
在这里插入图片描述计算结果如下,传输线为13.48mil,可取整为13或者14mil。设置到覆铜距离为20mil.在这里插入图片描述

3.3 匹配电路+芯片布局

确定天线、匹配电路、芯片的布局 和 射频线布线、优化走线、优化匹配器件焊盘、铺地过孔布置、
天线要放置,可参考上文结构要点部分,并结合厂商示例手册。
在这里插入图片描述
射频版图设计应遵循以下规范:

  • 1.射频走线上需预留一个π型匹配电路,且π型匹配电路需尽可能地靠近芯片端,并呈Z字型摆放。
  • 2.射频走线须做50欧姆阻抗控制,参考平面为第二层。射频走线在做50欧姆阻抗匹配时,可参考下图所示的PCB叠层结构设计。
    在这里插入图片描述
  • π型CLC匹配网络中靠近芯片侧对地电容的GND焊盘与地之间建议增加短截线,可有效抑制二次谐波。短截线的长度建议为15mil,线宽根据PCB叠层结构进行确定,确保短截线的特征阻抗为100Ω±10%。此外,短截线地孔与第三层相连,第一、二层做keep-out隔离处理。下图中的高亮走线即为短截线。当π型匹配网络元器件封装为0201以上时,则无需做短截线处理。
    在这里插入图片描述注意:
  • 射频走线线宽请注意保持一致,不可有分支走线。射频走线长度须尽量短,并注意周围密集地孔屏蔽。
  • 射频走线在表层,走线不可有过孔,即不能跨层走线,且尽量使用135°角走线或是圆弧走线。
  • 射频走线须保证相邻完整地平面,射频走线下方尽可能不要有任何走线。
  • 射频走线附近不能有高频信号线。射频上的天线必须远离所有传输高频信号的器件,比如晶振、DDR SDRAM、高频时钟等。另外,USB端口、USB转串口信号的芯片、UART信号线(包括走线、过孔、测试点、插针引脚等)等必须尽可能地远离天线。且UART信号线做包地处理,周围加地孔屏蔽
  • 射频的layout对其性能影响较大,在严格的要求下可能需要进行多次修改优化。若有条件可通过HFSS等仿真软件,对不同layout下的天线射频效果进行仿真,以达到较佳的射频性能。

四:天线的 layout 注意事项:(以倒 F 天线为例)

4.1 PCB layout 画天线(全文重点)

  • 由于 PCB 微带天线性能受板材(板厚、介质等)与周围环境(外壳、人体、天线离 PCB 地
    平面距离等)诸多因素的影响,所以天线需选择经过验证的 PCB 天线,推荐使用我们经过
    验证过的天线,否则会严重影响天线的辐射效率。
    1、天线谐振臂 L 到参考地的距离不能随意更改,会影响天线的特性(输入阻抗、谐振
    频率等)。
    2、天线到地的谐振臂过孔位置,尽量在刚进入参考地的地方加一个大的过孔。
    3、匹配网络尽量靠近天线的输入口。
    4、微带线与屏蔽地的距离最少 20mil 的间距,以减少寄生电容的影响。
    5、为减少做板工艺的难度,微带线尽量短,蓝牙 IC 尽量靠近天线位置摆放。
    6、微带线应按照 50 欧阻抗要求来走线,若有 90 度转弯,一定要用弧形布线方式。
    7、保证天线参考地的完整性。
    8、匹配网络元件的接地焊盘附近应加一过孔。
    9、天线 top 部分及对应 bottom 层都需要净空,不能铺铜;
    10、天线周围最好不要有金属结构或元器件、铺地平面、电池、喇叭等吸收或反射电磁
    波的物质存在,最多在其中一面距离一定间隔(至少 5mm)可以放一些元器件。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 1.板厚不同,适用的天线不同
  • 2.PIFA天线到地的距离不要变(很重要),通常在PCB设计时要锁定参考设计复制/拷贝比较好。
  • 3.ANT馈线需要符合50Ω阻抗,背面需铺铜,板厚,粗细与GND间距都要严格按照参考设计。一般在PCB制板时要把ANT馈线标记出来,告知制板厂商,要做50Ω阻抗匹配。
  • 4.天线两边以及底层背部需要尽空
  • 5.天线需要开窗

4.2 芯片部分:

1、芯片中心焊盘需多打过孔与底层地相连,芯片以及芯片周围元件的 bottom 层尽量保
证地的完整性,音频功放、flash 等干扰性强的 IC 不应靠近蓝牙芯片放置,以减少相互间干
扰。
2、芯片天线输出两边的地管脚,应该用地过孔靠近其摆放,否则会影响芯片内部 LNA
的增益。

4.3 倒F天线参数公式

在这里插入图片描述三个参数的主要影响:
L 增加时,谐振频率降底,输入阻抗减小,天线呈感性。
H 增加时,谐振频率降底,输入阻抗增加,天线呈感性。
S 增加时,谐振频率升高,输入阻抗减小,天线呈容性。(主要影响带宽)
因此,只要适当选取这三个参数,就能使倒 F 天线谐振在任意的频率上,且可以使得
天线的输入阻抗非常接近 50 欧姆的纯电阻。这样就可以达到不需要匹配元件就能实
现跟微波传输线的阻抗匹配。

  • 总之天线设计这件事儿,一定要听劝——专业的事交给专业的人。
    以上,完

道友:患焦虑症的人担心的事85%不会发生。即使担心的事发生了,79%的结果也比预期的要好,结果比预期更差的情况只占总体的3%。简言之,97%的担忧都是杞人忧天。

相关文章:

硬件-射频-PCB-常见天线分类-ESP32实例

文章目录 一&#xff1a;常见天线1.1 PCB天线①蓝牙模块的蛇形走线-天线②倒F天线-IFA&#xff1a;③蛇形倒F天线-MIFA④立体的倒F天线-PIFA 1.2 实例示意图1.21 对数周期天线(LPDA):1.22 2.4GHZ的八木天线&#xff1a;1.23 陶瓷天线&#xff1a;1.24 外接天线&#xff1a; 二&…...

Golang的容器编排实践

Golang的容器编排实践 一、Golang中的容器编排概述 作为一种高效的编程语言&#xff0c;其在容器编排领域也有着广泛的运用。容器编排是指利用自动化工具对容器化的应用进行部署、管理和扩展的过程&#xff0c;典型的容器编排工具包括Docker Swarm、Kubernetes等。在Golang中&a…...

关于大一上的总结

大一上总结 前言 源于学长们都喜欢写总结&#xff0c;今晚也正好听见一首有点触动心灵的歌&#xff0c;深有感慨&#xff0c;故来此写下这篇总结 正文 1.暑假前的准备 暑假之前姑且还是学习了基本的C语法&#xff0c;大概是到了结构体的地方&#xff0c;进度很慢&#xff0…...

SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪

SpringBoot教程&#xff08;三十二&#xff09; | SpringBoot集成Skywalking链路跟踪 一、Skywalking是什么&#xff1f;二、Skywalking与JDK版本的对应关系三、Skywalking下载四、Skywalking 数据存储五、Skywalking 的启动六、部署探针 前提&#xff1a; Agents 8.9.0 放入 …...

iOS 11 中的 HEIF 图像格式 - 您需要了解的内容

HEIF&#xff0c;也称为高效图像格式&#xff0c;是iOS 11 之后发布的新图像格式&#xff0c;以能够在不压缩图像质量的情况下以较小尺寸保存照片而闻名。换句话说&#xff0c;HEIF 图像格式可以具有相同或更好的照片质量&#xff0c;同时比 JPEG、PNG、GIF、TIFF 占用更少的设…...

Python爬虫入门(1)

在互联网时代&#xff0c;数据成为了最宝贵的资源之一。Python作为一种功能强大的编程语言&#xff0c;因其简洁的语法和丰富的库支持&#xff0c;成为了编写网络爬虫的首选。本文将带你入门Python爬虫技术&#xff0c;让你能够从互联网上自动获取数据。 什么是爬虫&#xff1…...

GIT 企业级开发学习 1

本节主要命令&#xff1a; git init ls 不能列出 .git ls -a 列出 .git 1. 初始化 Git 仓库 git init • 初始化一个新的 Git 仓库&#xff0c;在当前目录下生成一个 .git 隐藏文件夹&#xff0c;用于存储版本控制信息。 2. 查看隐藏文件 ls -a • 使用 ls -a 显示隐藏文件…...

C# _ 数字分隔符的使用

总目录 一、数字分隔符是什么&#xff1f; _ 用作数字分隔符。可以将数字分隔符用于所有类型&#xff08;二进制&#xff0c;十进制&#xff0c;十六进制&#xff09;的数字文本。数字分隔符 _ 在编译时是被编译器忽略的&#xff0c;因此在语义上对数字结果没有任何影响。 二…...

迟来的前端面试经验

最近也是在换工作&#xff0c;小公司和大厂&#xff08;虾皮、腾讯&#xff09;都有面试。几次面试收获还是比较大的&#xff0c;了解许多自己的短板&#xff0c;当然也拿到了合适的offer。本文主要整理下面试遇到的问题和知识点&#xff0c;希望对准备找工作的掘友有所帮助。 …...

深度解析 LDA 与聚类结合的文本主题分析实战

🌟作者简介:热爱数据分析,学习Python、Stata、SPSS等统计语言的小高同学~🍊个人主页:小高要坚强的博客🍓当前专栏:《Python之文本分析》🍎本文内容:深度解析 LDA 与聚类结合的文本主题分析实战🌸作者“三要”格言:要坚强、要努力、要学习 目录 引言 技术框架…...

国内Ubuntu环境Docker部署CosyVoice

国内Ubuntu环境Docker部署CosyVoice 本文旨在记录在 国内 CosyVoice项目在 Ubuntu 环境下如何使用 dockermin-conda进行一键部署。 源项目地址&#xff1a; https://github.com/FunAudioLLM/CosyVoice 如果想要使用 dockerpython 进行部署&#xff0c;可以参考我另一篇博客中的…...

Oracle sql developer and Toad for Oracle set start DBMS output

Oracle sql developer Toad for Oracle...

ArcGIS JSAPI 高级教程 - 通过RenderNode实现视频融合效果(不借助三方工具)

ArcGIS JSAPI 高级教程 - 通过RenderNode实现视频融合效果(不借助三方工具) 核心代码完整代码在线示例地球中展示视频可以通过替换纹理的方式实现,但是随着摄像头和无人机的流行,需要视频和场景深度融合,简单的实现方式则不能满足需求。 三维视频融合技术将视频资源与三维…...

关于IDE的相关知识之二【插件推荐】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于ide插件推荐的相关内容&#xff01…...

Spring Boot日志处理

文章目录 Spring Boot日志处理1. 日志存入数据库&#xff08;AOP&#xff09;2. 日志控制台打印与写入文件&#xff08;logback&#xff09; Spring Boot日志处理 1. 日志存入数据库&#xff08;AOP&#xff09; 引入aop依赖 <dependency><groupId>org.springfram…...

node.js之---子线程(child_process)模块

为什么需要子线程&#xff08;child_process&#xff09;模块 Worker Threads 的基本概念 如何使用 Worker Threads Worker Threads 的性能 Worker 线程的优势和限制 进阶用法&#xff1a;共享内存 为什么需要子线程&#xff08;child_process&#xff09;模块 在 Node.js…...

什么是打流,怎么用iperf3打流

什么是打流 在网络安全和黑灰产领域&#xff0c;“打流”具有不同的含义&#xff0c;常用于形容通过技术手段制造流量假象或发起流量攻击。 流量攻击&#xff08;DDoS&#xff09;中的“打流”&#xff1a; “打流”指向目标服务器或网络发起 大规模的数据请求&#xff0c;造…...

Java 可变参数、Collections工具类

一. 可变参数 1. 可变参数&#xff1a;就是一种特殊形参&#xff0c;定义方法、构造器的形参列表里&#xff0c;格式&#xff1a;数据类型...参数名称 2. 特点&#xff1a;可以不传数据&#xff1b;可以穿一个或多个数据&#xff1b;也可以传一个数组 3. 好处&#xff1a;常常用…...

day30-awk进阶

awk模式种类 awk的模式分为这几种 正则表达式 基本正则扩展正则比较表达式范围表达式特殊模式 BEGINEND awk比较运算符&#xff08;语法&#xff09; 关系运算符解释示例<小于x<y<小于等于x<y等于xy!不等于x!y>大于等于x>y>大于x>y~匹配正则x~/正则…...

cka考试-03-k8s版本升级

一、原题 二、解答 [root@master ~]# kubectl get node NAME STATUS ROLES AGE VERSION master Ready control-plane,master 25h v1.22.12 node1 Ready worker 25h v1.22.12 node2 Ready worker …...

前后端分离项目部署到云服务器、宝塔(前端vue、后端springboot)详细教程

一、部署介绍 部署的环境是宝塔&#xff08;宝塔9.0.0&#xff09;、阿里云服务器&#xff08;centos 7.6&#xff09;&#xff1b;前端是Vue3项目、后端是springboot3x、jdk11、数据库有redis、mysql&#xff1b;搜索采用的是es。 由于宝塔面板中可以快速进行环境的配置&…...

vue面试题|[2025-1-3]

1.v-if和v-show的区别&#xff1f; 都是可以控制元素的显示和隐藏 1.v-show是控制元素的display值来让元素显示和隐藏&#xff1b;v-if显示&#xff08;隐藏&#xff09;时会把整个DOM元素添加&#xff08;删除&#xff09; 2.v-show只是简单的css切换&#xff1b;v-if有一个局…...

微信小程序中的 storage(本地存储)和内存是两个完全不同的存储区域

这是一个非常关键且容易混淆的概念 既然 this.globalData.appId appId 是将 appId 存储在内存中&#xff0c;为什么微信小程序中的 wx.getStorage 和 wx.setStorage&#xff08;本地存储&#xff09;中没有 appId&#xff0c;并且您提出了一个非常重要的疑问&#xff1a;stor…...

时序优化方法

1.rtl级 1.1避免组合逻辑级数过深 当组合逻辑级数过深时&#xff0c;如果时序允许&#xff0c;可以通过插入时序逻辑来打断组合逻辑链。 1.2寄存器复制 如果是由于fanout过大&#xff0c;可以通过寄存器复制&#xff0c;来减小扇出。 1.3逻辑展平&#xff0c;消除优先级 …...

网络游戏之害

网络游戏之害&#xff1a; 网络游戏于今之世风靡四方&#xff0c;其娱人耳目、畅人心怀之效&#xff0c;固为人知&#xff0c;然所藏之害&#xff0c;若隐伏之暗潮&#xff0c;汹涌而至时&#xff0c;足以覆舟&#xff0c;尤以青年为甚&#xff0c;今且缕析其害&#xff0c;以…...

被催更了,2025元旦源码继续免费送

“时间从来不会停下&#xff0c;它只会匆匆流逝。抓住每一刻&#xff0c;我们才不会辜负自己。” 联系作者免费领&#x1f496;源&#x1f496;码。 三联支持&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 更多内容敬请期待。如有需要源码可以联系作者免…...

Springboot - Web

Spring Boot 是一个用于简化 Spring 应用程序配置和部署的框架。它提供了一种快速开发的方式&#xff0c;通过默认配置、自动化配置等特性&#xff0c;使得开发者能够更快捷地构建和部署基于 Spring 的应用。 Spring Boot Web 是 Spring Boot 的一个子模块&#xff0c;它专注于…...

Flutter中的网络请求图片存储为缓存,与定制删除本地缓存

Flutter中的网络请求图片存储为缓存&#xff0c;与定制删除本地缓存 1&#xff1a;封装请求图片函数 2&#xff1a;访问的图片都会转为本地缓存&#xff0c;当相同的请求url&#xff0c;会在本地调用图片 3&#xff1a;本地缓存管理【windows与andriod已经测试】【有页面】【有…...

智汇厦门:苏哒智能携其智能化产品亮相文心中国行现场

2025年1月2日&#xff0c;文心中国行再次踏足美丽的鹭岛厦门。 本次的文心中国行活动不仅有来自政府、高校及企业的精英专家将齐聚一堂&#xff0c;分享AI与大模型的最新研究成果&#xff0c;还正式揭牌百度飞桨&#xff08;厦门&#xff09;人工智能产业赋能中心&#xff0c;…...

SQL 分析函数与聚合函数的组合应用

目标&#xff1a;掌握 SQL 中分析函数&#xff08;窗口函数&#xff09;与聚合函数的组合使用&#xff0c;通过实际案例实现复杂业务需求&#xff0c;如同比、环比和趋势分析。 1. 分析函数与聚合函数的区别 聚合函数&#xff08;Aggregate Functions&#xff09;&#xff1a;…...

【Elasticsearch入门到落地】5、安装IK分词器

接上篇《4、Elasticsearch的安装》 上一篇我们进行了Elasticsearch以及Kibana的环境准备及软件安装&#xff0c;本篇我们安装最后一个支持软件IK分词器。 一、IK分词器概念 我们再来回顾一下上一张IK分词器的概念&#xff1a; IK分词器&#xff08;IK Analyzer&#xff09;是…...

8、RAG论文笔记(Retrieval-Augmented Generation检索增强生成)

RAG论文笔记 1、 **研究背景与动机**2、方法概述3、RAG 模型架构3.1总体架构3.2 Generator&#xff08;生成器&#xff09;3.3 检索器&#xff08;Retriever&#xff09;3.4训练&#xff08;Training&#xff09;3.5**解码方法**&#xff08;求近似 &#xff09;3.6微调的参数 …...

【论文笔记】Contrastive Learning for Sign Language Recognition and Translation

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: Contrastive Learning for…...

《C++设计模式》策略模式

文章目录 1、引言1.1 什么是策略模式1.2 策略模式的应用场景1.3 本文结构概览 2、策略模式的基本概念2.1 定义与结构2.2 核心角色解析2.2.1 策略接口&#xff08;Strategy&#xff09;2.2.2 具体策略实现&#xff08;ConcreteStrategy&#xff09;2.2.3 上下文&#xff08;Cont…...

细说STM32F407单片机轮询方式CAN通信

目录 一、项目介绍 二、项目配置 1、时钟、DEBUG、USART6、NVIC、GPIO、CodeGenerator 2、CAN1 &#xff08;1&#xff09;Bit Timings Parameters组&#xff0c;位时序参数 &#xff08;2&#xff09;Basic Parameters组&#xff0c;基本参数 &#xff08;3&#xff09…...

perf:对hutool的BeanUtil工具类做补充

分享一个自定义的BeanUtil&#xff0c;继承的是hutool的工具类&#xff0c;然后自己扩充了几个方法&#xff1b; 1、实现了两个对象覆盖非空属性的功能&#xff08;经常使用&#xff09;&#xff0c;不需要设置CopyOptions&#xff1b; 2、两个对象&#xff0c;对指定前缀的属…...

【数据结构】栈与队列(FIFO)

在阅读该篇文章之前&#xff0c;可以先了解一下堆栈寄存器和栈帧的运作原理&#xff1a;<【操作系统】堆栈寄存器sp详解以及栈帧>。 栈(FILO) 特性: 栈区的存储遵循着先进后出的原则。 例子: 枪的弹夹&#xff0c;最先装进去的子弹最后射出来&#xff0c;最后装入的子弹…...

02.01、移除重复节点

02.01、[简单] 移除重复节点 1、题目描述 编写代码&#xff0c;移除未排序链表中的重复节点。保留最开始出现的节点。 2、解题思路 为了实现这一目标&#xff0c;我们可以使用一个哈希表&#xff08;或集合&#xff09;来记录已经遇到的节点值&#xff0c;逐步遍历链表并删…...

Spring thymeleaf 的快速默认搭建使用

Spring thymeleaf 的快速默认搭建使用 thymeleaf 的搭建Pom 文件 thymeleaf 的使用Controller返回参数String资源文件路径访问端点显示HTML页面 thymeleaf 的搭建 Pom 文件 Pom 文件引入 spring-boot-starter-thymeleaf 依赖 <dependency><groupId>org.springfra…...

unity学习3:如何从github下载开源的unity项目

目录 1 网上别人提供的一些github的unity项目 2 如何下载github上的开源项目呢&#xff1f; 2.1.0 下载工具 2.1.1 下载方法1 2.1.2 下载方法2&#xff08;适合内部项目&#xff09; 2.1.3 第1个项目 和第4项目 的比较 第1个项目 第2个项目 第3个项目 2.1.4 下载方法…...

印象笔记07——试一试PDF标注

印象笔记07——试一试PDF标注 [!CAUTION] 根据第六期&#xff0c;我再次查询了资料&#xff0c;印象笔记还是有一些可圈可点的功能的&#xff08;当然部分有平替&#xff09;&#xff0c;针对会员作用&#xff0c;开发使用场景虽然是逆向的&#xff0c;但我坚信这是一部分人的现…...

Logback的使用

1、基本认识 logback官方文档&#xff1a;http://logback.qos.ch 具体样例&#xff1a;https://www.baeldung.com/logback 从下面依赖关系图可以看见&#xff0c;Springboot的核心启动器spring-boot-stater依赖了spring-boot-starter-looging&#xff0c;而这个就是日志的启动器…...

沙箱模拟支付宝支付3--支付的实现

1 支付流程实现 演示案例 主要参考程序员青戈的视频【支付宝沙箱支付快速集成版】支付宝沙箱支付快速集成版_哔哩哔哩_bilibili 对应的源码在 alipay-demo: 使用支付宝沙箱实现支付功能 - Gitee.com 以下是完整的实现步骤 1.首先导入相关的依赖 <?xml version"1…...

微信小程序滑动解锁、滑动验证

微信小程序简单滑动解锁 效果 通过 movable-view &#xff08;可移动的视图容器&#xff0c;在页面中可以拖拽滑动&#xff09;实现的简单微信小程序滑动验证 movable-view 官方说明&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/component/movable-view.ht…...

Redis的常用命令

Redis中文字典网站 redis 命令手册https://redis.com.cn/commands.html Keys * 查看当前库所有的key exists ke 判断某个key是否存在 type key查看你的key是什么类型 Del key删除执行的key数据 unlink key非阻塞删除&#xff0c;仅仅将keys从keyspace元数据中删除&#xf…...

国内Ubuntu环境Docker部署 ComfyUI

国内Ubuntu环境Docker部署 ComfyUI 趁着这两天用docker部署了 Stable Diffusion&#xff0c;顺手也安排上 ComfyUI。 ComfyUI相比 Stable Diffusion 原生的 WEB UI&#xff0c;更容易让人了解其出图的过程&#xff0c;极其适合学习与研究。拼接其强大的插件节点、不仅能够实现文…...

Meta 的新策略,将 AI 生成的角色整合到其社交媒体平台

一、Meta新年规划及引人注目的举措 多元规划背景&#xff1a;在新的一年&#xff0c;Meta制定了多维度的战略规划&#xff0c;旨在巩固并拓展其在科技领域的影响力。增强现实与元宇宙是其长期布局的重点方向&#xff0c;期望借此塑造未来互联网的交互形态&#xff1b;面对TikTo…...

玩转OCR | 腾讯云智能结构化OCR初次体验

目录 一、什么是OCR&#xff08;需要了解&#xff09; 二、产品概述与核心优势 产品概述 智能结构化能做什么 举例说明&#xff08;选看&#xff09; 1、物流单据识别 2、常见证件识别 3、票据单据识别 4、行业材料识别 三、产品特性 高精度 泛化性 易用性 四、…...

蓝桥杯JAVA--003

需求 2.代码 public class RegularExpressionMatching {public boolean isMatch(String s, String p) {if (p.isEmpty()) {return s.isEmpty();}boolean firstMatch !s.isEmpty() && (s.charAt(0) p.charAt(0) || p.charAt(0) .);if (p.length() > 2 && p…...

STC51和STM32单片机烧录引脚的完整名称

STC51 和 STM32 单片机烧录引脚的完整名称 1. STC51 单片机的烧录引脚 STC51 单片机通过 串口&#xff08;UART&#xff09; 进行程序下载&#xff0c;主要引脚如下&#xff1a; 引脚名称完整英文名称说明TXDTransmit Data串口发送引脚&#xff0c;用于发送数据。RXDReceive…...