模拟工程师必知:带你全方位学习模数转换器(ADC)

模拟工程师必知:带你全方位学习模数转换器(ADC),第1张

混迹模拟领域,模拟工程师不懂模数转换器(ADC)那怎么行?在电子领域中模拟技术是被公认的最难的技术,众多资深的模拟工程师无一不是从百上千次的实践中不断学习,不断摸索。但是作为初级的模拟工程师呢?如何能够快速的上手并在模拟技术领域快速的成长呢?本文针对模拟工程师的必备知识-模数转换器(ADC)进行了知识整理与讲解。

什么是ADC,ADC是什么意思

adc: Analog-to-Digital Converter的缩写,意思是模/数转换器。实现把模拟信号转变为数字量的设备称为模—数(A/D)转换器,简称ADC

ADC(A/D转换器)

在ADC转换器中,一般经过采样、保持、量化和编码这四个步骤来完成从模拟量到数字量的转换。

(1)采样与保持

模拟工程师必知:带你全方位学习模数转换器(ADC),模拟工程师必知:带你全方位学习模数转换器(ADC),第2张

(2)量化与编码

模拟工程师必知:带你全方位学习模数转换器(ADC),模拟工程师必知:带你全方位学习模数转换器(ADC),第3张

 

数字信号最低有效位的1即1LSB所代表的数量就是这个最小数量单位,称为量化单位,用Δ表示。

将采样输出电压用最小单位的整数倍来表示,这个过程就叫量化。

将量化的结果用代码表示出来的过程就称为编码。编码输出的结果就是A/D转换器的输出。

A/D转换电路方式

模—数转换器根据其工作原理大致分为并行式和并/串式A/D、逐次逼近式、双积分式和计数比较式A/D等几种形式。

逐次逼近式A/D由电压比较器、D/A转换器、逐次逼近寄存器(SAR)和控制逻辑等组成。

模拟工程师必知:带你全方位学习模数转换器(ADC),模拟工程师必知:带你全方位学习模数转换器(ADC),第4张

 

ADC0808/0809

模拟工程师必知:带你全方位学习模数转换器(ADC),模拟工程师必知:带你全方位学习模数转换器(ADC),第5张

 

IN0~IN7:模拟量输入脚;

ADDA、ADDB、ADDC:通道地址输入端。

CLOCK:时钟输入端。

ALE:地址锁存允许端。

START:启动脉冲输入端。

EOC:转换结束信号端。

OE:允许输出端。

D7~D0引脚:转换所得8位数据在这8个管脚上输出,D7是最高位,D0是最低位。

UCC:电源正极输入端,接+5 V。

GND:地端,电源负极接至该端。

UREF(+)和UREF(-):分别为基准电压UREF的高电平端和低电平端。

ADC的主要技术参数

(1)分辨率

A/D的分辨率是使A/D输出数字量最低位变化1所对应的输入模拟电压变化的大小值。分辨率也用输出二进制数的位数来表示,如8位A/D的分辨率就是8,位数越多,误差越小,转换精度也越高。

(2)量化误差

用数字量近似表示模拟量的过程称为量化。A/D转换一般是按四舍五入原则进行的,由此产生的误差称为量化误差,量化误差小于等于1LSB。

(3)精度

精度分为绝对精度和相对精度。

在一个A/D中,任何数码所对应的实际模拟电压与其理想的电压之差并不是一个常数,把差值中的最大值定义为该A/D的绝对精度;而相对精度则定义为这个最大差值与满刻度模拟电压的百分数,或者用二进制分数来表示相对应的数字量。

(4)转换时间

转换时间是完成一次A/D转换所需要的时间,这是指从启动A/D转换器开始到获得相应数据所需要的总时间。

ADC关键性能指标及误区

由于ADC产品相对于网络产品和服务器需求小很多,用户和集成商在选择产品时对关键指标的理解难免有一些误区,加之部分主流厂商刻意引导,招标规范往往有不少非关键指标作被作为必须符合项。接下来就这些误区和真正的关键指标做一些探讨。

误区1: CPU数量和主频。 目前大部分厂商采用了类似的通用CPU架构,但还是可能采用不同厂家的CPU。即使是同一个厂家,也可能是不同系列。最关键的是CPU数量和主频并不代表 性能,除非是同一个厂家的同一个软件。同样,完全相同的硬件配置,不同厂商的架构和系统发挥出来的性能可能相差数倍,正如完全相同的几个人在不同的管理环 境下发挥出来的贡献差别会很大。并行计算处理不好,由于CPU间信开销及锁的问题,CPU数量增加并不意味性能增加。如果1个CPU可以跑出其它产品8个 cpu的性能,谁会选择8个CPU的产品?成本,功耗,体积都会大很多。因此,CPU硬件配置并不代表性能。

误区2: 内存。 同样与系统架构相关。同样与架构有关,对于CPU独享内存的架构,每个核即使只配置2G内存,一个8核的产品就需要16G内存,但每个核可访问的内存资源 只有2G。这样的架构一份数据需要复制多次并保存多份,使用效率很低,最终也会影响到性能。而共享内存架构的产品,每个核可以访问所有内存资源,数据也只 需要保存一份。如果是32位 *** 作系统,共享内存架构4G内存的实际效率就超过独享内存架构的任意配置产品(目前A10之外的产品均为32位 *** 作系统,独享 内存架构)。64位 *** 作系统突破4G的限制,实际效率就会更高。因此,内存不代表性能。如果一定要比较,需要比较每个核可访问的内存资源。

误区3:端口数量。ADC产品不同于2/3层交换机,端口数量代表可连接更多设备。ADC产品部署环境一定会有2/3层交换机,服务器不需要直接连接到ADC产品。只要端口数量大于实际需要的吞吐量并有足够端口与交换机连接即可。

