本應用筆記介紹了基于PC的14位數據采集系統的設計。它采用系統方法,包括所有必要的構建模塊:模擬、數字、硬件和軟件。它討論了每個步驟,在集成系統之前分別測試系統,并詳細介紹了在此過程中學到的陷阱。
關于典型數據采集系統中的構建模塊的文章很多,但很少有文章涉及從模擬輸入到PC顯示的整個系統。為了解決設計完整數據采集系統時遇到的所有問題,工程師可能需要收集十篇文章。
以下應用筆記描述了基于PC的14位數據采集系統的設計。它采用系統方法,包括所有必要的構建模塊:模擬、數字、硬件和軟件。它討論了每個步驟,在集成系統之前分別測試系統,并詳細介紹了在此過程中學到的陷阱。
設計規范
任務:設計基于帶片內RAM(MAX14)的125位同步采樣ADC的功率計。
對于任何嘗試使用傳統儀器測量DC-DC轉換器的輸入和輸出特性的人來說,對功率計的需求都是顯而易見的。該設計允許用戶在被測器件上執行負載測量,而無需連接無窮無盡的意大利面條式測試引線。圖 1 顯示了個人計算機 (PC) 監視器上完整的功率計顯示。
圖1.帶有示例讀數的視窗電腦輸出。
為了滿足升壓、降壓和線性實現的需求,輸入和輸出的測量范圍均選擇為30V。大多數高質量的 DC-DC 轉換器的工作頻率為 100kHz 或更高。因此,系統的頻率響應應高于100kHz,但較慢的響應也是可以接受的,因為開關波形具有合理的重復性。
系統的14位分辨率在設計階段并不是最重要的,因為0.1%(10位)以內的測量對于大多數功率計應用來說已經完全足夠了。數字化后,結果通過RS-232接口上傳并顯示在PC屏幕上,更新速率為每秒一次(與大多數萬用表一樣)。一旦數據到達RS-232端口,PC的力量就可以釋放出來。完整的電路圖(圖2)將在以下章節中討論:
圖2.電路圖。
模擬前端
精密電阻分壓器可實現高達 30V 的精確電壓測量。Vishay 薄膜的 ORNA10-1 是一個經過調整的電阻網絡,包括兩個 1kΩ 值和兩個 10kΩ 值。這四個電阻的比例精度為0.05%,因此提供施加電壓的精度分數(1/11)。MAX125的故障保護輸入具有±5V范圍,在故障條件下具有一定程度的安全性,并為輸入和輸出電壓測量提供了充足的裕量。
輸入和輸出電流使用精密電流放大器MAX471測量。該器件測量內部 30mΩ 電阻兩端的電壓,并提供幅度等于每安培高端電流 500uA 的輸出電流。因此,外部電阻的值縮放輸出電壓,在這種情況下,通過選擇4.7kΩ的值來實現合適的分辨率。
MAX125的寬輸入能力和故障保護電路使其輸入阻抗低于同等競爭器件,因此在進入ADC之前對四個讀數進行緩沖。單位增益緩沖級取自MAX4254四通道精密運算放大器,其輸入失調電壓(70uV)低于系統分辨率。
MAX125輸入經過緩沖主要是為了克服其低輸入阻抗,但即使轉換器具有高輸入阻抗,從低阻抗驅動ADC始終是一種良好做法。由于采樣/保持電路通常放置在ADC輸入端,緩沖器提供必要的驅動,以便在可接受的時間內為采樣/保持電容充電。要了解源阻抗必須有多低,請考慮對RC時間常數進行簡單計算。輸入電容的充電根據
VCAP = VIN (1?e?t/CR),
其中C為采樣電容,R為源極電阻,V為源極電阻在是施加到RC電路的電壓。V之間的電壓差在和 V帽是:
VIN ?VCAP = VIN e?t/CR
因此,給定采樣和保持電容器的值(通常為10-30pF)、電容器的充電時間和可容忍的誤差電壓(1/2 LSB),可以計算出在給定時間內為電容器充電的最大允許信號源電阻。
輸入緩沖器還可以用作濾波器,用于刪除不需要的信號。由于ADC是一個采樣系統,其輸出具有以采樣頻率一半為中心的頻譜對稱性。因此,大于采樣頻率一半的信號與小于采樣頻率一半的信號無法區分。例如,對于10kHz采樣頻率,ADC無法區分4kHz和6kHz輸入,因為兩者都是對稱的,大約是采樣頻率(5kHz)的一半。雖然對于本文的范圍來說過于詳細,但這種效應(混疊)和描述它的定理(奈奎斯特定理)在許多論文和書籍中都有描述。
“抗混疊濾波器”可消除這些不需要的頻率。如果您考慮任何非純正弦信號的頻譜,混疊的影響可能會非常微妙。根據定義,非正弦波具有諧波,這些較高的諧波向下轉換以在較低頻率處引起誤差。同樣,除非輸入信號頻率范圍明確,否則組合緩沖器和抗混疊濾波器始終是良好的設計實踐。
需要最少的濾波,因為有問題的系統只接受點讀數。對于更高的采樣頻率,使用元件C1、C2、C3和C4的簡單低通濾波器可在ADC輸入之前提供信號滾降。這些元件還用于平均ADC獲取的讀數,并有效消除輸入和輸出功率測量中的紋波。
數字化
MAX125為獨立的、同步采樣、逐次逼近的數據采集系統,具有片內RAM。它使用2x4采樣/保持放大器對兩組四個信號進行采樣,然后由單個ADC模塊按順序數字化。結果存儲在RAM中,并在處理器控制下的并行數據總線上按順序讀出。
MAX125還包括一個電壓基準,其無雜散動態范圍(SFDR)適用于許多高分辨率DSP應用。(內部基準可由外部系統基準覆蓋。MAX125還具有良好的INL(實際值與理論ADC輸出的最大偏差)、良好的DNL(實際值與理論ADC階躍幅度的偏差)和13位的單調性(輸出代碼隨著模擬輸入的增加而增加或保持不變)。為了高效利用微處理器,MAX125提供推挽中斷輸出,指示轉換何時完成。
內部緩沖器允許使用內部或外部基準。至于模擬輸入,基準輸入應由低阻抗源驅動。這尤其適用于采用逐次逼近寄存器(SAR)的ADC,因為基準電壓直接饋入DAC的R-2R梯形圖。隨著DAC輸入代碼的變化,基準輸入的輸入阻抗也會發生變化,從而調制基準電壓。幸運的是,MAX125的內部緩沖器消除了這個問題。
對于此設計,內部基準被外部, 精密、低壓差、低漂移的2.5V電壓基準(MAX873A)。雖然MAX873A的使用(相對于內部基準)沒有明顯的結果變化,但具有更好的初始精度和漂移。
了解任何數字化系統所需的漂移規格(以ppm/°C為單位)非常簡單。首先,定義系統的工作溫度范圍。對于此應用,假設正常的實驗室溫度范圍為 30°C。 接下來,確定在溫度范圍內可以容忍的最大漂移(以伏特為單位)(通常為 1/2 至 1 LSB),從而確定以 V/°C 為單位的漂移。 要將此漂移值歸一化為 ppm/°C,請除以基準電壓并乘以 106.對于 2 位系統,結果通常約為 14ppm/°C,對于 10 位系統,結果通常約為 12ppm/°C,對于 30 位系統,結果通常約為 10ppm/°C。這些數字根據允許的溫度跨度和總基準漂移而變化。
MAX125由Atmel AVR處理器(AT90S4414)驅動,兩款處理器的時鐘頻率(10MHz)來自振蕩器模塊。該程序是用匯編語言編寫的,只需一條指令即可切換每條數據線,以反映MAX125數據資料中的時序圖。為了便于理解,該程序被劃分為多個子例程,并且出于相同的目的對大多數行進行了注釋。
啟動或上電復位時,MAX125采用雙向數據引腳D3-D0進行配置。將這些引腳設置為0011,并將WR設置為低電平,設置ADC的工作模式,以接收來自MUX A所有四個通道的輸入。一旦建立,微處理器端口將重新配置為輸入,以從ADC接收數據。
當CONVST脈沖為低電平時,處理器等待來自MAX125的中斷信號。然后讀出通道1的轉換,并將結果(通過MAX3100 UART和MAX202E)發送到PC的RS-232端口。每個轉換包括16位數據,因此每個結果需要兩個RS-232寫入周期。由于ADC存儲來自通道2-4的轉換,因此傳輸RS-232數據所需的時間可以相當悠閑。發送來自通道 1 的數據后,將對通道 2-4 重復此過程。
在微處理器總線(只有16條數據線的14位寬總線)的未使用數據引腳上注意到噪聲拾取。如果將這些未使用的引腳配置為輸入,則噪聲會忠實地偽裝成間歇性數據。然而,幸運的是,一個簡單的軟件和功能可以濾除感應噪聲,他們說數字濾波很難!或者,您可以將未使用的端口配置為輸出。
上述代碼運行良好,但建立正確的電路性能可能很困難。來自μC的中斷脈沖來得快去得如此之快(在1μs內),以至于只有存儲示波器才能檢測到它。如果沒有合適的示波器,您可以在 CONVST 線路設置為高電平后立即插入延遲例程,以便更悠閑地查看中斷信號。
電腦接口
微處理器與PC連接的關鍵元件是串行尋址UART(MAX3100)。它通過其4線SPI從微處理器獲取輸入?/Microwire bus3,并將此數據轉換為大多數 RS-232 兼容設備使用的格式。采用工業標準的微功耗2TX/2RX收發器(MAX202E)實現電平轉換。
該UART具有硬件和軟件關斷模式,采用微型QSOP封裝,非常適合低功耗便攜式設備。對于危險環境,其接口還允許通過連接合適的光學設備進行 IrDA 通信。其他特性(本應用中不需要)包括接收緩沖器和中斷標志,用于提供有關發送和接收寄存器的狀態信息。
實現基于軟件的SPI例程,用于將代碼導出到缺少內置SPI總線的微處理器。代碼表明這是一項微不足道的任務,注釋會引導外行完成SPI總線的時鐘周期。如果使用專用SPI端口,值得注意的是,當CS置位時,MAX3100的串行時鐘線(SCLK)必須以低電平狀態啟動。如果此要求出現問題,則應在進入 SPI 例程之前循環 SCLK 線路。
請注意RS-232數據傳輸所需的時間。在 9600 波特時,將 232 位數據連同開始位和停止位一起傳輸需要一毫秒以上。事后看來,這是顯而易見的,但它可以給設計人員帶來數小時不應有的享受,不僅想知道為什么數據沒有正確到達PC,而且還說明了微處理器和RS-10鏈路的運行速度差異。在代碼中插入的簡單 232ms 延遲允許在 PC 端進行數據傳輸和處理。另請注意,RS-3100規范沒有詳細說明信號協議(開始和停止位等);僅提供電壓電平、壓擺率和連接器詳細信息。然而,MAX202和MAX232E處理所有標準,使數據符合RS-<>,并且符合PC預期的協議。
窗口界面?
Windows程序是用Visual Basic Version 6編寫的。它使用 MSComm 函數從 RS-232 端口獲取讀數,配置為接受文本,并將此數據轉換為 ASCII。它還將每個16位數據模塊轉換回從ADC輸入之前的模擬檢測電路獲得的電壓和電流測量值。根據這些結果,計算輸入功率、輸出功率和效率,并將其顯示在PC屏幕上,四舍五入到小數點后三位。此外,如果需要記錄結果,系統可以“凍結”結果。
測得的效率數據遠非一致。這是通過注意到電流和電壓波形上的紋波來解釋的。4.7kΩ電阻用10nF電容旁路以降低電流紋波讀數,但電阻分壓器網絡未旁路。因此,測得的紋波(輸入端20mV,輸出端100mV)導致效率測量變化±3%。
當結果被讀入PC時,丟失的數據會在PC屏幕上產生不正確的讀數。因此,測量了到達數據包之間的時間間隔。如果任何間隔超過 0.5 秒,PC 計數器將重置,以預期后續數據包中的第一個字符。
結果
被測器件(DUT)是MAX1705,這是配置為PWM模式的升壓DC-DC轉換器。對評估板施加負載,通過凍結MAX125 PC程序并從屏幕上讀取數值來獲取結果。然后使用(現已過時的)數字萬用表確認結果,并與數據表中的圖表給出的預期效率進行比較:
負載/Ω | 文/五 | Iin/A | Vout/V | Iout/A | 效率/% | (有效/%) |
16.4 | 3.384 | 0.377 | 4.485 | 0.262 | 92.09 | 95 |
50 | 3.451 | 0.123 | 4.478 | 0.086 | 90.8 | 92 |
100 | 3.498 | 0.064 | 4.471 | 0.042 | 83.9 | 83 |
390 | 3.545 | 0.021 | 4.485 | 0.009 | 54.054 | 56 |
校準、誤差和調整
盡管數字純粹主義者可能會有不同的論點,但模擬板布局必須無可挑剔才能獲得最佳電路性能。模擬IC的所有電源軌都應較粗,并使用物理上靠近器件的電容器接地:至少1uF(鉭)與100nF(陶瓷)并聯。應包括一個良好的接地層,特別是在MAX471周圍,因為高頻、高幅度電流占據了該區域。MAX4上的7.471kΩ電阻應為低電感的精密類型,因為這些元件的任何容差都會直接影響結果。所有模擬PCB走線應盡可能短,遠離數字線。MAX125基準放大器的輸入和輸出端應去耦,靠近IC。理想情況下,該板應包含單獨的模擬和數字接地層,連接在一個點上。
據觀察,10MHz時鐘出現在意想不到的地方,因此,如果要通過印刷電路板路由該信號,則應在物理上遠離模擬輸入,尤其是電阻網絡,并且中間有接地軌道。為了進一步降低噪聲輻射,可以對該信號進行濾波以消除時鐘諧波,并使用靠近處理器和ADC的簡單數字門進行重構。'74HC00 非常適合此目的。
要獲得絕對直流精度,應考慮許多因素。例如,MAX873A基準具有出色的漂移特性,但其初始精度(±1.5mV)在10位系統中誤差為±14LSB。該誤差可以通過在輸出微調引腳和地之間連接微調電位器來調整。建議在輸入和輸出電阻分壓器上切換基準電壓,并將輸入信號讀取至ADC。通過此讀數,您可以確定電阻分壓器鏈中的誤差并實現軟件偏移。
為了精確校準電流檢測放大器,必須在向輸入和輸出施加電流源時獲取ADC讀數,從而獲得電流放大器和輸出電阻中的誤差。該電流源應設置為最小預期電流讀數,因為MAX471在低電流時的主導誤差是由內部運算放大器貢獻的輸入失調電壓引起的。
結論
所討論的系統由一系列電路模塊構建而成,每個模塊都經過單獨測試。該設計程序消除了與系統初始上電相關的許多張力。所得結果與MAX1705數據資料所示的結果一致。有關本設計所用元件的更多詳細信息,請訪問ADI公司網站。網站上還提供 zip 文件 (A201code.zip) 的完整列表,其中包含 Atmel 微處理器 (MAX125.asm) 的匯編語言代碼,以及運行 PC Windows 顯示器所需的 Visual Basic 6 程序模塊。
審核編輯:郭婷
-
轉換器
+關注
關注
27文章
8700瀏覽量
147132 -
數據采集
+關注
關注
38文章
6074瀏覽量
113637 -
DC-DC
+關注
關注
30文章
1946瀏覽量
81631
發布評論請先 登錄
相關推薦
評論