0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何直接通過內(nèi)部參考電壓得到芯片的工作電壓

GReq_mcu168 ? 來源:魚鷹談單片機 ? 作者:魚鷹談單片機 ? 2022-02-11 09:08 ? 次閱讀

本篇主要包含以下內(nèi)容(電池供電產(chǎn)品尤其實用):

1、如何進(jìn)行 ADC 校準(zhǔn),ADC 校準(zhǔn)基本原理

2、如何直接通過內(nèi)部參考電壓得到芯片的工作電壓

3、常見應(yīng)用場合

在一些應(yīng)用場合,往往需要得到芯片的工作電壓,確保芯片工作正常,比如低壓時進(jìn)行必要保護(hù)、 ADC 采集時校準(zhǔn)等。

一般情況下,我們使用分壓電阻方式獲得芯片工作時的電壓,比如 STM32 可工作在 2.0~3.6 V(你沒看錯,2.0 V 也能工作,魚鷹有段時間不小心用了 5 V 電壓,芯片竟然也能工作,沒燒壞,也是奇跡,但不建議這么干)。但是需要增加額外電路。

另外,如果你能得到芯片的工作電壓(或 ADC 的基準(zhǔn)電壓),在 ADC 校準(zhǔn)方面也是有奇效。因為如果你的參考電壓變化了,那么你通過 ADC 計算得到值必然也是有問題的。

測量電壓值 = (ADC 值 * 參考電壓值 3.3)/ ADC 最大值 4096

即上式的 參考電壓 3.3v 變化了,那么你計算的測量電壓就和實際的不符。因為在這個公式里面,你假設(shè)參考電壓穩(wěn)定不變?yōu)?3.3v ,但實際上如果因為某種原因,導(dǎo)致電壓上升或下降了,那么計算的測量電壓值就是有問題的。

所以,為了精確測量電壓,就有了校準(zhǔn)。

既然參考電壓也在變化,那么我們就直接把參考電壓也一起采集了,作為公式的參數(shù)輸入,如此一來,就能保證測量電壓的穩(wěn)定性了。

但是參考電壓又應(yīng)該怎么測量呢?還是使用分壓方式嗎?我們本身就是為了讓分壓方式測量的電壓更精確才使用校準(zhǔn)的呀?這不是陷入了雞生蛋、蛋生雞的死循環(huán)?

如何跳出這一循環(huán)呢?關(guān)鍵在于是否存在一個電壓,可不隨外部電壓變化而變化,起碼不應(yīng)該在芯片(2.0 ~ 3.6 V)正常工作時而變化,超出電壓范圍外就和我沒關(guān)系了。

就此我們可以想到一種常用器件,LDO (低壓差線性穩(wěn)壓器),比如 5 V 轉(zhuǎn) 3.3 V,只要輸入電壓在芯片規(guī)定范圍內(nèi),它總是能穩(wěn)定輸出 3.3 V。

在 STM32 中,內(nèi)部都內(nèi)置了一個比較穩(wěn)定的內(nèi)部參考電壓,即 VREFINT,一般電壓 1.2 V,但由于芯片差異,這也是不確定的,所以為了更加確定這個電壓值,芯片出廠時會進(jìn)行校準(zhǔn)(又來一次校準(zhǔn)),即把實際采集到的電壓 ADC 值保存到一個地址里面。

怎么理解這次校準(zhǔn)呢?這個參考電壓內(nèi)部連接到 ADC 外設(shè)中的一個通道,而 ADC 外設(shè)使用高精度穩(wěn)壓源穩(wěn)定供電 3.0 V,而此時該參考電壓也會輸出一個電壓,大概在 1.2V, 然后通過 ADC 采集這個電壓的 ADC 值,并把這一次電壓值保存在一個地址里面。

這里舉一個具體例子(參考文章里面的):

如何直接通過內(nèi)部參考電壓得到芯片的工作電壓

在這個芯片里面的參考電壓輸出就是 1.216 V,可以說相當(dāng)精確了,但是另一個同款芯片就不一定就是這個電壓了(但也基本在 1.2 V 左右,不會差太多),這就是所謂的差異,也是為什么要校準(zhǔn)的原因。