误区4:交换能力。 这个指标也是沿用了交换机的指标。交换机性能与交换矩阵芯片交换能力密切相关,与CPU关系不是很大。而ADC产品则不同,交换矩阵并不是必须部件,大多 产品采用通用CPU架构使用PCIe总线扩展接口,这部分已经不是ADC产品的瓶颈所在。ADC性能基本取决于系统整体架构下CPU发挥出来的效率。而且 大部分产品本身已经是服务器的硬件架构,应该没有人对服务器要求交换能力的指标。

可以看出,误区所在均为沿用了服务器或交换机的一些指标,这些硬件配置并不代表ADC产品的真正性能,但一些厂商还是刻意利用这些指标(尤其是CPU和内存)来误导客户屏蔽竞争对手。ADC真正关键的性能指标如下。

1. 4/7层吞吐量。由于需要CPU进行复杂的4-7层处理,4/7层吞吐量交2/3层吞吐量要低很多,但这是ADC真正能处理的数据吞吐量。这也是2/3层 吞吐量对于ADC产品并不关键的原因。这个指标的测试方式通常是发送尽可能多HTTP GET请求,服务器应答较大HTTP对象(如512Kbytes或1MBytes,会分为若干数据包传输),计算无失败情况下线路上传输的数据量。差异在 于不同仪表厂商或不同测试可能会不计算2/3层包头或GET请求部分,由于这部分所占比例极小,影响不是很大。严格来说,横向比较时应该确定所取HTTP 对象大小及是否计算2/3层包头部分。

2. 4层每秒新建连接速率(L4 CPS)。 衡量ADC产品每秒钟可以处理多少个TCP新建连接。通常测试方法为发送尽可能多的HTTP GET请求,服务器应答较小HTTP对象(如1Bytes,128Bytes,1KBytes), ADC产品在中间只根据4层信息进行复杂均衡。每个连接需要完整的3次握手建立过程,GET请求,和TCP关闭连接过程。这个指标对于ADC产品应付突发 大量连接非常重要。好比一个地铁入口的通过率一样,如果入口太小,客流突然增加时,如果客人无法进入,业务自然会受到影响。比较该指标时需要注意所取 HTTP对象大小。

3. 7层每秒新建连接速率(L7 CPS)。与4层新建连接速率类似,只是ADC产品在中间需要根据应用层信息进行服务器选择(通常测试使用url交换),而且每个TCP连接上只能传输1 个HTTP请求。使用7层处理对CPU效率要求更高。如同进入地铁时需要核查客人更多信息和安检一样,其通过率比正常通过率会有不同程度降低。A10产品 通常可以做到4层新建连接速率的70-80%,而其它很多厂商只能做到30-40%。比较该指标时同样要注意HTTP对象大小和每个TCP连接传输的请求 数。

4. 7层每秒交易速率(L7 RPS)。有些厂商使用L7 RPS作为L7 CPS来混淆误导客户,RPS测试会定义每个TCP连接可以传输多少个HTTP请求,通常会有10个请求/TCP连接,无限制请求连接/TCP连接几种测 试数据。使用1个请求的L7 RPS值就是L7 CPS。差别在于每个连接传送多个请求时的L7 RPS测试中,ADC可以省去大量TCP连接建立和关闭过程。比较该指标时同样要注意HTTP对象大小和每个TCP连接传输的请求数。

5. 并发会话数量。 如果新建连接速率代表了一个地铁入口通过率,并发会话则代表了该地铁线路上在车上的所有人数。如果内部承运能力不够高,就会造成乘客挤压过载最后瘫痪。并 发会话测试并不是简单的在内存中保存这些条目,实际测试中,必须在每个连接上定时传送数据验证设备可以准确查找已有会话并转发数据。测试中还可能会细分4 层并发会话数量和7层并发会话数量,区别在于ADC基于不同信息建立会话和每个连接占用的会话条目不同。由于并发会话与内存关系很大,32位系统的ADC 由于4G内存限制都不可能做得很大,而64位系统的ADC就不会受到这个限制。

6. 防DDoS攻击能力(syn/sec)。ADC产品的并发会话能力和新建连接速率远远大于防火墙类产品,因此在ADC外部署防火墙会成为瓶颈。这就要求 ADC本身有足够强大的防攻击能力。目前大部分ADC产品均采用了Syn-cookie方式来防御DDoS攻击,实际性能取决于各自的系统架构和处理算 法。

值得一提的是,F5的7层新建速率与4层新建速率相比下降非常大,因此会有使用与其他厂商不同的一些数据来作为L7 CPS应答的情况。F5 提供3个L7 CPS/RPS指标.

L7 ConnecTIon per Sec(1-1), 客户侧连接1 request/connecTIon,服务器侧连接1 request/connecTIon。 通用L7 CPS定义。

L7 Requests per Sec (1-inf),客户侧连接1 request/connecTIon,服务器侧连接unlimited request/connection。 用户通常看到的L7 CPS数据。

L7 Requests per Sec (inf-inf),客户侧连接unlimited request/connection,服务器侧连接unlimited request/connection。

F5公开的测试报告明确描述其所有7层测试均启用连接复用功能,因此测试报告中看到的都是“L7 Requests per Sec (1-inf)”。比较L7 CPS时时应该注意使用其CPS(1-1)指标。

其他SSL指标、DNS QPS指标、HTTP压缩指标对于使用该类应用的用户很重要,但不属于通用关键指标,就暂不逐一解释了。
多种ADC的分析比较

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2603551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-09
下一篇 2022-08-09

发表评论

登录后才能评论

评论列表(0条)

保存