基于ARM+FPGA (STM32+ Cyclone 4)的滚动轴承状态监测系统

状态监测系统能够在故障早期及时发现机械设备的异常状态,避免故障的
进一步恶化造成不必要的损失,滚动轴承是机械设备的易损部件,本文对以滚动
轴承为研究对象的状态监测系统展开研究。现有的监测技术多采用定时上传监
测数据,在滚动轴承整个寿命周期内上传的大部分数据为正常运行数据,造成资
源的浪费。本文针对滚动轴承生命周期进行分析,根据滚动轴承退化阶段在整个
寿命周期占比低的特点,提出了一种滚动轴承状态监测系统。该系统对滚动轴承
实时监测,在滚动轴承异常时上传采集数据,并根据状态监测系统的需求设计了
监测装置。
2.2 滚动轴承故障诊断方法
目前有关滚动轴承状态监测与故障诊断方面的研究大部分采用的是振动信
号数据,振动分析法得到了极为广泛的应用。与之相对应的声音监测技术,利用
滚动轴承在运行产生的声音信号来判断滚动轴承运行状态,当设备周围存在环
境噪声和其他机器噪声干扰时,想要提取轴承故障特征比较困难。而使用振动信
号进行分析适用于多种类型工况。
故障诊断可以通过简易诊断判断设备是否故障,简易诊断通常以滚动轴承
的振动信号计算其时域特征数值,根据时域特征数值判断滚动轴承是否正常运
行。时域统计参数可以分为有量纲参数和无量纲参数。有量纲参数包括均方根值、
方根值、平均值、斜度及峭度等。虽然随着故障的加重这些有量纲参数值虽然会
上升,但是这些有量纲参数也容易受到如转速、载荷等因素的影响,会难以区分
设备的运行状态。常作为诊断指标的无量纲参数有峭度指标、脉冲指标、裕度指
标和峰值指标等。量纲为一的参数指标具有对信号的绝对大小和频率变化不敏
感、对故障信息比较敏感的特点 [30] 。不同的指标适用于不同的故障类型,例如峭
度指标对信号中的冲击特征比较敏感,正常峭度指标的值应该在 3 左右 , 如果峭
度指标大于 3, 说明可能存在冲击性振动 ; 歪度指标可以判断设备的磨损情况;裕
度指标可以反映信号与干扰的比值 ; 峰值指标可以用作为设备振动的强度的衡量
[31]
滚动轴承的精密诊断可以判断故障的具体位置,对滚动轴承寿命做出预测,
为机械设备定制合理的维修计划。滚动轴承的精密诊断方法主要有:包络谱分析
[32] 、经验模态分解( empirical mode decomposition EMD) [33] 、变分模态分解
variational mode decomposition, VMD [34] 、小波变换 [35] 等;以及通过深度学习
对滚动轴承进行智能诊断 [36] 和寿命预测 [37] 的相关算法。
2.3 滚动轴承监测指标
2.3.1 监测指标选择
由于时域特征诊断具有计算量小、实时性高的优点,适合低功耗嵌入式设备
的实现,而且无量纲参数对故障特征的表征较为稳定,因此选择无量纲指标中的
峭度指标、脉冲指标和裕度指标作为监测指标。若振动信号的时间序列为
{X 1 ,X 2 ,X 3 ,…,X n } n 为分段信号的采样点数量 , 则其计算公式如下 :
峭度指标( K

 

2.3.2 监测指标实验验证
通过滚动轴承实际测试数据验证选取的时域特征是否有效,以西储大学公
开的轴承数据集为例,对不同状态下滚动轴承的峭度指标、脉冲指标和裕度指标
作对比。如图 2.2 所示为西储大学轴承数据的实验台,实验台由电机、扭矩传感
器、测功机和控制电子设备组成。采集了正常滚动轴承和不同工况下故障轴承的
振动数据。

 

取正常轴承正常基座数据和 12K 采样频率下的驱动端轴承内圈故障数据作
对比,将采集数据以 2048 个采样点划分为一段计算上述时域指标,连续取 50
数据,计算结果如图 2.3 所示。由图可以看出正常轴承峭度指标在 3 左右,故障
轴承的峭度指标在 5 左右;同样可以看出正常轴承的脉冲指标在 4 左右,而故障
轴承的脉冲指标在 6 左右;正常轴承的裕度指标在 5 左右,而故障轴承的裕度指
标在 8 左右。三个时域特征指标在轴承发生故障后数值都明显有上升趋势。

 

3 硬件系统设计
在整个状态监测系统中,对滚动轴承的实时监测由监测装置实现,本章主要
介绍了监测装置的硬件平台的搭建,以及各部分功能的电路实现。
3.1 总体方案设计以及硬件方案选型
3.1.1 系统整体方案设计
监测节点的硬件结构如图 3.1 所示,整个硬件架构由电源模块、模拟信号调
理电路、控制中心以及数据存储模块组成。整个数据采集系统以加速度传感器作
为数据输入,加速度传感器输出的模拟信号经过滤波、模数转换处理转换成数字
信号输出。数字信号经过由 FPGA ARM 组成的处理控制中心,经过处理判断
是否存储或者传输振动信号。

 

3.1.2 主控芯片架构选择
研究中常用来做控制的芯片主要有 ARM DSP FPGA 。三种硬件平台在
各自的领域各有独特的优势,下面分别介绍下各平台的优缺点。
ARM Advanced RISC Machine )芯片是英国 ARM 公司设计的微处理器系
列。 ARM 公司为全球许多芯片制造厂商出售芯片核心授权 [40] ,各大半导体厂商
ARM 微处理器核加上设计的外围电路,生产各自领域的处理器芯片。ARM
处理器具有低功耗的优点,广泛应用于各种嵌入式设备。 ARM 采用精简指令集
计算机 (Reduced Instruction Set Computer, RISC) 结构 [41] ,使用 RISC 体系结构兼
容性强、体积小 [42] ,可以添加更多的外围电路组成片上系统 (System on Chip, SOC)
ARM 公司的芯片最开始 ARM1 ARM11 系列,之后的产品以 Cortex 命名,共
分为 Cortex-A Cortex-R Cortex-M 系列。 Cortex-A 系列具有高性能,用于执
行复杂计算任务的设备的应用处理器; Cortex-R 系列具有高实时性,为时间关键
型系统提供快速、可靠的性能; Cortex-M 系列具有低功耗特性,用于微控制器
和节能应用的低功耗处理器。
数字信号处理器 (Digital signal processor DSP) 芯片是一种对数字信号处理的
操作需求进行了架构优化的专用微处理器芯片,适用于实时高速处理数字信号
的处理 [43] ,具有低功耗高性能的特点 [44] DSP 芯片有专门的硬件乘法器,并配
置有特殊的 DSP 指令。传统指令集需要多条指令来计算的操作而 DSP 可能只需
要一条指令。例如乘积累加运算,在 DSP 芯片中只需要一条指令就可完成一次
乘法和加法操作 [45] ,在通用处理器中则需要两个指令。相比于大多数通用微处理
器, DSP 芯片更适合应用于音频和视频等信号处理等领域。
现场可编程门阵列 (Field-programmable Gate Array FPGA) 芯片是一种可配
置集成电路,不同于通用芯片硬件不可更改, FPGA 芯片可以根据设计需求更改
芯片内部电路结构,具有灵活的逻辑可操控性和并行处理速度快的优点 [46] ,在数
据采集领域有着极其重要的地位 [47] FPGA 芯片一般由大量的可配置逻辑块 [48]
RAM 块资源、可配置 I/O 接口和布线通道组成 [49] 。大多数 FPGA 采用 SRAM
储配置数据,通过外部引导设备,例如 FLASH 或者 EEPROM 设备,每次上电
可重新加载配置数据 [50] 。设计人员使用硬件描述语言 (HDL) 进行数字系统的设计,
通过使用电子设计自动化 (EDA) 工具生成技术映射网表,再经过 FPGA 芯片公司
的专有布局布线软件通过布局布线生成适合实际 FPGA 芯片的电路结构 [51] 。通
过时序分析、仿真和其他验证和确认方法来验证布局布线结果,设计和验证过程
完成后,使用 FPGA 供应商的专有软件生成的二进制文件配置 FPGA ,该文件通
JTAG 接口传输到外部存储设备。 FPGA 芯片的并行特性和硬件可配置特性,
广泛应用于通信、视频处理和前端数据采集等领域。
综合来看, ARM 具有比较强的任务管理能力, DSP 数据处理和计算能力较
强, FPGA 具有较高的灵活性,可以实现任何数字系统的功能,但芯片价格随着
需要的逻辑资源不断上涨。综合考虑到设计需求和成本,选择使用 ARM+FPGA
架构。 ARM 芯片具有控制能力强,低功耗以及价格便宜的优点,用 ARM 芯片
做系统的控制中心,负责外部设备的管理。 FPGA 芯片的实时性和并行性可以作
为数据的前端处理,负责与传感器接口的对接以及数据的预处理。 FPGA 的可配
置特性也可以使设备接口更加灵活,增加系统的适用范围。
3.1.4 模数转换器选择
模数转换器 (analog-to-digital converter, ADC) 是一种将模拟信号转换为数字
信号的系统,通常以集成电路芯片的形式出现。 ADC 根据转换原理可以分为逐
次逼近型、积分型、并行比较型、∑ 型等。决定 ADC 性能的主要参数有分辨
率、采样率、转换精度等。转换器的分辨率表示它可以在模拟输入值的允许范围
内产生的离散值的数量。因此分辨率决定了量化误差的大小,具有 n 位分辨率的
ADC 可以将模拟输入编码为 2 n 范围内的离散值。采样频率是指采样数字信号的
速率,模拟信号在时间上是连续的,将其转换为数字信号时,数字信号的转换速
率称为转换器的采样率或采样频率。如果 ADC 以大于两倍信号带宽的采样率运
行,根据 Nyquist-Shannon 采样定理,可以从离散信号值再现原始信号。
逐次逼近型模数转换器结构简单、模拟电路少、功耗低、尺寸小、输出数据
不存在流水延时等优点 [61] 。因此选择 AD7610 模数转换器, AD7610 是一款逐次
逼近型架构模数转换器,具有 16 位分辨率和 250kHz 采样频率。滚动轴承的振
动频率范围可以分为低频信号、中频信号和高频信号,低频信号指频率低于 1kHz
的振动,中频信号的频率范围为 1~20kHz ,高频信号的频率范围为 20~80kHz
根据采样定理,只要选择采样频率在 160kHz 以上就能够满足设计需求。传感器
的输入电压范围为 ±5V ,灵敏度为 10.2𝑚𝑉/(𝑚 2 /𝑠) ,非线性度为± 1% AD7610
16 位输出,绝对量化误差为 ±0.076mV ,相对量化误差为 7.6 × 10 −4 % ,远小
于传感器的非线性误差,满足设计要求。
3.1.5 传感器方案选择
根据被测量的不同,振动传感器可以分为位移传感器、速度传感器和加速度
传感器。滚动轴承的低频故障信号常以高频振动响应表现出来,因此分析滚动轴
承的故障经常采用加速度传感器。传感器根据原理又可以分为霍尔传感器、光纤
传感器、压电传感器、电涡流传感器等。本文选用的是压电式加速度传感器。传
感器采用的是 PCB 公司的 601A11 压电加速度传感器,如图 3.2 所示。其输出为
加载在 8-12V 的直流偏置电压上的在± 5V 范围内的交流电压信号。

 

