MIPI D-PHY 2.1协议(学习笔记)

news2024/11/16 12:15:55

1~3 简介/术语/参考文档

这三章属于介绍性内容,包括缩略语等名词术语解释内容,不再赘述。

直接进入以下正文部分

4 D-PHY概述

D-PHY描述了一种Source同步、高速、低功耗、低成本的PHY,特别适用于移动应用。这个D-PHY规范主要是为了将相机(camera不是CSI吗?)和显示器应用程序连接到主机处理器而编写的。然而,它可以应用于许多其他应用。可以设想,相同类型的PHY也将用于更通用的通信网络中的互连的双单工配置中。由于链路两侧之间的主从关系,链路的操作和可用数据速率是不对称的。不对称设计显著降低了链路的复杂性。一些功能,如双向、半双工操作是可选的。利用这一特性对于具有不对称数据业务需求的应用程序以及当用于返回信道的单独互连的成本过高时是有吸引力的。虽然此功能是可选的,但对于没有返回流量要求或希望应用物理上不同的返回通信信道的应用程序,它避免了强制性的开销成本。

4.1 PHY功能概述

D-PHY提供主设备和从设备之间的同步连接。一种实用的PHY配置由时钟信号和一个或多个数据信号组成。时钟信号是单向的,起始于主设备,终止于从设备。数据信号可以是单向的,也可以是双向的,这取决于所选择的选项。对于半双工操作,反向带宽是正向带宽的四分之一(为什么带宽是四分之一,是因为只有data0可以反向操作吗?)令牌传递用于控制链路的通信方向

链路包括用于快速数据业务的高速信令模式和用于控制目的的低功信令模式。可选地,低功耗退出模式可用于低速异步数据通信。高速数据通信出现在具有任意数量的有效载荷数据字节的突发中。

PHY每个数据通道使用两根导线,时钟通道使用两根电线。这为最小PHY配置提供了四条导线。在高速模式下,每条Lane的两侧都端接,并由低摆幅差分信号驱动。在低功模式下,所有电线均为单端和非端接操作。由于EMI原因,该模式的驱动器应进行转换速率控制和电流限制。

高速模式下实际可实现的最大比特率由发射机、接收机和互连实现的性能决定。因此,在本文档中没有指定最大比特率。然而,本规范主要旨在定义一种解决方案,该解决方案适用于每通道80 to 1500 Mbps的数据速率范围(无去偏移校准)、1500 to 2500Mbps的去偏移校准以及2500 to 4500Mbps的均衡。当实现支持大于1500 Mbps的数据速率时,还应支持去偏斜能力。当PHY实现支持超过2500 Mbps的数据速率时,它还应支持均衡,并且应提供扩频时钟。尽管PHY配置不限于此范围,但实际限制使其成为最适合预期应用的范围。对于固定的时钟频率,可以通过使用更多的数据通道来增加PHY配置的可用数据容量(能无限扩容吗?)。通过采用突发模式通信可以降低有效的数据吞吐量。低功耗模式下的最大数据速率为10Mbps。

本规范引入的特征(扩频时钟、传输均衡和去偏移)可以应用于任何HS数据速率。

4.2 强制性功能

本文件中规定且第5.5节中未明确说明的所有功能应适用于所有D-PHY配置。

5 架构

本节描述PHY的内部结构,包括其在行为层面的功能。此外,给出了几种可能的PHY配置。每个配置都可以被认为是一组基本模块的合适组合。

5.1 Lane模块

PHY配置包含时钟通道模块和一个或多个数据通道模块。这些PHY通道模块中的每一个都通过两条线路与通道互连另一侧的互补部分通信。

每个通道模块由一个或多个同时使用两条互连线的差分高速功能、一个或更多个单独在每条互连线上操作单端低功耗功能以及控制和接口逻辑组成。所有功能的概述如图1所示。高速信号具有低电压摆动,例如200mV,而低功耗信号具有大摆幅,例如1.2V。高速功能用于高速数据传输。低功耗功能主要用于控制,但也有其他可选用例。I/O功能由通道控制和接口逻辑块控制。该块与协议接口,并确定通道模块的全局操作。

高速功能包括差分发射机(HS-TX)和差分接收机(HS-RX)。

