【嵌入式系统】第18章 脉宽调试器(PWM)

news2024/10/3 18:45:31

目录

18.1 结构框图

18.3 功能说明

18.3.4 PWM 信号发生器

18.3.5 死区发生器

18.3.6 中断/ADC 触发选择器

18.3.7 同步方法

18.3.8 故障条件

18.3.9 输出控制块

LES 硬件介绍(12)正交编码接口QEI

19.1 结构框图

19.2 信号描述

19.3 功能说明


18.1 结构框图

18.2 信号描述

18.3 功能说明

18.3.1 时钟配置
18.3.2 PWM 定时器

18.3.3 PWM 比较器
18.3.4 PWM 信号发生器

18.3.5 死区发生器
18.3.6 中断/ADC 触发选择器

18.3.7 同步方法
18.3.8 故障条件

18.3.9 输出控制块

   脉宽调制 (PWM) 是一项功能强大的技术,它是一种对模拟信号电平进行数字化编码的方法。在脉宽中使用高分辨率计数器来产生方波,并且可以通过调整方波的占空比来对模拟信号电平进行编码。PWM 通常使用在开关电源和运动控制中。

   微控制器微控制器包含两个 PWM 模块,每个模块有四个PWM 发生器和一个控制模块,总共 16 个 PWM 输出。控制模块决定了PWM信号的极性,以及将哪个信号传递到管脚。

每个 PWM 发生器模块产生两个 PWM 信号,这两个信号基于同一个定时器和频率,也可以是编程产生独立的信号,如插入了死区延时互补信号。PWM 发生器模块的输出信号是 pwmA' 和 pwmB'。在发送到 MnPWM0和 MnPWM1或MnPWM2 和 MnPWM3 等器件管脚之前,这两个输出信号由输出控制模块管理。

  每个 微控制器PWM 模块都具有极大的灵活性,它可以产生简单的 PWM 信号,如简易充电泵需要的信号;也可以产生带死区延迟的成对 PWM 信号,如供半 H 桥驱动电路使用的信号。3个发生器模块也可产生3相反相器桥所需的6通道门控。

每个 PWM 发生模块具有以下特性:

3 个故障条件处理输入,能快速实现低延迟关闭,避免马达在被可控之前产生破坏,共计 6 个输入。

 1 个 16 位的计数器

 运行在递减或递增/递减模式

输出频率由一个 16 位的加载值控制

可同步更新加载值

当计数器的值到达零或者加载值的时候生成输出信号

2 个 PWM 比较器

 比较器值的更新可以同步

在匹配的时候产生输出信号

PWM 信号发生器

根据计数器和 PWM 比较器的输出信号来产生 PWM 输出信号

可产生两个独立的 PWM 信号

死区发生器

 产生 2 个带有可编程死区延时的 PWM 信号,适合驱动半 H 桥(half-H bridge)

可以被旁路,不修改输入的 PWM 信号

可启动一个 ADC 采样序列

  控制模块决定了 PWM 信号的极性,以及将哪个信号传递到管脚。PWM发生器模块的输出在传递到器件管脚之前由输出控制模块管理,PWM 控制模块具有以下特性:

每个 PWM 信号都具有 PWM 输出启用

每个 PWM 信号都可以选择将输出反相(极性控制)

每个 PWM 信号都可以选择进行故障处理

 PWM 发生器模块的定时器同步

 PWM 发生器模块的定时器/比较器更新同步


• ■ PWM 发生器模块的定时器/比较器更新的扩展 PWM 同步


• ■ PWM 发生器模块中断状态汇总


• ■ 多路故障信号,可编程极性和过滤的扩展故障处理


• ■ PWM 发生器可独立操作或者与其它发生器同步操作

18.1 结构框图

  图18-1 提供了 微控制器PWM 模块的结构图,图18-2 提供了一个更加详细的 微控制器PWM 发生器结构图。该 微控制器控制器包含两个 PWM 模块,每个模块有四个发生器模块,可以产生 8 个独立的 PWM 信号或 4 对插入了死区延时的 PWM 信号每个模块有四个发生器模块,可以产生 8个独立的 PWM 信号或 4 对插入了死区延时的 PWM 信号对。

