YTM32的增强型定时器eTMR外设模块详解

文章目录

    • eTMR外设简介
    • eTMR工作机制
      • 系统框图
      • 引脚与信号
      • 计数器与时钟源
      • 输出比较模式
      • PWM模式
        • 通道配对
        • 通道对的互补输出(Complementary Mode)
        • 双缓冲输出PWM(Double Switch)
        • 错误检测机制(Fault Detection)
      • 输入捕获模式
      • 正交编码器功能
      • 同步机制
      • 调制模式
      • 中断、DMA及触发信号
    • 应用要点(软件)
    • 总结

eTMR外设简介

YTM32微控制器上集成的eTMR模块,是一个定时器外设,下辖多至8个通道,除了可以进行基本的周期计数外,还可以实现硬件输出比较(PWM)、输入捕获的功能,有一些特别的eTMR示例,还支持正交编码器的功能。

YTM32微控制器上集成了定时器外设模块还有TMR、pTMR、LPTMR、RTC等,其中eTMR大多用于产生PWM信号,或者通过输入捕捉测量方波脉冲信号的宽度。大多用在电机相关的应用中。

每款芯片集成eTMR实例的数量不同,以YTM32B1ME05为例,总共6个eTMR,并且每个eTMR实例的部分功能也做了裁剪。如图x所示。
在这里插入图片描述

图x YTM32B1ME05上集成的6个eTMR外设

eTMR工作机制

系统框图

微控制器定时器外设模块的核心,是一个计数器。所谓通道,实际上是可以匹配计数器某个计数值的事件,用户可以配置在特定的情况下产生事件(例如,对外输出电平,对内产生触发信号等)对应输出比较的功能;也可以配置被外部的同步信号触发,将发生事件的时刻快照到通道的数值寄存器中,对应输入捕获的功能。因此,带有多通道的定时器外设大多设计得相似,可有系统框图,如图x所示。

在这里插入图片描述

图x 常规带有多通道的定时器外设系统运行框图

引脚与信号

eTMR外设对外有一些信号绑定到芯片的引脚上。如表x所示。

引脚名信号描述信号方向
TCLK_IN0, TCLK_IN1, TCLK_IN2可选其一作为外部输入的计数器时钟源输入
eTMR_CH0, eTMR_CH1, … , eTMR_CH6, eTMR_CH7通道的输入输出信号:当工作在输入捕捉模式时,可送入触发信号;
当工作在输出比较或PWM模式时,可输出电平信号,产生PWM波形。
输入/输出
eTMR_FLT0, eTMR_FLT1, eTMR_FLT2, eTMR_FLT3捕获外部的错误信号(Fault Event)输入
eTMR_QD_PHA, eTMR_QD_PHB正交编码器模式的输入信号输入

计数器与时钟源

定时器外设引擎的基本核心是一个可以由外部时钟源驱动计数的定时器。

eTMR外设涉及到两个时钟源:驱动访问寄存器的外设总线时钟,和驱动定时器计数的功能时钟。有一些型号的芯片,可能会设计可以接入到eTMR的功能时钟的不同时钟源。例如,可以直接将PLL倍频后的高速时钟直接送入定时器外设,以获取更高的控制精度,也可以将低功耗模式下能够继续存活的低速时钟源接入定时器的时钟源,从而可以芯片的低功耗模式下继续自行工作。但在本例的YTM32B1ME05微控制器上,是将SCU模块中产生的FAST_BUS_CLK固定接入eTMR的功能时钟源。如图x所示。这在IPC模块的章节中的表Table 13.1 IP Clock Control Table的备注里,也有相关的描述。

eTMR module clock source is FAST_BUS_CLK default, also can use TCLK through configuring in the eTMR register, and TCLK frequency must be less than the half of FAST_BUS_CLK.

在这里插入图片描述

图x FAST_BUS_CLK时钟源的生成树