通道模块可以包含HS-TX、HS-RX或两者。在正常操作期间,单个通道模块内的HS-TX和HS-RX永远不会同时启用(不是全双工吗,为什么不能同时发收?--->因为是单通道内)。启用的高速功能应在第9.1.1节和第9.2.1节中定义的通道互联一侧端接通道。如果车道模块中的高速功能未启用,则应将该功能置于高阻抗状态。

低功耗功能包括单端发射机(LP-TX)、接收机(LP-RX)和低功耗竞争检测器(LP-CD/Contention-Detector)。低功耗功能总是成对存在,因为这些功能是在两条互连线中的每一条上单独操作的单端功能。LP-TX可以支持可选的低电压低功耗(LVLP/Low Voltage Low Power)操作,其中与正常低功耗模式相比,最大电压是有限的。符合第9.2.2节VIH规范的LP-RX支持LVLP操作。

高速和低功耗功能的存在是相关的。也就是说,如果车道模块包含HS-TX,它也应包含LP-TX。类似的约束适用于HS-RX和LP-RX。

如果包含LP-RX的通道模块通电,该LP-RX应始终处于活动状态,并持续监测线路电平。LP-TX只能在驱动低功状态时启用。LP-CD功能仅用于双向操作。如果存在,则启用LP-CD功能以在LP-TX驱动低功耗状态时检测争用情况。LP-CD在线路上驱动除ULPS(超低功耗状态/Ultra-Low Power State)之外的新状态之前检查竞争。

LP-TX、HS-TX和HS-RX在单个通道模块中的活动是互斥的,除了一些短的交叉周期。有关线路侧时钟和数据信号以及HS-TX、HS-RX、LP-TX、LP-RX和LP-CD功能的详细规范,请参阅第9章和第10章。

为了正确操作,必须匹配通道互连两侧的通道模块中的一组功能。这意味着,对于车道互连一侧的每个HS和LP发送或接收功能,另一侧必须存在互补的HS或LP接收或发送功能。此外,在任何结合TX和RX功能的通道模块中都需要一个竞争检测器(谁与谁竞争?HS-TX/HS-RX/LP-TX/LP/RX之间,还是说只是在LP-TX/LP-RX之间?)

5.2 Master和Slave

每个链路(链路包含一个时钟通道和至少一个数据通道的两个设备之间的连接,链路由至少两个PHY和两个通道互连组成)都有一个Master和一个Slave。Master向时钟通道提供高速DDR时钟信号,是主要数据source。Slave在clock Lane接收时钟信号,是主要的数据sink。数据通信的主要方向,从source到sink,表示为正向。相反方向的数据通信称为反向传输。只有双向数据通道才能在反向方向上传输。在所有情况下,时钟通道都保持在正向,但双向数据通道可以反转,从Slave端sourceing数据。

5.3 高频时钟生成

在许多情况下,PLL时钟乘法器(基本工作原理是什么,倍频?)需要用于在Master产生高频时钟。D-PHY规范使用架构模型,其中PHY外部的单独时钟乘法器单元生成PHY所需的高频时钟信号。这个时钟乘法器单元在实践中是否集成在PHY内部,由实施者决定。

5.4 时钟通道、数据通道和PHY协议接口

除了通道模块外,完整的链路还包含一个PHY适配层,该层将所有通道、时钟乘法器单元和PHY协议接口连接在一起。图2显示了具有两个数据通道和一个单独的时钟乘法器单元的链路的PHY配置示例。PHY适配器层虽然是PHY的一个组件,但不在本规范的范围内。

每个单独通道的逻辑PHY协议接口(PPI/PHY-Protocol interface)包括一组信号以覆盖该通道的功能。如图2所示,时钟信号可用于所有通道。时钟乘法器单元的参考时钟和控制信号不在本规范的范围内。

5.5 可选通道选项

PHY配置由一个时钟通道和一个或多个数据通道组成。所有数据通道应支持正向的高速传输和Escape模式。

数据通道主要有两种类型:

  • 双向(具有折返和一些反向通信功能)
  • 单向(无折返或任何类型的反向通信功能)

双向数据通道应包括以下反向通信选项中的一个或两个:

  • 高速反向数据通信
  • 低功耗反向Escape模式(包括或不包括LPDT/Low-Power Data Transmission)

