数电学习基础(逻辑门电路+)
1.逻辑门电路
1.1逻辑门电路的简介
1.1.1各种逻辑门电路的简介
- 基本概念
(1)实现基本逻辑运算和常用逻辑运算的电路称为逻辑门电路,简称门电路。逻辑门电路是组成各种数字电路的基本单元电路。将构成门电路的元器件制作一块半导体芯片上再封装起来,便构成了集成门电路

(2)门电路的分类:由于制造逻辑门电路的三极管不同,分为MOS型、双极性和混合型。MOS型逻辑门有CMOS、NMOS和PMOS。双极性主要有TTL,混合型集成逻辑门有BiCMOS
- 开关电路
(1)在二值数字逻辑中,逻辑变量的取值不是0就是1.在数字电路中,与其对应的就是电子器件的开关和闭合的两种状态
(2)早期的开关器件由继电器构成,后来使用BJT或MOS管作为开关。BJT或MOS管相当于一个受控开关,当其工作在截止状态时,相当于开关断开,输出高电平,当其工作在饱和导通状态时相当于开关闭合输出低电平。

(3) 互补开关:两个开关不可能同时处于导通状态和截止状态。此时一个开关的导通另一个开关必定断开。上下开关的导通和断开受到输入信号的影响。

1.2.基本CMOS逻辑门电路
1.2.1MOS管及其开关特性
- 基本概念
(1)S管是金属氧化物半导体场效应晶体管(MOSFET)的简称
(2)CMOS逻辑门电路是以MOS管作为开关器件的。按照导电载流子的不同,MOS管分为N沟道MOS(NMOS)管和P沟道MOS(PMOS)管。按照导电沟道形成机理的不同分为增强型和耗尽型MOS管
- N沟道增强性MOS管的结构的工作原理

(1)N沟道实际上是P型衬底上,用扩散法制作两个高掺杂浓度的N区。然后在P型硅表面生长一层很薄的二氧化硅绝缘层,并在二氧化硅表面及两个N型区各安置一个电极,形成栅极g、源极s和漏极d。
(2)由于栅极被绝缘,其电阻高达10的12次方~10的15次方Ω。通常将衬底与源极相连,或接地电位,以防止有电流从衬底流入源极和导电沟道

(3) 如果栅极和源极之间所加电压=0,则源极、衬底和漏区形成两个PN结背靠背串联,d、s间不导通,
=0。
(4)当源极之间加正向电压,且
(
为阈值电压)时,栅极和衬底之间形成足够强的电场,吸引衬底中的少数载流子(电子)使其聚集在栅极下的衬底表面,形成N型反型层,该反型层就构成了d、s间的导电沟道。

(5)漏极和源极之间加电压,将有漏极电流
产生,这种在
=0时不存在导电沟道,
必须增强到足够大时才形成导电沟道的场效应管,称为增强型MOS管
- N沟道增强型MOS管的输出特性和转移特性
(1)MOS管可以视作二端口网络,栅-源为输入端口,漏-源为输出端口,源极为公共端,故称共源极连接。(输入回路与输出回路共用源极,称为共源接法。)
(2)决定允许通过的最大电流,
决定提供的最大电流


(3)当端口的电压不同时,回路电流也将发生变化,因此用I-V特性曲线反映电压与电流的关系。MOS管的I-V特性包含输出特性和转移特性
(4)输出特性曲线是指栅源电压一定的情况下,漏极电流
与漏源电压之间的关系。输出特性曲线分为三个工作区:截止区、恒流区和可变电阻区
截止区:当
<
时,导电沟道尚未形成,
=0,漏源间的电阻很大,可达10的9次方Ω以上,相当于断开,MOS管处于截止工作状态,输出特性曲线此时处于截止区
可变电阻区:当
时,产生导电沟道,外加当
较小时,
随
呈线性增长,此时MOS管可以看作是一个受
控制的可变电阻
。当
越大,输出特性曲线的斜率就倾斜,等效电阻就越小。因此该区被称为可变电阻区。
|
=const=
,
式中的K称为电导常数
恒流区:当
继续增加到一定数值使
=
-
时,沟道在靠近漏极处出现夹断。随着
继续增加,
几乎不再增加,此时的区域称为恒流区。因此当
<
-
时,MOS管工作在可变电阻区。当
-
时,MOS管工作在恒流区。