那么得到這樣一個穩(wěn)定的參考電壓有什么用,它的特點又是什么呢?

這個參考電壓你可以理解為,只要芯片工作在 2.0 ~ 3.6 V,它總是能輸出 1.216 V(當(dāng)然是說上面那顆芯片,其它芯片就不一定是這個電壓了)。

這樣一來,我們讓 VDDA(ADC 外設(shè)的基準(zhǔn)電壓)= VDD(芯片工作電壓)。當(dāng)工作電壓下降時,VDDA 電壓也在下降,也就是說 4095 在下降前代表 3.3 V,那下降后代表的電壓值肯定更小了(還是代表 VDDA 的值,即總是代表的基準(zhǔn)電壓)。

如何直接通過內(nèi)部參考電壓得到芯片的工作電壓

但是不管 VDDA(VDD) 怎么變化,Vrefint 的電壓值總是穩(wěn)定在 1.216 V(但是這個 ADC 值是處于變化中的)。而這也是我們反推外部電壓的基礎(chǔ)。

于是我們可以得到下面公式(前提芯片能正常工作,即 2.0 ~ 3.6 V):

VDDA : 4095 = VREFINT : Adc_vrefint

因為 VDDA 等于 VDD,所以也可以認(rèn)為是芯片的工作電壓。在這個公式中,Adc_vrefint 的 ADC 值我們可以通過 ADC 的特殊通道(VREFINT 通道)采集回來,而 VREFINT 我們在前面通過某個地址的 ADC 值已經(jīng)計算出來了,就是 1.216 V,那么只有 VDDA 一個值不確定,計算它就是輕而易舉的事情了。

于是,通過采集 VREFINT 通道的 ADC 值,即可得到我們需要的 VDDA 值,也就是我們的芯片工作電壓!!!

這就是不用外部電路檢測芯片電壓的內(nèi)幕(原理)!

本來應(yīng)該一切順利,這篇筆記也有一個完美的結(jié)局,但是很不幸的是,魚鷹找遍了手冊,網(wǎng)上也是到處找,始終沒有找到 STM32F1xx 系列芯片校準(zhǔn)值的保存地址,而據(jù)網(wǎng)上的說法是,這款芯片并沒有校準(zhǔn)值,這就很讓人尷尬了(其它系列是否存在該校準(zhǔn)值,可以看對應(yīng)的數(shù)據(jù)手冊,如果有道友知道 STM32F1xx的地址,可留言告知)。

但是如果你對電壓精度要求不是很高的話,你可以直接認(rèn)為參考電壓就是 1.200 V,用它來大概計算芯片的工作電壓也是問題不大的。而如果你要更高的精度,那么你也可以像前面說的那樣,自己找出每一顆芯片的實際參考電壓,人工校準(zhǔn)。當(dāng)然工作量就大了那么一些了(專門寫一個校準(zhǔn)程序,把校準(zhǔn)值寫入內(nèi)部 FLASH 中)。

應(yīng)用

那么這個功能一般用于什么場合呢?

實時檢測芯片的工作電壓,我們就知道芯片是否正常工作,從而排除芯片因為電源不穩(wěn)導(dǎo)致的一些問題。同時,我們可以把這個電壓值用于前面所說的 ADC 校準(zhǔn)中,這樣不管芯片工作電壓怎么變化(前提是芯片工作電壓和 ADC 基準(zhǔn)電壓是一同一個),你測量的電壓值一定是準(zhǔn)確的(即使電壓源紋波比較大)。

這個功能對于電池供電的產(chǎn)品尤其實用,因為電池電壓在使用過程中,肯定會發(fā)生變化,這也意味著可能你的 ADC 基準(zhǔn)電壓發(fā)生了變化(當(dāng)然你也可以使用額外的穩(wěn)壓源,這樣就會增加成本)。

當(dāng)工作電壓低到一定程度時,我們希望能做一些保護(hù)工作,或者保存一些參數(shù),我們該如何做呢?三種方法:

1、通過上述方法,定時采集 參考電壓 的 ADC 值,從而得到工作電壓,當(dāng)電壓低于一定水平時,再采取一些措施。

2、使用 ADC 模擬看門狗功能,將這個通道的值加入到看門狗中,如此一來,只要電壓下降到你想要的值,就可以觸發(fā)看門狗,比方法一更及時,這也是參考文章介紹的一個應(yīng)用,強烈建議各位道友看看這位大佬寫的。

3、芯片內(nèi)部有低電壓保護(hù)功能,當(dāng)電壓低到一定水平時,可觸發(fā)中斷,但是只有幾個固定電平可選,不像上述方法可設(shè)置任意電平。

而在已出貨的產(chǎn)品中,可能當(dāng)時我們并沒有考慮那么多,并沒有預(yù)留檢測工作電壓的電路,使用這個方法,就可以只更新軟件即可獲取工作電壓,相當(dāng)實用。

這個方法也曾用高精度穩(wěn)壓源測試過,發(fā)現(xiàn)計算出來的電壓值精度相當(dāng)高,而當(dāng)改變電壓大小時,計算出來的電壓也在實時變化,可謂實用的一匹,再也不用怕硬件工程師說你采集的 ADC 值(軟件)有問題了。

簡單總結(jié)就是,采集 ADC 外設(shè)中的 VREFINT 通道值,通過上面公式簡單計算,即可得到芯片當(dāng)前的 ADC 參考電壓,也可認(rèn)為是芯片工作電壓。代碼和普通的 ADC 采集沒多大區(qū)別,只是采集的通道由外部通道變?yōu)榱藘?nèi)部通道,所以魚鷹就不再提供具體參考例子了(可惜忘記截圖了,否則更有說服力)。們刪除!

原文標(biāo)題:妙啊!不用外部電路檢測芯片工作電壓!

文章出處:【微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    50936

    瀏覽量

    424660
  • 電路
    +關(guān)注

    關(guān)注

    172

    文章

    5933

    瀏覽量

    172457
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6512

    瀏覽量

    545012

