DWC USB2.0协议学习2--架构介绍

目录

1 系统级架构

1.1 DWC_otg PMU模块

1.2 DWC_otg层次结构框图

1.3 DWC_otg功能模块框图

1.4 USB Host体系结构

1.4.1 发送FIFO

1.4.2 接收FIFO

1.5 USB Device体系结构

1.5.1专用发送FIFO

1.5.2 单个接收FIFO

2 DWC_otg_core架构

2.1 AHB总线接口单元(BIU)

2.2 控制和状态寄存器(CSR)

2.3 应用接口单元 (AIU)

2.4 Packet FIFO Controller (PFC)

2.4.1 周期性发送数据FIFO

2.4.2 非周期性发送数据FIFO

2.4.3 PFC到SPRAM接口

2.4.4 端点信息控制器(EPINFO_CTL)

2.5 Media Access Controller (MAC)

2.5.1 MAC架构

2.5.2 USB事务处理

2.5.3 设备协议处理

2.5.4 主机协议处理

2.5.5 OTG协议处理

2.5.6 LPM功能

2.6 PHY 接口单元 (PIU)

2.7 唤醒和功耗控制 (WPC)

2.8 List Processor

3 电源管理单元(PMU)架构

3.1 PMU Slave模块

3.2 PMU Logic模块

3.3 PMU IfMux模块

3.4 PMU同步模块

3.5 ADP模块

4 系统时钟和复位


1 系统级架构

先对IP系统级架构进行一些介绍。从操作层面看,DWC_otg提供以下三种操作模式,选择哪种模式由coreConsultant配置决定:

  1. Slave-Only模式
  2. Internal DMA模式
  3. External DMA模式(目前已经不支持该模式,后续不展开)

 Slave-Only模式

其架构图如上图2-1所示,该模式可以减小IP的面积此时需要CPU有足够的带宽去完成memoryDWC_otg之间的数据搬运。

这种模式下CPU是主设备,DWC_otg控制器是从设备,CPU通过AHB Slave接口对DWC_otg的寄存器、数据FIFO和队列进行读写访问

个人理解这里的Slave-Only是针对AHB的总线操作角度来看的,在这种模式下只有AHB Slave接口,没有AHB Master接口,架构图中也没有体现AHB Master接口,至于DWC_otg控制器是作为USB Host还是USB Device,和Slave-Only模式没有关系。

Internal DMA模式

其架构图如上图2-2所示,该模式使用DWC_otg内部的DMA,由DMA完成memory到DWC_otg之间的数据搬运,不占用CPU的带宽,CPU只需要负责完成中断和错误相关问题的处理。

这种模式下CPU是从设备,DWC_otg控制器是主设备,DWC_otg内部的DMA通过AHB Master接口完成memory到DWC_otg之间的数据搬运。

当IP配置Internal DMA模式时, CPU仍然通过AHB Slave接口对DWC_otg的寄存器进行读写访问,所以该模式下,既AHB Slave接口,也有AHB Master接口。

总结来看,Slave-Only模式和Internal DMA模式主要差别就在于DMA。注意在Internal DMA模式下,软件可以禁用DMA从而变成Slave-Only模式。

1.1 DWC_otg PMU模块

DWC_otg PMU模块提供如下功能:

(1)休眠(暂停期间在主机和设备模式下完全关闭DWC_OTG控制器)

(2)ADP探测和传感(可用于两种配置-当ADP控制器在控制器外部时以及当ADP控制器是控制器的一部分时)

主机和设备模式,休眠为DWC_otg控制器提供完整的电源门控。休眠可用于以下类型的配置:

■ OTG模式-适用于OTG和非OTG设备以及主机操作模式

■ 接口类型-UTMI+、ULPI、HSIC、IC_USB和FS专用

■ 以下体系结构类型:

       ❑ 基于内部缓冲区的DMA

       ❑ 基于内部描述符的DMA

       ❑ Slave-Only模式

图2-4提供了休眠工作架构。其中DWC_otg_pmu模块(电源管理单元或pmu)负责休眠过程。

 

1.2 DWC_otg层次结构框图

