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