所有通道应包括对ULPS(超低功耗状态)正向触发器的Escape模式支持。其他Escape模式功能是可选的;第6.6节描述了所有可能的Escape模式功能。应用程序应定义需要哪些额外的Escape模式功能,对于双向通道,应分别为每个方向选择Escape模式功能。

这导致了完整PHY配置的许多选项,自由度为:

  • 单个或多个数据通道
  • 双向和/或单向数据通道(每个通道)
  • 支持的反向通信类型(每条通道)
  • Escape模式支持的功能(每个通道的每个方向)
  • 数据传输可以使用8位原始数据(默认)或8b9b编码符号(见附录C)

图3是选项选择过程的流程图。实际配置示例见第5.7节。 

                                    Figure 3 Option Selection Flow Graph

5.6 通道模块类型

通道模块中所需的功能取决于通道类型以及通道模块位于通道互连的哪一侧。主要有三种通道类型:时钟通道单向数据通道双向数据通道。可以使用这些通道类型来构造若干PHY配置。有关选择通道选项的更多信息,请参见图3。

图4显示了通用通道模块图,其中对CIL功能的内部功能进行了全局概述。此通用模块可用于所有通道类型。“控制和接口逻辑”(CIL/Control and Interface Logic)功能的要求取决于通道类型和通道侧。第6章和附件A隐含地规定了CIL功能的内容。实际实现留给实现者。

当然,只支持特定通道类型所需功能的通用通道模块的精简版本也是可能的。这些精简版本由表1中的首字母缩略词标识。出于简化的原因,四个识别字符中的任何一个都可以用X代替,这意味着这可以是任何可用的选项。例如,CIL-MFEN因此是单向通道Master侧的精简CIL功能,仅在前进方向具有Escape模式功能。CIL-SRXX是用于通道Slave侧的CIL功能,支持双向高速通信和任何允许的Escape模式子集。

注意,CIL-XFXN表示单向链路,而CIL-XRXX或CIL-XXXY块表示双向链路。请注意,时钟通道的前向“Escape”(ULPS)条目与数据通道的Escape模式条目不同

推荐的PHY协议接口包含字节格式的数据输入和数据输出、输入和/或输出时钟信号和控制信号控制信号包括请求、握手、测试设置和初始化。附录A中描述了逻辑内部接口的建议。虽然不是要求,但使用建议的PPI可能非常有用。对于IC上的外部使用,一种实现方式可以在相同引脚上多路复用许多信号。然而,由于功率效率的原因,PPI通常在IC内。

5.6.1 单向数据通道

对于单向数据通道,Master模块应至少包含HS-TX、LP-TX和CIL-MFXN功能。Slave侧应至少包含一个HS-RX、一个LP-RX和一个CIL-SFXN

5.6.2 双向数据通道

双向数据通道模块包括某种形式的反向通信;高速反向通信、反向Escape模式或两者兼有。所需的功能取决于通道模块中包含的反向通信方法。

5.6.2.1 无高速反向通信的双向数据通道

无高速反向通信的双向数据通道模块应包括反向Escape模式。Master侧通道模块包括HS-TX、LP-TX、LP-RX、LP-CD和CIL-MFXY(双向不应该是R吗,为什么是F?--->只针对High-Speed Capabilities)。Slave端包括HS-RX、LP-RX、LP-TX、LP-CD和CIL-SFXY。

5.6.2.2 具有高速反向通信的双向数据通道

具有高速反向通信的双向数据通道模块应包括反向Escape模式。Master侧通道模块包括HS-TX、HS-RX、LP-TX、LP-RX、LP-CD和CIL-MRXX。Slave侧包括HS-RX、HS-TX、LP-RX、LP-TX、LP-CD和CIL-SRXX。

这种类型的通道模块似乎对于Master侧和Slave侧都适用,但由于链路的不对称性(不对称性具体是指?),一侧应配置为Master侧,另一侧应配置为Slave侧。

5.6.3 时钟通道

对于时钟通道,仅使用一组有限的线路状态。然而,对于时钟传输和低功模式,需要与单向数据通道相同的TX和RX功能。因此,用于Master侧的时钟通道模块包含HS-TX、LP-TX和CIL-MCNN功能,而Slave侧模块包含HS-RX、LP-RX和CIL-SCNN功能。