图2-5显示了DWC_otg控制器中各个模块的层次结构。

 

1.3 DWC_otg功能模块框图

图2-6显示了DWC_otg系统的主要模块和控制流程。

 

1.4 USB Host体系结构

1.4.1 发送FIFO

DWC_otg作为Host时,所有的非周期OUT传输使用一个发送FIFO,所有的周期OUT传输使用另一个发送FIFO,这些FIFO用于缓存USB传输的数据。

主机通过请求队列(一个用于周期性队列,一个用于非周期性队列)传输USB事务。请求队列中的每个元素都保存in或OUT通道的编号以及传输事务的其他信息。将请求写入队列的顺序决定了USB上的事务顺序。主机首先处理周期性请求队列,然后在每个(微)帧的开头处理非周期性请求排队。

1.4.2 接收FIFO

DWC_otg作为Host时,所有的周期和非周期接收到只使用同一个FIFO,该FIFO用于缓存接收的USB数据包,接收到的每个数据包的状态也保存在FIFO中,这里的状态是指保存IN通道的编号以及其他信息,例如接收的字节数量和有效性状态、在AHB上执行事务的请求等。

图2-7显示了USB Host模式下DWC_otg控制器的总线接口架构。

1.5 USB Device体系结构

1.5.1专用发送FIFO

DWC_otg作为Device时,当使用专用传输FIFO架构时(OTG_EN_DED_TX_FIFO=1),控制器为每个IN端点使用单独的传输FIFO。FIFO没有相关联的请求队列。应用程序无需预测USB主机访问非周期性端点的顺序。

1.5.2 单个接收FIFO

DWC_otg作为Device时,使用单个接收FIFO来接收所有OUT端点的数据,即接收FIFO只有一个,所有OUT端点都是使用一个FIFO。接收FIFO同时保存接收到的数据包的状态,如字节计数、数据PID和接收到的数据的有效性。DMA或MCU从接收FIFO中读取数据。

图2-8显示了USB Device模式下DWC_otg控制器的总线接口架构。

 

2 DWC_otg_core架构

本节介绍DWC_otg_core体系结构和主要模块。图2-9为DWC_otg_core架构框图。从上到下依次是BIU模块、AIU模块、PFC模块、MAC模块、WPC模块和PIU模块,右边还有个CSR模块。

2.1 AHB总线接口单元(BIU)

BIU分为2部分,分别是:AHB从总线接口单元 (BIUS)和AHB主总线接口单元 (BIUM)。

AHB从总线接口单元 (BIUS)

AHB从接口单元将AHB cycles转换为CSR写/读、数据FIFO读/写和DFIFO push/pop信号。BIUS具有下列特点:

  • 完全兼容AMBA 2.0 AHB Slave协议。
  • 支持INCR4,INCR8,INCR16,INCR和SINGLE。
  • 支持忙和提前终止。
  • CSR和DFIFO读取/写入必须始终为32位;8位和16位写访问将导致未知值写入DFIFO。
  • 仅生成OK响应。
  • 不生成SPLIT、RETRY或ERROR响应。

AHB主总线接口单元 (BIUM)

内部DMA控制器将内部DMA请求转换为AHB主请求。DMA地址、传输计数和数据包计数寄存器位于CSR块中。所选通道的地址作为内部DMA控制器的输入。简单说就是DWC_otg控制器的DMA作为AHB主机,负责控制器内部RAM和系统memory之间搬运数据。

BIUM有以下的特点:

  • 完全兼容AMBA 2.0 AHB Master协议
  • 支持burst类型:SINGLE,INCR,INC4,INC8和INC8
  • 处理AHB拆分、RETRY、ERROR条件和提前终止
  • 应用程序需要时可插入BUSY cycle
  • 处理AHB 1KB边界
  • AHB Master数据和地址总线都是32位,控制器可以传输hsize=2(DWORD)和0(BYTE)。

2.2 控制和状态寄存器(CSR)

