混跡模擬領域,模擬工程師不懂模數轉換器(ADC)那怎么行?在電子領域中模擬技術是被公認的最難的技術,眾多資深的模擬工程師無一不是從百上千次的實踐中不斷學習,不斷摸索。但是作為初級的模擬工程師呢?如何能夠快速的上手并在模擬技術領域快速的成長呢?本文針對模擬工程師的必備知識-模數轉換器(ADC)進行了知識整理與講解。
什么是ADC,ADC是什么意思
adc: Analog-to-Digital Converter的縮寫,意思是模/數轉換器。實現把模擬信號轉變為數字量的設備稱為模—數(A/D)轉換器,簡稱ADC
ADC(A/D轉換器)
在ADC轉換器中,一般經過采樣、保持、量化和編碼這四個步驟來完成從模擬量到數字量的轉換。
(1)采樣與保持
(2)量化與編碼
?
數字信號最低有效位的1即1LSB所代表的數量就是這個最小數量單位,稱為量化單位,用Δ表示。
將采樣輸出電壓用最小單位的整數倍來表示,這個過程就叫量化。
將量化的結果用代碼表示出來的過程就稱為編碼。編碼輸出的結果就是A/D轉換器的輸出。
A/D轉換電路方式
模—數轉換器根據其工作原理大致分為并行式和并/串式A/D、逐次逼近式、雙積分式和計數比較式A/D等幾種形式。
逐次逼近式A/D由電壓比較器、D/A轉換器、逐次逼近寄存器(SAR)和控制邏輯等組成。
?
ADC0808/0809
?
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的分析比較
評論
查看更多