在eTMR外设模块内部,还可以通过配置寄存器eTMR_CTRL[CLKSRC],选择使用计数的功能时钟源,来自IPC模块的FAST_BUS_CLK,或是从eTMR_TCLK_IN0引脚接入的外部时钟源。而在CIM外设中,可以通过配置寄存器CIM_ETMROPT0[ETMRx_EXTCLK_SEL],选择eTMR_TCLK_IN0/eTMR_TCLK_IN1/eTMR_TCLK_IN2其中之一生效。

eTMR的计数时钟信号CLK_src进入eTMR外设后,还需要经过一个7位的分频器,才会送入eTMR的计数器驱动计数CLK_cnt。这个分频器的分频因子,是在寄存器eTMR_CTRL[CLKPRS]中设定的。有计数器计数时钟频率的计算公式如下:
C L K C N T = C L K S R C C T R L [ C L K P R S ] + 1 CLK_{CNT} = \frac{CLK_{SRC}}{CTRL[CLKPRS]+1} CLKCNT=CTRL[CLKPRS]+1CLKSRC
经过分频的时钟信号送入计数器,驱动计数。大多数eTMR的内部计数器是16位的(eTMR3是32位),一旦启动定时器(软件设置寄存器eTMR_CTRL[EN]=1)并等到Load事件(标志位eTMR_SYNC[LDOK]=1),则计数器将会从寄存器eTMR_INIT载入初值到计数器寄存器eTMR_CNT中(eTMR_SYNC[INITCNT]=1)或是直接向eTMR_CNT寄存器中写初值,开始递增计数。软件可以从计数器寄存器eTMR_CNT中实时读到当前计数器的值。当计数值达到寄存器eTMR_MOD中设定的值时,会触发Overflow溢出事件(可产生中断,也可产生触发信号),起eTMR_STS[TOF]标志位,然后定时器计数器直接回返至寄存器eTMR_INIT的值。如此,形成计数周期。如图x所示。

在这里插入图片描述

图x eTMR的计数器溢出事件

在一些应用场景中(例如电机控制),需要多个eTMR配合,使用相同频率的时钟源,并且使用相同相位的时钟信号。此时,就需要多个eTMR外设实例同步启动,为此,eTMR设计了GTB功能(Global Time Base)。所有设定了寄存器eTMR_CTRL[GLOBEN]=1的eTMR实例将会并如GTB的集合,其中设定eTMR_SYNC[GLOB]=1的eTMR实例将作为主机,其余eTMR实例为从机,由主机eTMR控制GTB集合中所有eTMR的启动。

eTMR外设可以配置成输出比较模式、输入捕获模式、专用PWM模式和编码器模式:

  • 当为编码器模式时,整个eTMR不能使用其他模式的功能。
  • 单个通道只能配置成输出比较模式、输入捕获模式或专用PWM模式中的一种,但多个不同模式的通道可以在同一个eTMR中共存。

输出比较模式

输出比较功能多用于产生简单的PWM信号。

设置通道控制寄存器eTMR_CHn_CTRL[CHMODE]=1,该通道为输出比较模式。输出比较模式下,通道引脚为输出方向,引脚电平的初值由寄存器eTMR_CHn_CTRL[CHINIT]eTMR_CHn_CTRL[CHPOL]指定,在匹配事件发生后,输出指定的电平(由eTMR_CHn_CTRL[VAL0CMP]eTMR_CHn_CTRL[VAL1CMP]确定)。

不同于以往简单的多通道定时器外设的设计,eTMR为每个通道设计了两个匹配值寄存器eTMR_CHn_VAL0eTMR_CHn_VAL1。当设定寄存器eTMR_CHn_CTRL[CHMODE]=2时,该通道被设定为输出比较模式。寄存器eTMR_CHn_VAL0eTMR_CHn_VAL1各自设定一个匹配值,控制该通道绑定的引脚输出指定电平(eTMR_CHn_CTRL[VAL0CMP]eTMR_CHn_CTRL[VAL1CMP]的配置值,可以指定在匹配时输出高电平、低电平或是翻转)。以此可以产生PWM信号。