18.2 信号描述

  下表列出了 PWM 模块的外部信号,并描述了每个信号的功能。一些GPIO信号的PWM控制信号是可选功能并且复位后默认的是GPIO信号。在“引脚复用/分配”栏下列出了这些PWM信号的GPIO引脚复用。将GPIO备用功能选择(GPIOAFSEL) 寄存器中的 AFSEL 位置位,以便选择 PWM功
能。必须将括号中的数字写入 GPIO 端口控制 (GPIOPCTL)寄存器中的 PMCn 域,以便将 PWM 信号分配给指定的GPIO 端口管脚。有关如何配置 GPIO 的更多信息,请参阅“通用输入/输入端口(GPIOs)”。

表 18-1. PWM 信号 (64LQFP)

18.3 功能说明

 18.3.1 时钟配置

PWM 具有两种时钟源选项:

系统时钟
• ■ 预分频的系统时钟

    时钟源的选择通过在 0x060 的系统控制偏移量下编制运行模式时钟配置 (RCC) 寄存器的 USPWMDIV位实现。PWMDIV位域规定用于创建 PMW 时钟的系统时钟分频值。

18.3.2 PWM 定时器

   每个 PWM 发送器中的定时器都有两种运行模式:递减模式和递增/递减模式。在递减模式中,定时器从装载值计数到零,再返回到装载值,继续递减。在先递增后递减模式中,

定时器从零开始计数到装载值 ,然后减到零 ,在再增到装载值,然后如此反复。

一般的,递减模式用来产生左对齐或右对齐的PWM信号,先递增后递减模式用来产生中间对齐的PWM信号。

定时器产生三个信号并被用在PWM产生过程中:方向信号(在递减模式中一直是低电平,在递增/递减模式中,则是在高低电平之间切换);当计时值为零时的一个宽度等于时钟周期的高电平脉冲;

当计时值等于装载值时,一个宽度等于时钟周期的高电平脉冲。注:在递减模式中,零脉冲之后紧接着一个装载脉冲。在本章的图片中,这些信号标记为“dir”,“zero”和“load”。

  每个 PWM 发生器有两个比较器,用来监控计数器的值;当任何一个比较器与计数器的值相等时,这两个比较器输出一个宽度等于单个时钟周期的高电平脉冲,在本章图片中标记为“cmpA”和“cmpB”。在递增/递减计数模式中,比较器在递增和递减计数时都要进行比较,因此必须通过计
数器的方向信号来限定。这些限定脉冲在 PWM 信号的生成过程中使用。如果任一比较器的值大于计时器的装载值,则该比较器永远不会输出高脉冲。

图18-3显示了计数器处于递减计数模式时的行为以及这些脉冲之间的关系。图18-4显示了计数器处于递增/递减计数模式时的行为以及这些脉冲之间的关系。在这些图中使用了如下的定义:

 LOAD 是 PWMnLOAD 里的寄存器的值

 COMPA 是 PWMnCMPA 里的寄存器的值

 COMPB 是 PWMnCMPB 里的寄存器里的值

 0 就是数值 0

load 表示当计数器的值等于装载值时的宽度为单时钟周期的内部信号

 zero 表示当计数器的值是零时的宽度为单时钟周期的内部信号

 cmpA 表示宽度为单时钟周期的内部信号,此时计数器的值等于COMPA

 cmpA 表示宽度为单时钟周期的内部信号,此时计数器的值等于COMPB

 dir 是表示计数方向的内部信号

图 18-3. PWM递减计数模式

图 18-4. PWM先递增后递减计数模式