(5)转移特性曲线是指在漏极电压一定的条件下,栅源电压
对漏极电流
的控制作用。当MOS管工作在恒流区时,由于
对
的影响较小,所以不同的
对应的转移特性曲线基本重合,可以用一条曲线来表示,这条曲线与横坐标的交点即阈值电压

- 其他类型的MOS管
(1)P沟道增强型MOS管:与N沟道的MOS管相反,P沟道增强型MOS管是在N型衬底上制作两个浓度高浓度的P区,导电沟道为P型,载流子为空穴。

(2)通常将衬底与源极相连或接电源。为吸引空穴形成导电沟道,栅极接电源负极,与衬底相连的源极接电源,即为负值,因此阈值电压
也为负值。而
的实际方向为流出漏极,与通常的假定方向正好相反。

导通条件

(3)对于增强型PMOS管,当>
时,PMOS管处于截止区。当
、
>
-
时,PMOS管工作在可变电阻区;
、
-
时,PMOS管工作在恒流区

- MOS管的开关电路
(1)MOS管的作用对应于有触点开关S的断开和闭合,但其速度上又和可靠性方面比机械开关优越得多。MOS管相当于一个由控制得无触点开关

(2) MOS管单开关电路当<
时,此时MOS管处于截止状态,输出电压
=
,此时器件不消耗功率。此时相当于输入为低电平,MOS管截止,其等效得电阻约为1MΩ以上,相当于开关得断开,输出为高电平。

(3)MOS管单开关电路当>
时,并且足够大时,使得MOS管工作在可变电阻区。d、s之间得导通电阻
可由
|
=const=
确定,此时得等效电阻在1KΩ以内。由于
足够大,所以
很小,使得
远远大于
,电路输出得电平为低电平。

- MOS管开关电路的动态特性
(1)由于MOS管中栅极与衬底间电容(即输入电容C1),漏极与衬底间电容
,栅极与漏极之间电容
(米勒电容)以及导通电阻等存在,使其在导通和闭合两种状态之间转换时,不可避免受到电容充、放电过程的影响。输出电压
的波形已经不是和输入一样的理想脉冲.。上升沿和下降沿的变化都变缓慢了,而且输出电压的变化滞后于输入电压,
为输出电压
由高电平跳变为低电平的传输延迟时间,
为输出电压
低电平跳变为高电平的平均的传输延迟时间
(2)在漏极上方接一个电阻为此时该电阻的作用是:当输入为高电平时,流过导通NMOS的电流很大,
起限流作用。


1.2.2CMOS反相器
- 结构和工作原理
(1)由N沟道和P沟道增强型MOS管组成的电路称为互补MOS管或CMOS电路。CMOS反相器是构成CMOS逻辑电路的基本单元之一
(2)由两只增强型MOS管组成,其中为NMOS管,
为PMOS管。两只MOS管的栅极连在一起作为输入端;它们的漏极连在一起作为输出端。
(3)NMOS和PMOS管的阈值电压分别用和
表示。为了让电路正常工作,要求电源电压
大于两MOS管阈值电压的绝对值之和,即
。

(4) 当输入电压处于逻辑0时,相应的电压近似于0V;而当输入电压处于逻辑1时,相应的电压处于。
(5)当输入为高电平=
时,此时
=
>
(阈值电压),此时的
处于导通状态,并且导通电阻很低,而
=0<
,
处于截止状态,等效电阻很高。因此反相器输出为低电平,输出电压
0(此时通过MOS管连接下面的地),而通过两管的电流接近于零
(6)当输入为低电平=0,即
=0<
,
管截止;而
=
>|
|,
管导通。反相器输出为高电平,输出电压
=
=