3.4 控制芯片电路设计
3.4.1 FPGA 硬件系统设计
FPGA 芯片选用的 Intel 公司 Cyclone IV 系列的 EP4CE10F17C8 芯片, Cyclone
IV 系列芯片具有低成本、低功耗的优势 [64] EP4CE10F17C8 芯片具有 10320
逻辑单元,逻辑单元 (LE) Cyclone IV 器件架构中最小的逻辑块,其内部的 LUT
具有组合逻辑功能。 EP4CE10F17C8 芯片具有 414 个嵌入式存储器,可满足设计
的片上存储器需求。嵌入式内存结构由多列 M9K 内存块组成,每个 M9K 块有
8192 个内存位(每块 9216 位,包括奇偶校验)。可以对其进行配置以提供各种
内存功能,例如 RAM 、移位寄存器、 ROM FIFO 缓冲区。 EP4CE10F17C8
片具有 23 个嵌入式 18x18 乘法器,可以、提高系统数字信号处理的性能。
EP4CE10F17C8 芯片具有 2 个锁相环(
PLL ),可以通过编程实现不同频率时钟
的输出。 EP4CE10F17C8 芯片一共有 179 个用户 I/O 接口, I/O 接口具有可编程
特性,提供多种接口标准,可根据设计需求配置不同标准,减少外部分立元件的
使用,例如上拉电阻和二极管。芯片一共有 8 I/O bank [65] ,多个 I/O 管脚组成
I/O bank ,每个 bank 都有一个单独的电源总线。通过允许在所有 I/O bank 上选
择所有 I/O 标准,使 I/O 接口的配置更加灵活。
3.4.2 FPGA ARM 通信设计
FPGA ARM 芯片之间的通信连接如图 3.20 所示, FPGA ARM 之间采
SPI 接口传输采集数据, SPI 中文名为串行外设接口,是一种同步串行通信接
口规范。
SPI 接口一共由四条数据线组成,分别为 NSS
SCK MISO MOSI [66]
SPI 为全双工通信,即发送和接收数据可以同时进行。使用 SPI 传输数据的设备
分为主设备和从设备,主设备制从设备的选通和数据的传输。其中 NSS 为从机
选择信号线,由主机向从机发送信号,通常低电平有效。 SPI 协议允许一主多从
连接,当从机 NSS 端接收到低电平信号,说明从设备被选中。 SCK 为时钟信号
线,由主设备向从设备发送,为数据传输提供时钟基准。 MISO 为数据发送接收
信号线,对于主设备为信号接收端,对于从设备为信号发送端。 MOSI 同样也为
数据发送接收信号线,不过对于主设备为信号发送端,对于从设备为信号接收端。

 

