【模拟CMOS集成电路设计】电荷泵(Charge bump)设计与仿真(示例:栅极开关CP+轨到轨输入运放+基于运放CP)
【模拟CMOS集成电路设计】电荷泵(Charge bump)设计与仿真
- 0前言
- 1电荷泵
- 1.1 PFD/CP/电容器级联
- 1.2 PFD/CP/电容传递函数
- 2基本电荷泵(CP)结构
- 2.1“漏极开关”结构
- 2.2“源极开关”结构
- 2.3“栅极开关”结构
- 3 CP的设计与仿真1
- 3.1 P/N电流源失配仿真
- 3.2 电荷泵充放电仿真
- 4 基于运放的CP设计与仿真
- 4.1轨到轨运放设计
- 4.2 P/N电流源失配仿真
- 4.3输入轨到轨运放仿真
- (1)输入跨导仿真
- (2)环路稳定性仿真
- 4.4电荷泵充放电仿真
0前言
最近做了一个东西,开始用了栅极开关电荷泵(Charge bump, CP),但是失配有点大,所以进行了一些优化,但是仍然不能尽如人意,看了一些论文后,最后干脆换成了 基于运放的CP,基于运放确实失配小得多,作为对比,重新写了一个关于 C P CP CP 的笔记。工程文件可以自取,使用TSMC18工艺,附带testbench,仅供学习参考。
(1)栅极开关型CP:
工程文件+testbench: https://mbd.pub/o/bread/aJabl5tu
(2)基于运放+电流源堆叠的CP:
工程文件+testbench:https://mbd.pub/o/bread/aJabl5ty
1电荷泵
电荷泵是一种在受控时间内产生或吸收电荷的电路,最简单的结构如图1.1所示

如图5.1所示, C P CP CP 控制信号 U p Up Up 和 D o w n Down Down,分别确定输出电压是上升还是下降。假设 I 1 = I 2 = I p I_1=I_2=I_p I1=I2=Ip。 M 1 M1 M1 和 M 2 M2 M2 作为电流源, M 3 M3 M3 和 M 4 M4 M4 作为开关。由于开关与电流源的漏极串联,因此此拓扑结构称为 “漏极开关” 电荷泵。
工作原理:
(1)当PFD输出电压信号 U p Up Up 为高, D o w n Down Down 为低时,开关 S 1 S_1 S1 闭合, S 2 S_2 S2 断开,电荷泵上面通路导通,下面通路关断,电荷泵将以电流I1对滤波器充电。
(2)当PFD输出信号 U p Up Up 为低且信号 D o w n Down Down 为高时,开关 S 1 S_1 S1 断开, S 2 S_2 S2 闭合,电荷泵下面通路导通,电荷泵将以电流I2对滤波器放电。
(3)当 U p Up Up 和 D o w n Down Down信号都为低时,两个开关均断开,因此电荷泵输出处于高阻态,没有对环路滤波器进行充放电,环路滤波器电压保持不变。
(4)当 U p Up Up 和 D o w n Down Down信号都为高时,两个开关均导通,将形成从电源到地的通路。若电流源 I 1 I_1 I1 与 I 2 I_2 I2 相同的话,流过 S 1 S_1 S1 电流将从 S 2 S_2 S2 流出,流入环路滤波器的电流也将为0,因此没有对环路滤波器进行充放电,环路滤波器电压保持不变。波形如图1.2所示。

1.1 PFD/CP/电容器级联
考虑图1.3所示的级联, A A A 和 B B B 的频率相等,但存在有限相位差,每次进行相位比较时, Q A Q_A QA 变高, S 1 S_1 S1 导通, I 1 I_1 I1对 C 1 C_1 C1 充电, V o u t V_{out} Vout 上升 Δ V = ( I p / C 1 ) Δ T ΔV=(I_p/C_1)ΔT ΔV=(Ip/C1)ΔT。如果输入相位差保持恒定,则 V o u t V_{out} Vout 走向无穷大。我们直观地看到,这种结构提供了无限的“增益”,因为对于有限的相位误差, V o u t V_{out} Vout 无限地增长。从另一个角度来看,对于 V o u t V_{out} Vout是有限的,相位误差必须为零,使得 C P CP CP 在每个循环中不注入净电荷。