请注意,时钟通道所需的功能与单向数据通道相似,但并不完全相同。高速DDR时钟与数据信号以正交相位传输(图2所示的I和Q,为什么要这样做,为了读写错开半个周期?),而不是同相传输。此外,时钟通道Escape模式条目与用于数据通道的条目不同。此外,由于时钟通道仅支持ULPS,因此不需要Escape模式进入代码。

具有适当相位的内部时钟信号在PHY外部生成并传送到各个通道。时钟生成单元的实现不在本规范的范围内。内部时钟信号的质量应足以满足第10章中规定的信号时序要求。

5.7 配置

本节概述了几种常见的PHY配置,但不应被视为所有可能安排的详尽列表。任何其他不违反本文件要求的配置也是允许的。

为了创建抽象级别,通道模块在本节中由通道模块符号表示。图5显示了符号的语法和含义。

对于多个数据通道,可以进行多种配置。图6显示了不同通道类型的符号表示概述。每种通道类型的首字母缩略词都以简短的方式表示了每个模块的功能。这也为每个模块内的CIL功能设置了要求。

5.7.1单向配置

所有单向配置都由时钟通道和一个或多个单向数据通道构成。可以区分两种基本配置:单数据通道和多数据通道。为了完整起见,还显示了Dual Simplex配置。在PHY级别,Dual Simplex配置和两个独立的单向配置之间没有区别。

5.7.1.1 具有单个数据通道的PHY配置

此配置包括一个时钟通道和一个从Master设备到Slave设备的单向数据通道。因此,只能在前进方向上进行通信。图7显示了一个没有LPDT的配置示例。这种配置需要四条互连信号线。

            

 5.7.1.2 具有多个数据通道的PHY配置

此配置包括一个时钟通道和从Master到Slave的多个单向数据通道。带宽得到了扩展,但通信只能在正向上进行。PHY规范并不要求所有数据通道同时处于活动状态。事实上,协议层单独控制所有数据通道。图8显示了三个数据通道的此配置示例。如果N是数据通道的数量,则此配置需要2*(N+1)条互连线。

5.7.1.3 双单工(具有单向通道的两个方向)

这种情况与两个独立(双)、单向(单)链路相同:每个方向一个链路。每个方向都有自己的时钟通道,可以包含单个或多个数据通道。请注意,对于两个不同方向而言Master侧和Slave侧是相反的。每个方向的PHY配置应符合D-PHY规范。由于两个方向在概念上是独立的,所以每个方向的比特率不必匹配。然而,对于实际实现,只要两个链路都满足外部的所有规范,匹配速率并共享一些内部信号是有吸引力的。图9显示了这种双PHY配置的示例。

5.7.2 双向半双工配置

双向配置包括一个时钟通道和一个或多个双向数据通道。半双工操作实现了共享互连线之间的双向通信。与Dual Simplex配置相比,此配置节省了导线。但是,链路上的时间在正向和反向流量以及链路调转(Link Turnaround)之间共享。根据定义,反向方向上的高速比特率是正向方向上的比特率的四分之一。LPDT在正向和反向方向上可以具有相似的速率(低速正反向一样,高速反向是正向的四分之一,为什么要这样定义?--->为了下面讲的数据流量不对称场景?)。这种配置对于数据流量不对称的情况尤其有用。

5.7.2.1 具有单个数据通道的PHY配置

该配置包括一个时钟通道和任何类型的双向数据通道中的一个。这允许在正向和反向两个方向上进行时间复用的数据业务。图10显示了具有数据通道的该配置,该数据通道支持双向高速和Escape(无LPDT)通信。其他可能性是仅支持一种类型的反向通信,或者在一个或两个方向上也包括LPDT。所有这些配置都需要四条互连线。

                  

5.7.2.2 具有多个数据通道的PHY配置

此配置包括一个时钟通道和多个双向数据通道。每个通道都可以在前进和后退方向上进行通信。最大可用带宽随每个方向的通道数而变化。PHY规范不要求所有数据通道同时活动,甚至不要求在同一方向上操作。事实上,协议层单独控制所有数据通道。图11显示了具有两个数据通道的示例配置。如果N是数据通道的数量,则此配置需要2*(N+1)条互连线。

               

5.7.3 混合数据通道配置