在这里插入图片描述

图x eTMR的输出比较机制

通过配置定时器的MOD,可以指定输出PWM信号的周期。在PWM信号的周期内部,通过配置通道的VAL0和VAL1,可以控制PWM信号的相位和占空比。

PWM模式

虽然输出比较模式可以用于产生简单的PWM信号,但eTMR仍然设计了专门的PWM模式(寄存器eTMR_CHn_CTRL[CHMODE]=1)。在专门的PWM模式下,除了能够以约定的方式配置一些寄存器产生边沿对齐和中央对齐的PWM信号外,eTMR还可以将两路输出通道组合成一对互补输出,以及捕获硬件错误信号等,专门针对电机控制系统中对PWM信号的需求。

手册中描述了eTMR的PWM模式工作机制的框图,如图x所示。

在这里插入图片描述

图x eTMR的PWM模式工作机制

实际上,在专门的PWM模式下,如手册上的详细描述,无论是产生中央对齐、边沿对齐还是非对称对齐(有相位差的边沿对齐)的PWM信号波形,对每个通道的INIT、MOD、VAL0、VAL1寄存器的使用方式,同在输出比较模式下产生PWM信号的用法并无二致。专门PWM模式较于使用输出比较模式产生PWM信号增加的主要功能,是能够将两个通道配对形成一个输出通道对(Channel Pair),而有一些功能,需要在启用通道对之后,才能解锁,例如产生互补输出PWM信号。

通道配对

在有8个通道的eTMR模块中,偶数编号的通道同+1后的奇数通道可以配对,例如,0和1号通道配对,2和3号通道配对等。当启用任何需要通道配对完成的功能时(配置寄存器eTMR_CTRL寄存器中的COMPLxxDBSWxx字段),对应通道即配对成功。如图x所示。

在这里插入图片描述

图x eTMR_CTRL寄存器中的字段

当通道配对成功后,通常使用偶数编号的通道的配置,控制通道对在启用模式下的行为,奇数编号通道的配置不再生效。

通道对的互补输出(Complementary Mode)

当设置eTMR_CTRL[COMPLxx]=1时,将对应通道配对,并启用互补输出模式。此时,奇数编号的通道的占空比设置都不起作用,奇数编号通道输出的信号完全与通道对的偶数号通道的输出电平相反。如图x所示。

在这里插入图片描述

图x eTMR的PWM互补输出模式

从图中可以看到,PWM1的信号并没有受到CH1_VAL0和CH1_VAL1的控制,而是同PWM0相对。

双缓冲输出PWM(Double Switch)

当设置eTMR_CTRL[DBSWxx]=1时,将对应通道配对,并启用双缓冲模式。当启用双缓冲模式后,偶数通道和奇数通道产生的PWM信号相互亦或XOR,通过偶数通道的引脚输出亦或之后的信号,如图x所示。

在这里插入图片描述

图x PWM模式下的双缓冲模式

双缓冲模式通常同互补输出模式一起使用,此时偶数通道引脚输出的是两个通道亦或之后的信号,奇数通道输出的时取反的信号。这是基于FOC算法,实现电机应用中的开窗操作,方便ADC采样的一个小功能。

错误检测机制(Fault Detection)

错误检测机制指的是,若外部的硬件电路检测到某种不安全的状态(例如电机突然停转,电机内部的电流采样过大,需要关断PWM控制的桥臂),就会立刻将PWM输出端口关断,或者将端口输出的切换至一种预设的安全的状态。这个错误检测的事件,对于eTMR模块来说,就是一个触发信号。这个信号可以来自于TMU(Trigger Multiplexer Module),也可以来自于错误检测引脚(eTMR_FLTn)。

