精华内容
下载资源
问答
  • 点击下方[阅读原文],查看更多在测试测量相关应用中,模拟开关和多路复用器有着非常广泛的应用,例如...在开始介绍基础的参数之前,我们有必要介绍一下模拟开关和多路复用器的基本单元MOSFET开关的基本结构。一. MO...

       97d042402835e182d4963c2d6aeeb869.png点击下方[阅读原文],查看更多

    在测试测量相关应用中,模拟开关和多路复用器有着非常广泛的应用,例如运放的增益调节、ADC分时采集多路传感器信号等等。虽然它的功能很简单,但是仍然有很多细节,需要大家在使用的过程中注意。所以,在这里为大家介绍一下模拟开关和多路复用器的基础参数。在开始介绍基础的参数之前,我们有必要介绍一下模拟开关和多路复用器的基本单元MOSFET开关的基本结构。一. MOSFET开关的架构MOSFET开关常见的架构有3种,如图1所示。1)NFET。2)NFET和PFET。3)带有电荷泵的NFET。三种架构各有特点,详细的介绍,可以参考《TI Precision Labs - Switches and Multiplexers》培训视频和《Selecting the Right Texas Instruments Signal Switch》应用文档。本文主要基于NFET和PFET架构展开介绍和仿真,但是涉及到的概念在三种架构中都是适用的。f32c63a86a7c3c6f03353d7a9d6f14b3.png图 1 MOSFET开关结构另外,需要注意的是,此处的MOSFET结构,S和D是对称的,所以在功能上是可以互换的,也因此,开关是双向的,为了便于讨论,我们统一把S极作为输入。二.模拟开关和多路复用器直流参数介绍1. 导通电阻 On Resistance(1). 定义7be0cac02a156d99848f05865846e5c0.png图 2 On Resistance 定义(2). 特点1) 随输入信号电压而改变:当芯片的供电电压固定时,对于NMOS而言,S级的电压越高,导通电阻越来越大,对于PMOS而言,S级的电压越高,导通电阻越来越小。81e03c3b125e9cb898be0f5490dc98b7.png图 3 导通电阻随输入信号电压变化的曲线2) 导通电阻的阻值与温度有关:当VDD和VSS固定不变时,随着温度的升高,导通电阻的曲线整体向上平移。eecf709ee3702d673525901353603007.png图 4 导通电阻随温度变化的曲线3) 导通电阻的平坦度:On-resistance flatnesseb17a1afc33584ef2ba38ce1349a27b7.png图 5 On-resistance flatness在一定的输入电压范围内,导通电阻的最大值与最小值的差称为导通电阻的平坦度,这个值越大,说明导通电阻的变化幅度越大。(3). 影响在这里,我们通过一个仿真实例来观察一下导通电阻及平坦度对于系统的影响,如图6。为了更容易地观察到影响,我们选择设置R1和R2为100Ω。3c02be9cd62b4776a39d859b22c0d00c.png图 6 MUX36S08仿真电路bb2c06460da07a12bd22b04c57b0de94.png图 7 输入及输出波形从仿真的结果我们可以看出:1) 输出电压并不是我们输入电压乘以放大比例后的结果,这是因为有导通电阻的存在。d9082cce50278488172c655ac5b88bc9.png2) 输出电压随输入电压的并不是线性关系,这是因为Ron随着Vin在变化,会在输出端引入非线性误差。所以,Ron的平坦度越小,输出的非线性误差越小。2.漏电流 Leakage current(1). 定义1) Source off-leakage current: 在开关断开时,从源极流入或流出的电流称为Is(off),如图8。2) Drain off-leakage current: 在开关断开时,从漏极流入或流出的电流称为 Id(off),如图83) On-leakage current: 当开关闭合时,从漏极流入或流出的电流称为 Id(on),如图8。469f0b8053065f6c5af8bb824aac2f6c.png图 8 漏电流定义(2). 特点漏电流随温度变化剧烈。c7f342cd88947ed53cd78a878e2205b2.png图 9 漏电流随温度变化的曲线(3). 影响在很多数据采集系统中,接入MUX前的传感器有可能是高阻抗的传感器。这时,漏电流的影响就会凸显出来。例如,在图10的仿真中,输入源有1MΩ的源阻抗,我们对这个电阻进行直流参数扫描,观察它从1MΩ变化至10MΩ时,对输出电压的影响,结果可以看到,漏电流通过传感器的内阻会给输出电压带来一个直流误差。所以,在为高输出阻抗的传感器选择MUX时,要尽可能选取低漏电流的芯片。444e9bce9655f0b90365c0536feac467.png图 10 漏电流仿真电路c9831add7c860efc8156dcf7c54b9ac3.png图 11 漏电流仿真结果三. 模拟开关和多路复用器动态参数介绍1. 导通电容 On Capacitance(1). 定义CS和CD代表了开关在断开时的源极和漏极电容。当开关导通时,CON等于源极的电容和漏极的电容之和,如图12。eb330196633361d531033e06fab61564.png图 12 On Capacitance(2). 影响357d22eee04508d04690f2d235550e83.png图 13 MUX36S08 示例当MUX在不同通道之间切换时,CD也会随着通道的切换被充电或者放电。例如,当S1闭合时,CD会被充电至V1。那么此时CD上的电荷QD1:a10e4c82573d17c38a78f23ae8ce29b1.png当MUX从S1切换至S2时,CD会被充电至V2。那么此时CD上的电荷QD2:2139b57baf594a41ae5fe5aec5c1447c.png那么两次CD上的电荷差就需要V2来提供,所以这时候,MUX输出就会需要一定的时间来稳定。7f202cb104dd770f176d0766946580e7.png对于一个N-bit的ADC:55c603d942e90bb1a2896fa90a084eeb.pngK其实是代表RC电路中,电压到达目标误差以内时所需要的时间常数的数量,例如10-bit accuracy (LSB % FS= 0.0977), K= -ln (0.0977/100)=6.931。接下来用一个仿真来说明这种现象:为了更明显地观察到这种现象,在Vout 端加入一个电容C1,可以理解为增加了CD,也可以理解为负载电容和CD的并联。b1cf20c2a2acc1e6525a76c6a541c803.png图 14 On Capacitance对输出影响的仿真示例电路当 C1=50pF时,整个回路的时间常数较大,需要更长时间稳定,所以在开关导通20uS之后,输出电压仍然没有稳定到信号源的电压。d770874858dceee28ea36fb5178f3f1c.png图 15 C1=50pF 仿真结果当 C1=10pF时,整个回路的时间常数较小,需要较短时间稳定,所以在开关导通20uS之内,输出电压稳定到了信号源的电压。d7153cea176589d8dfbcea216e135cb9.png图 16 C1=10pF 仿真结果2. 注入电荷 Charge Injection(1). 定义注入电荷指的是从控制端EN耦合至输出端的电荷。(2). 影响因为在开关导通的通道上,缺乏消耗这部分电荷的通路,所以当这部分电荷流入漏极电容和输出电容上时,会在输出产生一个电压误差。5e09059f0209aea98664e9a1a7de7097.png图 17 Charge Injection过程示意图过程如下:当在EN端有一个阶跃信号时,这个阶跃电压会通过栅极和漏极之间的寄生电容CGD,耦合至输出端,输出电压的改变取决于注入电荷QINJ,CD和CL。所以,当注入的电荷越小时,在输出端引入的误差会越小。但同时,要注意到,注入电荷是一个与供电电压、输入信号都有关的一个参数。因此,当输入信号的电压在变化时,会在输出端产生一个非线性的误差。所以在选在MUX时,除了要注意charge injection的值以外,也要注意charge injection在输入范围内的平坦度。0a792341c0f47c89192c0dc50f64e1fb.png图 18 MUX36S08 charge injection 曲线TMUX6104精密模拟多路复用器使用特殊的电荷注入消除电路,可将源极-漏极电荷注入在VSS = 0 V时降至-0.35 pC,在整个信号范围内降至-0.41 pC。a14ad347cb1be775d9fd5d45281f8aaf.png图 19 TMUX6104 Charge Injection 曲线3. 带宽Bandwidth(1). 定义当开关打开时,在漏极的输出删减至源极输入衰减3dB时的频率,如图20所示。30bc371a0283eff5b9c9a58633628724.png图 20 带宽定义(2). 计算方法3b682db8cae9b01c0835453bf43c993b.png图 21 简化的MUX内部的开关模型为了简化分析,我们忽略RS和CS。根据图21中的阻容网络,我们可以写出该电路的传递函数:e0b3189b7c9753ea4b98f15c6d7c5d5f.png其中,3dB cut off frequency:d47b793aad5264981138cc5f2c6575c1.png根据这个公式,结合MUX和负载的参数,我们就可以算出来在当前条件下MUX的带宽了。4. 通道间串扰 Channel to Channel crosstalk(1). 定义fe5d08742198f57e24d61d67af3bc0cc.png图 22 通道间串扰示意图通道间串扰定义为当已知信号施加到导通通道的源极引脚时,在截止通道的源极引脚上出现的电压。2f0bb8ae9da514b8b8e6f701a9942883.png(2). 特点ebc53d274978924a6a239d126d742457.png图 23 简化的MUX内部的开关模型及通道间串扰随信号频率的变化Channel to Channel crosstalk是和频率有关的一种现象。主要是由于关断状态下寄生电容导致的。有时,也会由于布局技术不佳而引入了寄生电容,表现为串扰。CSS表示两个输入通道之间的寄生电容。这可能是传输信号的两个输入走线之间的电容,或者是多路复用器的两个输入引脚之间的电容。在较低频率的时候,从S1到OUTPUT的阻抗是RON ,因为S2是断开的,从S2到OUTPUT的阻抗非常高。随着施加到S1的输入信号的频率增加,寄生电容CSD的阻抗变得更低,并在S2引入了一部分S1的输入信号。相同的原理,寄生电容CSS随频率的增加也会将一部分输入信号直接耦合到断开的通道S2。减少杂散电容的电路板布局技术也会有助于通道间的串扰问题。5. 关断隔离 Off isolation(1). 定义关断隔离定义为当在关闭通道的源极引脚上施加已知信号时在多路复用器输出引脚上引入的电压。4af7ae72011966fd44777fdbe7bc0706.png图 24 关断隔离示意图901085abe594ae1a9dd062c0045a8728.png(2). 特点7721e7aeced5c065ac30a38dd1ea0efe.png图 25 简化的MUX内部的开关模型及关断隔离随信号频率的变化像串扰一样,关断隔离也是一种与频率相关的现象,由于模拟开关或多路复用器的OFF状态寄生电容CSD而发生。而开关在截止状态的寄生电容又取决于多个因素,例如器件封装、引出线、制造工艺以及电路板布局技术。较低的负载电阻将产生更好的OFF隔离,但由于导通电阻的存在,如果负载电阻过低,会引入失真。较大的负载电容和漏极电容也将有助于更好的OFF隔离,但会限制多路复用器的带宽。关断隔离和串扰规范都会分为相邻和不相邻通道两类。

    a8c4fa17d15359cbb477d614b4d8d4b8.png

    展开全文
  • 点击下方[阅读原文],查看更多在测试测量相关应用中,模拟开关和多路复用器有着非常广泛的应用,例如...在开始介绍基础的参数之前,我们有必要介绍一下模拟开关和多路复用器的基本单元MOSFET开关的基本结构。一. MO...

       53fabfdc7ea2b077aa12ee60f5b64a20.png点击下方[阅读原文],查看更多

    在测试测量相关应用中,模拟开关和多路复用器有着非常广泛的应用,例如运放的增益调节、ADC分时采集多路传感器信号等等。虽然它的功能很简单,但是仍然有很多细节,需要大家在使用的过程中注意。所以,在这里为大家介绍一下模拟开关和多路复用器的基础参数。在开始介绍基础的参数之前,我们有必要介绍一下模拟开关和多路复用器的基本单元MOSFET开关的基本结构。一. MOSFET开关的架构MOSFET开关常见的架构有3种,如图1所示。1)NFET。2)NFET和PFET。3)带有电荷泵的NFET。三种架构各有特点,详细的介绍,可以参考《TI Precision Labs - Switches and Multiplexers》培训视频和《Selecting the Right Texas Instruments Signal Switch》应用文档。本文主要基于NFET和PFET架构展开介绍和仿真,但是涉及到的概念在三种架构中都是适用的。ee2413d769b8cb457ea59f510a92977f.png图 1 MOSFET开关结构另外,需要注意的是,此处的MOSFET结构,S和D是对称的,所以在功能上是可以互换的,也因此,开关是双向的,为了便于讨论,我们统一把S极作为输入。二.模拟开关和多路复用器直流参数介绍1. 导通电阻 On Resistance(1). 定义d48087f58b9e39e989ac64922713df28.png图 2 On Resistance 定义(2). 特点1) 随输入信号电压而改变:当芯片的供电电压固定时,对于NMOS而言,S级的电压越高,导通电阻越来越大,对于PMOS而言,S级的电压越高,导通电阻越来越小。bc9f8d54855d2b9ad12b41643d326ff2.png图 3 导通电阻随输入信号电压变化的曲线2) 导通电阻的阻值与温度有关:当VDD和VSS固定不变时,随着温度的升高,导通电阻的曲线整体向上平移。507f41a347f3a4a0cb970a33a6031d40.png图 4 导通电阻随温度变化的曲线3) 导通电阻的平坦度:On-resistance flatness56444a0cb79e0a2fd7f9a91b48c3cd5d.png图 5 On-resistance flatness在一定的输入电压范围内,导通电阻的最大值与最小值的差称为导通电阻的平坦度,这个值越大,说明导通电阻的变化幅度越大。(3). 影响在这里,我们通过一个仿真实例来观察一下导通电阻及平坦度对于系统的影响,如图6。为了更容易地观察到影响,我们选择设置R1和R2为100Ω。50412958efe344ae84fe2fb459e1bbe1.png图 6 MUX36S08仿真电路286f7c5457f8821825436588be2ee7b2.png图 7 输入及输出波形从仿真的结果我们可以看出:1) 输出电压并不是我们输入电压乘以放大比例后的结果,这是因为有导通电阻的存在。225a9bc735861119315d6f68f10da367.png2) 输出电压随输入电压的并不是线性关系,这是因为Ron随着Vin在变化,会在输出端引入非线性误差。所以,Ron的平坦度越小,输出的非线性误差越小。2.漏电流 Leakage current(1). 定义1) Source off-leakage current: 在开关断开时,从源极流入或流出的电流称为Is(off),如图8。2) Drain off-leakage current: 在开关断开时,从漏极流入或流出的电流称为 Id(off),如图83) On-leakage current: 当开关闭合时,从漏极流入或流出的电流称为 Id(on),如图8。303fa31bb98fe903293528d8bb45295a.png图 8 漏电流定义(2). 特点漏电流随温度变化剧烈。89d8b4a147868a1f40b41e41e8181ba8.png图 9 漏电流随温度变化的曲线(3). 影响在很多数据采集系统中,接入MUX前的传感器有可能是高阻抗的传感器。这时,漏电流的影响就会凸显出来。例如,在图10的仿真中,输入源有1MΩ的源阻抗,我们对这个电阻进行直流参数扫描,观察它从1MΩ变化至10MΩ时,对输出电压的影响,结果可以看到,漏电流通过传感器的内阻会给输出电压带来一个直流误差。所以,在为高输出阻抗的传感器选择MUX时,要尽可能选取低漏电流的芯片。0bfbecf7ad9f9f20851f8f2a56166aa2.png图 10 漏电流仿真电路37a8156d57671c7b0a5088cc873f0fc3.png图 11 漏电流仿真结果三. 模拟开关和多路复用器动态参数介绍1. 导通电容 On Capacitance(1). 定义CS和CD代表了开关在断开时的源极和漏极电容。当开关导通时,CON等于源极的电容和漏极的电容之和,如图12。b5b9c424a665d176c3e64ad2af478dbc.png图 12 On Capacitance(2). 影响4c87b02b53db6272e023302277e7939c.png图 13 MUX36S08 示例当MUX在不同通道之间切换时,CD也会随着通道的切换被充电或者放电。例如,当S1闭合时,CD会被充电至V1。那么此时CD上的电荷QD1:980990652702e4350e5deae33f4e8ada.png当MUX从S1切换至S2时,CD会被充电至V2。那么此时CD上的电荷QD2:13c4f7fd7638306c641a5563984131ce.png那么两次CD上的电荷差就需要V2来提供,所以这时候,MUX输出就会需要一定的时间来稳定。a02b533a8eda9015b770d4dac784c1a1.png对于一个N-bit的ADC:221187990895cf8db257e6c436eb238c.pngK其实是代表RC电路中,电压到达目标误差以内时所需要的时间常数的数量,例如10-bit accuracy (LSB % FS= 0.0977), K= -ln (0.0977/100)=6.931。接下来用一个仿真来说明这种现象:为了更明显地观察到这种现象,在Vout 端加入一个电容C1,可以理解为增加了CD,也可以理解为负载电容和CD的并联。77e3d978b254c82186aa6547c33d9dc4.png图 14 On Capacitance对输出影响的仿真示例电路当 C1=50pF时,整个回路的时间常数较大,需要更长时间稳定,所以在开关导通20uS之后,输出电压仍然没有稳定到信号源的电压。dcac538253302499f5a1a2c4f4d94d80.png图 15 C1=50pF 仿真结果当 C1=10pF时,整个回路的时间常数较小,需要较短时间稳定,所以在开关导通20uS之内,输出电压稳定到了信号源的电压。c714eacfbf59715f7ba71b3629ce9820.png图 16 C1=10pF 仿真结果2. 注入电荷 Charge Injection(1). 定义注入电荷指的是从控制端EN耦合至输出端的电荷。(2). 影响因为在开关导通的通道上,缺乏消耗这部分电荷的通路,所以当这部分电荷流入漏极电容和输出电容上时,会在输出产生一个电压误差。44c5383ee807f9c1283717a3ff56b35c.png图 17 Charge Injection过程示意图过程如下:当在EN端有一个阶跃信号时,这个阶跃电压会通过栅极和漏极之间的寄生电容CGD,耦合至输出端,输出电压的改变取决于注入电荷QINJ,CD和CL。所以,当注入的电荷越小时,在输出端引入的误差会越小。但同时,要注意到,注入电荷是一个与供电电压、输入信号都有关的一个参数。因此,当输入信号的电压在变化时,会在输出端产生一个非线性的误差。所以在选在MUX时,除了要注意charge injection的值以外,也要注意charge injection在输入范围内的平坦度。34ed9e4293f151c5ec555038a9219811.png图 18 MUX36S08 charge injection 曲线TMUX6104精密模拟多路复用器使用特殊的电荷注入消除电路,可将源极-漏极电荷注入在VSS = 0 V时降至-0.35 pC,在整个信号范围内降至-0.41 pC。980a33d81d27e140dedf40ba8f3ea6b6.png图 19 TMUX6104 Charge Injection 曲线3. 带宽Bandwidth(1). 定义当开关打开时,在漏极的输出删减至源极输入衰减3dB时的频率,如图20所示。694049af638857aafcdd291e33a0032f.png图 20 带宽定义(2). 计算方法ea0e1143176609ee4594061955643e2d.png图 21 简化的MUX内部的开关模型为了简化分析,我们忽略RS和CS。根据图21中的阻容网络,我们可以写出该电路的传递函数:5ffd8b9285f4ef1317cfb17614f76ef8.png其中,3dB cut off frequency:51d6514ce293e4b9c49538687dac13dd.png根据这个公式,结合MUX和负载的参数,我们就可以算出来在当前条件下MUX的带宽了。4. 通道间串扰 Channel to Channel crosstalk(1). 定义4d09dbb3d156d1e834a797e5287ee84a.png图 22 通道间串扰示意图通道间串扰定义为当已知信号施加到导通通道的源极引脚时,在截止通道的源极引脚上出现的电压。4046970709fe6203a08218fc6477bc4e.png(2). 特点62aec4517139943e88da90c55bd38722.png图 23 简化的MUX内部的开关模型及通道间串扰随信号频率的变化Channel to Channel crosstalk是和频率有关的一种现象。主要是由于关断状态下寄生电容导致的。有时,也会由于布局技术不佳而引入了寄生电容,表现为串扰。CSS表示两个输入通道之间的寄生电容。这可能是传输信号的两个输入走线之间的电容,或者是多路复用器的两个输入引脚之间的电容。在较低频率的时候,从S1到OUTPUT的阻抗是RON ,因为S2是断开的,从S2到OUTPUT的阻抗非常高。随着施加到S1的输入信号的频率增加,寄生电容CSD的阻抗变得更低,并在S2引入了一部分S1的输入信号。相同的原理,寄生电容CSS随频率的增加也会将一部分输入信号直接耦合到断开的通道S2。减少杂散电容的电路板布局技术也会有助于通道间的串扰问题。5. 关断隔离 Off isolation(1). 定义关断隔离定义为当在关闭通道的源极引脚上施加已知信号时在多路复用器输出引脚上引入的电压。2b421715d2946f47516fcae2764f1179.png图 24 关断隔离示意图6a02a3c19522d90abe72a6b632beef49.png(2). 特点ae5ccc3d2b51ed790633e19600c4f62d.png图 25 简化的MUX内部的开关模型及关断隔离随信号频率的变化像串扰一样,关断隔离也是一种与频率相关的现象,由于模拟开关或多路复用器的OFF状态寄生电容CSD而发生。而开关在截止状态的寄生电容又取决于多个因素,例如器件封装、引出线、制造工艺以及电路板布局技术。较低的负载电阻将产生更好的OFF隔离,但由于导通电阻的存在,如果负载电阻过低,会引入失真。较大的负载电容和漏极电容也将有助于更好的OFF隔离,但会限制多路复用器的带宽。关断隔离和串扰规范都会分为相邻和不相邻通道两类。

    cc70d2e41ca1e709ec5b104dbbc6f329.png

    展开全文
  • stm32每个io引脚东路有一个16路复用器,该复用器一端连该引脚,另外16端连AF0~AF15 该复用器可以通过GPIOx_AFRL(针对该组引脚 0-7号引脚)和 GPIOx_AFRH(针对引脚 8-15)寄存器来配置,即选择哪个AF连接该io引脚...

    基本概念

    1. stm32有一些内置外设,每个外设有一个复用功能AF(Alternate functions).
    2. stm32的每个io引脚东路有一个16路复用器,该复用器一端连该引脚,另外16端连AF0~AF15
    3. 该复用器可以通过GPIOx_AFRL(针对该组引脚的 0-7号引脚)和 GPIOx_AFRH(针对引脚 8-15)寄存器来配置,即选择哪个AF连接该io引脚
      1341972-20181124120807943-352509676.png

    如何知道每个io口复用了哪些AF

    并不是每一个io口都能任意选择所有AF, 由示意图也可以知道,AF1可能是两个TIM1或TIM2,AF3可能是TIM8~TIM11,显然每个io口每次只能复用一个外设
    那如何知道每个io口复用了哪些AF呢?
    方法一:.在芯片资料中的《STM32F407ZGT6.pdf》(datasheet)中,找到table 6. pin and ball definitions ,里面由一栏就是AF
    1341972-20181124121013534-2073481301.png

    方法二:在原理图《Explorer STM32F4_V2.2_SCH.pdf》中,第二页MCU中可以看到,每个引脚里面写的就是其复用的AF:
    1341972-20181124121718831-1296559345.png

    软件控制复用器选择哪个AF

    一组IO口的高、低八位分别由GPIOx_AFRHGPIOx_AFRL寄存器控制。
    下图对应GPIOx_AFRL (低8位)
    可以看到每个io引脚占用4位,这4位选择一个AF来复用
    1341972-20181124122027758-1511505670.png

    端口复用为复用功能的配置过程:

    1.GPIO&复用外设的时钟使能

        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //使能GPIOA时钟
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能USART1时钟

    2.通过GPIO_PinAFConfig()函数,配置GPIOx_AFRHGPIOx_AFRL寄存器,控制锁存器,将io口和外设相连
    ···
    //串口1对应引脚复用映射
    GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); //GPIOA9复用为USART1
    GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); //GPIOA10复用为USART1
    ···
    3.GPIO_Init()
    除了复用ADC和DAC这两个外设时的mode选模拟输入外,其余外设的mode全部选AF

    4.对应外设初始化

    转载于:https://www.cnblogs.com/YuQiao0303/p/10011599.html

    展开全文
  • IO/NIO多路复用器

    2020-08-31 19:58:16
    kernel(内核):基于硬件第一层软件扩充,是操作系统核心,提供操作系统最基础的功能,是操作系统基础。它为众多应用软件提供计算机硬件安全访问一部分软件, 这种访问资源是有限,并且内核决定一个...

    基本概念:
    kernel(内核):基于硬件的第一层软件扩充,是操作系统的核心,提供操作系统最基础的功能,是操作系统的基础。它为众多应用软件提供计算机硬件的安全访问的一部分软件,
    这种访问资源是有限的,并且内核决定一个程序对某部分硬件资源分配和占用多久进行管理。直接对硬件操作是非常复杂的,所以内核通过提供硬件抽象的方法来完成操作,硬件的抽象隐藏了复杂性,
    对软件提供和硬件交互的一个简洁的接口,是程序设计更为简单。它主要对系统进程管理、内存管理、设备管理、网络管理及文件系统管理。
    在这里插入图片描述

    file descriptor(文件描述符):内核利用文件描述符来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。
    systemcall(系统调用):把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序。
    recvfrom:本函数用于从(已连接)套接口上接收数据,并捕获数据发送源的地址。
    阻塞IO:
    在这里插入图片描述
    io: recvfrom进行系统调用等待返回数据(阻塞),内核等待获取数据----------数据完整到来,将数据从内核拷贝到用户进程空间--------返回结果(阻塞解除)。
    缺点:用户进程在等待数据返回时可能因为数据量较大导致用户进程长时间阻塞。通常当有连接过来,我们可以新开启一个线程来等待读取数据,但当连接数量较多的时候,线程开销过大
    非阻塞IO
    在这里插入图片描述
    nio: recvfrom进行系统调用立刻返回数据或者返回没有数据,如果没有数据,用户进程继续进行系统调用,不会阻塞。
    缺点:用户进程要循环所有的socket连接,每循环会有o(n)系统调用,可能只有一个连接有数据。

    多路复用器:
    在这里插入图片描述

    select: select进行系统调用(阻塞),监视所有select负责的连接,任意一个有数据则返回, 然后recvfrom进行系统调用获取数据。
    缺点:与IO模型相比多了1次select系统调用,且调用时整个用户进程会被block。
    epoll解决了内核/用户空间内存拷贝问题,epoll通过内核与用户空间同一块内存mmap实现,select复杂度o(n),epoll复杂度o(1);
    select只是告诉你一定数目的流有事件了,至于哪个流有事件,还得你一个一个地去轮询,而epoll会把发生的事件告诉你,通过发生的事件,就自然而然定位到哪个流了
    这几个io模型都是同步io模型

    展开全文
  • CLB可配置逻辑块是指实现各种逻辑功能的电路,是xilinx基本逻辑单元。 在Xilinx FPGA中,每个可配置逻辑块包含2个Slice。 每个Slice 包含查找表、寄存器、进位链和多个多数选择构成。 而Slice...
  • 端口的复用——基于STM32F767IGT6

    千次阅读 2018-04-17 20:01:28
    基本概念: 在STM32中有很多内置外设,这些内置外设操作也是通过140根GPIO引脚,如果一个GPIO引脚复用为内置外设的功能,那么此时就叫做GPIO的功能复用: ...IO引脚通过复用器连接到外设或...
  • 组合:新类由现有对象所组成,包含现有类对象,这种方式仅是复用了现有程序代码中的功能,而非它形式。 继承:按照父类类型来创建新类(子类)。子类无需改变父类形式,只需要扩展功能方法就可以。编译器...
  • 机械特性:指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。 电气特性:指明在接口电缆的各条线出现的电压范围。 功能特性:指明在某条线上出现的某一电平的电压表示何种意义。 过程特性:...
  • 所谓装饰就是在被装饰的函数执行前/后执行一些额外的功能。...装饰器的实现依赖于Python语言的三个特征:1.函数参数;2函数返回值;3函数内嵌套定义函数。 装饰器封装代码的思路:创建一个函数返...
  • 序列化器基本介绍

    2019-05-24 10:29:14
    日常写代码中,一个视图增删改查是必不可少,而DRF框架可以帮助我们复用简化编写,帮助我们大大提高REST API开发速度,其中有个很重要点就是序列化。 序列化分为两类; 序列化功能:将对象转换为字典。...
  • <ul><li>可复用的业务场景代码散落在形形色色前端业务项目中,信息不互通,跨项目搜索很难。</li></ul> 往往需要问些资历比较深开发同事,才能知道某个业务场景在哪个项目中开发过。如果刚来...
  • 简介tmux 是一个终端复用器类自由软件,功能类似 GNU Screen,但使用 BSD 许可发布。用户可以通过 tmux 在一个终端内管理多个分离会话,窗口及面板,对于同时使用多个命令行,或多个任务时非常方便。 — 维基百科...
  • tmux 是一个终端复用器类自由软件,功能类似 GNU Screen,但使用 BSD 许可发布。用户可以通过 tmux 在一个终端内管理多个分离会话,窗口及面板,对于同时使用多个命令行,或多个任务时非常方便。 — 维基百科 ...
  • 前面两篇文章我们主要了解了一下okhttp的同步异步使用、基本工作原理及okhttp的拦截器的功能。 今天我们重点分析一下ConnectIntercept拦截器中的多路复用 @Override public Response intercept(Chain chain) throws...
  • 面向对象的基本特征

    2020-12-01 22:31:49
    面向对象的基本特征 面向对象方法具有三个基本特征:封装、继承、多态。 封装:指的是将对象的实现细节隐藏起来,然后通过一些公用的方法来暴露该对象的功能。 通俗的讲:就像电视遥控一样,你不需要知道里面是...
  • 谐波控制器的基本原理是实时对电流、电压进行采样,将采到的数据经过D5P进行数据分析后,得到现场谐波的状况,从而决策是否对滤波器进行投切。美国TI公司生产的TMS32LF2407型DSP芯片是一款高性能16位定点DSP,该系列...
  • Python 中装饰

    2017-02-27 16:45:00
     使用装饰模式进行代码设计好处在于,我可以对原来的功能不进行修改,只需要重新写一个新函数对原来的功能进行封装,增加代码复用性。 Python中装饰:  Python中实现装饰是十分容易,因为所有...
  • JavaScript 是一种基于对象脚本语言, JavaScript 代码复用的单位是函数,但它函数比结构化程序设计语言函数功能更丰富 。 JavaScript 语言中函数就是“一等公民”,它可以独 立存在;而且 JavaScript ...
  • 所有基础功能需要一行一点敲代码,一个预置基本功能模型,可以快速生成代码开发平台已经成为了“码农”迫切需要。2 必备要素如何考量一款实用快速开发平台?2.1 操作简单实用开发平台作为开发工具需要是...
  • Python入门基础篇 No.50 —— 函数的基本概念_函数的分类_定义和调用 文章目录Python入门基础篇 No.50 —— 函数的基本概念_函数的分类_定义和调用前言一、函数的基本概念二、Python 函数的分类三、函数的定义和...
  • 1,如下图所示,比较器1A输入电压与DAC进行比较,比较结果直接输出到IO口,这是比较器的默认状态。比较器预留了输出滤波及输出取反的选项。 2,引脚复用配置,如下图所示,一个输入,一个输出 3,上代码 //使...
  • 机械特性 指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。 电气特性 指明在接口电缆的各条线上出现的电压的范围。 功能特性 指明某条线上出现的某一电平的电压表示何种意义。 过程特性 指明...
  • Vue 组件的基本使用

    2020-11-03 17:15:43
    1.组件,什么是组件,可以这样理解,一个页面有可能包含很多逻辑,很混乱,当我们将这一大坨东西分为很多个小东西,每一个小东西只完成自己的功能,和其他小东西互不干涉,页面想要使用,只需要引入就行了。...
  • S接线用来完成对传送同步时分复用信号的不同复用线之间的交换功能,T接线用来完成在一条复用线上时隙交换的基本功能。本文分析了二者结构的不同,工作原理上的差异,从而S接线和T接线分别符合不同交换系统的...
  • 装饰器  装饰器是一种设计模式,当函数或类需要增加或修改一些功能,但设计者又不想修改源代码,就可以通过装饰器来实现,装饰器可以增大代码复用程度,有效的提高编程效率,类似于其他语言中"宏... 装饰器的基本实现过程如
  • 03137网络基本原理

    2021-01-06 20:23:50
    简述帧中继交换的基本功能。简述帧中继的概念和特点。简述网络服务器的概念及分类。简述路径选择的含义和必须遵守的基本规则。简述客户机/服务器系统的基本组成简述分组交换的特点简述数据通信的五个基本阶段。简述...
  • 功能python装饰器的返回值也是一个函数,它可以提取大量函数中与本身无关的类似代码,从而实现代码复用,而且还能将函数和类的功能扩充,实现被装饰对象的功能扩展。应用场景插入日志性能测试事务处理权限校验缓存...
  • Redis基本使用

    2020-09-01 13:53:18
    文章目录Redis下载与安装Redis单线程+多路IO复用Redis五大数据类型String特点相关指令Redis基本指令如何改变文本样式插入链接与图片如何插入一段漂亮代码片生成一个适合你列表创建一个表格设定内容居中、...
  • 这一步主要是为了实现一个自定义组件,这个组件就是我们看到那个色块,很明显定义成组件可以则兼UI的复用。  View Code   我们组件根元素是一个id名为 containerItem。Item是一个最基本...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 222
精华内容 88
关键字:

复用器的基本功能