密切注意數(shù)字活動(dòng),才能確保SAR?ADC轉(zhuǎn)換有效!
主機(jī)處理器可以通過(guò)多種串行和并行接口(如SPI、I2C 和LVDS)訪(fǎng)問(wèn)或控制ADC。本文將討論打造可靠、完整數(shù)字接口的設(shè)計(jì)技術(shù),包括數(shù)字電源電平和序列、啟動(dòng)期間的I/O 狀態(tài)、接口時(shí)序、信號(hào)質(zhì)量以及數(shù)字活動(dòng)導(dǎo)致的誤差。
數(shù)字I/O 電源電平和序列
多數(shù)SAR ADC 都提供獨(dú)立的數(shù)字I/O 電源輸入(VIO 或 VDRIVEVDRIVE),后者決定接口的工作電壓和邏輯兼容性。此引腳應(yīng)與主機(jī)接口(MCU、DSP 或FPGA)電源具有相同的電壓。數(shù)字輸入一般應(yīng)在DGND ? 0.3 V與 VIO 0.3 V 之間,以避免違反絕對(duì)最大額定值。須在 VIO引腳與DGND 之間連接走線(xiàn)短的去耦電容。
采用多個(gè)電源的ADC 可能擁有明確的上電序列。應(yīng)用筆記AN-932 電源時(shí)序控制為這些ADC 電源的設(shè)計(jì)提供了良好的參考。為了避免正向偏置ESD 二極管,避免數(shù)字內(nèi)核加電時(shí)處于未知狀態(tài),要在接口電路前打開(kāi)I/O 電源。模擬電源通常在I/O電源之前加電,但并非所有ADC 均是如此。請(qǐng)參閱并遵循數(shù)據(jù)手冊(cè)中的內(nèi)容,確保序列正確。
啟動(dòng)期間的數(shù)字I/O 狀態(tài)
為了確保初始化正確無(wú)誤,有些SAR ADC 要求處于某些邏輯狀態(tài)或序列,以實(shí)現(xiàn)復(fù)位、待機(jī)或關(guān)斷等數(shù)字功能。在所有電源都穩(wěn)定之后,應(yīng)施加指定脈沖或組合,以確保ADC 啟動(dòng)時(shí)的狀態(tài)符合預(yù)期。例如,一個(gè)高脈沖在RESET 上持續(xù)至少50 ns,這是配置AD7606 以使其在上電后能正常運(yùn)行所必須具備的條件。
在所有電源均完全建立之前,不得切換數(shù)字引腳。對(duì)于SARADC,轉(zhuǎn)換開(kāi)始引腳CNVST 可能對(duì)噪聲敏感。在圖1 所示示例中,當(dāng)AVCC、DVCC 和VDRIVE 仍在上升時(shí),主機(jī)cPLD 拉高CNVST。這可能使 AD7367 進(jìn)入未知狀態(tài),因此,在電源完全建立之前,主機(jī)應(yīng)使 CNVST 保持低電平。
圖1. 在電源上升時(shí)拉高 CNVST 可能導(dǎo)致未知狀態(tài)。
數(shù)字接口時(shí)序
轉(zhuǎn)換完成之后,主機(jī)可以通過(guò)串行或并行接口讀取數(shù)據(jù)。為了正確讀取數(shù)據(jù),須遵循特定的時(shí)序策略,比如,SPI 總線(xiàn)需要采用哪種模式等。不得違反數(shù)字接口時(shí)序規(guī)范,尤其是ADC 和主機(jī)的建立和保持時(shí)間。最大比特率取決于整個(gè)循環(huán),而不僅僅是最小額定時(shí)鐘周期。圖2 和下列等式展示了如何計(jì)算建立和保持時(shí)間裕量。主機(jī)把時(shí)鐘發(fā)送至ADC 并讀取ADC 輸出的數(shù)據(jù)。
圖2. 建立和保持時(shí)序裕量。
tCYCLE = tJITTER tSETUP tPROP_DATA tPROP_CLK tDRV tMARGINtCYCLE : 時(shí)鐘周期 = 1/fCLOCKtJITTER: 時(shí)鐘抖動(dòng)tSETUP: 主機(jī)建立時(shí)間tHOLD: 主機(jī)保持時(shí)間tPROP_DATA: 從ADC 到主機(jī)的傳輸線(xiàn)路的數(shù)據(jù)傳播延遲tPROP_CLK: 從主機(jī)到ADC 的傳輸線(xiàn)路的數(shù)據(jù)傳播延遲tDRV: 時(shí)鐘上升/下降沿后的數(shù)據(jù)輸出有效時(shí)間tMARGIN: 裕量時(shí)間大于等于0 表示達(dá)到建立時(shí)間或保持時(shí)間要求,小于0 表示未達(dá)到建立時(shí)間或保持時(shí)間要求。
主機(jī)建立時(shí)間裕量
tMARGIN_SETUP = tCYCLE, min – tJITTER – tSETUP – tPROP_DATA – tPROP_CLK – tDRV, MAX
建立時(shí)間等式以最大系統(tǒng)延遲項(xiàng)定義最小時(shí)鐘周期時(shí)間或最大頻率。要達(dá)到時(shí)序規(guī)格,必須大于等于0。提高周期(降低時(shí)鐘頻率)以解決系統(tǒng)延遲過(guò)大問(wèn)題。對(duì)于緩沖器、電平轉(zhuǎn)換器、隔離器或總線(xiàn)上的其他額外元件,把額外延遲加入tPROP_CLK 和 tPROP_DATA.
類(lèi)似地,主機(jī)的保持時(shí)間裕量為
tMARGIN_HOLD = tPROP_DATA tPROP_CLK tDRV – tJITTER – tHOLD
保持時(shí)間等式規(guī)定了最小系統(tǒng)延遲要求,以避免因違反保持時(shí)間要求而出現(xiàn)邏輯錯(cuò)誤。要達(dá)到時(shí)序規(guī)格,必須大于等于0。
ADI 公司帶SPI 接口的許多SAR ADC 都是從 CS 或 CNV的下降沿為MSB 提供時(shí)鐘信號(hào),剩余的數(shù)據(jù)位則跟隨SCLK 的下降沿,如圖3 所示。在讀取MSB 數(shù)據(jù)時(shí),要使用等式中的tEN而非tDRV .
圖3. AD7980 3 線(xiàn) CS 模式下的SPI 時(shí)序。
因此,除了最大時(shí)鐘速率以外,數(shù)字接口的最大工作速率也取決于建立時(shí)間、保持時(shí)間、數(shù)據(jù)輸出有效時(shí)間、傳播延遲和時(shí)鐘抖動(dòng)。
在圖4 中,DSP 主機(jī)訪(fǎng)問(wèn)AD7980處于3 線(xiàn)CS模式下,其中,VIO = 3.3 V。DSP 鎖存SCLK 下降沿上的SDO 信號(hào)。DSP的額定最小建立時(shí)間為5 ns,最小保持時(shí)間為2 ns。對(duì)于典型的FR-4PCB 板,傳播延遲約為180 ps/in。緩沖器的傳播延遲為5 ns。CNV、SCLK 和SDO 的總傳播延遲為
tprop = 180 ps/in × (9 in 3 in) 5 ns = 7 ns.tJITTER = 1 ns. 主機(jī)SCLK 的工作頻率為30 MHz,因此,tCYCLE = 33 ns.tSETUP_MARGIN = 33 ns ? 1 ns – 5 ns – 7 ns – 11 ns – 7 ns = 2 nstHOLD_MARGIN =11 ns 7 ns 7 ns – 1 ns – 2 ns = 22 ns
建立時(shí)間和保持時(shí)間裕量均為正,因此,SPI SCLK 可以在30 MHz下工作。
圖4. DSP 和AD7980 之間的數(shù)字接口。
數(shù)字信號(hào)質(zhì)量
數(shù)字信號(hào)完整性(包括時(shí)序和信號(hào)質(zhì)量)確保:在額定電壓下接收信號(hào);不相互干擾;不損壞其他器件;不污染電磁頻譜。信號(hào)質(zhì)量由多個(gè)項(xiàng)定義,如圖5 所示。本部分將介紹過(guò)沖、振鈴、反射和串?dāng)_。
圖5. 常用信號(hào)質(zhì)量規(guī)格。
反射是阻抗不匹配導(dǎo)致的結(jié)果。當(dāng)信號(hào)沿著走線(xiàn)傳播時(shí),每個(gè)接口處的瞬時(shí)阻抗都不相同。部分信號(hào)會(huì)反射回去,部分信號(hào)會(huì)繼續(xù)沿著線(xiàn)路傳播。反射可能在接收器端產(chǎn)生過(guò)沖、欠沖、振鈴和非單調(diào)性時(shí)鐘邊沿。
過(guò)沖和欠沖可能損壞輸入保護(hù)電路,或者縮短IC 的使用壽命。圖6 所示為AD7606的絕對(duì)最大額定值。數(shù)字輸入電壓應(yīng)在–0.3 V 和VDRIVE 0.3 V 之間。另外,如果振鈴高于最大 VIL或小于最小VIH可能導(dǎo)致邏輯誤差。
圖6. AD7606 的絕對(duì)最大額定值。
為了減少反射:
- 盡量縮短走線(xiàn)的長(zhǎng)度
- 控制走線(xiàn)的特性阻抗
- 消除分支
- 使用適當(dāng)?shù)亩私臃桨?/span>
- 用環(huán)路面積小的固體金屬作為返回電流參考平面
- 使用較低的驅(qū)動(dòng)電流和壓擺率
針對(duì)走線(xiàn)特性阻抗的計(jì)算,目前有許多軟件工具或網(wǎng)站,比如Polar Instruments Si9000 PCB 傳輸線(xiàn)路場(chǎng)求解器。借助這些工具,特性阻抗計(jì)算起來(lái)非常簡(jiǎn)單,只需選擇傳輸線(xiàn)路型號(hào)并設(shè)置相應(yīng)的參數(shù)即可,比如電介質(zhì)類(lèi)型和厚度以及走線(xiàn)寬度、厚度和隔離。
作為一種新興標(biāo)準(zhǔn),IBIS 用于描述IC 數(shù)字I/O 的模擬行為。ADI提供針對(duì)SAR ADC 的IBIS 模型。預(yù)布局仿真可檢測(cè)時(shí)鐘分布、芯片封裝類(lèi)型、電路板堆疊、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和端接策略。也可檢測(cè)串行接口時(shí)序限制以便為定位和布局提供指導(dǎo)。后仿真可驗(yàn)證設(shè)計(jì)是否符合所有指導(dǎo)方針和限制的要求,同時(shí)檢測(cè)是否存在反射、振鈴、串?dāng)_等違反要求的情況。
在圖7 中,一個(gè)驅(qū)動(dòng)器通過(guò)一條12 英寸的微帶線(xiàn)路連接SCLK1,另一個(gè)驅(qū)動(dòng)器通過(guò)一個(gè)與微帶串聯(lián)的43 Ω 電阻連接SCLK2。
圖7. 驅(qū)動(dòng)AD7606 SCLK。
在圖8 中,SCLK1 上的大過(guò)沖違反了–0.3 V 至 3.6 V 的絕對(duì)最大額定值。串聯(lián)電阻可減小SCLK2 上的壓擺率,使信號(hào)處于額定值之內(nèi)。
圖8. AD7606 IBIS 過(guò)沖模型仿真。
串?dāng)_是能量通過(guò)互電容(電場(chǎng))或互感(磁場(chǎng))在并行傳輸線(xiàn)路間耦合的情況。串?dāng)_量取決于信號(hào)的上升時(shí)間、并行線(xiàn)路的長(zhǎng)度以及它們之間的間距。
控制串?dāng)_的一些常用方法為:
- 增加線(xiàn)路間距
- 減小并行布線(xiàn)
- 使走線(xiàn)靠近參考金屬平面
- 使用適當(dāng)?shù)亩私臃桨?/span>
- 減小信號(hào)壓擺率
數(shù)字活動(dòng)可能導(dǎo)致SAR ADC 性能下降,使SNR 因數(shù)字地或電源噪聲、采樣時(shí)鐘抖動(dòng)和數(shù)字信號(hào)干擾而減小。
孔徑或采樣時(shí)鐘抖動(dòng)設(shè)定SNR 限值,尤其是對(duì)高頻輸入信號(hào)。系統(tǒng)抖動(dòng)有兩個(gè)來(lái)源:來(lái)自片內(nèi)采樣保持電路的孔徑抖動(dòng)(內(nèi)部抖動(dòng)),以及采樣時(shí)鐘上的抖動(dòng)(外部抖動(dòng))??讖蕉秳?dòng)為轉(zhuǎn)換間的采樣時(shí)間變化,為ADC 的函數(shù)。采樣時(shí)鐘抖動(dòng)通常為主要誤差源,但兩個(gè)源都會(huì)導(dǎo)致模擬輸入采樣時(shí)間變化,如圖9所示。它們的影響難以區(qū)分。
總抖動(dòng)會(huì)產(chǎn)生誤差電壓,ADC 總SNR 的限制因素為
其中,f 為模擬輸入頻率,tJ為總時(shí)鐘抖動(dòng)。
例如,當(dāng)模擬輸入為10 kHz,總抖動(dòng)為1 ns 時(shí),SNR 限值為84 dB。
圖9. 采樣時(shí)鐘抖動(dòng)導(dǎo)致的誤差電壓。
數(shù)字輸出開(kāi)關(guān)導(dǎo)致的電源噪聲應(yīng)與敏感的模擬電源相隔離。分別去耦模擬和數(shù)字電源,密切注意地回流路徑。
高精度SAR ADC 可能對(duì)數(shù)字接口上的活動(dòng)很敏感,即使電源適當(dāng)去耦和隔離時(shí)。突發(fā)時(shí)鐘往往優(yōu)于連續(xù)時(shí)鐘。數(shù)據(jù)手冊(cè)通常會(huì)列出接口不應(yīng)活動(dòng)的安靜時(shí)間。在較高吞吐速率條件下,可能難以減少這些時(shí)間內(nèi)的數(shù)字活動(dòng),通常為采樣時(shí)刻及出現(xiàn)關(guān)鍵位判斷點(diǎn)時(shí)。
結(jié)論
密切注意數(shù)字活動(dòng),確保SAR ADC 轉(zhuǎn)換有效。數(shù)字活動(dòng)導(dǎo)致的誤差可能使SAR ADC 進(jìn)入未知狀態(tài),導(dǎo)致故障,或者降低性能。希望本文能幫助設(shè)計(jì)師排查根本原因,同時(shí)還能提供解決方案。
電池分容化成,這些要點(diǎn)你知道嗎?