【模拟集成电路】宽摆幅压控振荡器(VCO)设计
鉴频鉴相器设计(Phase Frequency Detector,PFD)
- 前言
- 一、VCO工作原理
- 二、VCO电路设计
- VCO原理图
- 三、压控振荡器(VCO)测试
- VCO测试电路图
- 瞬态测试
- (1)瞬态输出
- (2)局部放大图
- (3)输出调制
- (4)调谐范围仿真
- (5)相位噪声仿真
- 参考文献
- 各部分链接链接:
前言
本文主要内容是对压控振荡器(Phase Frequency Detector,PFD) 模块设计设计进行阐述,包括工作原理、电路结构、仿真结果各部分内容。
一、VCO工作原理
振荡器(oscillator)是将直流电源能量转换为交流能量的电路。为了在没有外部输入信号的情况下能够产生自我维持的输出振荡信号,振荡器本身必须有正反馈和足够的增益以克服反馈路径上的损耗,同时还需要有选频网络。一般而言,单芯片集成振荡器多采用全差分结构和交叉耦合结构,振荡器中交叉耦合MOS管的作用是补偿LC谐振回路中的能量损失。根据其构成,可分为N-Core、P-Core和NP-Core等,这种电路结构必须在一定的直流偏置下才能对外呈现负电阻特性。
将振荡器当成两端口处理,从负反馈角度出发,振荡器系统利用自身系统中的噪声来放大,输出周期性的电压波形。假设系统开环传输函数为 H(s),系统的闭环传输函数为:

从相频特性来看,当输出和输入信号相位差是180度时,正反馈系统会使得电路振荡。“巴克豪森准则”要求一个负反馈系统环路增益要符合两个条件:

式(4-4-2)、(4-4-3)分别为幅度平衡条件和相位平衡条件。振荡器恢复平衡状态是依靠振荡器本身的非线性特性。振荡器从振荡变化到平衡状态,达到起振和平衡的要求会受各方面的干扰,包括:电源电压、环境温度状态、电路本身的噪声等。因此,振荡器的平衡状态受到影响被改变后会进入两个变化状态:第一是远离原来的平衡状态,造成不可逆变化,无法恢复原来的状态。第二是平衡状态附近区域达到了新的平衡点,就是说即使电路受到各个因素的影响,也不会改变电路的平衡状态,只会在附近点变化。然而,不会受外界影响太大才更符合设计原则,适合振荡器的理论模型。因此,振荡器应该具有稳定的特点,在即使受外界因素影响也能达到新的平衡点,还有干扰结束后还能会到原来的平衡点,把这种振荡平衡状态称为收敛。
下面从负电阻角度分析振荡器的工作原理。如图4.24所示,当有一个电流脉冲刺激 RLC 并联电路时,RLC 电路将发生振荡,由于电阻Rp的存在,振荡会慢慢衰减为零。如果将一负阻 −Rp-Rp−Rp 与该电路并联,如图4-4-1(b)所示,RLC 电路的并联电阻为 0,则振荡将永远维持下去。因此,当一个单端电路有一负电阻与振荡回路并联,如图4-4-1(c)所示,电路就会永远振荡。

对于由采用交叉耦合NMOS管实现的负阻电路的等效二端口网络如下图4-4-2所示。忽略MOS管 M1 和 M2 的衬底效应和沟道调制效应,可以得到二端口网络的等效电阻为:


而 MOS 管工作在饱和区时,跨导可表示为:

其中,IDI_DID为流过 M1 和 M2 管的直流电流。除此之外,输出信号的幅度与IDI_DID呈正比例关系,所以IDI_DID的大小需要考虑电路起振条件和输出信号的幅度要求。一旦IDI_DID确定下来以后,M1、M2和尾管的尺寸均可计算得出。在选尺寸时需要保证管子的寄生电容尽可能小,同时尾管需采用较大的栅长 L 来降低1/f1/f1/f噪声。
同理,对于交叉耦合的 PMOS 管,其端口等效电阻−2/gmp-2/g_{mp}−2/gmp,当加在负阻的两端的电压增加时,负阻将对外输出电流。与单端结构的振荡器相比交叉耦合振荡器具有如下很多的优点:首先,能够提供差分的振荡输出信号;其次,差分振荡器具有非常好的相噪性能,电源噪声和衬底噪声作为共模噪声被抑制掉;最后,交叉耦合振荡器所需要的电容值和电感值都不太大,易于片上集成。
因此,将 Oscillator 部分差分结构进行单边等效后的示意图如下图4-4-3所示。