1.2 PFD/CP/电容传递函数
为了定量分析 C P CP CP 在 P L L PLL PLL 系统内的传递函数,对其进行分析,考虑开始在时域中进行分析,计算脉冲响应,并对结果进行拉普拉斯变换以获得传递函数。
假设 A A A 和 B B B 的频率相等,且 A A A 超前 B B B 的相位为 Δ φ 1 Δφ_1 Δφ1 , V c o n t V_{cont} Vcont的波形如图1.4所示, [ Δ φ 1 / ( 2 π ) ] T i n [Δφ_1/(2π)]T_{in} [Δφ1/(2π)]Tin 秒,因此,控制电压每次上升 Δ V = [ Δ φ 1 / ( 2 π ) ] T i n ( I P / C 1 ) ΔV=[Δφ_1/(2π)]T_{in} (I_P/C_1) ΔV=[Δφ1/(2π)]Tin(IP/C1)。 V c o n t V_{cont} Vcont 的波形呈现阶梯状,需要通过斜坡近似得到 V c o n t V_{cont} Vcont 的斜率,从而得出 Δ V / T i n = [ Δ φ 1 / ( 2 π ) ] ( I P / C 1 ) ΔV/T_{in}=[Δφ_1/(2π)](I_P/C_1) ΔV/Tin=[Δφ1/(2π)](IP/C1),最终得到近似的线性阶跃响应。根据该阶跃响应,可以确定脉冲响应为 [ Δ φ 1 / ( 2 π ) ] ( I P / C 1 ) u ( t ) [Δφ_1/(2π)](I_P/C_1)u(t) [Δφ1/(2π)](IP/C1)u(t)(对于形式为 Δ φ 1 δ ( t ) Δφ_1 δ(t) Δφ1δ(t) 的输入脉冲)。传递函数由拉普拉斯变换给出:

1 / s 1/s 1/s 相关性表示原点处的极点,因此表示理想积分器。我们可以进一步进行近似,将 V c o n t / Δ φ = [ I P / ( 2 π ) ] [ 1 / ( s C 1 ) ] V_{cont}/Δφ=[I_P/(2π)][1/(sC_1)] Vcont/Δφ=[IP/(2π)][1/(sC1)],并将 I P / ( 2 π ) I_P/(2π) IP/(2π) 视为 P F D / C P PFD/CP PFD/CP级联的传输函数

所以, I p I_p Ip 稳定,则 C P CP CP 所在的环路更容易可靠稳定。
2基本电荷泵(CP)结构
2.1“漏极开关”结构
图2.1(a)中的 C P CP CP ,因为开关与电流源的漏极串联,所以该拓扑结构又称为“漏极开关”拓扑。

将开关移动到源极或栅极端子会导致另外两种结构。
2.2“源极开关”结构
图2.2(a)所示为“源极开关”电荷泵。这里, M 2 M2 M2 和 M 3 M3 M3 用作电流源, M 1 M1 M1 和 M 4 M4 M4 用作开关。请注意,电流源会因开关的导通电阻而退化。为了正确定义电流,必须通过电流镜提供 V b 1 V_{b1} Vb1 和 V b 2 V_{b2} Vb2,如图 2.2(b) 所示。在此结构,当 M 1 M1 M1 和 M 4 M4 M4 导通时, M 11 M11 M11 和 M 44 M44 M44 分别模拟 M 1 M1 M1 和 M 4 M4 M4 的退化行为。例如, M 11 M11 M11、 M 22 M22 M22、 M 33 M33 M33 和 M 44 M44 M44 的宽度可以是其主支路中对应晶体管的五分之一(并且具有相同的长度),从而提供 5 5 5 的比例因子。