eTMR对这个错误检测的的触发信号设计了一系列滤波和事件捕获机制(既然要突然关断eTMR的所有输出信号,当然是要慎之又慎),如图x所示。

在这里插入图片描述

图x eTMR的错误检测信号链

图x中展示的关于错误检测信号的功能,均可在寄存器eTMR_FAULT中设定。如图x所示。

在这里插入图片描述

图x eTMR_FAULT寄存器

输入捕获模式

设置通道控制寄存器eTMR_CHn_CTRL[CHMODE]=3,该通道为输入捕获模式。输入捕获模式下,通道的引脚自动切换为输入方向,用以捕获触发信号(由寄存器CH_CTRL[CAPEDGE]设置),在触发到来之时,将eTMR中计数器的值快照到通道的eTMR_CH_CVAL寄存器中,同时通道的标志位eTMR_STS[CHxF]也将置位。

输入捕捉通常用于记录某些关键事件发生的时刻,例如用来测量方波信号的频率或者脉宽等。

正交编码器功能

部分eTMR的实例被设计支持编码器模式。在有支持编码器模式的eTMR中(例如YTM32B1ME05的eTMR1),设置寄存器eTMR_QDCTRL[QDEN]=1,即可将eTMR整个变成编码器,其余通道引脚和错误检测引脚的eTMR功能都被停用,使用专用的eTMR_QD_PHAeTMR_QD_PHB引脚捕获来自编码器的脉冲信号流。

正交编码器的两个信号,是前后相位相差90度的同频方波信号,并且可通过相差的前后判断编码器的旋转方向。

图x展示了eTMR编码器模块的工作机制。将旋转编码器的两路输出信号输入到编码器模块的引脚后,eTMR模块内部对旋转编码器的信号先进行采样(同步,)、消抖(滤波,eTMR_QDCTRL[QDFCNT]eTMR_QDCTRL[QDFPER])、可选配置相位(eTMR_QDCTRL[PHAPOL]eTMR_QDCTRL[PHBPOL]),然后进入编码器信号变换模块(主要是D触发器),将解析出的速度信号(脉冲序列)和方向信号(电平)送入eTMR的计数器(经过eTMR_QDCTRL[QDCLKPRS]分频后送入),此时,eTMR的计数器的工作状态,等同于使用外部时钟源驱动计数。用户可以实时读取eTMR_CNT的值,对应编码器的位置。

在这里插入图片描述

图x eTMR的编码器功能框图

这里要注意,编码器的方向是可以正转,也可以反转的,这就意味着eTMR_CNT寄存器中的值可以递增,也可以递减。

eTMR_QDCTRL[QDMODE]寄存器段中可以指定4中编码器的工作模式:

  • 00b - Phase A and phase B decoding mode. When phase B changes follow phase A, the counter increases. When phase A changes follow phase B, the counter decreases.
  • 01b - Phase A and phase B decoding mode. When phase A changes follow phase B, the counter increases. When phase B changes follow phase A, the counter decreases.
  • 10b - Counting and direction decoding mode. Phase B input controls direction. When phase B input is high, the counter increases with phase A pulse. When phase B input is low, the counter decreases with phase A pulse.
  • 11b - Counting and direction decoding mode. Phase A input controls direction. When phase A input is high, the counter increases with phase B pulse. When phase A input is low, the counter decreases with phase B pulse

同步机制

因为计数器和总线上访问寄存器使用两个不同的时钟域,又或是因为在有些应用(例如电机)场景中,需要硬件保证的同步更新一组寄存器,而不能又软件一个一个地赋值(否则切换过程中出现不当配置,电机就烧啦),eTMR为一些同计数相关的寄存器设计了缓冲寄存器(Buffered Registers),或者被称为“影子寄存器”(Shadow Registers)。影子寄存器对用户来说是不可见的。当启用影子模式后(eTMR_SYNC[REGLD] != 0),用户通过APB总线向拥有影子寄存器的真实寄存器中写数时,实际由硬件控制先写到影子寄存器中,当预设的同步触发信号到来之时,硬件自动将影子寄存器中的数值写入到实际的寄存器中生效。如图x所示。

