雖然借助霍爾效應(yīng)也可以測量電流(包括直流電流),但本文側(cè)重于使用分流電阻測量直流電流,因?yàn)楹笳吒S枚屹M(fèi)用更低。分流電阻是一個低阻值電阻,與電路串聯(lián)。電流流經(jīng)分流電阻時,分流電阻兩端會產(chǎn)生一個小的壓差。該壓差與電流成正比,如公式2所示,并且通常使用
運(yùn)算放大器進(jìn)行放大。
VDROP=RSHUNT×I
公式2 - 分流電阻兩端的壓差
由于分流電阻與電路的其余部分串聯(lián),因此可以連接在任意一側(cè):上橋臂(分流電阻的一個端子直接連接總線電壓),或者下橋臂(分流電阻的一個端子接地),如圖2所示。在這兩種情況下,分流電阻都會出現(xiàn)一個小的壓差,電路的總電壓會降低。但是,分流電阻的連接位置會有一些影響:
-如果分流電阻放在下橋臂(圖2右側(cè)),其兩端的電壓將直接接地。由于分流電阻通常很小,其兩端的壓差也很小,因此電流測量電路使用便宜的低壓運(yùn)算放大器即可非常方便地放大壓差。這對于縮減成本很有幫助。但下橋臂分流有一個明顯的不足,即整個電路不再直接接地,而是連接高于接地端電壓的位置。分流電阻兩端的壓差通常以毫伏計(jì)。
-如果將分流電阻連接在上橋臂(圖2左側(cè)),則電路直接接地,可消除地彈反射效應(yīng)。如果要對電路進(jìn)行精確測量或必須提供精確的輸出,則應(yīng)選用此連接方法。此方法的唯一缺點(diǎn)是需要使用電壓更高的差分運(yùn)算放大器電路,并且視運(yùn)算放大器的帶寬而定,費(fèi)用也可能會增加。
圖2 - 電流測量電路
盡管電壓、電流甚至功率本身都可以通過模擬電路輕松測量,而且成本很低,但能量測量卻需要使用更復(fù)雜的電路來實(shí)現(xiàn)。然而,傳統(tǒng)的能量測量方法是使用模擬電路測量電壓和電流,然后使用模數(shù)轉(zhuǎn)換器(ADC)將模擬信號轉(zhuǎn)換為數(shù)字信號,將數(shù)據(jù)輸出到單片機(jī)。單片機(jī)的作用是對信號隨時間累加的功率進(jìn)行采樣,從而實(shí)現(xiàn)能量測量。測量能量的典型電路如圖3所示。在測量電路中增加單片機(jī)既有優(yōu)點(diǎn)也有缺點(diǎn)。一方面,在算法計(jì)算、監(jiān)視不同行為和進(jìn)行更詳細(xì)的報(bào)告方面具有很大的靈活性,例如每小時、每天等。此外,單片機(jī)的作用不僅限于能量測量,還可以觸發(fā)事件、運(yùn)行自定義狀態(tài)機(jī)或滿足工程師的任何需求。而如果系統(tǒng)原本就需要使用單片機(jī),則成本和物料清單(BOM)的增加并不是問題。另一方面,使用單片機(jī)監(jiān)測能量的缺點(diǎn)則是測量系統(tǒng)的總功耗、令人討厭的代碼開發(fā)工作和開銷成本都會增加,而且視精度要求而定,有時可能還需要外部ADC。
圖3 - 典型的能量測量電路
多年來,隨著業(yè)界對直流能量監(jiān)測功能的需求不斷增長,多種面向此類應(yīng)用的集成電路相繼問世。例如Microchip的PAC1934集成電路。此類集成電路只需使用分流電阻作為外部元件,即可輕松地同時對多達(dá)4個通道進(jìn)行采樣?;倦娐穲D如圖4所示。電路中集成了運(yùn)算放大器、ADC、算術(shù)運(yùn)算邏輯、存儲器和用于連接系統(tǒng)的標(biāo)準(zhǔn)接口(通常為I2C或SPI)。與傳統(tǒng)方法相比,使用集成電路的優(yōu)勢在成本方面尤為明顯,這是因?yàn)樵谝粋€集成電路中集成了能量測量所需的一切,使BOM和PCB尺寸顯著降低。
圖4 - Microchip PAC1934框圖(可同時測量4個通道)
主動能量監(jiān)測的優(yōu)勢
憑借適合大多數(shù)用例的靈活配置,專用集成電路能夠以極低的功耗在長時段內(nèi)累加功率。通常,功率采樣率最低為每秒8次采樣,最高可達(dá)1 KSPS。例如,PAC1934以8 SPS運(yùn)行時,可以累加超過36小時的功率,并且電流小于16 mA,同時4個通道全部有效且以16位的分辨率運(yùn)行,無需軟件干預(yù)。此方法允許采樣率動態(tài)變化,從而可以擴(kuò)大應(yīng)用范圍。例如在標(biāo)準(zhǔn)筆記本電腦中使用集成電路監(jiān)測電源軌。當(dāng)筆記本電腦處于運(yùn)行和活動狀態(tài)時,能夠以1024 SPS的采樣率進(jìn)行監(jiān)測,而當(dāng)筆記本電腦處于掛起狀態(tài)時,監(jiān)測速度可能降到8 SPS,因?yàn)樵趻炱馉顟B(tài)下,功耗不會有太大的波動。此外,降低采樣率可以減少能量監(jiān)測的功耗,而不會影響性能。
主動能量監(jiān)測最常見的一個用例是電池電量計(jì)量。專用集成電路可監(jiān)測電池的電壓和電流,隨時獲知當(dāng)前電池電量。更先進(jìn)的電池電量計(jì)還可以檢測到電池遇到了特定問題,例如電量計(jì)可以跟蹤電池的電壓與電量的關(guān)系,如果二者之間不再有對應(yīng)關(guān)系,則意味著電池的總?cè)萘恳蚶匣蚱渌蛩囟s減。主動能量監(jiān)測也是標(biāo)準(zhǔn)電池管理系統(tǒng)(BMS)的核心。BMS是多節(jié)電池組所使用的電路,負(fù)責(zé)對電池組進(jìn)行安全充電和放電,并主動測量其電壓和電流,確保每節(jié)電池的參數(shù)都相同。BMS的功能還包括檢測故障電池,或在電壓過高或過低時斷開電池組。
主動能量監(jiān)測的另一個常見應(yīng)用是與智能手機(jī)和平板電腦上的操作系統(tǒng)以及筆記本電腦、計(jì)算機(jī)和服務(wù)器上的Linux®或Microsoft Windows®搭配使用。對于智能手機(jī)和平板電腦,操作系統(tǒng)通過各種方法監(jiān)測不同服務(wù)和應(yīng)用程序所消耗的電量。在早期階段,系統(tǒng)不直接測量能量,而是使用表格數(shù)據(jù)獲取各個工作點(diǎn)的功耗,基于CPU、GPU和屏幕使用情況估算能量。估算出的能耗數(shù)據(jù)以統(tǒng)計(jì)數(shù)據(jù)的形式報(bào)告,便于用戶決定如何進(jìn)一步操作設(shè)備。自Windows 8起,Microsoft在筆記本電腦和個人計(jì)算機(jī)中引入了能量估計(jì)引擎(Energy Estimation Engine,E3)。E3早期階段的工作原理與智能手機(jī)中的估算算法類似,能夠根據(jù)各種資源的使用情況(處理器、圖形、磁盤、存儲器、網(wǎng)絡(luò)和顯示器等)來估算每項(xiàng)任務(wù)的功耗,從而實(shí)現(xiàn)功耗跟蹤。E3還引入了能量計(jì)量接口(EMI),系統(tǒng)制造商可以通過該接口為系統(tǒng)添加實(shí)際可用的能量測量傳感器,并進(jìn)行相應(yīng)聲明。如果加入了此類傳感器,E3會利用這些傳感器準(zhǔn)確地測量功率和能量,而不是只進(jìn)行估算。某些筆記本電腦制造商已在其產(chǎn)品中實(shí)現(xiàn)了這些功能。此外,過去還存在一些其他的方法(例如Sony在Vaio筆記本中實(shí)現(xiàn)的能量監(jiān)測),但沒有支持這些方法的操作系統(tǒng),只有專有應(yīng)用程序才能訪問相關(guān)數(shù)據(jù)。Linux尚未提供與Microsoft E3相當(dāng)?shù)墓ぞ?,但?jù)報(bào)道稱,他們已著手進(jìn)行相關(guān)工作。工業(yè)I/O子系統(tǒng)[1]支持在操作系統(tǒng)中加入各種傳感器,為用戶空間的應(yīng)用程序提供非常簡單且功能強(qiáng)大的接口(基于文件的接口)。然而,在本文撰寫之時,工業(yè)I/O子系統(tǒng)仍是內(nèi)核的擴(kuò)展,而不是默認(rèn)Linux架構(gòu)的組成部分。Linux還支持能量監(jiān)測調(diào)度[2]和智能功率分配,這是一種用于嵌入式Linux領(lǐng)域的算法,可幫助系統(tǒng)決定如何調(diào)度不同的任務(wù),同時對熱問題予以考量(能耗導(dǎo)致CPU/GPU發(fā)熱)。
能量測量集成電路的另一個值得關(guān)注的應(yīng)用,是對USB功率和能量(出于各種原因)[3]以及在服務(wù)器應(yīng)用程序中的使用情況進(jìn)行監(jiān)測,如本文第一部分所述。由于服務(wù)器采用不間斷運(yùn)行的設(shè)計(jì),因此監(jiān)測能耗有很多好處,例如可通過主動服務(wù)控制提高總體電源效率,能滿足越來越高的能效標(biāo)準(zhǔn)[4],允許系統(tǒng)管理員在服務(wù)器的某些部分出現(xiàn)功耗異常(表示未來可能發(fā)生故障)時執(zhí)行預(yù)測性維護(hù)。
總結(jié)
就能量監(jiān)測的需求以及系統(tǒng)需要執(zhí)行的其他功能而論,某些方法可能比其他方法更適用。如果嵌入式系統(tǒng)是根據(jù)自身用途專門構(gòu)建,并且需要了解自身功耗或估算能耗,則傳統(tǒng)方法更適用。我們還建議在單片機(jī)中加入內(nèi)部ADC,以便最大限度縮減能量監(jiān)測功能的成本。采用這種方法,只需要使用進(jìn)行電壓和電流檢測的外部模擬電路。如果需要非常高的測量精度而不計(jì)BOM成本和功耗,則傳統(tǒng)方法比集成電路更適用。
但在很多情況下,更適合采用集成電路方法。例如,如果想要在操作系統(tǒng)中集成能量測量,就適合采用集成電路方法,因?yàn)榧山鉀Q方案就是為解決這一問題而構(gòu)建,通過適當(dāng)?shù)尿?qū)動程序,系統(tǒng)能自動識別出能量測量并知道如何操作。能量測量集成電路通??梢詼y量多個通道(從而監(jiān)測多條總線),因此,在需要監(jiān)測大量總線時,集成解決方案具備明顯優(yōu)勢。此外,同一條通信總線上可以使用多個集成電路(例如I2C或SPI)。另一個更適合采用集成解決方案的情形是,在系統(tǒng)處于功耗極低的睡眠模式或完全關(guān)閉的情況下,在較長的一段時間內(nèi)測量能量。集成的能量監(jiān)測芯片僅消耗極少的功率,并能在特定時段內(nèi)自行累加能量,無需任何系統(tǒng)干預(yù),而這正是實(shí)現(xiàn)集成解決方案的基礎(chǔ)。
對于有較高尺寸要求的高度集成化和密集型PCB(例如手機(jī)、平板電腦或筆記本電腦的主板),與等效的分立元件相比,集成電路占用的空間顯然更小。例如,在WLCSP(晶圓級芯片封裝)尺寸的芯片(大小為2.225 x 2.17 mm)中,包含一個能同時監(jiān)測四個通道的能量測量集成電路。
[1] https://www.kernel.org/doc/html/v4.16/driver-api/iio/index.html
[2] https://developer.arm.com/open-source/energy-aware-scheduling
[3] 功率計(jì)示例:https://www.jeffgeerling.com/blog/2017/review-satechi-usb-type-c-inline-power-meter-st-tcpm
[4] https://www.energystar.gov
(來源:Microchip,作者:Adrian Lita)