3.4.3 ARM 硬件系统设计
主控选用的 STM32F103ZET6 芯片是意法半导体(
ST )公司推出的一款低
功耗控制芯片,采用 ARM 公司的 Cortex-M3 处理器核。 ARM 既不生产也不销
售 基 于 自 己 设 计 的 CPU 设 备 , 而 是 将 处 理 器 内 核 授 权 给 相 关 方 。
STM32F103ZET6 是意法半导体公司获得 ARM 授权的 Cortex-M3 内核设计的一
款芯片。 Cortex-M3 内核具有嵌套向量中断控制器 NVIC ,能够处理多达 60 个可
屏蔽中断通道和 16 个优先级。 Cortex-M3 采用 Thumb-1 Thumb-2 指令集,许
多数据操作能用更简短的代码实现,像乘法等相关指令许多指令可以单周期实
现。 STM32F103ZET6 最高运行频率可达 72MHz [67] ,拥有 512k 字节闪存存储器
64k 字节的 SRAM 。拥有丰富的外设,提供 3 12 ADC 4 个通用 16
位定时器和两个 PWM 定时器,以及标准和高级通信接口: 2 I 2 C 接口、 3
SPI 接口、 2 I 2 S 接口、 1 SDIO 接口、 5 USART 接口、 1 USB 接口和
1 CAN 接口 [68] 。芯片供电电源采用 3.3V 低电压,可以减少电量消耗,适合设
计低功耗应用。

 

 