在这里插入图片描述

图x eTMR的影子载入机制

图x中展示了,eTMR中拥有影子的寄存器包括:eTMR_INIT、eTMR_MOD、eTMR_MID、eTMR_CHn_VAL0、eTMR_CHn_VAL1、eTMR_CHn_MASK,可以触发载入事件的触发信号,可以来自于MOD或者MID匹配事件、软件或者硬件触发,或者软件写eTMR_SYNC[LDOK]=1。载入事件也可以至起标志位eTMR_STS[RF]

关于影子模式相关的寄存器配置,均在寄存器eTMR_SYNC中可查阅。例如,eTMR_SYNC[LDREQ]指定了在启用同步机制的情况下,连续触发多少次同步事件,才能真的同步一次。

调制模式

eTMR的调制模式,是另一种通道对混合应用的方式,但不同于eTMR内部通道对信号的相互耦合,调制模式允许两个不同eTMR模块以不同频率的信号相互调制(进行与AND逻辑计算)。这种多个实例配合起来的功能,需要在SOC级上进行配置,这也就意味着并不是集成了多了eTMR外设,就一定支持调制模式。

以YTM32B1ME05为例,当启用调试模式时,eTMR0的8个通道(配置CIM_ETMROPT[eTMR0_CHxOUTSEL])可以同eTMR1的CH0调制,通过eTMR0的通道引脚输出调制后的PWM信号。

在这里插入图片描述

图x 调制模式在CIM的配置寄存器

调试模式产生的信号,可用来实现BLDC电机控制中的负载调制,对相位控制信号用占空比进一步对信号功率打折,也可以用来实现某些红外调制的控制信号。

中断、DMA及触发信号

作为一个典型的带输入输出的多通道定时器外设,eTMR的超时事件、各通道的匹配(或输入捕获事件)事件、错误检测输入信号,以及编码器溢出事件都可以触发中断。当对应事件产生后,有标志将会在eTMR_STS寄存器置位,若此时寄存器eTMR_INTE的对应位被置1(启用中断),则会将触发信号送至中断管理器NVIC,触发中断。用户通过写eTMR_STS寄存器以清零标志位。

在这里插入图片描述

eTMR的事件标志寄存器

这里需要注意的是,eTMR的每个通道设计了两个匹配寄存器,这两个寄存器会共用同一个通道标志位,这就意味着,如果要分别处理两个通道的中断,前一个匹配事件的中断处理过程要尽量短,或者用户仅使用后一个事件的中断(允许通道标志位溢出,即在标志位置位后未被清零的情况下再次发起标志位置位的操作)。

eTMR也可以产生DMA触发信号,通过配置各通道的eTMR_CHn_CTRL[DMAEN]=1,可以启用该通道的匹配(或输入捕获)事件,向DMAMUX发送DMA触发请求。这里对应于每个通道的两个匹配事件,对应也会产生两次DMA触发请求。例如,在使用DMA的触发计数器对eTMR产生PWM信号的周期进行计数时,对通道的触发请求进行计数(eTMR的通道溢出事件不会产生DMA请求),将会是PWM周期数量的2倍。

DMA触发的优先级高于中断触发,二者只能有一个生效。一旦使能DMA,即使使能中断,也不会置起中断请求。

应用要点(软件)

YTMicro SDK中设计了eTMR外设的驱动程序,有源码文件 etmr_driver.hetmr_common.cetmr_ic_driver.cetmr_mc_driver.cetmr_oc_driver.cetmr_pwm_driver.cetmr_qd_driver.c等。同时提供了相应的样例工程:etmr_input_captureetmr_input_capture_interruptetmr_output_compareetmr_pwm

总结