(7) 当反相器处于稳态时,无论输入电压是高电平还是低电平,和
中总是一个处于导通另一个处于截止的状态
(8)MOS管的导通电阻很小,而截止电阻很高
(9)输入与输出之间为逻辑非的关系,因此称为非门或反相器

- 电流传输特性和电压传输特性
(1)CMOS的电压传输特性是指其输出电压随输入电压
变化的关系曲线。电流传输特性是指漏极电流随输入电压
变化的曲线。
(2)在传输特性曲线的AB段或EF段,根据反相器工作原理的两种情况分析可知,无论输出为高电平还是低电平,总有一个MOS管工作在截止区,因此流过两管的电流接近于零值。
(3)在BC或DE段,和
两管中,总有一个工作在恒流区,另外一个工作在可变电阻区,此时两管中的电流比较大,传输特性变化比较快,两管在
处转换状态,因此,将状态转换处的电压定义为CMOS反相器的阈值电压
(4)在CD段,由于和
均工作在恒流区,此时
,电流
工作达到最大值
(5)从B到E之间,此时和
同时导通的过渡状态,传输特性变化剧增,产生一个较大的电流尖峰。因而有较大的功耗。使用时应避免使两管长时间工作在此区域,以防止功耗过大而损坏

- 工作速度
(1)CMOS电路用于驱动其他MOS器件时,其负载阻抗是电容性的。
(2)电容充电:当=0时,
截止,
导通,由
通过
向负载电容充电,此时|
|=
,当
达到最大值使
的导通电阻变小,导致充回路的时间常数较小
(3)电容放电:当=
时,
导通,
截止,电容处于放电状态。
(4)由于电路具有互补对称的性质,与
的导通电阻相等,因此延迟时间
和
是基本相等的

1.3.3CMOS与非门和或非门
- 与非门电路
(1)CMOS与非门电路,包括两个串联的增强型NMOS管和两个并联的增强型PMOS管。每个输入端连到一个N沟道和一个P沟道MOS管的栅极。

(2)当输入端A、B有一个为低电平时,就会使它相连的NMOS管截止,PMOS管导通,输出为高电平;仅当A、B全为高电平时,才会使两个串联的NMOS管都导通,使两个并联的PMOS截止,输出为低电平。
(3) n个输入端的与非门必须有n个NMOS管串联和n个PMOS管并联。
与非门的逻辑功能:
(4)与非门的各类工作状态



- 或非门
(1)CMOS或非门电路包括两个并联的增强型NMOS管和两个串联的增强型PMOS管

(2)电路的输出与输入信号的逻辑关系及各个MOS管的工作状态。当输入端A、B只要有一个为高电平时,就会使得与它相连的NMOS管导通,而PMOS管截止,输出为低电平;仅当A、B全为低电平时,两个并联NMOS管都截止,两个串联的PMOS管都导通,输出为高电平


1.3.4CMOS的传输门
-
传输门的结构
(1)CMOS传输门由一个P沟道和一个N沟道增强型MOS管并联而成。和
是逻辑结构完全对称的,所以栅极的引出端画在符号横线的中间。它们漏极和源极可以互换,因而传输们的输入端和输出端可以互换使用,即为双向器件。设它们的阈值电压
=|
|=
,C和
是一对互补的控制信号。
(2)衬底电极与普通MOS管不同,其连接原则是:NMOS管的衬底连接到电路中的最低电位点,而PMOS管的衬底连接到电路中的最高电位点,这是为了使衬底与源极之间形成的PN结反向偏置,防止电流从漏级直接流入衬底。因此将NMOS管的衬底连接到地电位,PMOS管的衬底连接到电压