18.3.4 PWM 信号发生器

  每个 PWM 发生器捕获 load、zero、cmpA 和 cmpB 脉冲(由方向信号来限定),并产生两个内部PWM 信号:pwmA 和 pwmB。在递减计数模式中,能够影响这些信号的事件有四个:零、装载、匹配 A 递减以及匹配 B 递减。在递增/递减模式中,能够影响这些信号的事件有六个:零、装值、匹配 A 递增、匹配 B 递增、匹配 A 递减以及匹配 B 递减。

   当匹配A或匹配B事件与零或者装载事件重合时,它们可以被忽略。如果匹配A和匹配B时间重合,则第一个信号PWMA只根据匹配A事件生成,第二个信号PWMB只根据匹配B事件生成。

   各个事件在 PWM 输出信号的影响上都是可编程的:可以保留(忽略该事件),可以翻转,可以驱动为低电平、或驱动为高电平。这些动作可用来产生一对不同位置和不同占空比的PWM信号,这对信号量可以重叠或不重叠。

  图18-5显示了递增/递减计数模式产生的一对中心对齐、含不同占空比的重叠 PWM 信号。改图显示在pwmA和pwmB信号传递到死去发生器之前的信号。

    第一个PWM发生器设置为在出现匹配A递增事件时驱动为高电平,出现匹配A递减事件时驱动为低电平,并忽略其它4个事件。

  第二个发生器设置为在出现匹配B递增事件时驱动为高电平,出现匹配B递减事件时驱动为低电平,并忽略其它4个事件。

  改变比较器 A 的值可改变 pwmA信号的占空比,改变比较器 B 的值可改变 pwmB 信号的占空比。

18.3.5 死区发生器

   每个 PWM 发生器产生的 pwmA 和 pwmB 信号会传递给死区发生器。如果死区发生器禁能,则PWM信号只简单地通过该模块得到pwmA’和pwmB’,而不会发生改变。如果死区发生器使能,则丢弃pwmB信号,并在pwmA信号的基础上产生两个PWM信号。第一个输出PWM信号,pwmA’是pwmA上升沿延迟可编程的信号。

  第二个输出PWM信号,pwmB’是在pwmA信号反相信号,并在pwmA信号的下降沿和pwmB’信号的上升沿之间增加了可编程的延迟时间。最后的信号是一对高电平有效的信号,并且其中一个信号总是为高电平,但在跳变处的那段可编程延时时间时都为低电平。这样两个信号便可用来驱动半-H
桥,又由于他们带有死区延迟,因而还可以避免击穿电流破坏电力电子器件。图18-6显示了死区发生器对 pwmA 信


• 号的影响,以及将被发送到输出控制模块的结果信号 pwmA’和pwmB’。

18.3.6 中断/ADC 触发选择器

   每个PWM 发生器还捕获四个(或六个)计数器事件,并使用它们来产生中断 或者 ADC 触发事件。用户可以选择这些事件中的任一个或一组作为中断源;只要其中一个所选事件发生就会产生中断。

此外,你也可以选择相同的事件,不同事件,同组事件,不同组事件作为ADC的触发源;只要其中一个所选事件发生就会产生ADC脉冲。事件的选择允许在 pwmA 或者 pwmB 信号的特殊位置时发生中断或触发 ADC。注:中断和 ADC 触发是基于原始事件,而不考虑死区发生器在 PWM 信号边沿上产生的延迟。

18.3.7 同步方法

   每个 PWM 模块提供四个 PWM 发生器,每个发生器提供两个 PWM 输出,应用范围广泛。一般来说,PWM使用两种操作类别之一:

  异步. PWM 发生器和它的两个输出信号独自使用,与其他 PWM 发生器独立。

   同步. PWM 发生器和它的两个输出信号通过共用的统一的时间基准与其它 PWM 发生器保持联系。如果多个PWM发生器配置使用相同的计时器装载值,同步可以保证它们有相同的计数值(在同步之前必须配置PWM发生器)。通过这个功能,可产生两个以上的 MnPWMn 信号。而且因为计数器总是具有相同的值,这些信号的边沿之间将存在已知关系。

   通过向 PWM 时间基准同步 (PWMSYNC) 寄存器中写入数值,将与发生器相关的 SYNCn 位置位,PWM 发生器中的计数器会被复位为零。可以在一次访问中置位所有需要的 SYNCn位来同步多个PWM 发生器。比如,向 PWMSYNC 寄存器中的SYNC0 和 SYNC1 位写 1 就可用同时使 PWM 发送器 0 和PWM 发生器 1 中的计时器复位。