本文介绍了eTMR的主要功能,作为一个典型的多通道定时器外设的实现,eTMR实现了输出比较、输入捕获和专用PWM模式。在常规应用中,可以使用输出比较功能产生PWM,在专用PWM模式下,可以使用通道配对,实现需要多个引脚输出实现的功能(例如互补输出)。eTMR还支持死区控制,复杂的掩码机制等,本文未作详解,读者可根据应用需求再详查手册。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot使用WebSocket收发实时离线消息

引入maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> WebScoket配置处理器 import org.springframework.boot.web.servlet.ServletContextI…

如何为你的地图数据设置地图样式?

地图样式设置是GIS系统中非常重要的功能模块&#xff0c;水经微图Web版本最近对符号样式功能模块进行了升级。 你可以通过以下网址直接打开访问&#xff1a; https://map.wemapgis.com 现在我们为大家分享一下水经微图Web版中&#xff0c;如何为你标注的地图数据设置地图样式…

【干货】JVS低代码表单基础组件的配置与应用

表单的基础组件主要用于收集用户输入的数据&#xff0c;并对这些数据进行验证和处理。通过表单组件&#xff0c;用户可以输入各种类型的数据&#xff0c;如文本、数字、日期、选择项等。这些数据可以通过表单的提交按钮提交到服务器进行处理&#xff0c;从而使网站或应用程序能…

LeetCode209——长度最小的子数组

LeetCode209——长度最小的子数组 题目描述&#xff1a; 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数…

什么是React Router?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

“全数前进”媒体交流会在京举办

10月26日&#xff0c;北京市产业经济研究中心联合升哲科技&#xff08;SENSORO&#xff09;举办了以“全数前进”为题的媒体交流会。 会上&#xff0c;北京市产业经济研究中心副主任薛健为与会的媒体朋友介绍了AIoT智慧院落的建设情况&#xff0c;并阐述了北京市经信局在促进数…

pytorch 入门 (五)案例三:乳腺癌识别识别-VGG16实现

本文为&#x1f517;小白入门Pytorch内部限免文章 &#x1f368; 本文为&#x1f517;小白入门Pytorch中的学习记录博客&#x1f366; 参考文章&#xff1a;【小白入门Pytorch】乳腺癌识别&#x1f356; 原作者&#xff1a;K同学啊 在本案例中&#xff0c;我将带大家探索一下深…

uniapp:谷歌地图,实现地图展示,搜索功能,H5导航

页面展示 APP H5 谷歌地图功能记录,谷歌key申请相对复杂一些,主要需要一些国外的身份信息。 1、申请谷歌key 以下是申请谷歌地图 API 密钥的流程教程: 登录谷歌开发者控制台:打开浏览器,访问 Google Cloud Platform Console。 1、创建或选择项目:如果你还没有创建项目…

trucksim常见问题

一、Error: Unable to load .vs data from “D:\Users\Public\Documents\TruckSim2019.0 Data\Results\Run_e24aa2… LastRun.vs”.Reason for failure: Invalid character OxFFFFFFB2 in string"" on line 4.Would you like to continue receiving alerts of this t…

【分享】7-Zip压缩包的密码可以取消吗?

7-Zip压缩包设置了“密码保护”&#xff0c;后面又不想要了&#xff0c;可以取消吗&#xff1f; 首先&#xff0c;我们要分两种情况来看&#xff0c;是记得密码&#xff0c;但不想每次打开压缩包都要输入密码&#xff0c;所以想取消密码&#xff0c;还是把密码忘记了所以想取消…

搜维尔科技:【应用】配备MTi-3的轻便型ROV,在水下进行地理标记视觉检测

部署潜水员进行水下摄像&#xff0c;不仅难度高而且费用昂贵&#xff0c;需要受过潜水和摄像两方面培训的专业人员来进行。但有些水下作业任务例如拍摄海底管道内部的照片&#xff0c;由于人员无法进入或危险度高的原因&#xff0c;无法由潜水员完成。 如今&#xff0c;俄罗…