- 工作原理
(1)传输门的工作特性为:当C端接0V,接
时,输入信号
的取值在0~
范围内,
和
同时截止,输入和输出之间呈现处高阻态,传输门是断开的
(2)当C端接,
端接0V时,
在0V~(
-
)的范围内,
导通。在
-
的范围内,
将导通。由此可见,当
在0V-
之间变化时,
和
至少有一个导通,使
与
之间的导通电阻很小,传输门导通

- 传输门的应用
(1)当A=0时,此时TG1为导通,TG2为截止此时B的数据经过TG1传输到Y,

(2)双向模拟开关

(3) 数据选择器:由CMOS构成的2选1数据选择器,A、B为数据输入信号,C为选择控制信号。当C=0时,TG1导通,TG2截止,输入信号A被传输到输出端L=A,当C=1时,TG1截止,TG2导通,输入信号B被传输到输出端,L=B。

1.3CMOS逻辑门的其他输出结构及参数
1.3.1CMOS逻辑门的保护和缓冲电路
- 保护电路
(1)C1和C2为PMOS管和NMOS管的栅极等效电容,二极管D1和D2的正向导通压降为=0.5~0.7V之间。D2是分布式二极管结构,用虚线和两个二极管表示。这种分布式二极管可以通过较大的电流,使得输入引脚上的静电荷被释放,从而保护了MOS管的栅极绝缘层。二极管的反向击穿电压约为30V,小于栅极
层的击穿电压

(2) 输入电压在正常范围内(0)保护电路不起作用。此时上下两个二级管均不导通

(3) 当>(
+
)或
<-
时,二极管
或
首先导通,MOS管的栅极电位被限制在
到
之间,使栅极的
层不会被击穿。如果输入电平发生突变时的过冲电压很大或持续时间很长,可能使流过
或
的电流过大而损坏二极管,进而使MOS管的栅极被击穿
(3)电阻和MOS管的栅极电容组成积分网络,使输入信号的过冲延迟一段时间才作用到栅极上,而且幅值有所减少。为减少这种延迟对电路动态性能的影响,
值不宜过大,通常为
为2KΩ左右



- 反相缓冲电路
(1)带缓冲级的CMOS与非门电路的逻辑符号。由于输入、输出端加了反相器作为缓冲电路,所以电路与输入的逻辑关系也发生了变化。在门电路的每个输入端、输出端各增设一级反相器,称为缓冲器。
(2)或非门+缓冲器=与非门

(3) 与非门+缓冲器=或非门

1.3.2CMOS漏极开路门和三态输出门电路
1.3.2.1CMOS漏极开路门
- 漏极开路门的结构和工作原理
(1)通常CMOS都有反相器作为缓冲电路。而在工程实践中。将两个门的输出端并联以实现与逻辑功能(称为线与)。如果将两个CMOS与非门和
的输出端连接在一起,并设
的输出处于高电平,
截止、
导通;而
的输出为高电平,
导通,
截止。这样,从
的
到
的
将形成一低阻通路,从而产生很大的电流,有可能导致器件的损坏,并且无法确定输出的是高电平还是低电平。因此普通门电路的输出端是禁止线与的。因此需要采取OD门来解决

(2) 漏极开路是指CMOS门电路的输出电路只有NMOS管,并且它的漏极是开路的

(3)OD门的逻辑结构

(4) OD门的逻辑电平转换

(5)使用漏极门之间必须在漏极和电源之间,外接一个上拉电阻
。两个OD与非门实现线与。将两个门电路输出端接在一起,通过上拉电阻接电源。由图可见,当两个与非门的输出全为1时,输出为1;只要其中一个为0时,输出为0。所以该电路符合与逻辑功能。即L=

