0 > pmu_irq_wakeup = 2 pmu_hot_shutdown = 1 pmu_bat_unused = 0 pmu_usbad_vol = 4600 pmu_usbad_cur = 15" />

一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

DshanMCU-R128s2 PMU 電源管理

嵌入式Linux那些事 ? 來源:嵌入式Linux那些事 ? 作者:嵌入式Linux那些事 ? 2023-12-22 17:58 ? 次閱讀

PMU 功能簡介

目前已支持的PMU 為:AXP2585。

該PMU 主要用于電池管理以及充電管理,主要有以下功能:

  • 讀取電池電量、電池溫度。
  • 設(shè)置充電時的充電電流,截止充電電壓、充電超時等。
  • 自動根據(jù)連接PC 或者適配器設(shè)置USB 輸入的最大限流。
  • 電池溫度過高時自動觸發(fā)停充。
  • 檢測USB 線的接入和拔出。
  • PMU 芯片過溫保護。

PMU 配置介紹

sys_config.fex 配置說明

[pmu]
pmu_irq_pin      = port:PA14< 14 >< 0 >< default >< default >
pmu_irq_wakeup   = 2
pmu_hot_shutdown = 1
pmu_bat_unused = 0
pmu_usbad_vol = 4600
pmu_usbad_cur = 1500
pmu_usbpc_vol = 4600
pmu_usbpc_cur = 500
pmu_chg_ic_temp = 0
pmu_battery_rdc = 100
pmu_battery_cap = 3568
pmu_runtime_chgcur = 900
pmu_suspend_chgcur = 1200
pmu_shutdown_chgcur = 1200
pmu_init_chgvol = 4200
pmu_init_chg_pretime = 50
pmu_init_chg_csttime = 1200
pmu_chgled_type = 0
pmu_init_bc_en = 1
pmu_bat_temp_enable = 0
pmu_bat_charge_ltf = 2261
pmu_bat_charge_htf = 388
pmu_bat_shutdown_ltf = 3200
pmu_bat_shutdown_htf = 237
pmu_bat_para[0] = 0
pmu_bat_para[1] = 0
pmu_bat_para[2] = 0
pmu_bat_para[3] = 0
pmu_bat_para[4] = 0
pmu_bat_para[5] = 0
pmu_bat_para[6] = 1
pmu_bat_para[7] = 1
pmu_bat_para[8] = 2
pmu_bat_para[9] = 4
pmu_bat_para[10] = 5
pmu_bat_para[11] = 12
pmu_bat_para[12] = 19
pmu_bat_para[13] = 32
pmu_bat_para[14] = 41
pmu_bat_para[15] = 45
pmu_bat_para[16] = 48
pmu_bat_para[17] = 51
pmu_bat_para[18] = 54
pmu_bat_para[19] = 59
pmu_bat_para[20] = 63
pmu_bat_para[21] = 68
pmu_bat_para[22] = 71
pmu_bat_para[23] = 74
pmu_bat_para[24] = 78
pmu_bat_para[25] = 81
pmu_bat_para[26] = 82
pmu_bat_para[27] = 84
pmu_bat_para[28] = 88
pmu_bat_para[29] = 92
pmu_bat_para[30] = 96
pmu_bat_para[31] = 100
pmu_bat_temp_para[0] = 7466
pmu_bat_temp_para[1] = 4480
pmu_bat_temp_para[2] = 3518
pmu_bat_temp_para[3] = 2786
pmu_bat_temp_para[4] = 2223
pmu_bat_temp_para[5] = 1788
pmu_bat_temp_para[6] = 1448
pmu_bat_temp_para[7] = 969
pmu_bat_temp_para[8] = 664
pmu_bat_temp_para[9] = 466
pmu_bat_temp_para[10] = 393
pmu_bat_temp_para[11] = 333
pmu_bat_temp_para[12] = 283
pmu_bat_temp_para[13] = 242
pmu_bat_temp_para[14] = 179
pmu_bat_temp_para[15] = 134

配置含義:

pmu_irq_pin
	AXP芯片IRQ引腳連接的IO,用于觸發(fā)中斷

pmu_irq_wakeup
	Press irq wakeup or not when sleep or power down.
    0: not wakeup
    1: wakeup
    
pmu_hot_shutdown
    when PMU over temperature protect or not.
    0: disable
    1: enable

pmu_bat_unused
    unused bat
    0: disable
    1: enable

pmu_usbpc_vol < u32 >
	usb pc輸入電壓限制值,單位為mV
	
pmu_usbpc_cur < u32 >
	usb pc輸入電流限制值,單位為mA
	
pmu_usbad_vol < u32 >
	usb adaptor輸入電壓限制值(vimdpm),單位為mV
	