为了使该结构起振或位置振荡,应使负阻能为 RLC 回路中的并联电阻Rp消耗的能量进行源源不断地补偿,该结构可以起振的条件为:

考虑非理想电感的串联寄生电阻为 RSL,非理想电容串联寄生电阻 RSC,如图4-4-4所示。

其中电感 L 的品质因数 QLQ_LQL 和电容 Q 的品质因数QCQ_{C}QC分别有如下表示:

根据串并联转换关系,得到电阻RPR_PRP为:

得到并联电感和电容值为:

进而由计算知,LC 并联谐振回路的振荡频率为:

其中,Cp=2(CGS2+CDB+CGD+C1)Cp=2(C_{GS2}+C_{DB}+C_{GD}+C_1)Cp=2(CGS2+CDB+CGD+C1)。
当振荡器震荡时左右两支路会交替导通,如下图4-4-5所示。假设输出摆幅很大,则两支路电流ID1和ID2可以在很短的时间内切换,从而将近似方波的电流送入谐振回路,平均电流ISS/2。电流的基波将被放大RPR_PRP倍,而高次谐波却因为谐振回路的选择性而衰减。对方波的傅里叶展开式,对于基波振幅为(4/π)A(4/π)A(4/π)A,比A略大。因此,单端输出的摆幅为(4/π)(ISS/2)RP=2ISSRP/π(4/π)(I_{SS}/2) R_P=2I_{SS} R_P/π(4/π)(ISS/2)RP=2ISSRP/π,故差分输出的摆幅为:


VCO的性能参数主要有如下:
(1)中心频率
压控振荡器的中心频率是指振荡器输出频率范围的中心值ωmid=((ωmax+ωmin)/2ω_{mid}=((ω_{max}+ω_{min} )/2ωmid=((ωmax+ωmin)/2,其大小受其使用环境、延迟单元结构、工艺参数等因素共同影响。
(2)调谐范围
振荡器的最大频率与最小频率的差值ωmax−ωminω_{max}-ω_{min}ωmax−ωmin,其大小受中心频率和实际应用要求的频率范围等参数的支配。因此必须保证压控振荡器的输出频率范围大于实际要求的输出频率范围,以弥补工艺等带来的输出频率范围的偏差。
(3)调节线性度
在实际情况下,压控振荡器的增益KVCOK_{VCO}KVCO并不是一个理想的固定不变状态,这种非线性影响着锁相环环路的稳定性,因此在整个调节范围内要求压控振荡器的增益变化最小。
(4)输出摆幅和功耗
输出摆幅表示当振荡器输出平衡时振荡的正弦波波形的最大电压与最小电压的差值。由于压控振荡器后面需要接分频器,所以要求输出摆幅尽量大。另外压控振荡器输出摆幅越大,输出波形对噪声越不敏感。增大输出摆幅的方法有提高压控振荡器的电源电压和降低延迟单元负载电阻等。电路的功耗指的是振荡器电路所用的电源电压乘以电流的值。CMOS 工艺实现的振荡器的典型功耗为十几到几十个mWmWmW。低功耗可以通过减少电路的元器件,减小电源电压与电流来实现。因此,压控振荡器需在相位噪声、输出摆幅、功耗大小和总体版图面积等因素之间进行权衡。
(5)相位噪声
压控振荡器的噪声来源主要源自于电感和电容的串联寄生电阻、尾电流源和开关差分对管。其定义为载波频率频偏∆ω∆ω∆ω处,1Hz内单边带噪声谱密度与载波功率比值(分贝形式),公式如下:

通常我们用**概率密度(PFD)和功率谱密度(PSD)**来研究噪声参数。噪声分为环境噪声和电子器件噪声,处理环境噪声时常采用的方法有:版图加保护环,避免并行走线,核心模块采用独立电源等。器件噪声的类型包括如下:热噪声、闪烁噪声、散弹噪声。其中,电阻的热噪声单边谱密度为:

K 是玻尔兹曼常数,T 是绝对温度,可以降低温度降低热噪声。MOS 管会产生热噪声,其谱密度为:

系数γγγ长沟道器件约为 2/3,短沟道器件取 2-3。当沟道电荷耦合到 MOS 管子栅极时也会产生电路噪声,噪声电流大小:

其中,对于长沟道器件而言σσσ为 4/3。闪烁噪声能用与MOS管栅极串联电压源来表达。其大小与频率成反比,所以又称为1/f1/f1/f噪声,且与MOS管的宽和长的乘积成反比。

散弹噪声是通过 PN 结载流子单位时间内的数目随机起伏、一种与频率无关的白噪声,具有高斯分布,一般可以被忽略:

二、VCO电路设计
本次所设计的 VCO 结构电路图如下图4-4-6所示,其中M1和M2是尾电流源部分,其作用是为上端电路提供恒定电流并提高电路的抗干扰能力。C1 和 C2 为可变MOS电容,M3 和 M4 为交叉耦合的 NMOS,其作用是为了提供一个负阻,用来补偿 LC 谐振时等效电阻Rp消耗的能量。上端的 M5 和 M6 为交叉耦合的 PMOS,同样可以产生一个负阻,另一方面它与下端的交叉耦合 NMOS 互补,可以提高电流利用率。采用这种互补交叉结构一方面可以产生额外更大的跨导,即用更小的负阻去补偿耗能电阻Rp。另一方面通过采用合适的尺寸,可以将输出点的电平设置在VDD/2VDD/2VDD/2处,从而有助于实现宽调谐范围设计。

参数设计思路如下:为了实现谐振频率为2.44GHz2.44GHz2.44GHz、输出幅度为0−1.8V0-1.8V0−1.8V的 VCO,通过计算可得知 LC 的值要满足如下关系式:

取L单位为 nFnFnF,C单位为 pFpFpF,则需要满足 LC=4.255LC=4.255LC=4.255。从 TSMC18 器件库中调用ind_sym、mos_var,并设置合适的尺寸。为测试电容在控制电压 0~1.8V 的相关特性,如图4-4-7所示进行了 sp 仿真,首先对可变电容在控制电压变化下的变化范围进行仿真,结果如图4-4-7所示。然后分别对电容的品质因数Qc进行仿真。

由仿真结果可知对其Y参数仿真,电容在控制电压下,其值会在 1.556~ 4.106pF 之间变化。对其Y参数和Z参数仿真,电容在控制电压下,电容等效串联电阻阻值会在 1.38~2.323Ω 变化,品质因数 Q 在 6.97 ~ 25.82 之间变化。

同样,对电感进行 sp 仿真,首先在控制电压变化下的变化范围、电容的品质因数 QLQ_LQL 以及等效串联电阻 RSL 进行仿真,仿真结果如图4-4-9所示。

通过对电感Y参数和Z参数进行仿真,电感等效电阻 7.8365Ω ,电感值 3.3062nF,品质因数 Q 为 6.0328。考虑最差的情况,电容品质因数 6.79,等效串联电阻 2Ω,最终得到 Rp 约为:

即 LC 的等效并联电导约为 14.064mS。考虑输出摆幅,则想要达到预定摆幅需要的电流为:

为留有裕度,本次所设计的电流源电流取为 4mA 。进一步,由电流公式计算得知 NMOS 和 PMOS 管子寸尺为:

VCO的仿真原理图如图4-4-10。
VCO原理图

三、压控振荡器(VCO)测试
VCO测试电路如图4-4-11。
VCO测试电路图

瞬态测试
VCO 的起振以及振荡的仿真波形图如图4-4-12所示。由瞬态仿真可以看出 VCO 起振时间约为 6ns,起振后稳定工作,输出为一对正交信号。
(1)瞬态输出

进行局部放大观察
(2)局部放大图

通过将L和C微调,对输出波形进行测量,测量四个周期时间间隔 ∆t=1.640977ns∆t=1.640977ns∆t=1.640977ns,即 T=0.41nsT=0.41nsT=0.41ns,振荡频率 2.438GHz 。输出在 0.2 ~ 1.6V 之间振荡,如果想继续增大摆幅使得输出在 0.1~1.6V 之间振荡,则需要适当增大ISSI_{SS}ISS以及调整PMOS交叉耦合管尺寸,使得输出直流工作点下移 0.05V。
(3)输出调制

从图4-4-14中可以发现,当控制电压 VcontV_{cont}Vcont 从 0VDD0~VDD0 VDD进行变化时,输出频率发生变化,且均可正常起振。当可变 MOS 处于负偏压的时候,即VcontV_{cont}Vcont越小,起振越慢。
pss 仿真结果如图4-4-15所示,当控制电压VcontV_{cont}Vcont从 0 V 增加到 1.8V 时,谐振频率从 2.111GHz 增加到 2.879GHz ,VCO 电路振荡的中心频率为 2.5GHz。
(4)调谐范围仿真

Noise 仿真结果如图4-4-16所示,可以看到,随着控制电压 VcontV_{cont}Vcont 变化,VCO 的噪声谱线发生微小变化,当Vcont=0.9VV_{cont}=0.9VVcont=0.9V时,相位噪声约为 -115.6dBc/Hz。
(5)相位噪声仿真

综上,本次所设计的 VCO 性能如下表:

参考文献
[1]郭世泽. 应用于毫米波频率综合器的压控振荡器与高速预分频器研究[D].东南大学,2021
[2]王立姣. 基于交叉耦合的低相位噪声LC压控振荡器研究与设计[D].华南理工大学,2020.
[3]申扬. CMOS压控振荡器的研究与设计[D].电子科技大学,2022.
[4]何林. 应用于WLAN 802.11b的压控振荡器及高速二分频器设计[D].东南大学,2020.
| 分割线 |
各部分链接链接:
频率综合器(Frequency Synthesizer,FS)设计 链接:【模拟集成电路】频率综合器(Frequency Synthesizer,FS)设计
鉴频鉴相器(PFD)设计 链接:【模拟集成电路】鉴频鉴相器设计(Phase Frequency Detector,PFD)
电荷泵(CP)设计 链接:【模拟集成电路】电荷泵(CP)设计
环路滤波器(LPF)设计 链接:【模拟集成电路】环路滤波器(LPF)设计
分频器(DIV_TSPC)设计 链接:【模拟集成电路】分频器(DIV_TSPC)设计
相关文章:
【模拟集成电路】宽摆幅压控振荡器(VCO)设计
鉴频鉴相器设计(Phase Frequency Detector,PFD)前言一、VCO工作原理二、VCO电路设计VCO原理图三、压控振荡器(VCO)测试VCO测试电路图瞬态测试(1)瞬态输出(2)局部放大图&a…...
《英雄编程体验课》第 13 课 | 双指针
文章目录 零、写在前面一、最长不重复子串1、初步分析2、朴素算法3、优化算法二、双指针1、算法定义2、算法描述3、条件1)单调性2)时效性三、双指针的应用1、前缀和问题2、哈希问题3、K 大数问题零、写在前面 该章节节选自 《夜深人静写算法》,主要讲解最基础的枚举算法 ——…...
DS期末复习卷(十)
一、选择题(24分) 1.下列程序段的时间复杂度为( A )。 i0,s0; while (s<n) {ssi;i;} (A) O(n^1/2) (B) O(n ^1/3) © O(n) (D) O(n ^2) 12…xn xn^1/2 2.设某链表中最常用的…...
QT+OpenGL模板测试和混合
QTOpenGL模板测试和混合 本篇完整工程见gitee:QtOpenGL 对应点的tag,由turbolove提供技术支持,您可以关注博主或者私信博主 模板测试 当片段着色器处理完一个片段之后,模板测试会开始执行。和深度测试一样,它可能会丢弃片段&am…...
《英雄编程体验课》第 11 课 | 前缀和
文章目录 零、写在前面一、概念定义1、部分和2、朴素做法3、前缀和4、前缀和的边界值5、边界处理6、再看部分和二、题目描述1、定义2、求解三、算法详解四、源码剖析五、推荐专栏六、习题练习零、写在前面 该章节节选自 《算法零基础100讲》,主要讲解最基础的算法 —— 前缀和…...
Java学习--多线程2
2.线程同步 2.1卖票【应用】 案例需求 某电影院目前正在上映国产大片,共有100张票,而它有3个窗口卖票,请设计一个程序模拟该电影院卖票 实现步骤 定义一个类SellTicket实现Runnable接口,里面定义一个成员变量:privat…...
【Virtualization】Windows11安装VMware Workstation后异常处置
安装环境 Windows 11 专业版 22H2 build 22621.1265 VMware Workstation 17 Pro 17.0.0 build-20800274 存在问题 原因分析 1、BIOS未开启虚拟化。 2、操作系统启用的虚拟化与Workstation冲突。 3、操作系统启用内核隔离-内存完整性保护。 处置思路 1、打开“资源管理器”…...
第四章.神经网络—BP神经网络
第四章.神经网络 4.3 BP神经网络 BP神经网络(误差反向传播算法)是整个人工神经网络体系中的精华,广泛应用于分类识别,逼近,回归,压缩等领域,在实际应用中,大约80%的神经网络模型都采用BP网络或BP网络的变化…...
如何压缩RAR格式文件?
RAR是我们日常生活工作中经常用到的压缩文件格式之一,那么RAR文件如何压缩呢? 不管压缩哪种格式的压缩文件,我们都需要用到压缩软件。针对RAR格式,我们可以选择最常见的WinRAR,当然如果有同样适用于RAR格式的压缩软件…...
JS 执行机制 详解(附图)
一、JS是单线程JS语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。这是JS这门脚本语言诞生的使命所致——用来处理页面中用户的交互,以及操作DOM而诞生的。单线程就意味着,所有任务需要排队,前一个任务结束…...
华为OD机试真题Java实现【 计算面积】真题+解题思路+代码(20222023)
计算面积 绘图机器的绘图笔初始位i在原点(0.0)。 机器启动后其绘图笔按下面规则绘制直线: 1 )尝试沿着横向坐标轴正向绘制直线,直到给定的终点值E, 2 )期间可通过指令在纵坐标轴方向进行偏移。井同时绘制直线,偏移后按规则1绘制直线;指令的格式为X offsetY。表示在横坐标X…...
【JVM】运行时数据区与对象的创建流程
4、运行时数据区 4.1、运行时数据区介绍 运行时数据区也就是JVM在运⾏时产生的数据存放的区域,这块区域就是JVM的内存区域,也称为JVM的内存模型——JMM 堆空间(线程共享):存放new出来的对象 元空间(线程共…...
flutter- JSON解析框架使用方法json_serializable
对于目前来说,大部分的API网络请求的通讯内容数据格式都是JSON。JSON返回的都是字符串,假如要取到data里面的id,去直接字符串截取肯定是不行的,要通过一定的方式把它解析成Map或者解析成对象,再去处理它。像一些简单的…...
第十三届蓝桥杯国赛 C++ B 组 J 题——搬砖(AC)
目录1.搬砖1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.Ac_code1.搬砖 1.题目描述 这天,小明在搬砖。 他一共有 nnn 块砖, 他发现第 iii 砖的重量为 wiw_{i}wi, 价值为 viv_{i}vi 。他突然想从这些 砖中选一些出来从…...
Spring Cloud Nacos源码讲解(十)- Nacos服务端服务发现处理
Nacos集群数据同步 当我们有服务进行注册以后,会写入注册信息同时会触发ClientChangedEvent事件,通过这个事件,就会开始进行Nacos的集群数据同步,当然这其中只有有一个Nacos节点来处理对应的客户端请求,其实这其中…...
C++ 修改程序进程的优先级(Linux,Windows)
文章目录1、Linux1.1 常用命令1.1.1 不占用终端运行和后台运行方式1.1.2 查询进程1.1.3 结束进程1.1.4 优先级命令1.2 C 代码示例1.2.1 代码一1.2.2 代码二2、Windows2.1 简介2.2 函数声明2.3 C 代码示例2.3.1 代码一2.3.2 代码二结语1、Linux 1.1 常用命令 1.1.1 不占用终端…...
同步和异步promise
进程和线程进程(厂房):程序的运行环境线程(工人):进行运算的东西同步和异步同步:一件事干完才去干下一件事,前面的代码不执行,后面的代码也不执行。同步的代码可能会出现…...
CHATGPT是新的“搜索引擎终结者”吗?百度是否慌了
ChatGPT 以其非凡的自然语言处理 (NLP) 能力和清晰的响应风靡全球,有望带来一场重大的技术革命。在不知不觉中,叙事转向了ChatGPT与百度的对决,因为来自OpenAI的智能和健谈的聊天机器人已经慢慢获得了“潜在的百度终结…...
力扣-订单最多的客户
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:586. 订单最多的客户二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总…...
MyBatis学习笔记(六) —— MyBatis的各种查询功能
6、MyBatis的各种查询功能 6.1、查询一个实体类对象 SelectMapper.java接口 /*** 根据用户id查询用户信息* param id* return*/ User getUserById(Param("id") int id);SelectMapper.xml <!--User getUserById(Param("id") int id)--> <selec…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