- 上拉电阻的计算
(1)当其他门作为OD门的负载时,OD门称为驱动门,其后的门称为负载门
(2)选择上拉电阻要考虑许多的因素,一方面如果负载具有电容性,的值越小,电容的充电常数也越小,因而开关速度越快,但功耗也就越大。另一个方面,多个OD门的输出端线与在一起,输出为低电平,其他门均截止时,负载电流将全部流向导通的OD门,这是一个最不利的情况,此时上拉电阻
具有限制电流的作用,其取值不应该太小
(3)当输出为低电平,并联的OD门只有一个导通。此时,此时
为直流电源电压;
为驱动门
的最大值,
为驱动门
最大值,
为CMOS负载门低电平输入电流
总和,
=n
,n为并联的输入端数目
(4)当所有OD门输出均为高电平。,
为驱动门
的最小值,
为CMOS负载门高电平输入电流
总和,
=n
,n为并联的输入端数目,
为全部驱动门输出高电平时的漏电流总和




1.3.2.2三态输出门电路
-
基本结构和原理
(1)三态输出门电路的输出除了具有一般门电路的两种状态,即输出高、低电平外,还具有高输出阻抗的第三状态,称为高阻态,又称为禁止态。A是输入端,L为输出端,EN是使能端。
(2)当使能端EN=1时,如果A=0,则B=1,C=1,使得导通,同时
截止,输出端L=0,输出端L=0;如果A=1,则B=0,C=0,使得
截止,
导通,输出端L=1
(3)当使能端EN=0时,无论A取何值,都使得B=1,C=0,则何
均截止,电路的输出端既不是低电平,又不是高电平,而是开路,这就是第三种高阻工作状态
(4)由此可知,当EN为有效的高电平时,电路处于正常逻辑工作状态,L=A。而当EN为低电平时,电路处于高祖状态。高电平使能(简称高使能)。

(5) 真值表,x可以表示0或1
| 使能EN | 输入A | 输出L |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
| 0 | x | 高阻 |
(6) 三态门可以用于总线传输,如计算机或微处理器系统。为了避免两个不同的信号在总线上引起的冲突,任何时刻只有一个门电路的使能端EN为1,该门电路的信号被传送到总线上,而其它三态门输出电路处于高阻态。这样就可以按一定的顺序将各个门电路的输出信号分时送到总线上
(7)接到总线上的三态输出电路,任何时刻只有一个使能端为有效信号,这就要求某个与总线进行数据传输的三态门必须关断之和,另一个三态门才允许与总线进行数据传输。即从高阻态到高电平(或低电平)输出的转换时间。略大于从高电平(或低电平)到高组态的转换时间。这样控制系统给出的使能信号,使前一个电路进入高阻态以后,后一个电路的输出信号才送到总线上,以避免两个不同信号在总线上引起冲突。

1.3.3CMOS逻辑门电路的主要参数
- 输入和输出高低电平
(1)当逻辑电路的输入电压在一定范围内变化时,输出电压并不会改变,因此逻辑1或0对应的电压范围,不同系列的集成电路,输入和输出为逻辑1或0所对应的电压范围也不同
(2)逻辑电平参数:输入低电平的上限值、输入高电平的下限值
、输出低电平的上限值
和输出高电平的下限值
- 噪声容限
(1)噪声容限反映了门电路的抗干扰能力。二值逻辑电路的优点是在于允许它的输入信号允许一定的容差。在数字系统中,各逻辑电路之间的连线可能会受到各种噪声的干扰,如信号传输的噪声,信号的高低电平转换引起的噪声,或者临近开关信号所引起的随机脉冲的噪声。这些噪声会叠加在工作信号上。只要高电平信号叠加噪声后不低于输入高电平的最小值或者低电平信号叠加噪声后不高于输入低电平最大值,则输出逻辑状态不会受到影响。通常将这个最大噪声幅度称为噪声容限。电路的噪声容限越大,其抗干扰能力越强
(2)前一级驱动门电路的输出,就是后一级负载吗,门电路的输入。则输入高电平的噪声容限为
,
反映了驱动门输出高电平时,容许叠加在其上的负向噪声电压的最大值。类似的输入电压低电平的噪声容限值为
。
反映了驱动门输出低电平时,容许叠加在其上的正向噪声电压的最大值。