CSR块位于AHB时钟域中,包含除电源和时钟门控控制寄存器(PCGCCTL)和控制器中断寄存器(GINTSTS)的位31:29之外的所有寄存器。这些寄存器位在断电模式下必须处于活动状态,因此在BIUS模块中实现。BIUS可以写入和读取寄存器,控制器可以设置或重置中断和状态位,中断的优先级高于BIUS。

2.3 应用接口单元 (AIU)

应用程序接口单元(AIU)由以下接口组成:

  • AHB Master
  • AHB Slave
  • Packet FIFO Controller(PFC)
  • Control and Status registers(CSR)

AIU主要功能:

  • 在设备(in)和主机(OUT)模式中,给传输包生成定界符并将其写入传输FIFO(基于FIFO编号)。
  • 在设备和主机模式下,将传输事务的令牌写入请求队列(周期性/非周期性)。
  • 将令牌写入IN事务的请求队列(仅在主机模式下)
  • 根据事务的类型选择周期性或非周期性请求队列。当通道或端点类型指明时将选择周期性队列。
  • 在设备和主机模式下为发送和接收操作生成中断信号
  • 给发送FIFO和队列的地址解码
  • 为DMA控制器的数据传输生成DMA接口信号。
  • 周期性和非周期性信道和端点之间的循环仲裁。周期性通道或端点具有更高的优先级。
  • 当Tx阈值使能时,处理发送/接收阈值相关事务。
  • 当阈值使能时,在欠载/溢出条件下,DMA地址和传输大小的卷绕逻辑处理。

2.4 Packet FIFO Controller (PFC)

在设备和主机模式下,PFC模块实现DWC_otg控制器内数据包的管理,以及数据包到SPRAM的传输等功能

2.4.1 周期性发送数据FIFO

该FIFO存储周期性传输数据。在设备和主机模式下,存在不同的周期性FIFO结构。

Device模式

只包含专用发送FIFO。在这种状态下,不存在周期性或非周期性FIFO。FIFO是根据IN端点的数量(OTG_NUM_IN_EPS)来实现的,当启用使能时,应用程序为IN端点选择特定的FIFO。

Host模式

包含共享FIFO和非周期性的发送FIFO。

共享FIFO:在主机模式下,单个周期性FIFO存储所有周期性端点的数据。与该FIFO相关联的周期性请求队列用于存储周期性令牌请求。

2.4.2 非周期性发送数据FIFO

此FIFO存储设备模式下所有非周期性IN端点和主机模式下OUT信道上要传输的数据。与此FIFO相关的非周期性请求队列存储端点或通道相关信息。

专用发送FIFO

在主机模式下,FIFO体系结构与非专用传输FIFO操作中的体系结构相同。

在设备模式下,不存在周期性或非周期性FIFOs。FIFO是根据IN端点的数量(OTG_NUM_IN_EPS)来实现的,当启用使能时,应用程序为IN端点选择特定的FIFO。

接收数据FIFO

此FIFO存储设备模式下所有OUT端点和主机模式下的所有in端点上数据和状态。

2.4.3 PFC到SPRAM接口

图2-21显示了如何将DWC_otg数据FIFO接口连接到行业标准的单端口同步SRAM。地址、写入数据和控制输出由DWC_otg延迟驱动,但时间上满足SRAM建立时序要求。输入读取数据预计会延迟从SSRAM中读取,并在使用之前在控制器内注册。

2.4.4 端点信息控制器(EPINFO_CTL)

SPRAM中的最后几个位置用于保存寄存器值。EPINFO_CTL用于管理这几个存储的值,如表2-1所列。

2.5 Media Access Controller (MAC)

媒体访问控制器(MAC)模块用于处理USB事务,以及实现USB设备、主机和OTG协议。

2.5.1 MAC架构

图2-23显示了MAC模块的结构。

 

DSSR

该模块仅在设备模式下处于活动状态。此块在设备模式下执行速度枚举、挂起、恢复和远程唤醒功能。

PIE

该模块负责令牌、数据和握手包的生成和接收,以及PID和CRC的检查和生成。它根据数据完整性、CSR控制和FIFO状态信息生成握手和数据包。PIE还处理FIFO之间的数据传输,以及PFC和AIU的状态更新。

SOFT