另外,同步也可发生在多个PWM发生器之间,通过以下三种方式中的一种:

 立即. 写入值立即生效,硬件立即动作。

局部同步. 写入的值不会影响到逻辑,直到计数器在PWM 周期结束时减为零。这样写入的值的作用延期了,避免出现过短或过长的脉冲。

  全局同步. 写入的值并不影响逻辑,直到有两个连续的事件发生:(1) 在 PWMnCTL 寄存器中启用全局同步的发生器更新模式。(2) 计数器的值在 PWM 周期结束时到达零。在这种情况下,写入的作用会延迟直到PWM周期的结束伴随着所有的更新结束才发生作用。这种模式可以同时对多个PWM发生器中的多项进行更新,而不会在更新过程中出现意外的情况。所有逻辑在根据新值运行之前都先在原来的值上运行。装载和比较器匹配的更新方法可以在各个PWM发生器模块中单独配置。当那些模块中的定时器同步时,通常可以在PMW发生器模块中使用同步更新机制。

  下面的寄存器基于 PWMnCTL 寄存器中各种更新模式位域的状态,提供局部或全局同步:

发生器寄存器:PWMnLOAD、PWMnCMPA 和 PWMnCMPB下面的寄存器默认立即更新模式,提供同步更新的可选功能,而不使更新立即生效:

 模块级寄存器:PWMENABLE(基于 PWMENUPD 寄存器中 ENUPDn 位的状态)。

  发生器寄存器:PWMnGENA、PWMnGENB、PWMnDBCTL、PWMnDBRISE 和PWMnDBFALL(基于 PWMnCTL 寄存器中各种更新模式位域 [GENAUPD、GENBUPD、DBCTLUPD、DBRISEUPD、DBFALLUPD] 的状态)。

  所有其它的寄存器为一个应用提供静态的配置或者与维持同步不相关的动态配置,因此不需要同步更新的功能。

18.3.8 故障条件

   故障条件时必须向控制器发出信号,以停止正常 PWM 功能并置位 MnPWMn 信号到安全状态。两种基本的情况导致故障条件:

 控制器中止并且在运动控制中所必需的计数也不能工作。

检测到一个外部错误或事件。

每个 PWM 发生器可以使用下列的输入来产生故障条件:

 MnFAULTn 管脚有效

调试器引发的控制器中止

 ADC 数字比较器的触发

故障条件的产生以每一个PWM发生器为基础。每个 PWM 发生器都要配置必要的条件,以便显示出故障条件。用该方法可以开发具有相关控制或者独立控制的应用程序。

提供六个故障输入管脚 (MnFAULTn)。这些输入 可能和产生高电平有效或低电平有效的电路一起指示一个错误状态。MnFAULTn 管脚可以通过 PWMnFLTSEN 寄存器单独编程,以获得相应的逻辑意义。

PWM发生器的模式控制,包括故障条件处理,都通过PWMnCTL 寄存器指定。PWMnCTL 寄存器同样用于选择是将故障条件持续到和外部条件一样长,还是锁存起来直到软件清除故障条件。最后,这个寄存器使能一个计数器,用来扩展外部事件的故障条件事件,以确保持续时间达到一个最小值。最小故障周期计数在 PWMnMINFLTPER 寄存器中指定。

   PWMnFLTSTAT0 和 PWMnFLTSTAT1 寄存器中提供了与具体故障原因相关的状态。

PWMnFLTSTAT0 和 PWMnFLTSTAT1 反映所有故障源的状态,而不论该特定发生器启用了哪些故障源。

通过配置 PWMINTEN 寄存器可将 PWM 发生器故障条件提升到控制器中断。