1.4TTL逻辑门电路
1.4.1BJT的开关特性
- 三极管的开关特性
(1)三级管的输入特性

(2) 三极管的输出特性

(3) 三极管的工作特性

- BJT的开关作用
(1)当输入=
=0V时,BJT的发射结零偏(
=0),集电极为反向偏置(
<0),只有很小的漏电流流过PN结,故
、
、
,对应于图中的A点。这时集电极回路中的c、e极之间近似于开路,相当于开关断开一样,输出为高电平。BJT这种工作状态相当于截止
(2)当输入=
=
时,调节
,使
,则BJT工作在图中的B点。集电极回路中的c、e之间近似于短路,相当于开关闭合一样输出为低电平。



- BJT的开关特性
(1)BJT的开关过程是在饱和与截止两种状态之间相互切换,也是内部电荷建立何消散的过程。因此需要一定的时间才能完成
(2)以BJT管开关电路为例,在输入端加入一个数字脉冲信号,输入信号的上升沿使BJT从截止到饱和变化,需要时间建立基区电荷以形成饱和电流。输入信号的下降沿使BJT从饱和到截止变化,需要时间消散基区存储的电荷。因此输出电压的变化滞后于输入电压的变化
1.4.2TTL反相器的基本电路
- 基本工作原理和结构
(1)TTL反相器由三部分组成,T1组成电路的输入级,用来提高工作速度。T3、T4和二级管D组成输出级,以提高开关速度和带负载能力。由T2组成的中间级作为输出级的驱动电路,将T2的单端输入信号转换为互补的双端输出信号
和
,以驱动
和




(2)当输入=0.2V时,T1的发射结导通,其基极电压为
=0.9V,该电压作用于T1的集电结和T2、T3的发射结之间,所以T2、T5管截止,
为高电平,
和D2导通,输出为高电平。当忽略
上的压降时,则
=3.6V

(3)当输入=3.6V,
通过
和T1的集电结向T2、T3提供基极电流,使T2、T3饱和导通,此时
=2.1V,使T1的发射结反向偏置,而集电结正向偏置。所以T1处于发射结和集电结倒置的状态。由于T2和T3管饱和,使
=0.9V。该电压作用于T4的发射结和二极管D两个PN结上,无法使其导通,T4和D截止,且T3饱和导通,使输出为低电平,
=3.6V