此模块跟踪SOF数据包,并在设备模式下生成SOF中断。它处理丢失的SOF和延迟的SOF,以保持主机和设备之间的帧数同步。

PRT

该模块仅在主机模式下处于活动状态。它负责连接和断开检测、USB重置和速度枚举、挂起和恢复生成、远程唤醒检测、SOF生成和高速测试模式处理。

OTGIF

OTG接口模块处理SRP和HNP。这些OTG协议通过常规UTMI+接口或I2C接口实现(仅适用于USB 1.1串行收发器)

UPI

该模块块转换8位PHY接口的数据宽度,并将来自多个块的输出信号多路复用到PHY。它还实现了由多个MAC块共享的一些逻辑。

MAC的设计使得在某些配置中可以移除未使用的组件,以减少门控数量。SOFT、DSSR和OTGIF可以在仅限主机的配置中删除;对于仅设备配置,可以删除PRT和OTGIF。

2.5.2 USB事务处理

设备模式

在设备模式下,当MAC接收到主机的令牌包时,对令牌包进行解码并检查其完整性。

如果接收到的令牌是有效的OUT或SETUP令牌,则MAC将等待并检查随后的数据包的PID,然后在RxFIFO可用时将数据写入RxFIFO。数据包完成后,MAC将检查数据的完整性,并在适当的时机向主机发送握手信号,将事务状态写入接收状态队列。如果接收到OUT令牌并且RxFIFO不可用,则MAC向主机发送NAK握手信号。

如果接收到的令牌是有效的PING令牌,则MAC基于FIFO状态和CSR状态发送适当的握手信号。

如果接收到IN令牌并且FIFO中的数据可用,则MAC将读取数据,构建数据包并向主机发送出去,随后等待来自主机的握手包(如果有的话),然后将事务状态更新到PFC。如果接收到IN令牌并且FIFO中的数据不可用,则MAC向主机发送NAK握手信号。

主机模式

在主机模式下,MAC接收来自AIU的令牌请求用于启动USB事务。在接收到令牌请求之后,MAC构建并发送所请求的令牌包。

对于OUT或SETUP事务,MAC从TxFIFO读取数据,构建并发送数据包,等待来自设备的握手包(如果有的话),然后将事务状态更新到AIU。

对于IN或PING事务,MAC等待来自设备的数据或握手包。如果MAC接收到握手包,则将状态更新到AIU。如果MAC接收到具有正确PID的数据包,则将数据写入RxFIFO并检查数据的完整性,再向设备发送握手包,然后将状态更新到AIU。

2.5.3 设备协议处理

在设备模式下,MAC处理USB的复位时序和枚举过程,以确定USB操作速度。MAC检测来自主机的USB挂起和恢复命令,启动远程唤醒,处理软连接和断开连接,解码和跟踪SOF数据包,并处理高速测试模式。

2.5.4 主机协议处理

在主机模式下,MAC检测设备的连接和断开,处理USB重置和速度枚举过程,启动USB挂起和恢复,检测远程唤醒,生成SOF数据包,并处理高速测试模式。

2.5.5 OTG协议处理

MAC处理用于主机和外围角色交换的主机协商协议(HNP),并处理会话请求协议(SRP),该协议允许A设备在使用USB总线时关闭VBUS以节省电力,并为B设备提供请求A设备激活VBUS的手段。

2.5.6 LPM功能

在设备和主机模式下,成功的LPM事务会导致控制器进入L1(睡眠)状态。睡眠状态功能由DSSR/PRT模块执行。

设备模式

作为一个设备,HS OTG控制器解析LPM事务,包括具有EXT PID的令牌和扩展的LPM令牌,并提供适当的响应。响应可以是ACK、NYET或STALL,也可以是无响应(ERROR响应)。

如果任何令牌出现错误,或者EXT PID令牌和LPM令牌之间发生超时,控制器将发送ERROR响应。

如果接收到的数据包的请求链路状态不是L1(睡眠),则控制器发送STALL响应。