pmu_usbad_cur < u32 >
	usb adaptor輸入電流限制值,單位為mA
	
pmu_chg_ic_temp < u32 >
    1: TS current source always on
    0: TS current source off
    
pmu_battery_rdc < u32 >
	電池內(nèi)阻,單位為mΩ
	
pmu_battery_cap < u32 >
	電池容量,單位為mAh
	
pmu_runtime_chgcur < u32 >
	運行時constant充電電流限制,單位為mA
	
pmu_suspend_chgcur < u32 >
	休眠時constant充電電流限制,單位為mA
	
pmu_shutdown_chgcur < u32 >
	關(guān)機時constant充電電流限制,單位為mA
	
pmu_terminal_chgcur < u32 >
	截止電流,停止充電的標志位之一,單位為mA
	
pmu_init_chgvol < u32 >
	電池滿充電壓,單位為mV
	
pmu_init_chg_pretime < u32 >
	當電池電壓低于REG 0x8C[1]時,屬于pre charge階段。
	如果此階段時間超過pmu_init_chg_pretime,視為超時,停止充電。
	
pmu_init_chg_csttime < u32 >
	當電池電壓高于REG 0x8C[1]且低于截止電壓(REG 0X8C[7:2])時,屬于恒流充電階段。
	如果此階段時間超過pmu_init_chg_csttime,視為超時,停止充電。
	
pmu_chgled_type < bool >
    0: Enable CHGLED pin funciton
    1: Disable CHGLED pin funciton
    
pmu_init_bc_en < bool >
    0: Enable BC1.2
    1: Disable BC1.2
        
pmu_bat_temp_enable < u32 >
	設(shè)置電池溫度檢測、ntc是否使能
        
pmu_bat_charge_ltf < u32 >
    觸發(fā)電池低溫停充的TS pin電壓閾值,單位:mV
    默認:1105mV
    范圍:0?8160mV
        
pmu_bat_charge_htf < u32 >
    觸發(fā)電池高溫停充的TS pin電壓閾值,單位:mV
    默認:121mV
    范圍:0?510mV
        
pmu_bat_shutdown_ltf < u32 >
	非充電模式下,觸發(fā)電池低溫中斷的TS pin電壓閾值,單位:mV
	默認:1381mV
        
pmu_bat_shutdown_htf < u32 >
	默認:89mV
	范圍:0?510mV
        
pmu_bat_para1 < u32 >
pmu_bat_para2 < u32 >
...
pmu_bat_para32 < u32 >
	電池曲線參數(shù)
	電池參數(shù)根據(jù)使用的電池不同,通過儀器測量出來
        
pmu_bat_temp_para1 < u32 >
	電池包?25度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para2 < u32 >
	電池包?15度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para3 < u32 >
	電池包?10度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para4 < u32 >
	電池包?5度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para5 < u32 >
	電池包0度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para6 < u32 >
	電池包5度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para7 < u32 >
	電池包10度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para8 < u32 >
	電池包20度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para9 < u32 >
	電池包30度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para10 < u32 >
	電池包40度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para11 < u32 >
	電池包45度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para12 < u32 >
	電池包50度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para13 < u32 >
	電池包55度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para14 < u32 >
	電池包60度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para15 < u32 >
	電池包70度對應(yīng)的TS pin電壓,單位:mV
        
pmu_bat_temp_para16 < u32 >
	電池包80度對應(yīng)的TS pin電壓,單位:mV

不同電池包的溫敏電阻特性不一樣,根據(jù)電池包的TS溫敏電阻手冊,找到pmu_bat_temp_para[1?16]對應(yīng)溫度點的電阻阻值,將阻值除以20得到的電壓數(shù)值(單位:mV),將電壓數(shù)值填進pmu_bat_temp_para[1?16]的節(jié)點中即可

rtos menuconfig 配置說明

AXP 是依賴于I2C 進行通過的,所以首先就需要確認I2C 驅(qū)動是已經(jīng)被選上的。

  • 使能I2C 驅(qū)動
? > Drivers Options
    ? > soc related device drivers
        ? > TWI Devices
            [*] enable twi driver
  • 使能PMU 驅(qū)動
? > Drivers Options
	? > soc related device drivers
		[*] POWER Devices
  • 選擇AXP2585
? > Drivers Options
	? > soc related device drivers
		? > POWER Devices
			[*] enable power driver

PMU 源碼結(jié)構(gòu)