4 软件系统设计
在搭建好的硬件系统之上,还需要对控制芯片的软件进行设计,其中包括
FPGA 数字系统的设计和 ARM 芯片的软件系统设计。
4.1 FPGA 系统设计
FPGA 设计文件的结构关系和主要模块名如图 4.2 所示,模块 1 为顶层文件 ,
用来调用各功能模块和各功能模块之间的连接以及和外部的接口。模块 2 3
4 5 为第二级文件,负责各功能的实现。其中模块 2 PLL 锁相环控制模块,
为系统提供需要的时钟信号;模块 3 FIFO 控制模块,用于控制 FIFO 的读写
以及 SPI 接口的传输时序;模块 4 为时域监测指标的实时计算模块,用于采集信
号的时域特征实时计算;模块 5 为时域特征阈值监测模块,用于设定监测时域阈
值设定。模块 6-9 为模块 3 的下一级子模块,模块 6 FIFO 的写控制;模块 7
负责调用系统 FIFO 模块的 IP 核;模块 8 FIFO 的读控制;模块 9 负责数据传
SPI 接口的数据接收。模块 10-13 为模块 4 的下一级子模块,模块 10 为采集
数据 RAM 缓存模块;模块 11 为峭度指标计算模块;模块 12 为脉冲指标计算模
块;模块 13 为裕度指标计算模块。
数字系统的内部结构如图 4.3 所示,整体电路可为三个模块。其中模块 1
PLL 分频模块,用来产生采样时钟,控制采样频率。其输入为外部时钟 CLK
经过 PLL 锁相环分频,由 FC 控制选择使用的时钟频率。模块 2 为时域特征计
算模块,外部输入数据 DATA 经过 RAM 缓存,经过设计的数字计算电路得到采
样信号的峭度指标、脉冲指标和裕度指标,将计算得到结果分别设定阈值相比较,
如果大于等于阈值,输出信号控制 FIFO 缓存。模块 3 FIFO 数据缓存和 SPI
读写接口,由一个异步 FIFO 来实现数据的缓存,可以以不同的速率进行读和写,
SPI 读写模块负责与外部支持 SPI 协议的设备进行数据传输。

 