PHY配置可以组合不同的单向和双向数据通道类型,而不是仅使用一种数据通道类型。图12显示了一个具有一个双向和一个单向数据通道的示例配置,这两个通道都没有LPDT。

          

6 通用操作

本节规定了D-PHY的操作,包括信令类型、通信机制、操作模式和编码方案。所需电气功能的详细规范见第9节。

6.1 传输数据结构

在高速或低功耗传输期间,链路将协议层提供的有效载荷数据传输到链路的另一侧。本节规定了对发送和接收的有效载荷数据的限制。

6.1.1 数据单元

最小有效载荷数据单元应为一个字节。提供给TX和从任何通道上的RX获取的数据应为整数字节。此限制适用于任何方向的高速和低功耗数据传输。

6.1.2 位顺序、串行化和反串行化

对于串行传输,数据应在传输PHY中串行化,并在接收PHY中解串行化。PHY不承担传入和传出数据的特定含义、值或顺序(PHY层只管串行解串0和1信号,信号含义由上层解释?)

6.1.3 编码和解码

本规范不要求线路编码。但是,如果使用线路编码,则应按照附录C执行。

6.1.4 数据缓冲

根据协议请求进行数据传输。一旦通信开始,只要不停止传输请求,传输侧的协议层就应提供有效数据。对于使用线路编码的通道,也可以在传输中插入控制符号。接收端的协议应在接收PHY交付后立即获取数据。信令概念,因此PHY协议握手,不允许数据节流。用于此目的的任何数据缓冲都应在协议层内(数据缓冲是上层协议层的事?)

6.2 通道状态和线路水平

发射器功能通过驱动某些线路电平来确定通道状态。在正常操作期间,或者HS-TX,或者LP-TX在通道上驱动。HS-TX始终以差分的方式驱动通道。两个LP-TX独立和单端驱动一个通道的两条线。这导致了两种可能的高速通道状态和四种可能的低功耗通道状态。高速通道状态为Differential-0和Differential-1。低功耗通道状态的解释取决于操作模式。LP接收器应始终将两种高速差分状态解释为LP-00

“stop”状态具有非常独特的中心功能。如果线路电平在所需的最短时间内显示停止状态,则PHY状态机应返回到停止状态,而不考虑之前的状态。根据最近的操作方向,可以处于RX或TX模式。表2列出了正常运行期间通道上可能出现的所有状态。电平的详细规格见第9节。

所有LP状态周期的持续时间应至少为TLPX。状态转换应平稳,并排除故障影响。时钟信号可以通过对Dp线和Dn线进行异或来重构。理想情况下,重建的时钟具有至少2*TLPX的持续时间,但由于信号斜率和跳闸电平(trip levels)的影响,可能具有50%以外的占空比。

6.3 操作模式:Control、High-Speed和Escape

在正常操作期间,数据通道将处于Control或High-Speed模式。高速数据传输以BURST方式发生,从Stop状态(LP-11)开始并结束,根据定义,Stop状态处于Control模式。通道仅在数据突发期间处于High-Speed模式。进入High-Speed模式的顺序为:LP-11、LP-01、LP-00,此时数据通道保持在High-Speed模式,直到接收到LP-11。Escape模式只能通过控制模式中的请求进入。数据通道应始终退出Escape模式,并在检测到Stop状态后返回Control模式。如果未处于High-Speed或Escape模式,数据通道应保持在Control模式。对于数据通道和时钟通道,Stop状态充当一般待机状态,并可能持续任何>TLPX时间。从Stop状态开始的可能事件有高速数据传输请求(LP-11、LP-01、LP-00)Escape模式请求(LP-11、LP-10、LP-00、LP-01、LP-00)调转请求(LP11、LP-10、LP-00、LP-10、LP-00)

6.4 高速数据传输

高速数据传输以突发方式发生。为了帮助接收机同步,数据突发应在发射机侧使用前导(leader)和尾部(trailer)序列进行扩展,并在接收机侧消除。因此,只能在传输线上观察到这些前导序列和尾序列。

发射机从Stop状态开始并以Stop状态结束。在两次突发之间的中间时间内,数据通道应保持在Stop状态,除非通道上出现Turnaround或Escape请求。在HS数据突发期间,时钟通道应处于High-Speed模式,为Slave端提供DDR时钟。