“源极开关”拓扑的优点:
**(1)高输出电阻:该优点源于开关提供的退化作用。也就是说,对于给定的电压净空,这种布置表现出比漏极开关CP更高的输出电阻
(2)屏蔽时钟馈通:**首先,我们考虑图 2.2© 中所示的漏极切换部分,当 D o w n Down Down 从零变为 V D D V_{DD} VDD 时, C G D 3 C_{GD3} CGD3 将该阶跃传导至 V c o n t V_{cont} Vcont ,从而在 V c o n t V_{cont} Vcont 产生等于 V D D C G D 3 / ( C G D 3 + C 2 ) V_{DD} C_{GD3}/(C_{GD3}+C_2) VDDCGD3/(CGD3+C2)的阶跃。其次,在图 6.8(d) 中所示的“源极开关”结构,在 X X X 处的阶跃只能导致 I D 3 I_{D3} ID3 中的阶跃,因此不会导致 V c o n t V_{cont} Vcont 的瞬时跳跃。换言之, M 3 M3 M3 在某种程度上屏蔽了开关时钟馈通对滤波器的影响。
2.3“栅极开关”结构
漏极开关和源极开关电荷泵由于开关的导通电阻而遭受一些电压裕度的损失。使用“栅极开关”可以避免这个问题。如图 2.3(a) 所示,这种拓扑结构通过将电流源的栅极连接到偏置电压或它们的源终端。因此,输出可以适应等于 V D D − ∣ V D S 1 , m i n ∣ − V D S 2 , m i n = V D D − ∣ V G S 1 − V T H 1 ∣ − ( V G S 2 − V T H 2 ) V_{DD}-|V_{DS1,min} |-V_{DS2,min}=V_{DD}-|V_{GS1}-V_{TH1} |-(V_{GS2}-V_{TH2}) VDD−∣VDS1,min∣−VDS2,min=VDD−∣VGS1−VTH1∣−(VGS2−VTH2) 的电压范围。“栅极开关”结构也避免可开关的电荷共享问题。

图 2.3(a) 结构 C P CP CP 的主要缺点是 P/N电流源栅极控制信号之间的偏移。为了理解这一点,如图2.3(b)所示,当 U p Up Up 下降到 ( V D D − ∣ V T H 1 ∣ − ∣ V T H 5 ∣ ) (V_{DD}-|V_{TH1} |-|V_{TH5} |) (VDD−∣VTH1∣−∣VTH5∣) 时, M 1 M1 M1 导通,当 D o w n Down Down 上升到 V T H 2 + V T H 6 V_{TH2}+V_{TH6} VTH2+VTH6 时 M 2 M2 M2 导通。因此,从 c o r n e r _ s f corner\_sf corner_sf 角(低 N M O S NMOS NMOS 阈值、高 P M O S PMOS PMOS 阈值)到 c o r n e r _ f s corner\_fs corner_fs(高 N M O S NMOS NMOS 阈值,低 P M O S PMOS PMOS 阈值), M 1 M_1 M1 和 M 2 M_2 M2 的导通时间经历显著的失配。同样,关闭时间也有偏差。这些偏斜转化为输出电压Vcont上的纹波。
以栅极开关 C P CP CP 为例,图2.4展示了一种通过反馈抑制因“沟长调制效应”导致的电流源失配。

以 2.4(a) 为例,当 V c o n t V_{cont} Vcont 升高,由于沟长调制效应, I D S 1 I_{DS1} IDS1 减小, I D S 2 I_{DS2} IDS2 增大,由于 M 3 M_3 M3管的存在,随着 V c o n t V_{cont} Vcont 升高, M 3 M_3 M3 漏极下降,从而 I D S 2 I_{DS2} IDS2 又减小,所以P/N电流源的失配得到缓解。
在PLL系统中,除了P/N电流源栅极控制信号“Up/Down偏移”会导致输出电压 V c o n t V_{cont} Vcont 出现纹波,由于“沟道长度调制”和随机失配引起的P/N电流源失配、时钟馈通、电荷注入、CP输出阻抗和漏电流等因素都会导致 V c o n t V_{cont} Vcont 出现纹波。
3 CP的设计与仿真1
以栅极开关 C P CP CP 为例, C P CP CP 电路原理图如图 3.1 所示。(可以对控制信号进行优化,加一些传输门和锁存器使控制信号之间更匹配)。