4.1.5 实时计算模块设计
使用 FPGA 芯片进行计算具有计算速度快、实时性高的优点,而且 FPGA
片的特性可以使各计算之间并行计算,就算进行多指标计算也不会影响整体的
实时性。
计算之前需要将采样数据缓存,使用 RAM 进行数据缓存。 RAM 为随机存
取存储器,可以随时把数据写入任意指定地址,或随时从任意指定地址读取数据。
使用 Quartus II 软件的 RAM IP 核可以将 FPGA 的内部嵌入式存储器进行配置,
实现 RAM 存储器的功能。将 RAM 位宽配置为 16 位,存储深度为 2048 。如图
4.11 所示,为 RAM 模块的连接图。 wren RAM 模块的写使能信号,写入数据
之前需要将 wren 置为高电平。 clk RAM 的读写时钟信号,控制 RAM 的读写
速度,每一个 clk 周期读取或者写入一个数据。 RAM 读写数据需要提供数据和
读写地址, data[15:0] RAM 的写数据接口, wraddress[10:0] RAM 的写数据
地址。 RAM 的深度为 2048 ,可以存储 2 11 个数据,所以取 11 位地址线即可满足
使用需求。读取数据时, q[15:0] 为读取数据总线, rdaddress[10:0] 为读取地址总
线。在使用过程中需要多次读取数据,读数据总线和地址总线可以同时连接多个
模块,各模块的读数据地址总线不能同时输出地址,在需要读取数据时输出地址,
取完数据要将读地址总线置为高阻态。
通过 RAM 缓存数据为后面的时域特征实时计算模块提供数据,实时计算模
块共分为峭度指标计算、脉冲指标计算和裕度指标计算三部分。在 FPGA 中进行
浮点运算时,会消耗更多的片上资源。采用定点运算可以节省 FPGA 片上的逻辑
资源消耗,因此实时计算模块采用定点计算。
峭度指标计算的计算公式如式 10 所示,峭度指标计算结构如图 4.12 所示。
采样点数据 𝑋 𝑖 为从 RAM 缓存中读取的数据, 2048 个数据依次从 RAM 中取出,
经过加法电路求出 2048 个采样点的总和。然后需要除以 2048 求出 2048 个采样
点的平均值 𝑋
̅ ,在 FPGA 设计中,除法器要占用不少的逻辑资源,对于除数为整
数的可以通过移位和加法来实现除法,若除数为 2 𝑛 ,则可以通过将数据右移舍去
最低位实现除法运算。将数据求和结果整体右移 11 位,舍去低 11 位,相当于除
2048 ,得到采样点的平均值 𝑋
̅ 。经过延时等待平均值计算完成后,再次取出
RAM 中的采样点数据与平均值相减。相减后的差值经过平方计算模块,求和移
位再平方得到峭度指标计算公式的分母值。另一路电路将平方计算模块的结果
引出进行再次平方并求和,得到峭度指标计算公式的分子值。最后分子分母经过
除法模块得到峭度值。
如果采用组合电路实现计算功能的完成,从输入到输出会有较长的延时,系
统很难较高的频率运行。流水线设计可以有效的提高所设计系统运行速度,提高
系统的吞吐量。将整个计算模块分割成多个逻辑功能块,在逻辑功能块之间插入
寄存器缓存,这样计算模块最大延时变成各小功能块中的最大延时时长,可使整
个系统的最高工作频率得到成倍的提高。因此在峭度指标计算模块中将整个计
算流程分成多个部分,在各部分之间添加寄存器缓存,以减少系统时延,提高系
统运行频率。

 

 