原文標(biāo)題:妙啊!不用外部電路檢測芯片工作電壓!

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    DAC5682zEVM是否可以直接通過ADC-HSMC板卡與ALTERA的FPGA開發(fā)相連?

    DAC5682zEVM是否可以直接通過TI的ADC-HSMC板卡與ALTERA的FPGA開發(fā)相連(FPGA板HSMC接口與電壓都匹配條件下),能否提供控制程序或者邏輯
    發(fā)表于 12-31 06:03

    ADS8588H內(nèi)部參考電壓異常的原因?

    板子ADC芯片使用內(nèi)部參考電壓,板子開始運行時工作一切正常,內(nèi)部參考電壓為2.5V,但運行
    發(fā)表于 11-28 06:30

    TPA3137D2的GVDD正常電壓是7V,但是芯片是可以工作在小于7V的電壓,這時候GVDD可以正常工作嗎?

    TPA3137D2的GVDD正常電壓是7V,但是芯片是可以工作在小于7V的電壓,這時候GVDD可以正常工作嗎? 看
    發(fā)表于 10-18 07:28

    tas5630在PBTL模式下接通電源就處于關(guān)斷模式,芯片工作怎么解決?

    tas5630在PBTL模式下 接通電源就處于關(guān)斷模式,芯片工作,但是能夠測得VREG是3.7v的電壓,芯片各個管腳的
    發(fā)表于 09-23 07:47

    利用LM2903比較器做了一個雙門限比較電路,比較電壓為13.7V時,比較電路不能正常工作怎么解決?

    最近利用LM2903比較器做了一個雙門限比較電路。上門限是12V經(jīng)過分壓得到6.85V,下門限是12V經(jīng)過分壓得到2.45V。比較電壓為13.7V時,比較電路不能正常工作。
    發(fā)表于 09-23 06:43

    電壓檢測芯片957工作原理是什么

    電壓檢測芯片957(盡管具體型號如“957”可能是一個泛指的或簡化的表示,因為實際中電壓檢測芯片的型號可能會包含制造商、系列名、具體功能描述等更詳細(xì)的信息)的
    的頭像 發(fā)表于 09-18 17:23 ?707次閱讀

    求助,關(guān)于ina2332運放參考電壓的疑問求解

    ina2332的VrefA和VrefB我都是用的電阻直接壓得到,但是這樣的話電阻阻值的不精確會導(dǎo)致兩路參考電壓的不一樣,對同樣的輸入信號運放輸出的值也會略有不同,我想用3片做六路精密運放,請問
    發(fā)表于 09-10 07:24

    電壓工作業(yè)是指對多少伏的電壓

    電壓工作業(yè),特別是在日常電氣安裝和維護(hù)中,通常指的是對 1千伏(kV)以下 的低壓電器設(shè)備進(jìn)行的一系列操作。這些操作包括但不限于設(shè)備的安裝、調(diào)試、運行、維護(hù)、檢修、改造施工和試驗等。以下是對低電壓
    的頭像 發(fā)表于 09-05 17:07 ?952次閱讀

    使用ref2025替換用電阻分壓得到的2.5V作為運放的偏置電壓,導(dǎo)致諧振出來的波形也不對了,為什么?

    你好!我使用ref2025替換 用電阻分壓得到的2.5V 作為運放的偏置電壓,導(dǎo)致諧振出來的波形也不對了,正向輸入端恒為 2.5V。請問是什么原因。 左下角L1處是電容電感并聯(lián)諧振。
    發(fā)表于 08-23 07:09

    TINA仿真時,使用進(jìn)行電阻分壓,為什么電阻越大得到的參考電壓的交流成分越多呢?

    我在使用TINA仿真,在地與5V電源之間,希望通過電阻分壓得到2.74V的電壓。但是我發(fā)現(xiàn),當(dāng)使用274k與226k,27.4k與22.6k,27.4與22.6這三組不同阻值的時候,得到
    發(fā)表于 08-09 06:07

    FPGA學(xué)習(xí)筆記-電源電壓

    不同的IO口電壓。這樣,匹配不同工作電壓的電路就成為可能,而且這個電路也很簡單,不需要額外考慮電平匹配的問題。 PLL電壓是給FPGA內(nèi)部
    發(fā)表于 05-22 18:42

    PRBTEK分享有源電壓探頭的工作原理

    有源電壓探頭是一種用于測量電壓信號的探頭,它通過內(nèi)置電源提供激勵信號,從而使得測量電路的輸入阻抗較高,減小了對被測電路的影響,提高了測量精度。本文將介紹有源電壓探頭的
    的頭像 發(fā)表于 05-20 11:19 ?538次閱讀
    PRBTEK分享有源<b class='flag-5'>電壓</b>探頭的<b class='flag-5'>工作</b>原理

    升壓芯片是如何把電壓升高的

    升壓芯片(Boost Converter)通過改變電路的工作周期來將輸入電壓升高到所需的輸出電壓。
    的頭像 發(fā)表于 03-01 16:08 ?2305次閱讀
    升壓<b class='flag-5'>芯片</b>是如何把<b class='flag-5'>電壓</b>升高的

    基準(zhǔn)電壓芯片工作原理是什么?

    、穩(wěn)壓原理 穩(wěn)壓原理是基準(zhǔn)電壓芯片工作的基礎(chǔ)。在電子設(shè)備中,為了確保電路正常運行,需要提供穩(wěn)定的電壓信號。穩(wěn)壓原理是通過將輸入
    的頭像 發(fā)表于 01-29 15:33 ?3263次閱讀

    芯片的AD/DA口基準(zhǔn)電壓芯片供電電壓的關(guān)系?

    晶振是芯片的心臟,晶振主要用來驅(qū)動芯片內(nèi)部的時序工作電路工作,就是數(shù)電中時clock,晶振的頻率是主頻嗎?在一個片上系統(tǒng)中,會不會應(yīng)用到片晶
    發(fā)表于 01-14 00:40