1.5逻辑门电路的实际使用
1.5.1差分信号传输
- 基本概念
(1)差分信号传输是一种抗干扰能力强的信号传输技术。
(2)传统的信号传输采用一根信号线和一根地线,信号线上传输高电平或低电平电压值。若叠加干扰信号后电压值发生变化,有可能导致逻辑电平发生变化.
(3)差分信号传输是在两根线上都传输信号,两个信号的大小相等、相位相反
- 工作原理
(1)原始数字信号在输入端经过缓冲器和反相器,分别输出两个大小相等,相位相反的信号到两根传输线上。在电路板上,两根传输线必须等长、等宽、紧密靠近且在同一层面。当干扰信号同时作用时,叠加在两根传输线上的干扰信号(共模信号)大小相等、相位也相同。当接收端用差分放大器来检测差分信号,两个输入端信号相减后,干扰信号被消除。因此干扰信号具有很强的抗干扰能力
(2)当X=0,为低电平,
为高电平。经过传输线到接收端,
-
<0时,Y=0
(3)当X=1,为高电平,
为低电平。在接收端,
-
>0时,Y=1
相关文章:
数电学习基础(逻辑门电路+)
1.逻辑门电路 1.1逻辑门电路的简介 1.1.1各种逻辑门电路的简介 基本概念 (1)实现基本逻辑运算和常用逻辑运算的电路称为逻辑门电路,简称门电路。逻辑门电路是组成各种数字电路的基本单元电路。将构成门电路的元器件制作一块半导体芯片上再…...
【艾思科蓝】Spring Boot实战:零基础打造你的Web应用新纪元
第七届人文教育与社会科学国际学术会议(ICHESS 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看:https://ais.cn/u/nuyAF3 目录 一、Spring Boot简介 1.1 Spring Boot的诞生背景 1.2 Spring Boot的核心特性 二、搭建开发环境 2.1…...
C++ 二叉树
1. 二叉搜索树 1.1 二叉搜索树概念 二叉搜索树又称二叉排序树,他或者是一棵空树,或者是具有以下性质的二叉树: ①若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 ②若它的右子树不为空,则右子树上所有节…...
初探IT世界:从基础到未来
初探IT世界:从基础到未来 1. 引言 随着科技的不断发展,IT(信息技术)已经成为全球经济的支柱之一。从软件开发、网络安全到数据分析和人工智能,IT 领域为我们的日常生活提供了许多不可或缺的技术服务。无论你是初学者…...
一区黏菌算法+双向深度学习+注意力机制!SMA-BiTCN-BiGRU-Attention黏菌算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测
一区黏菌算法双向深度学习注意力机制!SMA-BiTCN-BiGRU-Attention黏菌算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测 目录 一区黏菌算法双向深度学习注意力机制!SMA-BiTCN-BiGRU-Attention黏菌算法优化双向时间卷积双向门控循环单元…...
机器翻译之Bahdanau注意力机制在Seq2Seq中的应用
目录 1.创建 添加了Bahdanau的decoder 2. 训练 3.定义评估函数BLEU 4.预测 5.知识点个人理解 1.创建 添加了Bahdanau的decoder import torch from torch import nn import dltools#定义注意力解码器基类 class AttentionDecoder(dltools.Decoder): #继承dltools.Decoder写…...
MyBatis 入门教程-搭建入门工程
Maven作为一个优秀的项目构建和管理工具,在日常的开发中被大多数开发者使用,后续的项目也是基于Maven来构建。 创建一个Maven项目 利用IDEA创建项目工具来创建一个Maven项目 添加MyBatis的依赖 这里可以从Maven仓库地址中进行查看, https://mvnrepository.com/ 从这里可…...
CVE-2024-2389 未经身份验证的命令注入
什么是 Progress Flowmon? Progress Flowmon 是一种网络监控和分析工具,可提供对网络流量、性能和安全性的全面洞察。Flowmon 将 Nette PHP 框架用于其 Web 应用程序。 未经身份验证的路由 我们开始在“AllowedModulesDecider.php”文件中枚举未经身份验证的端点,这是一个描…...
C++初阶-list用法总结
目录 1.迭代器的分类 2.算法举例 3.push_back/emplace_back 4.insert/erase函数介绍 5.splice函数介绍 5.1用法一:把一个链表里面的数据给另外一个链表 5.2 用法二:调整链表当前的节点数据 6.unique去重函数介绍 1.迭代器的分类 我们的这个迭代器…...
【智能大数据分析 | 实验一】MapReduce实验:单词计数
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈智能大数据分析 ⌋ ⌋ ⌋ 智能大数据分析是指利用先进的技术和算法对大规模数据进行深入分析和挖掘,以提取有价值的信息和洞察。它结合了大数据技术、人工智能(AI)、机器学习(ML&a…...
Git 版本控制--git restore和git reset
git restore 和 git reset 是 Git 版本控制系统中两个用于撤销更改的命令,但它们的作用范围和用途有所不同。 git restore git restore 是 Git 版本控制系统中的一个命令,用于撤销工作目录中的更改,但不影响暂存区(staging area…...
DBAPI如何实现插入数据前先判断数据是否存在,存在就更新,不存在就插入
DBAPI实现数据不存在即插入、存在即更新 场景 往数据库插入数据的时候,需要先判断一下记录是否在数据库已经存在,如果已经存在就更新记录,如果不存在,才插入数据。 实现方案 采用存储过程实现,以mysql为例子 创建存储过…...
【渗透测试】-灵当CRM系统-sql注入漏洞复现
文章目录 概要 灵当CRM系统sql注入漏洞: 具体实例: 技术名词解释 小结 概要 近期灵当CRM系统爆出sql注入漏洞,我们来进行nday复现。 灵当CRM系统sql注入漏洞: Python sqlmap.py -u "http://0.0.0.0:0000/c…...
c语言练习题1(数组和循环)
1实现一个对整形数组的冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换的元…...
实验3 Hadoop集群运行环境搭建和使用
实验3 Hadoop集群运行环境搭建和使用 一、实验介绍 本节实验旨在引导学生通过实际操作搭建一个基本的Hadoop集群,并进行基本的使用验证。实验包括在集群节点上添加域名映射以实现节点间的相互识别,配置免密SSH登录以便无密码访问各节点,安装和配置JDK以满足Hadoop的运行需求…...
前端文件上传全过程
特别说明:ui框架使用的是蚂蚁的antd 这里主要是学习前端上传接口的传递参数包括前端上传之前对于代码的整理 一、第一步将前端页面画出来 源代码: /** 费用管理 - IT费用管理 - 费用数据上传 */ import { useState } from "react"; import {…...
MySQL中的函数简单总结,以及TCL语句的简单讲解
文章目录 一、函数1、ifnull2、if3、case4、exists 存在5、字符串函数(重点)6、数学函数7、日期函数 二、TCL语句1、创建用户2、赋予权限3、修改mysql允许远程登录 一、函数 1、ifnull 当前⾯的值是null的时候,使⽤后⾯的默认值 ifnull(字段…...
GPS在Linux下的使用(war driving的前置学习)
1.ls /dev/tty* 列出所有与 tty 相关的设备文件。这些设备文件通常对应终端设备 ttyUSB0是GPS端口 2.cat /dev/ttyUSB0 用于读取并显示连接到 /dev/ttyUSB0 串口设备发送的原始数据 这种是GPS定位不全的,要拿到更开阔的地方 这种是GPS定位全的 因为会持续输出…...
开发经验总结: 读写分离简单实现
背景 使用mysql的代理中间件,某些接口如果主从同步延迟大,容易出现逻辑问题。所以程序中没有直接使用这个中间件。 依赖程序逻辑,如果有一些接口可以走读库,需要一个可以显示指定读库的方式来连接读库,降低主库的压力…...
MySQL(面试题 - 同类型归纳面试题)
目录 一、MySQL 数据类型 1. 数据库存储日期格式时,如何考虑时区转换问题? 2. Blob和text有什么区别? 3. mysql里记录货币用什么字段类型比较好? 4. MySQL如何获取当前日期? 5. 你们数据库是否支持emoji表情存储&…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...
Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...
Yii2项目自动向GitLab上报Bug
Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...
Qt的学习(二)
1. 创建Hello Word 两种方式,实现helloworld: 1.通过图形化的方式,在界面上创建出一个控件,显示helloworld 2.通过纯代码的方式,通过编写代码,在界面上创建控件, 显示hello world; …...
手动给中文分词和 直接用神经网络RNN做有什么区别
手动分词和基于神经网络(如 RNN)的自动分词在原理、实现方式和效果上有显著差异,以下是核心对比: 1. 实现原理对比 对比维度手动分词(规则 / 词典驱动)神经网络 RNN 分词(数据驱动)…...
篇章一 论坛系统——前置知识
目录 1.软件开发 1.1 软件的生命周期 1.2 面向对象 1.3 CS、BS架构 1.CS架构编辑 2.BS架构 1.4 软件需求 1.需求分类 2.需求获取 1.5 需求分析 1. 工作内容 1.6 面向对象分析 1.OOA的任务 2.统一建模语言UML 3. 用例模型 3.1 用例图的元素 3.2 建立用例模型 …...