6.4.1 突发有效载荷数据

突发的有效载荷数据应始终代表整数个有效载荷数据字节,最小长度为一个字节。注意,对于短突发,“开始”和“结束”开销比有效载荷数据的实际传输消耗更多的时间。PHY没有隐含的最大字节数。然而,在PHY中,在HS数据突发期间没有自主的错误恢复方式,并且实际BER不会为零。因此,对于每个单独的协议,考虑最大突发长度的最佳选择是什么是很重要的

6.4.2 传输开始

在传输请求之后,数据通道离开Stop状态,并通过传输开始(SoT/Start-of-Transmission)过程为High-Speed模式做准备。表3描述了TX和RX侧的事件序列。

6.4.3 传输结束

在数据突发结束时,数据通道离开高速传输模式,并通过传输结束(EoT/End-of-Transmission)程序进入Stop状态。表4显示了EoT过程中可能发生的一系列事件。注意,EoT处理可以由协议或D-PHY来处理。

6.4.4 HS数据传输突发

图14显示了数据突发传输期间的事件序列。对于任何通道,传输都可以通过协议独立地开始和结束。然而,对于大多数应用程序,通道将同步启动,但由于每个通道传输的字节数量不等,可能会在不同的时间结束。附件A中描述了与协议层的握手。

 图15显示了表5中描述的高速数据传输的状态机。

 6.5 双向数据通道调转(Turnaround)

双向数据通道的传输方向可以通过链路调转程序进行交换。此过程允许在与当前方向相反的方向上传输信息。从前进方向更改为倒档或从倒档更改为前进方向的过程相同。请注意,Master侧和Slave侧不得通过调转进行更改。链路调转应完全在控制模式下处理。表6列出了调转期间的事件顺序。

(后续章节有时间再完善)

 

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

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

相关文章

持续部署CICD

目录 (1)CICD的开展场景 (2)项目实际应用 CICD 是持续集成(Continuous Integration)和持续部署(Continuous Deployment)简称。指在研发过程中自动执行一系列脚本来降低开发引入 bug…

【雕爷学编程】Arduino动手做(175)---机智云ESP8266开发板模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

【KVC补充 Objective-C语言】

一、KVC补充 好,那么接下来,再给大家说一下这个KVC 1.首先我们说,这个KVC,就是指的什么 key value coding 吧 全称就是叫做(Key Value Coding),这是它的全称 那么,你在帮助文档里面搜的时候,你就搜key-value coding 是不是这个啊,key-value coding 然后点击,进…

HashMap中hash方法的作用(详解)

首先,hash方法用来干什么? 在搞清楚原理之前,我们先站在巨人的肩膀浅浅了解一下hash方法的本质作用。 实质上,它的作用很朴素,就是用key值通过某种方式计算出一个hash码 而且这个hash码我们后面要用来计算key存在底…

数据链路层是如何传递数据的

数据链路层是如何传递数据的 数据链路层功能概述封装成帧透明传输差错控制 数据链路层功能概述 数据链路层的主要作用就是加强物理层传输原始比特流的功能。其负责将物理层提供的可能出错的物理连接,改造成逻辑上无差错的数据链路。 数据链路层包括三个基本问题&a…

ICML 2023 | 拓展机器学习的边界

编者按:如今,机器学习已成为人类未来发展的焦点领域,如何进一步拓展机器学习技术和理论的边界,是一个极富挑战性的重要话题。7月23日至29日,第四十届国际机器学习大会 ICML 2023 在美国夏威夷举行。该大会是由国际机器…

Go语言学习笔记(狂神说)

Go语言学习笔记(狂神说) 视频地址:https://www.bilibili.com/video/BV1ae41157o9 1、聊聊Go语言的历史 聊聊Go语言的历史-KuangStudy-文章 2、Go语言能做什么 下面列举的是原生使用Go语言进行开发的部分项目。 Docker Docker 是一种操作…

【雕爷学编程】Arduino动手做(99)---8X32 LED点阵屏模块4

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

vba案例1:合并工作簿,工作表

一:放文件 我应该有把文件资源放上去,第一次弄,不知道你们那边能不能看到excel的电子档表格,没有看到,教教我怎么放上去哦 二:自定义代码规整(便于查看) 接下来,我们进行代码解释…