如果满足以下任何条件,则控制器发送NYET响应:

        ■ NYET是编程的应用程序响应。

        ■ 任何传输FIFO都不是空的(默认值)。

        ■ 任何非ISOC传输FIFO都不是空的,并且设置了GLPMCFG[22]位。

        ■ 控制器的控制传输不完整,GLPMCFG[21]位已设置。

如果ACK是编程的应用程序响应并且发送队列全部为空,则控制器发送ACK响应。

通过中断向应用程序指示LPM令牌接收,并且在GLPMCFG CSR寄存器中更新LPM令牌响应以及令牌中接收的参数。

主机模式

当主机端口连接到(根)集线器时,应用程序发送SET和TEST端口控制传输类型。在这种模式(远程设备模式)下,集线器的响应到达应用程序的过程类似于控制传输。

当主机端口直接连接到设备(本地设备模式)时,应用程序必须对编程控制器中的GLPMCFG CSR寄存器用于发送LPM事务。控制器检查所有被禁用通道并发送LPM事务。如果来自本地设备的响应是错误的,主机将重试GLPMCFG.RetryCnt寄存器指定的LPM事务编程次数,或者直到从设备接收到有效响应。设备的响应通过中断指示给到应用程序,并且在CSR中更新LPM令牌响应。

2.6 PHY 接口单元 (PIU)

DWC_otg控制器支持的不同PHY接口。控制器上可用的PHY接口取决于在coreConsultant里面为高速PHY接口和USB 1.1全速串行收发器接口配置的值。通电后,可以使用软件选择UTMI+、ULPI或USB 1.1 FS串行收发器。

PHY和FS收发器可以在包含DWC_otg控制器的芯片的内部或外部。专用PHY/FS收发器接口支持在芯片的内部和外部实现。外部USB1.1 FS串行收发器可以共享外部UTMI+或ULPI接口端口,以减少芯片上的引脚数量

图2-24显示了PIU PHY和FS收发器接口。

2.7 唤醒和功耗控制 (WPC)

当USB被挂起或会话无效时,PHY被驱动到挂起模式,并且PHY时钟被停止,以减少PHY和DWC_otg控制器的功耗。

为了进一步降低功耗,DWC_otg控制器还支持AHB时钟门控和部分断电。当USB挂起或会话无效时,可以选择关闭某些DWC_otg模块的电源,或关闭某些选通至DWC_otg模块的AHB时钟。

关于如何使用这些低功耗功能的详细操作信息,请参阅《编程指南》中的“FIFO RAM分配”章节。要使用这些功能,必须在coreConsultant配置期间使能“启用电源优化”。

当USB挂起或会话无效时,给DWC_otg模块供电的大多数的电源可以关闭。某些逻辑必须保持通电状态,以检测恢复、远程唤醒、SRP或新会话启动事件,用于唤醒控制器。要实现部分断电,需要两个电源。在部分掉电模式下可以关闭的逻辑在一个电源VDD_DN上,而在部分掉电源模式下必须激活的逻辑在另一个电源VDD_WAKEUP上。

唤醒和功率控制所涉及的组件如图2-25所示。 

BIU、PIU、WPC、CLKRST和SYNC_PWR块必须连接到VDD_WAKEUP域。CSR、AIU、PFC、MAC和SYNC模块必须连接到VDD_DN域。在掉电模式下,为了避免掉电模块的产生功耗,由上电模块生成并由掉电模块使用的所有信号都被钳位为低电平。为了避免断电模块的信号状态破坏,由断电模块生成并由通电模块使用的所有信号都是高电平的,并且在断电时被钳位为低电平。

WPC模块将控制器从部分断电模式唤醒,有以下主要功能:

在主机模式下

■ 当USB挂起时,检测来自设备的远程唤醒信号,驱动恢复并解除挂起的引脚。

■ 当会话关闭时,检测来自设备的会话请求,并解除挂起的引脚。

■ 当USB挂起且控制器处于部分断电模式时,检测高电平恢复信号以生成PHY时钟。

■ 当会话无效且控制器处于部分断电模式时,检测高电平恢复信号以生成PHY时钟。

在设备模式下

■ 当USB挂起时,检测主机的恢复信号,并解除挂起的引脚。