3.1 P/N电流源失配仿真
选择 C P CP CP 的电流 I p = 50 u A I_p = 50uA Ip=50uA,由于沟道长度调制效应,输出的 N M O S NMOS NMOS 电流源和 P M O S PMOS PMOS 电流源实际电流与输出电压 C P O U T CP_{OUT} CPOUT直接相关,可以通过增加沟道长度 L L L 优化 P / N P/N P/N 电流源的不匹配,仿真结果如下:

通过图 3.2 可知,随着 L L L 的增加, P / N P/N P/N 电流源匹配度受沟长调制效应影响减小。但随着晶体管尺寸的增加,电路内部节点的时间常数会显著增加,而且电荷共享效应和时钟馈通效应也会更加明显,此次设计选择 L = 1 u m L=1um L=1um (并不会简单的只采用栅极开关的 C P CP CP ,后面再说)。
此时内部节点 V N VN VN 和 V P VP VP 波形如图 3.3 所示

如果 V N / V P VN/VP VN/VP 的差异会导致 P / N P/N P/N 电流源开启不一致,那么瞬态情况 C P CP CP 的输出电流波动将会增大,进而引起 C P CP CP 输出纹波加剧,加入前馈电容,加速建立,优化结构后,节点 V N / V P VN/VP VN/VP 的 T r a n Tran Tran 仿真波形如图 3.4 所示

由图3.4可知,经过优化后, V P VP VP 和 V N VN VN 的波形对称性更好,此时 C P CP CP 的输出电流进行对比,仿真结果如图 3.5 所示。

3.2 电荷泵充放电仿真
通过仿真可以明显看到, V N / V P VN/VP VN/VP 波形失配减小, C P CP CP 的电流失配得到优化。下面对 C P CP CP 充放电进行仿真。


4 基于运放的CP设计与仿真
基本栅极开关 C P CP CP 的 P / N P/N P/N 电流源会因为沟道长度调制效应而有明显失配,为了对此进行优化,下面是基于运放的 C P CP CP ,通过运放的钳位使得 V X = V c o n t V_X=V_{cont} VX=Vcont,那么此时一定有 I D S 3 = I D S 1 I_{DS3} = I_{DS1} IDS3=IDS1,又因为 I D S 2 = I D S 4 I_{DS2} = I_{DS4} IDS2=IDS4,所以 I D S 1 = I D S 2 I_{DS1} = I_{DS2} IDS1=IDS2。

基于此进行电路设计,采用源极开关结构,并通过堆叠电流源增大输出阻抗和减小电流镜复制失配,电路如图 4.2 所示

该结构通过运放使得两电流源支路的漏极电压“匹配”,从而有效的减小PN电流源的失配,通过堆叠电流源增大输出节点阻抗。
4.1轨到轨运放设计
在锁相环应用中,为了实现VCO尽可能大的频率调谐范围,常常需要 C P CP CP 输出电压范围达到 0 V D D 0~V_{DD} 0 VDD,在 C P CP CP 中引入运放的目的就是减小 I U p I_{Up} IUp 和 I D o w n I_{Down} IDown的失配,从而使电荷泵的充放电电流稳定。一方面,如果在 C P CP CP 输出电压接近电源轨时运放失效,那么 C P CP CP 的传输特性将会表现出严重的非线性,那么锁相环环路的相位裕度严重波动,甚至引发振荡。另一方面,在低压 1.8 V 1.8V 1.8V 应用中,非轨到轨运放的输入范围小,因此实际可用于调谐的电压范围将会被进一步压缩。所以,基于运放的CP结构,应该采用轨到轨输入的运放。
轨到轨运放参考:(您下载工程文件,就是我更新最大的动力,哈哈哈哈哈~)
【模拟CMOS集成电路笔记】轨到轨运放(Rail to Rail)基础(附带实例:基于1:3电流镜的轨到轨输入运放)
4.2 P/N电流源失配仿真
同时开启 P / N P/N P/N 电流源的控制端,观察输出电流,便可以得到 I o u t = I X = I p − I n I_{out} = I_X = I_p - I_n Iout=IX=Ip−In,仿真结果如图 4.3 所示。图 4.3 中,通过仿真结果可以看出,纵坐标为充放电电流 I X I_X IX,横坐标为输出节点电压 V X = V O U T = V C P _ O U T V_X = V_{OUT} = V_{CP\_OUT} VX=VOUT=VCP_OUT, I X I_X IX 越小则就失配越小。采用基于运放的源极开关 C P CP CP 结构之后,在输出电压在 0.2 − 1.5 V 0.2 - 1.5V 0.2−1.5V时,电流失配在 p A pA pA 级别,输出电压在 0.1 − 1.7 V 0.1-1.7V 0.1−1.7V 电压范围内,最大失配电流为 37 n A 37nA 37nA,失配比例为 37 n A / 50 u A ∗ 100 % = 0.074 % 37nA/50uA*100\% = 0.074\% 37nA/50uA∗100%=0.074% ,相比简单的栅极开关,该结构可以实现良好的电流匹配。