数学建模学习(6):数学建模数据预处理专题

1 数据预处理是什么? 在数学建模赛题中,官方给所有参赛选手的数据可能受到主 观或客观条件的影响有一定的问题,如果不进行数据的处理而直 接使用的话可能对最终的结果造成一定的影响,因此为了保证数 据的真实性和建模结果的可靠…

简单理解大模型参数高效微调中的LoRA(Low-Rank Adaptation)

[论文地址] [代码] [ICLR 22] 阅前须知:本博文可能有描述不准确/过度简化/出错的地方,仅供参考。 网络结构 其中,原有模型的参数是直接冻结的,可训练参数只有额外引入的LoRA参数(由nn.Parameter实现)。 模型微调的本质 记网络原…

MySQL数据库——DML基本操作

文章目录 前言插入数据全列插入指定列插入 修改数据删除数据 前言 前面我们学习了MySQL——DDL操作,对数据库和表的结构的操作,那么今天我将为大家分享MySQL——DML操作,对表数据的操作。 MySQL DML操作有以下几种: 插入操作&am…

opencv-28 自适应阈值处理-cv2.adaptiveThreshold()

什么是自适应阈值处理? 对于色彩均衡的图像,直接使用一个阈值就能完成对图像的阈值化处理。但是,有时图像的色彩是不均衡的,此时如果只使用一个阈值,就无法得到清晰有效的阈值分割结果图像。 有一种改进的阈值处理技术&#xff…

【六大锁策略-各种锁的对比-Java中的Synchronized锁和ReentrantLock锁的特点分析-以及加锁的合适时机】

系列文章目录 文章目录 系列文章目录前言一、六大"有锁策略"1. 乐观锁——悲观锁2. 轻量级锁——重量级锁3. 自旋锁——挂起等待锁4. 互斥锁——读写锁5. 可重入锁——不可重入锁6. 公平锁——非公平锁 二、Synchronized——ReentrantLockSynchronized的特点&#xf…

掌握Python的X篇_13_Python条件语句实例:判断闰年、成绩评定

前面学习了条件语句以及调试的基本技巧,本篇介绍两个与条件语句有关的实例,对前面的知识又深刻认识。 文章目录 1. 判断闰年1.1 版本11.2 版本21.3 一行代码太长的处理方法 2. 根据成绩评级 1. 判断闰年 用户输入年份,判断该年份是否为闰年…

相对位置编码和绝对位置编码

位置编码的区别: 相对位置编码和绝对位置编码是两种不同的位置编码方法。 绝对位置编码是一种基于位置嵌入的方法,其中每个位置都被分配了一个唯一的位置向量。这些向量是固定的,与输入序列的内容无关。这种编码方式对于处理较短的序列效果…

【图论】树上差分(点差分)

一.题目 输入样例: 5 10 3 4 1 5 4 2 5 4 5 4 5 4 3 5 4 3 4 3 1 3 3 5 5 4 1 5 3 4 输出样例:9 二 .分析 我们可以先建一棵树 但我们发现,这样会超时。 所以,我们想到树上差分 三.代码 /* 5 10 3 4 1 5 4 2 5 4 5 4 5 4 3 5 …

基金经理二季度AI概念股操作分化

公募基金二季度仍在加仓AI板块,但不同于一季度全线加仓题材各环节,二季度对AI产业链的操作出现分化。 资金更加聚拢在业绩率先兑现的上游算力板块。其中光模块、服务器是加仓最为显著的两个领域;对于部分业绩短期兑现前景不明的AI板块&#…

机器学习 day31(baseline、学习曲线)

语音识别的Jtrain、Jcv和人工误差 对于逻辑回归问题,Jtrain和Jcv可以用分类错误的比例,这一方式来代替单单只看Jtrain,不好区分是否高偏差。可以再计算人类识别误差,即人工误差,作为基准线来进行比较Jtrain与baselin…

论文分享:PowerTCP: Pushing the Performance Limits of Datacenter Networks

1 原论文的题目(中英文)、题目中包含了哪些关键词?这些关键词的相关知识分别是什么? 题目:PowerTCP: Pushing the Performance Limits of Datacenter Networks PowerTCP:逼近数据中心的网络性能极限 2 论…