■ 当USB挂起时,检测设备的SRP信号,并解除挂起的引脚。

■ 当USB挂起且控制器处于部分断电模式时,检测高电平恢复信号以生成PHY时钟

■ 当会话无效且控制器处于部分断电模式时,检测高电平恢复信号以生成PHY时钟

2.8 List Processor

列表处理器(LP)为设备和主机模式实现基于描述符的Scatter/Gather DMA功能。

3 电源管理单元(PMU)架构

电源管理单元(PMU)是一个支持休眠功能的模块。图2-26展示了DWC_otg_pmu模块的架构。

 

3.1 PMU Slave模块

PMU Slave通过AHB总线提供应用程序接口控制PMU逻辑。图2-27说明了PMU Slave的体系结构。

AHB Slave Logic:用于读写 GPWRDN寄存器。

Signal Latching Logic:此逻辑在控制器进入休眠状态之前用于锁存来自DWC_otg_core的控制信号,控制信号提供给PMU逻辑,用于指示控制器的操作模式。

GPWRDN register:GPWRDN寄存器实现。

Interrupt Generation Logic:控制中断信号的产生。

3.2 PMU Logic模块

根据所使用的PHY类型,PMU使用以下类型的唤醒逻辑之一:

■ DWC_otg_pmu_utmi-用于utmi+和HSIC接口

■ DWC_otg_pmu_fs_ded-用于IC_USB和fs专用接口

■ DWC_otg_pmu_ulpi-用于ulpi接口

不管使用哪种唤醒逻辑,PMU逻辑均会执行以下功能:

■ 当控制器处于休眠状态时,驱动PHY接口信号

■ 解码DWC_otg_pmu_ifmux模块的信号状态

除了PMU逻辑之外,还使用以下逻辑:

■ 信号锁存逻辑-当唤醒逻辑被激活时,该逻辑用于将控制器输出信号锁存到PHY。

■ 逻辑驱动PHY信号-基于正常操作、主机或设备操作模式下的远程唤醒操作,此逻辑驱动接口信号到PHY。

3.3 PMU IfMux模块

DWC_otg_pmu_ifmux模块执行以下功能:

■ 复用来自不同接口的line_state

■ 检测line_state中的更改

■ 复用来自不同接口的状态

■ 检测状态的更改

■ OTG 2.0版和OTG 1.3版SRP检测

3.4 PMU同步模块

该模块同步DWC_otg_pmu_ahb_slv和pmu接口逻辑之间的时钟域信号。

3.5 ADP模块

PMU模块内的ADP模块支持ADP探测和ADP传感活动,符合中USB 2.0中On The Go 补充规范。ADP块由以下部分组成:

■ DWC_otg_pmu_adp_ctl.v-这是PHY的adp控制逻辑。

■ DWC_otg_pmu_adp_ctl_if.v-这是AHB和PHY之间的adp控制接口逻辑。

■ DWC_otg_pmu_sync.v-这是AHB时钟和PHY时钟之间的同步器。

4 系统时钟和复位

DWC_otg控制器具有以下输入时钟:

■ hclk:AHB时钟。hclk是控制器的AHB域的扫描时钟。选择它作为测试时钟。

■ pmu_hclk:休眠、ADP启用时,向PMU模块提供时钟。

■ utmi_clk:UTMI+时钟。仅在选择UTMI PHY时才在功能上使用,但在DFT扫描模式期间始终用作PHY域时钟。即使在控制器配置为非utmi PHY时,也选择utmi_clk作为测试时钟。

■ ulpi_clk:ULPI PHY时钟。仅当选择了ULPI PHY时才出现;negedge也用于DDR模式。为ulpi配置控制器时,选择ulpi_clk作为测试时钟。

■ utmifs_clk48:仅当OTG_FSPHY_INTERFACE!=0存在。当控制器配置为USB 1.1全速串行收发器接口时,控制器选择utmi_clk引脚作为测试时钟。

■ ref_clk:仅在使能OTG_SERV_INT_ENH时出现。控制器选择utmi_clk时钟作为逻辑的测试时钟,该逻辑采用ref_clk采样。