lichee/rtos?hal/hal/source/power/
├── axp2585.c
├── axp2585.h
├── axp.c
├── axp_twi.c
├── ffs.h
├── Kconfig
├── Makefile
├── sun20iw2p1
│ ├── core.c
└── type.h
  • axp2585.c: AXP2585 驅(qū)動。
  • axp.c: AXP 框架API 接口
  • axp_twi.c: 初始化以及I2C 接口。
  • sun20iw2p1: R128 配置以及總初始化接口。

PMU 常用功能

驅(qū)動初始化

mrtos_menuconfig 中已經(jīng)選上了該設(shè)備,并且 sys_config.fex 中也配置完成,那么系統(tǒng)加載時就已經(jīng)自動將 PMU 驅(qū)動加載完成,無需軟件工程師再進行初始化。

初始化成功的 log 可如下所示:

axp2585 chip version C !
axp2585 chip id detect 0x49 !
current limit not set: usb adapter type
axp2585 init finished !

若是沒有打印上述的打印 log 信息,可能是 PMU 驅(qū)動加載失敗了,可以從 sys_config.fex 配置中確認是否有配置漏配置了,或者是從 I2C 方向去排查,確認I2C 通信是正常的。

AXP 接口使用

PMU 驅(qū)動有一個統(tǒng)一的驅(qū)動入口,初始化和一些功能接口,都是由AXP 驅(qū)動統(tǒng)一管理的。具體請參照 [PMU]章節(jié)的說明。

電源管理應(yīng)用healthd

healthd 是一個電源管理的應(yīng)用,主要功能為:檢測電池電量、設(shè)置充電電流、電量變低警報、電壓過低關(guān)機、電池溫度過高過度保護等等。

應(yīng)用配置方法:

? > System components
	? > aw components
		[*] healthd for axp

應(yīng)用源碼路徑為:

lichee/rtos/components/aw/healthd/healthd.c

healthd 用法

開啟應(yīng)用

應(yīng)用在默認SDK 中并不會啟動,在系統(tǒng)啟動之后,需要手動輸入:

healthd

然后就開啟了電池管理應(yīng)用了。開啟了之后,就會啟動了電量變低警報、電壓過低關(guān)機、電池溫度過高過度保護的功能。

獲取電池電量

運行命令:

healthd_get_capacity
設(shè)置充電電流

運行命令:

healthd_set_chgcur 1500

命令的后綴為充電電流大小,單位為mA,范圍為0~3072mA。