脉冲指标的计算公式如式 11 所示,脉冲指标计算结构如图 4.13 所示。采样
点数据 𝑋 𝑖 经过分子和分母两路逻辑计算。分子部分由 MAX 模块求出 2048 个点
中的最大值,该模块由一个比较器组成,比较两个采样点的数值大小,将其中较
大值保留与下一个采样点作比较,最终找出 2048 个采样点中的最大值。分母部
分对 2048 个采样点求平均值,最终将分子分母相除得到脉冲指标。脉冲指标的
计算模块也同样加入了流水线设计。
裕度指标的计算公式如式 11 所示,裕度指标的计算结构如图 4.14 所示。裕
度指标计算公式的分子和裕度指标一样需要求最大值,分母部分需要对采样点
进行开方运算,然后对结果求和,右移 11 位,然后进入平方运算得到分母结果。
最后对分子分母作除法运算得到裕度指标。再对整个计算模块采用流水线设计,
为各部分加入寄存器缓存。

 

 

通过实时计算得到的时域特征需要与设定的监测阈值比较来判断监测设备
的运行状态。如图 4.15 所示,为阈值比较模块的结构图。 TH[11:0] 为阈值大小输
入,一共有 12 位,其中 TH[11:8] 为峭度指标阈值, TH[7:4] 为脉冲指标阈值,
TH[3:0] 为裕度指标阈值。通过实时计算模块计算得出的峭度指标、脉冲指标和
裕度指标输入到阈值比较模块,与阈值 TH[11:8] TH[7:4] TH[3:0] 相比较,若
大于等于阈值,比较器输出高电平。三个比较结果作为输入连接到或门,若有一
个指标超标则或门输出为高电平,控制 FIFO 模块缓存故障数据。

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker-Compose编排与部署

目录 Docker Compose Compose的优点 编排和部署 Compose原理 Compose应用案例 安装docker-ce 阿里云镜像加速器 安装docker-compose docker-compose用法 Yaml简介 验证LNMP环境 Docker Compose Docker Compose 的前身是 Fig,它是一个定义及运行多个 Dock…

【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】

文章目录 1.1 DEVARCH(device architecture register)1.2 DEVID(Device configuration Register)1.3 DEVTYPE(Device Type Identifier Register) 1.1 DEVARCH(device architecture register) DEVARCH 寄存器标识了coresight 组件的架构信息。 bits[31:21] 定义了组件架构&…

使用 github 同步谷歌浏览器书签

想必使用谷歌浏览器Chrome的用户一定非常头疼的一件事就是:账户不能登录,书签收藏夹不能同步,换一台电脑书签收藏夹没有了! 下面教大家一招亲测有效适用的方法解决书签同步问题,在任何电脑都可以同步了 1、去下载谷歌…

数据分析基础-Excel图表的美化操作(按照教程一步步操作)

一、原始数据 包含月份和对应的销量和产量。 时间销量产量1月60722月38673月28344月58685月67596月72357月61428月24319月556710月243511月122112月2645 二、原始的图表设计-采用Excel自带模板 三、优化思路 1、删除多余元素 2、弱化次要元素 对于可以弱化的元素&#xff0c…

Excel如何把两列互换

第一步:选择一列 打开excel,选中一列后将鼠标放在列后,让箭头变成十字方向。 第二步:选择Shift键 按住键盘上的Shift键,将列往后移动变成图示样。 第三步:选择互换 完成上述操作后,松开鼠标两…

Ajax快速入门