18.3.9 输出控制块

   输出控制块在 pwmA’ 和 pwmB’ 信号作为 MnPWMn 信号发送到引脚之前负责对这两个信号做最后的调整。通过一个寄存器,PWM 输出使能 (PWNENABLE) 寄存器,可以对实际送到引脚的那组PWM 信号进行修改。例如,这个功能可被用来通过对单个寄存器执行写操作来与无刷直流电机通信(不需要修改单个的PWM发生器,而只需要通过反馈控制回路的修改即可)。另外,通过 PWM更新使能 (PWMENUPD)寄存器,可以对 PWMENABLE 寄存器中位更新进行配置,以便能够立即,或局部、全局同步至下一个同步更新。

  在故障条件下,PWM 输出信号 MnPWMn 通常要求驱动为安全的值,这样也可安全控制外部的设备。PWMFAULT 寄存器指定故障条件下是继续驱动已生成的信号,还是驱动在PWMFAULTVAL寄存器中编码指定的信号。

  用 PWM 输出反相 (PWMINVERT) 寄存器可以将任何 MnPWMn信号最终反相,把他们从默认的高电平有效变成低电平有效。就算是一个值在 PWMFAULT 寄存器中使能并在PWMFAULTVAL 寄存器中指定,照样可以反相。换句话说,
 如果 PWMFAULT、PWMFAULTVAL 和PWMINVER寄存器中的某位已置位,MnPWMn 信号的输出将是 0,并不是 PWMFAULTVAL寄存器所指定的 1。

LES 硬件介绍(12)正交编码接口QEI

19 正交编码接口(QEI)

19.1 结构框图
• 19.2 信号描述
• 19.3 功能说明

19 正交编码接口(QEI)

  正交编码器(又名双通道增量式编码器),用于将线性位移转换成脉冲信号。通过监控脉冲的数目和两个信号的相对相位,用户可以跟踪旋转的位置、方向和速度。此外还有第三个通道,称为索引信号,可用来对位置计数器进行复位,以确定绝对位置。

  微控制器包括两个正交编码器接口 (QEI) 模块。每个 QEI模块对正交编码器轮产生的代码进行解码,将它们解释成位置对时间的积分,并确定旋转的方向。另外,该接口还能捕获编码器转轮的运行速率。

 微控制器包含两个 QEI 模块,可同时控制两个电机,并具有以下特性:

使用位置积分器来跟踪编码器的位置

输入可编程噪音过滤

使用内置的定时器进行速率捕获

QEI 输入的频率高达 1/4 处理器频率(例如,50 MHz系统可达 12.5 MHz)。

以下情况下产生中断:

 检测到索引脉冲
• – 速度定时器发生计满返回事件
• – 旋转方向发生改变
• – 检测到正交错误

19.1 结构框图

图19-1显示了 微控制器QEI 模块的内部结构图。该框图中的 PhA 和 PhB 输入是在外部信号 PhAn 和 PhBn 经过图19-2 所示反相和相位交换逻辑后,进入正交编码器的内部信号。QEI 模块具有反转和/或交换输入信号的功能。

注意: 本章所提及 PhA 和 PhB 均指内部 PhA 和 PhB 输入,它们在外部信号 PhAn 和 PhBn 经过反相和相位交换逻辑后进入正交编码器,而这些逻辑通过 QEI 控制(QEICTL) 寄存器使能。

19.2 信号描述

下面的表格列出了 QEI 模块的外部信号,并描述了每个信号的功能。对某些GPIO引脚是QEI引脚是可选的并且复位的时候默认是GPIO引脚。在标题"管脚复用 / 分配"栏下列出了可用的配置成QEI的GPIO引脚。将 GPIO 备用功能选择(GPIOAFSEL) 寄存器中的 AFSEL 位置位,以便选择QEI 功能。必须将括号中的数字写入 GPIO 端口控制 (GPIOPCTL)寄存器(590页)的 PMCn 域中,以便把 QEI 信号分配给指定 GPIO 端口管脚。有关如何配置 GPIO 的更多信息,请参阅“通用输入/输入端口(GPIOs)”(553页)。

19.3 功能说明

 QEI模块对正交编码器轮产生的两位格雷码(gray code)进行解码,将它们解释成位置对时间的积分并确定旋转的方向。另外,该接口还能捕获编码器转轮的运行速率。