openEuler 22.03 LTS 环境使用 Docker Compose 一键部署 JumpServer (all-in-one 模式)

环境回顾 上一篇文章中&#xff0c;我们讲解了 openEuler 22.03 LTS 安装 Docker CE 和 Dcoker Compose&#xff0c;部署的软件环境版本分别如下&#xff1a; OS 系统&#xff1a;openEuler 22.03 LTS(openEuler-22.03-LTS-x86_64-dvd.iso)Docker Engine&#xff1a;Docker C…

Linux--进程等待

1.什么是进程等待 1.通过系统调用wait/waitid,来对子进程进行进行检测和回收的功能。 2.为什么有进程等待 1.对于每个进程来说&#xff0c;如果子进程终止&#xff0c;父进程没有停止&#xff0c;就会形成僵尸进程&#xff0c;导致内存泄露&#xff0c;为了防止僵尸进程的形成…

GIT在window是 配置SSHKEY

1、打开你得命令行工具&#xff0c;输入&#xff1a; cd ~/.ssh2、生成密钥 #设置自己的邮箱&#xff0c;随意设置 $ ssh-keygen -t rsa -C "wqzbxh163.com"#输入保存密钥的文件名字 Enter file in which to save the key (/c/Users/dahai/.ssh/id_rsa): wqzbxh剩下…

SpringBoot集成Redis Cluster集群(附带Linux部署Redis Cluster高可用集群)

目录 一、前言二、集成配置2.1、POM2.2、添加配置文件application.yml2.3、编写配置文件2.4、编写启动类2.5、编写测试类测试是否连接成功 一、前言 这里会使用到spring-boot-starter-data-redis包&#xff0c;spring boot 2的spring-boot-starter-data-redis中&#xff0c;默…

域名系统 DNS

DNS 概述 域名系统 DNS(Domain Name System)是因特网使用的命名系统&#xff0c;用来把便于人们使用的机器名字转换成为 IP 地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢&#xff1f;这是因为在这种因特网的命名系统中使用了许多的“域(domain)”&#x…

2023年最受欢迎的11个UI设计师网站,助你成为行业翘楚

作为一名优秀的UI设计师&#xff0c;快速寻找灵感&#xff0c;保持审美在线&#xff0c;了解行业动态绝对是一项职业必备技能。 今天小编为各位小伙伴整理了一些UI设计师必看的绝佳网站。你可以从这些网站中了解行业最新动态&#xff0c;寻找创意灵感、学习优秀作品&#xff0…

ModbusTCP 转 Profinet 主站网关控制汇川伺服驱动器配置案例

ModbusTCP Client 通过 ModbusTCP 控制 Profinet 接口设备&#xff0c;Profinet 接口设备接入 DCS/工控机等 兴达易控ModbusTCP转Profinet主站网关&#xff08;XD-ETHPNM20&#xff09;采用数据映射方式进行工作。 使用设备&#xff1a;兴达易控ModbusTCP 转 Profinet 主站网关…

DeOldify 接口化改造 集成 Flask

类似的图片修复项目 GFPGAN 的改造见我另一篇文 https://blog.csdn.net/weixin_43074462/article/details/132497146 DeOldify 是一款开源软件&#xff0c;用于给黑白照片或视频上色&#xff0c;效果还不错。 安装部署教程请参考别的文章&#xff0c;本文基于你给项目跑通&…

【MySQL索引与优化篇】索引的数据结构

文章目录 1. 概述2. 常见索引结构2.1 聚簇索引2.2 二级索引(辅助索引、非聚簇索引)2.3 联合索引 3. InnoDB的B树索引的注意事项3.1 根页面位置万年不动3.2 内节点中目录项记录的唯一性 4. MyISAM中的索引方案5. InnoDB和MyISAM对比6. 小结7. 补充&#xff1a;MySQL数据结构的合…