文章目录 Ajax原生ajaxaxios案例 Ajax Ajax就是前端访问服务器端数据的一个技术 还有主要就是异步交互 就是在不刷新整页面的情况下,和服务器交换部分我也数据 比如搜索的联想技术 同步和异步的概念 一个是客户端需要等待服务器完成处理,才能进行别的事…

使用爬虫代理IP速度慢是什么原因?

你们有没有遇到过使用爬虫代理IP速度慢的问题呢?相信很多使用爬虫抓取的人都曾经陷入过这个烦恼,今天我们就来聊聊这个话题。 首先,我们得明白为什么爬虫代理IP速度会变得慢。其实,原因有很多,比如代理服务器过多的连接…

pytorch-gpu 极简安装

1、进入pytoch官网:PyTorch 找到pytorch-gpu版本,看到CUDA11.8、11.7、CPU,这里我选择安装CUDA11.8 2、下载CUDA Toolkit:CUDA Toolkit 11.8 Downloads | NVIDIA Developer 3、下载CUDANN:cuDNN Download | NVIDIA D…

QT充当客户端模拟浏览器等第三方客户端对https进行双向验证

在 ssl单向证书和双向证书校验测试及搭建流程 文章中,已经做了基于https的单向认证和双向认证,,, 在进行双向认证时,采用的是curl工具或浏览器充当客户端去验证。 此次采用QT提供的接口去开发客户端向服务器发送请求&a…

element-ui - $prompt非空验证

//点击删除按钮 delStoreFun(data) { let than this; this.$prompt(删除门店请填写备注, 提示, { confirmButtonText: 确定, cancelButtonText: 取消, inputValidator: (value) > { //非空验证 if (!value) { return 输入不能为空 } }, }).then(({ value }) > { delS…

从Spring的角度看Memcached和Redis及操作

目录 Memcached和Redis的区别 适用场景 Memcached配置使用 Redis配置使用 在SpringBoot的框架里,有直连Redis的SDK却没有Memcached的,可见相比地位。不过各有各的适应场景,Redis这个单线程模型确实非常强。 Memcached和Redis的区别 共同…

RF手机天线仿真介绍(一):金属边框天线和LDS天线

目录 简介LDS天线LDS天线仿真 金属边框天线金属边框天线仿真 简介 最早的手机是外置式天线,从NOKIA开始采用内置式天线,开始采用内置金属片(一般是0.1MM厚的不锈钢片冲压而成),随后为降低成本,后来改用FPC…

(树) 剑指 Offer 33. 二叉搜索树的后序遍历序列 ——【Leetcode每日一题】

❓剑指 Offer 33. 二叉搜索树的后序遍历序列 难度:中等 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树&#xff1…

领域驱动设计(六) - 架构设计浅谈

单用一篇文章很难把这个主题描述的清楚,但为了系列的完整性,笔者会围绕DDD中所介绍的内容做下初步总结,使读者有一个连续性。 一、概述 现在不是局部解决问题的时代了要运用新的技术创造新的效率提升,需要整个商业链条一起前进。…

网络安全(黑客技术)自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

Python 程序设计入门(001)—— 安装 Python(Windows 操作系统)

Python 程序设计入门(001)—— 安装 Python(Windows 操作系统) 目录 Python 程序设计入门(001)—— 安装 Python(Windows 操作系统)一、下载 Python 安装包二、安装 Python三、测试&…

【JavaEE初阶】Servlet(四) Cookie Session

文章目录 1. Cookie && Session1.1 Cookie && Session1.2 Servlet会话管理操作 1. Cookie && Session 1.1 Cookie && Session Cookie是什么? Cookie是浏览器提供的持久化存储数据的机制.Cookie从哪里来? Cookie从服务器返回给浏览器. 服务…

非线性弹簧摆的仿真(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

寻找旋转排序数组中的最小值——力扣153

文章目录 题目描述解法 二分法 题目描述 解法 二分法 int findMin(vector<int>& nums){int l0, rnums.size()-1;while(l<r){int mid (lr)/2;if(nums[mid]<nums[r]) rmid;else lmid1;}return nums[l];}

解决Win11右键菜单问题

✅作者简介&#xff1a;大家好&#xff0c;我是Cisyam&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Cisyam-Shark的博客 &#x1f49e;当前专栏&#xff1a; 程序日常 ✨特色专栏&…