此外,控制器在DWC_otg_clkrst模块中生成以下时钟:

■ phy_clk:门控PHY时钟输出(多路复用ULPI、UTMI+、USB 1.1 FS时钟或USB 1.1 FS除以8的时钟之一)。当选择USB 1.1 FS收发器时,在LS中,48 MHz输入时钟除以8以生成6 MHz内部时钟。该时钟必须与生成的时钟同相,并具有与生成的钟相同的插入延迟。如果启用了功率优化,phy_clk必须与生成的时钟和wpc_clk同相操作,并且具有与生成的钟和wpc_clk相同的插入延迟。

■ wpc_clk:非门控PHY时钟输出(MUXed ULPI、UTMI+、USB 1.1 FS时钟之一),仅当OTG_EN_PWROPT不等于零时才出现。该时钟必须与phy_clk、utmi_clk,ulpi_clk和utmifs_clk48同相,并具有相同的插入延迟。

■ hclk_gated:hclk门控用于功率优化。仅当OTG_EN_PWROPT不等于零时出现。

■ utmifs_clk6:ULPI、UTMI+或USB 1.1 FS时钟除以8。仅当选择USB 1.1 FS串行收发器接口时才显示。

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

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

相关文章

LLM大模型算法学习资源持续整理

文章目录 waytoagiLLM101llm-coursellm-cookbook waytoagi 飞书文档写的AGI知识库。 https://www.waytoagi.com/ LLM101 karpathy更新中的大模型教程: https://github.com/karpathy/LLM101n llm-course Course to get into Large Language Models (LLMs) wi…

C++初学者指南第一步---12.引用

C初学者指南第一步—12.引用 文章目录 C初学者指南第一步---12.引用1. 功能(和限制)1.1 非常量引用1.2 常量引用1.3 auto引用 2.用法2.1 范围for循环中的引用2.2 常量引用的函数形参2.3 非常量引用的函数形参2.4 函数参数的选择:copy / const…

charles破解

一、Charles官网下载安装包二、安装charles三、charles破解 一、Charles官网下载安装包 根据自己电脑系统 官网下载即可。 链接: https://www.charlesproxy.com/download/latest-release/ 二、安装charles 点击下载的安装包,然后进行安装。 三、charles破解 打…

基于信息论的高动态范围图像评价算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于信息论的高动态范围图像评价算法matlab仿真,利用一种自然图像的概率模型对图像的熵与成像动态范围之间的关系进行了数值模拟,得到了具有普遍意义上…

如何制作自己的网站

制作自己的网站可以帮助个人或组织在互联网上展示自己的品牌、作品、产品或服务。随着技术的发展,现在制作网站变得越来越简单。下面是一个简单的步骤指南,帮助你制作自己的网站。 1. 确定你的网站需求和目标 在开始之前,你需要明确你的网站的…

国家自然科学基金标书大全(2002-2024)

数据来源:在20世纪80年代初,为了促进中国的科技体制革新并改革科研资金分配机制,中国科学院的89位院士联名向党和国家领导人提出建议,设立了国家自然科学基金的设立。国自然基金自创立以来,根据国家发展科学技术方针、…

群体优化算法---石墨烯优化算法介绍以及在期权定价上的应用(Black-Scholes模型来计算欧式期权的理论价格)

介绍 石墨烯算法是一种新兴的优化算法,灵感来自于石墨烯的结构和特性。石墨烯是一种由碳原子构成的二维蜂窝状晶格结构,具有优异的机械、电学和热学性能。石墨烯算法通过模拟石墨烯原子之间的相互作用和迁移,来求解复杂的优化问题 基本概念…

JavaEE之HTTP协议(1)_HTTP基础知识,HTTP 请求、响应格式,方法,状态码

一、HTTP协议 1.1 基本概念: HTTP全称超文本传输协议,是一种无状态的、应用层的协议,它基于请求/响应模型。客户端(通常是Web浏览器)通过发送HTTP请求到服务器来获取或发送信息,服务器则返回HTTP响应作为回应。HTTP协…

七天速通javaSE:第四天 递归算法