虽然必须在使能速度捕获前使能位置积分器,但仍然可以单独使能位置积分器和速度捕获。PhAn和 PhBn 这两个相位信号在被 QEI 模块解码前可以进行交换,以改变正向和反向的意义和纠正系统的错误接线 (miswiring)。另外,相位信号也可以解释为时钟和方向信号,将它们作为某些编码器的输出。

QEI模块输入引脚上有数字噪音过滤器使能它可以避免伪动作。噪音过滤要求在更新边沿探测器之前输入稳定的连续时钟指定数字。将 QEI 控制 (QEICTL) 寄存器中的 FILTEN 位置位可以启用该滤波器。输入信号更新的频率可以用QEICTL 寄存器中的 FILTCNT 位域编程确定。

QEI 模块支持两种信号操作模式:正交相位模式和时钟/方向模式。在正交相位模式中,编码器产生两个相位差为90度的时钟信号;它们的边沿关系被用来确定旋转方向。在时钟/方向模式中,编码器产生一个时钟信号和一个方向信号,分别表示步长和旋转方向。这两种模式的选择由 QEICTL 寄存器中的 SIGMODE 位确定。

在将 QEI 模块设置为使用正交相位模式(SigMode 位为 0)时,位置积分器的捕获模式可设置成在PhA 信号的上升和下降沿或是在 PhA 和 PhB 的上升和下降沿对位置积分器进行更新。在 PhAPhB 的上升和下降沿上更新位置计数器可获得更高精度的数据(更多位置计数),但位置计数器的计数范围却相对变少。

当 PhA 的边沿超前于 PhB 的边沿时,位置计数器加 1。当PhB 的边沿超前于 PhA 的边沿时,位置计数器减 1。当一对上升沿和下降沿出现在其中一个相位上,而在其它相位上没有任何边沿时,这表示旋转方向已经发生了改变。

位置计数器在下列其中一种情况时将自动复位:1、检测到索引脉冲;2、位置计数器的值达到最大值。复位模式由QEI 控制 (QEICTL) 寄存器的 ResMode 位确定。

当 RESMODE 位为 1 时,位置计数器在检测到索引脉冲时复位。在该模式下,位置计数器的值限制在[0:N-1]内,N为编码器轮旋转一圈得到的相位边沿数。QEI 最大位置(QEIMAXPOS) 寄存器必须设置为 N-1,这样,从位置 0 反向就可以使位置计数器移到 N-1。在该模式中,一旦出现索引脉冲,位置寄存器就包含了编码器相对于索引(或发起)位置的绝对位置。

当 RESMODE 位为 0 时,位置计数器的范围限制在 [0:M]内,M 为可编程的最大值。在该模式中,位置计数器将忽略索引脉冲。

速度捕获包含一个可配置的定时器和一个计数寄存器。定时器在给定时间周期内对相位边沿进行计数(使用与位置积分器相同的配置)。控制器通过 QEI 速度 (QEISPEED)寄存器来获得上一个时间周期内的边沿计数值,而当前时间周期的边沿计数在 QEI 速度计数器 (QEICOUNT) 寄存器中进行累加。当前时间周期一结束,在该段时间内计得的边沿总数便可以从 QEISPEED 寄存器中获得(上一个值丢失)。这时 QEICOUNT 寄存器清零,并在一个新的时间周期开始计数。在给定时间周期内所计得的边沿数目与编码器的速度成正比例。

图19-3 显示了 微控制器正交编码器如何将相位输入信号转换为时钟脉冲、方向信号,以及速度预分频器方式(在4 分频模式中)。

定时器的周期可通过指定 QEILOAD 寄存器中定时器的装载值来确定。定时器到达 0 时可触发一次中断,硬件将 QEILOAD的值重新装载到定时器中,并继续递减计数。在编码器的速度较低的情况下,需要一个较长的定时器周期,以便捕获足够多的边沿,从而使得结果有意义。在编码器速度较高的情况下,可以使用较短的定时器周期也可以使用速度预分频器。

可以使用下面的等式将速率计数器的值转换为rpm(每分钟的转数):