4.3输入轨到轨运放仿真
(1)输入跨导仿真
其中放大器的输入跨导随共模输出电压表现出恒定跨导,适应 C P CP CP 应用场景,跨导随共模输入电压 V c m V_{cm} Vcm 变化仿真如图 4.4所示

(2)环路稳定性仿真
使用 s t b stb stb 仿真对 C P CP CP 电路中的环路稳定性仿真,相位裕度 P M = 60 ° PM = 60° PM=60°。

4.4电荷泵充放电仿真
使用阶跃信号对 C P CP CP 充放电过程仿真,电荷泵充电过程和放电过程分别如图 4.6 和图 4.7 所示。


可以看到,充放电变慢了一点,由于引入了额外的电路,额外反馈环路会增加充放电的时间延迟,而且由于输出端的阻抗比简单栅极开关的输出阻抗高很多,所以对应时间常数也会提升,这也是该结构的缺点。设计的时候需要考虑环路GBW与控制信号的频率大小,一般要求前者远大于后者,可能还有一些其他的设计细节(略)。实际中,如果想加速电荷泵的充放电,可以通过增加电流或者增加前馈容提升,但是也会引发其他的一些问题~。
相关文章:
【模拟CMOS集成电路设计】电荷泵(Charge bump)设计与仿真(示例:栅极开关CP+轨到轨输入运放+基于运放CP)
【模拟CMOS集成电路设计】电荷泵(Charge bump)设计与仿真 0前言1电荷泵1.1 PFD/CP/电容器级联1.2 PFD/CP/电容传递函数 2基本电荷泵(CP)结构2.1“漏极开关”结构2.2“源极开关”结构2.3“栅极开关”结构 3 CP的设计与仿真13.1 P/N电流源失配仿真3.2 电荷…...
minecraft.service 文件配置
minecraft.service 文件配置 # /etc/systemd/system/minecraft.service [Unit] DescriptionMinecraft Fabric Server Afternetwork.target Wantsnetwork-online.target[Service] Usermcfabricuser Groupmcfabricuser WorkingDirectory/minecraft/1.21.1-fabric-server ExecStar…...
Kafka消息丢失全解析!原因、预防与解决方案
作为一名高并发系统开发工程师,在使用消息中间件的过程中,无法避免遇到系统中消息丢失的问题,而Kafka作为主流的消息队列系统,消息丢失问题尤为常见。 在这篇文章中,将深入浅出地分析Kafka消息丢失的各种情况…...
VS Code 云服务器远程开发完整指南
VS Code Ubuntu 云服务器远程开发完整指南 远程开发是现代开发者的标配之一,特别是在使用云服务器(如 Ubuntu)进行部署、测试或大项目开发时,利用 VS Code 的 Remote-SSH 插件,可以像本地一样顺滑操作远程服务器。本…...
Linux孤儿进程和僵尸进程
目录 1、孤儿进程 2、僵尸进程 在 Linux 系统中,父子进程关系的生命周期不同,导致会产生两类特殊进程:孤儿进程和僵尸进程。这两类进程在系统资源管理中起着重要作用。 1、孤儿进程 孤儿进程指的是父进程先于子进程结束,导致子…...
【Rtklib入门指南】4. 使用RTKLIB进行载波相位差分定位(RTK)
RTK RTK(Real-Time Kinematic,实时动态)定位技术是一种高精度的卫星导航技术。相比传统的GPS定位技术,RTK能够在厘米级别的精度范围内提供定位结果。这使得RTK技术在无人机、自动驾驶、工程测绘、农业机械自动化等领域具有广泛应用…...
【SECS】初识SECS协议
【SECS】初识SECS协议 基本知识流和功能函数数量官方文件中缩写标注正常是不是都是主机向设备端?对数据信息中第1字节第1-2位官网介绍 S1F1双向指令说明测试H发起端E发起端 参考资料 基本知识 SECS(SEMI Equipment Communications Standard)即半导体设…...
【C++项目】从零实现RPC框架「三」:项⽬抽象层实现
🌈 个人主页:Zfox_ 🔥 系列专栏:C++从入门到精通 目录 一:🔥 常⽤的零碎功能接⼝类实现🦋 简单⽇志宏实现🦋 Json 序列化/反序列化🦋 UUID ⽣成二:🔥 项⽬消息类型字段信息定义 🦋 请求字段宏定义🦋 消息类型定义🦋 响应码类型定义🦋 RPC 请求类型定…...
webcam video demo
一个 demo,使用 OpenCV,手动操作 webcam,保持相机打开,防止频繁的 开关损坏摄像头硬件。 这是ROS情景下的一个节点,展示了ROS节点的常见格式。代码很简单,单展示了持续视频流的发布,还展示了基…...
ARM-LDS链接文件
关键字 ALIGN 在链接脚本中,ALIGN关键字:ALIGN(X)中的X表示多少个字节对齐。 在汇编文件中,是伪操作 .align x 实现的:表示2的x次幂个字节对齐; 2.X的取值也是有讲究的,必须是2的整数次幂。例如…...
相机镜头景深
文章目录 定义影响因素实际应用特殊情况 参考:B站优致谱视觉 定义 景深是指在摄影机镜头或其他成像器前沿着能够取得清晰图像的成像器轴线所测定的物体距离范围。简单来说,就是在一张照片中,从前景到背景,能够保持清晰锐利的区域…...
Linux基础入门:从零开始掌握Linux命令行操作
🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 🎈有没有觉得电影里的黑客🐒酷毙了?他们只用键盘⌨就能搞定一切。今天,毛毛张要带你们体验这种快感😀&…...
C++第13届蓝桥杯省b组习题笔记
1.九进制转十进制 九进制正整数 (2022)9转换成十进制等于多少? 第一位乘9的0次方,第二位乘9的1次方,第三位乘9的二次方以此类推 #include <iostream> using namespace std;int main() {// 请在此输入您的代码int t2022;int res0;int c…...
探索 Gaggol:理解 10^^^100 的宇宙级常数
一、常数概述: Gaggol 是一个极其巨大的数学常数,其数值表示为 10^^^100。这个常数是通过对数字 10 进行超递归幂运算得到的结果。 二、Gaggol 的定义: Gaggol 被定义为 10 的超多层超递归幂,即 10 被连续地提升到自身幂的层次达…...
python-leetcode 61.N皇后
题目: 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击 给你一个整数 n ,返回所有不同的 n 皇后问题 的解…...
Centos8 系統Lnmp服務器環境搭建
Centos8 系統Lnmp服務器環境搭建 服務器環境 Centos8 [rootcentos8 ~]# uname -a Linux centos8 4.18.0-348.el8.x86_64 #1 SMP Tue Oct 19 15:14:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux# 更新軟件包列表 rootdebian:~# dnf update安裝信息 PHP 版本8.2.27 https://ww…...
产教融合|暴雨技术专家执裁江苏省职业院校技能大赛
3月28-30日,由江苏省教育厅、省发改委、省工信厅等15家单位主办的2025年江苏省职业院校技能大赛网络系统管理赛项如期举办。此次赛事吸引了全省52支参赛队伍、156名选手踊跃参与,参赛人数再创新高。 暴雨信息技术专家李明宇作为此赛项的往届省赛冠军&am…...
BUUCTF-web刷题篇(6)
15.PHP 知识点: ①__wakeup()//将在反序列化之后立即调用(当反序列化时变量个数与实际不符是会绕过)我们可以通过一个cve来绕过:CVE-2016-7124。将Object中表示数量的字段改成比实际字段大的值即可绕过wakeup函数。条件:PHP5<…...
AIP-203 域行为文档
编号203原文链接AIP-203: Field behavior documentation状态批准创建日期2018-07-17更新日期2018-07-17 在定义protocol buffer中的域时,按惯例要向用户解释域行为的某些方面(例如域是必需的还是可选的)。此外,让其他工具理解域行…...
在 Cloud Run 上使用 Gemini API 构建聊天应用
李升伟 编译 (🎨 封面由 Gemini 中的 Imagen 3 生成!) 欢迎来到我的谷歌AI工具构建系列博客!本文将带您创建一个由Gemini驱动并托管在Cloud Run上的简易聊天应用。如果您正在探索大语言模型或希望将AI集成到网页应用中,那么您来…...
周总结aa
上周学习了Java中有关字符串的内容,与其有关的类和方法 学习了static表示静态的相关方法和类的使用。 学习了继承(extends) 多态(有继承关系,有父类引用指向子类对象) 有关包的知识,final关键字的使用,及有…...
31天Python入门——第17天:初识面向对象
你好,我是安然无虞。 文章目录 面向对象编程1. 什么是面向对象2. 类(class)3. 类的实例关于self 4. 对象的初始化5. __str__6. 类之间的关系继承关系组合关系 7. 补充练习 面向对象编程 1. 什么是面向对象 面向对象编程是一种编程思想,它将现实世界的概念和关系映…...
计算机视觉准备八股中
一边记录一边看,这段实习跑路之前运行完3DGAN,弄完润了,现在开始记忆八股 1.CLIP模型的主要创新点: 图像和文本两种不同模态数据之间的深度融合、对比学习、自监督学习 2.等效步长是每一步操作步长的乘积 3.卷积层计算输入输出…...
【C语言】文件操作(2)
一、文件的随机读写 在前面我们学习了文件的顺序读写的函数,那么当我们要读取某个指定位置的内容的时候,是否只能顺序的读取到这个内容?还有在对文件进行输入的时候,需要对指定的位置进行写入,那么此时应该怎么办呢&a…...
CCCC天梯赛L1-094 剪切粘贴
题目链接: 字符串函数: 1、截取字符串: //起始位置为3,结束位置为5string s "aabcdefg";//下标从0开始 [从开始位置,结束位置]string sub s.substr(3,3);//输出cde, 有返回值string//并且原字符串不改变, s"aab…...
C语言:多线程
多线程概述 定义 多线程是指在一个程序中可以同时运行多个不同的执行路径(线程),这些线程可以并发或并行执行。并发是指多个线程在宏观上同时执行,但在微观上可能是交替执行的;并行则是指多个线程真正地同时执行&…...
livekit ICE连接失败的一些总结
在使用livekit做的项目过程中碰到了一些ICE连接失败的问题, 一个时在同网段的局域网下 ,livekti服务和客户端不能联通,后来发现是服务端是多网卡,通过网络抓包才知道服务端在stun binding的时候使用了错误的网卡,在co…...
Python神经网络1000个案例算法汇总
【2025最新版】Python神经网络优化1000个案例算法汇总(长期更新版) 本文聚焦神经网络、优化算法,神经网络改进,优化算法改进,优化算法优化神经网络权重、超参数等,现在只需订阅即可拥有,简直是人工智能初学者的天堂。…...
某地81栋危房自动化监测试点项目
1. 项目简介 房屋进入老龄化阶段后,结构安全风险越来越大。近10年来,每年都会产生房屋倒塌人员伤亡的重大安全事故。调研分析显示,老旧房屋结构安全风险管理的有效路径为,通过“人防技防”的组合模式,对房屋安全风险进…...
远程装个Jupyter-AI协作笔记本,Jupyter容器镜像版本怎么选?安装部署教程
通过Docker下载Jupyter镜像部署,输入jupyter会发现 有几个版本,不知道怎么选?这几个版本有什么差别? 常见版本有: jupyter/base-notebookjupyter/minimal-notebookjupyter/scipy-notebookjupyter/datascience-notebo…...