文章目录 前言一、递归的介绍二、递归模型(n!)1 阶乘的定义:2. 阶乘的递归代码实现3. 递推与回归的内部逻辑三、练习 前言 本文将学习递归算法。在计算机科学中,递归算法是一种将问题不断分解 为同一类子问题来解决问题的方法。递…

sd卡一插上就提示格式化是怎么回事?sd卡数据如何恢复?

sd卡一插上就提示格式化是怎么回事?里面的数据怎么办?下面小编总结了SD卡提示格式化的原因和对应解决办法分享给大家! SD卡好好的,为什么一插电脑上就提示需要格式化呢?当SD卡提示格式化时,可以考虑下面几类…

项目1111

中文显示姓名列和手机号 SELECT contact_name AS 姓名, contact_phone AS 手机号 FROM 2_公司id; 使用explain测试给出的查询语句,显示走了索引查询 EXPLAIN SELECT * FROM 7_订单数量 WHERE countid LIKE e%; 统计用户订单信息,查询所有用户的下单数量…

项目实战系列三: 家居购项目 第六部分

文章目录 🌈Ajax检验注册名🌈Ajax添加购物车🌈上传与更新家居图片🌈作业布置🍍会员登陆后不能访问后台管理🍍解决图片冗余问题🍍分页导航完善 🌈Ajax检验注册名 需求分析 注册会员时…

【osgEarth】Ubuntu 22.04 源码编译osgEarth 3.5

下载源代码 git clone --depth1 https://dgithub.xyz/gwaldron/osgearth -b osgearth-3.5 下载子模块 git submodule update --init 如果下载不过来,就手动修改下.git/config文件,将子模块的地址替换成加速地址 (base) yeqiangyeqiang-Default-string…

苹果Mac安装adobe软件报错“installer file may be damaged”解决方案

最近Mac电脑系统的有小伙伴在安装PS、AI、AE、PR等软件,出现了一个错误,让人头疼不已,苦苦找寻,也找不到完美的解决方法。让我们来一起看看吧! 很多小伙伴都喜欢苹果电脑,但是在安装外来软件时,…

浏览器扩展V3开发系列之 chrome.cookies 的用法和案例

【作者主页】:小鱼神1024 【擅长领域】:JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 chrome.cookies API能够让我们在扩展程序中去操作浏览器的cookies。 在使用 chrome.cookies 要先声明…

电脑突然提示dll文件丢失,怎么选择正确的恢复方法?

电脑突然提示dll文件丢失?其实当你的电脑使用久了,出现这种dll文件丢失是非常的正常的,毕竟你总会有不恰当的操作吧?这些操作都是会导致dll文件丢失的。丢失了,我们直接进行相关的修复就好了,还是比较简单的…

【C++】运算符重载(日期类的实现)

文章目录 前言一、运算符重载的概念和意义二、运算符重载的规则三、常用运算符重载1.关系运算符重载2.赋值运算符重载3.、-、、-重载4.前置和后置重载5.流插入<<和流提取>>重载 前言 之前在总结类的六个默认成员函数时&#xff0c;没有过多介绍运算符重载&#xf…

文生视频模型Sora刷屏的背后的数据支持

前言&#xff1a;近日&#xff0c;OpenAI的首个文生视频模型Sora横空出世&#xff0c;引发了一波Sora热潮。与其相关的概念股连续多日涨停&#xff0c;多家媒体持续跟踪报道&#xff0c;央视也针对Sora进行了报道&#xff0c;称这是第一个真正意义上的视频生成大模型。 01 …

第三十三篇——互联网广告:为什么Google搜索的广告效果好?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 对于信息的利用&#xff0c;再广告这个维度中去洞察&#xff0c;你又能发…

苹果CMS-V10 搭建教程踩坑,跳过部分验证

我突发奇想,想要安装一个CMS 苹果CMS搭建教程-CSDN博客 然后就有了下面的问题 结论是zip相关依赖未安装, 通过 apt install php-zip, 重新打开安装页面,同样如此 最后依据某个网站提示,修改 "\\192.168.1.200\root\var\www\html\maccms\application\install\control…