rpm = (clock * (2 ^ VELDIV) * SPEED * 60) ?(LOAD * ppres)

此处,clock 表示控制器的时钟速率,ppr 表示实际编码器循环一次的脉冲数edges 等于 2 或 4,根据 QEICTL 寄存器中设置的捕获模式来决定(CAPMODE 设为 0 时,edges值为 2,


 


资料仅供学习使用

如有错误欢迎留言交流

上理考研周导师的其他专栏:

光电融合集成电路技术     电路原理

C语言       复变函数与积分变换

单片机原理

模式识别原理

数字电子技术

自动控制原理 ​​​​​​    ​​​​​​ 传感器技术

模拟电子技术

数据结构

 概率论与数理统计

高等数学

传感器检测技术

智能控制

嵌入式系统

图像处理与机器视觉

热工与工程流体力学

数字信号处理

线性代数

工程测试技术

大学物理

上理考研周导师了解更多

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

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

相关文章

4M-21: An Any-to-Any Vision Model for Tens of Tasks and Modalities论文精度

贡献:在21种高度不同的模态中训练一个统一的模型,并且对比专有模型不会有性能损失做法:将不同模态映射到不同的token空间,并且可以生成不同的模态token【Any-to-any】关键点:如何在不同的模态中应用tokenization进行映…

【MySQL 07】内置函数

目录 1.日期函数 日期函数使用场景: 2.字符串函数 字符串函数使用场景: 3.数学函数 4.控制流函数 1.日期函数 函数示例: 1.在日期的基础上加日期 在该日期下,加上10天。 2.在日期的基础上减去时间 在该日期下减去2天 3.计算两…

【MySQL】服务器管理与配置

MySQL服务器 服务器默认配置 查看服务器默认选项和系统变量 mysqld --verbose --help 查看运行时的系统变量,可以通过like去指定自己要查询的内容 状态变量的查看 系统变量和状态变量的作用域 全局作用域: 对于每个会话都会生效当前会话:只…

通信工程学习:什么是SNMP简单网络管理协议

SNMP:简单网络管理协议 SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于在计算机网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。它属于OSI模型的应用层&#…

TIM的PWM模式

定时器的工作流程: 定时器对时钟传来的脉冲次数计数,并且在次数到达范围值时触发中断。如向下计数模式时为0,向上计数为达到自动重装载计时器的值时触发中断。 STM32里面的定时器有多个定时器。 如TIM1、TIM2、TIM3 定时器的输入捕获模式来测量输…

我为什么决定关闭ChatGPT的记忆功能?

你好,我是三桥君 几个月前,ChatGPT宣布即将推出一项名为“记忆功能”的新特性,英文名叫memory。 这个功能听起来相当吸引人,宣传口号是让GPT更加了解用户,仿佛是要为我们每个人量身打造一个专属的AI助手。 在记忆功…

【笔记】平面

一、平面及其方程(3个条件,4种表达) F ( x , y , z ) F(x,y,z) F(x,y,z)为平面方程: 在这个平面上的点满足 F ( x , y , z ) 0 F(x,y,z)0 F(x,y,z)0不在这个平面上的点不满足 F ( x , y , z ) 0 F(x,y,z)0 F(x,y,z)0 归根结底&…

Python 课程23-LibROSA

前言 LibROSA 是一个用于音频分析的 Python 库,特别擅长音乐信号处理和音频特征提取。它提供了广泛的工具来处理音频文件,包括加载、变换、特征提取、可视化等功能。LibROSA 在音乐信息检索(MIR)、机器学习中的音频预处理和音频信…

java发送邮件email实战

1.首先在项目中增加依赖&#xff0c;在pom文件中添加如下坐标 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>2.发邮件工具类如下 package com.example.demo.…

安卓13默认使用大鼠标 与配置分析 andriod13默认使用大鼠标 与配置分析

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.彩蛋1.前言 android13里面的鼠标貌似比以前版本的鼠标小了,有些客户想要把这个鼠标改大。这个功能,android有现成的,就在这里,设置 =》无障碍 =》色彩和动画 =》 大号鼠标指针。 我们通过…

JavaWeb - 8 - 请求响应 分层解耦

请求响应 请求&#xff08;HttpServletRequest&#xff09;&#xff1a;获取请求数据 响应&#xff08;HttpServletResponse&#xff09;&#xff1a;设置响应数据 BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程…

【解决方案】关于 UART 接收数据时丢失数据的解决办法——环形缓冲存储区

文章目录 UART 通信丢失数据的常见原因总结串口&#xff08;UART&#xff09;数据丢失 Bug 的复现引入环形队列解决数据丢失问题总结 在嵌入式系统和物联网&#xff08;IoT&#xff09;设备中&#xff0c;串行通信是一种非常普遍且重要的数据传输方式。无论是通过 UART、RS-232…

【Godot4.3】基于中心点连线的矩形重叠检测

概述 这个方法是我自己想到的&#xff0c;经典的矩形重叠&#xff08;碰撞&#xff09;检测&#xff0c;是一段很复杂的逻辑判断&#xff0c;而根据两个矩形中点连线&#xff0c;与两个矩形宽度和高度之和一半的比较&#xff0c;就可以判断两个矩形是否重叠&#xff0c;并且能…

SQL进阶技巧:统计各时段观看直播的人数

目录 0 需求描述 1 数据准备 2 问题分析 3 小结 如果觉得本文对你有帮助&#xff0c;那么不妨也可以选择去看看我的博客专栏 &#xff0c;部分内容如下&#xff1a; 数字化建设通关指南 专栏 原价99&#xff0c;现在活动价39.9&#xff0c;十一国庆后将上升至59.9&#…

TransFormer 视频笔记

TransFormer BasicsAttention单头注意力 single head attentionQ&#xff1a; query 查寻矩阵 128*12288K key matrix 128*12288SoftMax 归一 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/19e3cf1ea28442eca60d5fc1303921f4.png)Value matrix 12288*12288 MLP Bas…

边缘概率 | 条件概率

关于什么是边缘概率分布和条件概率分布&#xff0c;在理论上&#xff0c;我自己也还没有理解&#xff0c;那么现在就根据我学习到的理解方式来记录一下&#xff0c;有错误指出&#xff0c;请大家指正&#xff01;&#xff01;&#xff01; 例如&#xff0c;一个箱子里有十个乒乓…

YOLO11改进|上采样篇|引入CARAFE上采样模块

目录 一、CARAFE上采样模块1.1CARAFE上采样模块介绍1.2CARAFE核心代码 五、添加MLCA注意力机制5.1STEP15.2STEP25.3STEP35.4STEP4 六、yaml文件与运行6.1yaml文件6.2运行成功截图 一、CARAFE上采样模块 1.1CARAFE上采样模块介绍 CARAFE 的主要思想&#xff1a; 将特征图的上采…

C# (.net6)实现Redis发布和订阅简单案例

概念&#xff1a; 在 .NET 6 中使用 Redis 的/订发布阅模式。发布/订阅&#xff08;Pub/Sub&#xff09;是 Redis 支持的一种消息传递模式&#xff0c;其中一个或多个发布者向一个或多个订阅者发送消息,Redis 客户端可以订阅任意数量的频道。 多个客户端可以订阅一个相同的频道…

【Java】—— 集合框架:Collection接口中的方法与迭代器(Iterator)

目录 1. 集合框架概述 1.1 生活中的容器 1.2 数组的特点与弊端 1.3 Java集合框架体系 1.4 集合的使用场景 2. Collection接口及方法 2.1 添加 2.2 判断 2.3 删除 2.4 其它 3. Iterator(迭代器)接口 3.1 Iterator接口 3.2 迭代器的执行原理 3.3 foreach循环 1. 集…

【rust/egui/android】在android中使用egui库

文章目录 说在前面AndroidStudio安装编译安装运行问题 说在前面 操作系统&#xff1a;windows11java版本&#xff1a;23android sdk版本&#xff1a;35android ndk版本&#xff1a;22rust版本&#xff1a; AndroidStudio安装 安装AndroidStudio是为了安装sdk、ndk&#xff0c;…