審核編輯 黃宇

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

    關(guān)注

    146

    文章

    17718

    瀏覽量

    358201
  • 電源管理
    +關(guān)注

    關(guān)注

    116

    文章

    6346

    瀏覽量

    145631
  • PMU
    PMU
    +關(guān)注

    關(guān)注

    1

    文章

    117

    瀏覽量

    22020
  • R128
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    223
收藏 人收藏

    評論

    相關(guān)推薦

    深度解析:Air8201如何使用LuatOS進行電源管理功能!

    在物聯(lián)網(wǎng)應(yīng)用場景中,設(shè)備續(xù)航能力直接影響其部署成本與運維效率。Air8201作為新一代低功耗物聯(lián)網(wǎng)通信模塊,其硬件架構(gòu)已內(nèi)置多種電源管理單元(PMU),但僅依靠硬件優(yōu)化難以滿足復(fù)雜場景的動態(tài)功耗需求
    的頭像 發(fā)表于 03-25 18:23 ?1317次閱讀
    深度解析:Air8201如何使用LuatOS進行<b class='flag-5'>電源</b><b class='flag-5'>管理</b>功能!

    FD60-36S24B3R2 FD60-36S24B3R2

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)FD60-36S24B3R2相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有FD60-36S24B3R2的引腳圖、接線圖、封裝手冊、中文資料、英文資料,F(xiàn)D60-36S24B3R2真值表,
    發(fā)表于 03-21 18:33
    FD60-36<b class='flag-5'>S24B3R2</b> FD60-36<b class='flag-5'>S24B3R2</b>

    PFD50-36S24B3R2 PFD50-36S24B3R2

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)PFD50-36S24B3R2相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有PFD50-36S24B3R2的引腳圖、接線圖、封裝手冊、中文資料、英文資料,PFD50-36S24B3R2
    發(fā)表于 03-21 18:31
    PFD50-36<b class='flag-5'>S24B3R2</b> PFD50-36<b class='flag-5'>S24B3R2</b>

    FD50-36S24B3(R)2 FD50-36S24B3(R)2

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)FD50-36S24B3(R)2相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有FD50-36S24B3(R
    發(fā)表于 03-21 18:31
    FD50-36<b class='flag-5'>S</b>24B3(<b class='flag-5'>R</b>)<b class='flag-5'>2</b> FD50-36<b class='flag-5'>S</b>24B3(<b class='flag-5'>R</b>)<b class='flag-5'>2</b>

    PMU電源管理芯片CN8911B適用于超級電容備電的電源系統(tǒng)

    PMU電源管理芯片CN8911B適用于超級電容備電的電源系統(tǒng)
    的頭像 發(fā)表于 01-23 09:11 ?379次閱讀
    <b class='flag-5'>PMU</b><b class='flag-5'>電源</b><b class='flag-5'>管理</b>芯片CN8911B適用于超級電容備電的<b class='flag-5'>電源</b>系統(tǒng)

    ADC128S102EVM評估模塊

    電子發(fā)燒友網(wǎng)站提供《ADC128S102EVM評估模塊.pdf》資料免費下載
    發(fā)表于 12-05 14:22 ?1次下載
    ADC<b class='flag-5'>128S</b>102EVM評估模塊

    芯片設(shè)計進階之SOC電源管理系統(tǒng)介紹

    被分為多個電源域,不同的電源域可以獨立的上下電。 為了滿足SOC對電源的需要,SOC內(nèi)部一般會集成一個專門的電源管理單元(Power Mag
    的頭像 發(fā)表于 11-16 09:24 ?2342次閱讀
    芯片設(shè)計進階之SOC<b class='flag-5'>電源</b><b class='flag-5'>管理</b>系統(tǒng)介紹

    pmu電源管理單元設(shè)計遇到的問題

    在設(shè)計PMU電源管理單元)電源管理單元時,可能會遇到一系列技術(shù)挑戰(zhàn)和問題。這些問題涵蓋了從電路設(shè)計、布局布線、電磁兼容性(EMC)到熱
    的頭像 發(fā)表于 09-23 09:59 ?657次閱讀

    pmu電源管理芯片和DCDC區(qū)別

    電源管理芯片(Power Management Unit, PMU)和直流-直流轉(zhuǎn)換器(DC-DC Converter)是電子系統(tǒng)中用于電源管理
    的頭像 發(fā)表于 09-23 09:56 ?2494次閱讀

    實現(xiàn)高效供電,PMU成便攜式儲能中的關(guān)鍵

    設(shè)備的充電需求。 ? 但想要多種接口同時工作,并且還能安全穩(wěn)定的運行,則離不開PMU。在便攜式儲能設(shè)備中,PMU(Power Management Unit,電源管理單元)是一種高度集
    的頭像 發(fā)表于 09-11 01:16 ?4171次閱讀

    【GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(11)PMU 模塊介紹

    PMU電源管理單元,它有三個電源域,包括VDD/VDDA域、1.1V/1.2V域和備份域。電源管理
    的頭像 發(fā)表于 08-20 09:42 ?1120次閱讀
    【GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(11)<b class='flag-5'>PMU</b> 模塊介紹

    ADC128S052、ADC128S052-Q1模數(shù)轉(zhuǎn)換器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ADC128S052、ADC128S052-Q1模數(shù)轉(zhuǎn)換器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-22 11:12 ?0次下載
    ADC<b class='flag-5'>128S</b>052、ADC<b class='flag-5'>128S</b>052-Q1模數(shù)轉(zhuǎn)換器數(shù)據(jù)表

    Si24R2E:2.4G有源智慧校園卡管理應(yīng)用方案推薦

    Si24R2E是一顆在2.4GHz ISM頻段工作的芯片,專門設(shè)計它為低功耗有源RFID應(yīng)用場合使用,而且集成嵌入式2.4GHz無線射頻發(fā)射模塊、128次可編程NVM存儲器模塊以及自動發(fā) 射控制器
    的頭像 發(fā)表于 06-11 15:42 ?565次閱讀
    Si24<b class='flag-5'>R2</b>E:2.4G有源智慧校園卡<b class='flag-5'>管理</b>應(yīng)用方案推薦

    PMU電源管理模塊如何精妙布局與高效供電?

    電源管理單元(PMU)作為便攜設(shè)備電源管理的集大成者,通過高度集成多種功能于緊湊封裝中,極大提升了系統(tǒng)效率與能效,順應(yīng)了微型化、高密PCB
    發(fā)表于 06-07 17:43

    PMU電源管理模塊如何精妙布局與高效供電?

    探索并應(yīng)用先進的PCB設(shè)計技術(shù)以增強PMU的可靠性,是應(yīng)對設(shè)計挑戰(zhàn)、促進設(shè)備性能躍升、延長產(chǎn)品壽命及滿足用戶期望的必由之路。
    的頭像 發(fā)表于 05-30 15:15 ?2337次閱讀
    <b class='flag-5'>PMU</b><b class='flag-5'>電源</b><b class='flag-5'>管理</b>模塊如何精妙布局與高效供電?