選擇正確的模數(shù)轉(zhuǎn)換器 (ADC) ,計(jì)算和使用ADC校準(zhǔn)值
校準(zhǔn)值可以通過(guò)讀取已知參考值然后找出要使用的校正因子(二進(jìn)制因數(shù))來(lái)計(jì)算。對(duì)于給出的示例,理想情況和最壞情況 ADC 值之間的差異永遠(yuǎn)不會(huì)超過(guò) 1.2%,因此從原始值的二分之一或四分之一開(kāi)始是沒(méi)有意義的。測(cè)試和使用的唯一值是 1/128、1/256 和 1/512。你想從接近你期望看到的價(jià)值開(kāi)始。
使用計(jì)算器很容易找到校正因子,但如果我們必須在應(yīng)用程序中使用的定點(diǎn)處理器上計(jì)算它,則需要一種基于整數(shù)的方法。
以流程圖形式顯示了本示例中用于計(jì)算和使用校準(zhǔn)常數(shù)的算法。在此方法中,使用單個(gè)字節(jié)(或字)來(lái)存儲(chǔ)校準(zhǔn)常數(shù)。位 7 指示參考電壓是低(需要減去校準(zhǔn)值)還是高(添加校準(zhǔn)值)。位 0、1 和 2 指示是否使用 1/128、1/256 和 1/512 因子。
當(dāng)然,我們可以為每個(gè)可能的因素使用一個(gè)單獨(dú)的字節(jié),用第四個(gè)字節(jié)來(lái)指示參考值是高還是低。
寫(xiě)入校準(zhǔn)值
無(wú)論我們使用表格還是校準(zhǔn)常數(shù),如何將校準(zhǔn)值輸入系統(tǒng)?任何校準(zhǔn)方案的一個(gè)關(guān)鍵組成部分是非易失性存儲(chǔ)的可用性。許多微控制器都有片上 EEPROM。校準(zhǔn)通常在測(cè)試電路板時(shí)進(jìn)行。在大批量生產(chǎn)環(huán)境中,這可能會(huì)通過(guò)某種釘床自動(dòng)測(cè)試設(shè)備來(lái)完成。
我們通常希望將處理器置于某種“校準(zhǔn)模式”,可能通過(guò)將引腳接地??梢詫?duì)生產(chǎn)測(cè)試設(shè)備進(jìn)行編程,以將非常精確的電壓施加到模擬輸入并將校準(zhǔn)引腳接地。然后微控制器可以進(jìn)入校準(zhǔn)模式,讀取參考值并計(jì)算補(bǔ)償值或創(chuàng)建查找表。
在某些情況下,我們沒(méi)有足夠的內(nèi)存將校準(zhǔn)代碼添加到微控制器。在這種情況下,我們可以讓微控制器將 ADC 值返回到輸出引腳(串行)或一組引腳(并行),由生產(chǎn)測(cè)試設(shè)備讀取。然后,外部計(jì)算機(jī)可以計(jì)算校準(zhǔn)值或表格值,并通過(guò)相同的接口將它們返回給微控制器。
如果生產(chǎn)設(shè)備還對(duì)微控制器進(jìn)行在線編程,則校準(zhǔn)數(shù)據(jù)可以嵌入到閃存中編程的數(shù)據(jù)中。如果被校準(zhǔn)的參考在微控制器內(nèi)部,則測(cè)試設(shè)備可能必須首先將校準(zhǔn)程序加載到微控制器中,執(zhí)行校準(zhǔn),然后加載實(shí)際的應(yīng)用程序代碼。
最后,一些非常小的微控制器根本沒(méi)有足夠的引腳來(lái)進(jìn)行校準(zhǔn)。在這種情況下,我們通??梢允馆敵鲆_兼作校準(zhǔn)引腳。我們使用外部電阻器將引腳拉高。生產(chǎn)設(shè)備在上電前將引腳接地以選擇校準(zhǔn)模式。
它的工作方式是微控制器上電,所有引腳都處于輸入狀態(tài)。它在將引腳配置為輸出之前讀取校準(zhǔn)引腳。如果該引腳為高電平,則開(kāi)始正常操作。如果引腳為低電平,則必須外部接地,因此單片機(jī)進(jìn)入校準(zhǔn)模式。當(dāng)然,輸出必須是在引腳外部接地時(shí)不會(huì)損壞任何東西的輸出。
最后,如果我們正在校準(zhǔn)基準(zhǔn),將精確電壓施加到備用 ADC 輸入,我們可以使用該輸入本身將系統(tǒng)置于校準(zhǔn)模式。使用一個(gè)電阻器將備用輸入拉至零電平 ADC 電壓(在我們一直使用的示例中為接地)。然后,當(dāng)在引腳上檢測(cè)到超過(guò)某個(gè)預(yù)定閾值(例如,滿量程電壓的三分之二)的電壓時(shí),讓軟件進(jìn)入校準(zhǔn)模式。
選擇校準(zhǔn)電壓時(shí),我們希望選擇在參考電壓處于其可能的最低值時(shí)不會(huì)使 ADC 飽和的最大值。這可確保我們?cè)谟?jì)算校準(zhǔn)常數(shù)(或表格)時(shí)不會(huì)因?yàn)槲簧崛胝`差而失去準(zhǔn)確性。這通常會(huì)使校準(zhǔn)電壓高于滿量程值的 90%,盡管我們可能希望選擇最接近的標(biāo)準(zhǔn)參考電壓以簡(jiǎn)化設(shè)計(jì)。
在某些應(yīng)用中,我們可以通過(guò)尋找 ADC 輸入的變化來(lái)解決參考問(wèn)題。我們可能會(huì)看到光學(xué)傳感器發(fā)生 10% 的變化,而不是將其與固定值進(jìn)行比較,或者我們可能會(huì)看到溫度下降 25%。當(dāng)然,傳感器的精度也包括在內(nèi),但該主題超出了本文的范圍。
盡管有時(shí)很難知道要為我們的應(yīng)用使用哪種 ADC,但種類繁多的部件可確保我們找到適合我們需要的部件。將軟件與硬件相匹配可確保我們獲得產(chǎn)品所需的準(zhǔn)確性和可靠性。