国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品
立即注冊
登錄
電子工程網
新聞
新品
文章
下載
視頻
工具
論壇
研討會
空間
書白的個人空間
http://m.qingdxww.cn/space-uid-134862.html
[收藏]
[復制]
[RSS]
空間首頁
博客
主題
留言板
個人資料
論壇
BBS
我的空間
好友
帖子
收藏
道具
勛章
任務
博客
嵌入式開發-迅為4412開發板怎么修改電源管理芯片的輸出電壓?
已有 1834 次閱讀
2017-4-17 09:24
|
嵌入式開發板
,
迅為4412開發板
iTOP-4412開發板的核心板使用的電源管理芯片是三星專門針對4412研發的S5M8767,S5M8767提供9路BUCK和28路LDO輸出,每路電壓的大小可以通過軟件進行設置。
詳情了解:
http://topeetboard.com
更多了解:
https://arm-board.taobao.com
S5M8767的驅動位于內核的drivers/regulator/s5m8767.c文件中,Exynos 4412處理器是通過I2C總線來控制S5M8767的。S5M8767在系統啟動的過程中會注冊到內核里面的regulator模塊里面。
regulator模塊是內核用于控制系統中某些設備的電壓/電流供應,在嵌入式系統(尤其是手持設備)中,控制耗電量很重要,它直接影響到電池的續航時間。所以,如果系統中某一個模塊暫時不使用,就可以通過regulator關閉其電源;或者降低提供給該模塊的電壓、電流大小來達到降低功耗的目的。 S5M8767驅動的主要作用就是調用regulator_register函數向內核注冊regulator_dev設備,每個regulator_dev代表一個regulator設備,內核可以分別控制每個regulator。
為了實現S5m8767驅動還需要在平臺相關的代碼里定義regulator_init_data結構,regulator_init_data用來建立父子regulator、受電模塊之間的樹狀結構,以及一些regulator的基本信息,比如電壓大小等,下面我們來看下regulator_init_data結構的定義,代碼在arch/arm/mach-exynos/mach-itop4412.c里面,在這個文件里使用宏REGULATOR_INIT定義了28個LDO的regulator_init_data結構,代碼如下: #define REGULATOR_INIT(_ldo, _name, _min_uV, _max_uV, _always_on, _ops_mask,\
_disabled) \
static struct regulator_init_data s5m8767_##_ldo##_init_data = { \
.constraints = { \
.name = _name, \
.min_uV = _min_uV, \
.max_uV = _max_uV, \
.boot_on = _always_on, \
.apply_uV = 1, \
.valid_ops_mask = _ops_mask, \
.state_mem = { \
.disabled = _disabled, \
.enabled = !(_disabled), \
} \
}, \
.num_consumer_supplies = ARRAY_SIZE(s5m8767_##_ldo##_supply), \
.consumer_supplies = &s5m8767_##_ldo##_supply[0], \
}
上面的宏定義中,第三個和第四個參數指定了LDO的電壓最小值和最大值,第五個參數設置LDO在系統開始運行時是輸出還是關閉的(1是輸出,0是關閉)。
第六個參數是LDO具有哪些功能,例如可以修改電壓,電流,改變狀態等等,通過位掩碼的方式設置,第七個參數是設置在休眠的時候是否由PWREN引腳控制它的開關(1是由PWREN控制,0是不受PWREN控制),休眠的時候PWREN為低電平,LDO會關閉,系統喚醒,PWREN為高電平,LDO會輸出。
例如LDO2的定義,如下:
REGULATOR_INIT(ldo2, "VDDQ_M12", 1500000, 1500000, 1,
REGULATOR_CHANGE_STATUS, 1)
根據定義,可以知道LDO2輸出的電壓是1.5v,系統啟動的時候會默認輸出,系統休眠的時候會關閉。其他的LDO的設置原理與LDO2是一樣的。
系統中BUCK的定義,例如BUCK1:
static struct regulator_init_data s5m8767_buck1_data = {
.constraints = {
.name = "vdd_mif range",
.min_uV = 900000,
.max_uV = 1100000,
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE |
REGULATOR_CHANGE_STATUS,
.state_mem = {
.disabled = 1,
},
},
.num_consumer_supplies = 1,
.consumer_supplies = &s5m8767_buck1_consumer,
};
根據上面的定義,可以知道BUCK1的電壓范圍在0.9v到1.1v,他具有可以修改電壓,修改狀態的功能(變量valid_ops_mask)。可以使用函數regulator_set_voltage修改BUCK1的電壓。其他幾個BUCK的定義原理和BUCK1是一樣的
如果我們想要修改8767的某個LDO的輸出電壓,就可以通過修改對應LDO的regulator_init_data結構體里面的電壓值來實現,修改BUCK的電壓可以使用函數regulator_set_voltage來實現。
注意:因為S5M8767的每個BUCK和LDO都有各自規定的輸出最大值,因此在修改輸出電壓的時候,一定要參照S5M8767的datasheet,確保修改的電壓在datasheet規定的范圍內。
路過
雞蛋
鮮花
握手
雷人
收藏
邀請
舉報
全部
作者的其他最新博客
•
迅為i.MX6Q開發板-QT鼠標和觸摸的問題解決方案
•
迅為4412開發板(全能版)V_4.0 ubuntu 在Android4.4.4的內核下移植wifi
•
學習嵌入式-迅為4412開發板的GPIO是怎么操作的?
•
嵌入式-迅為iTOP-4418/6818開發板編譯Android鏡像教程分享
•
人機界面HMI 迅為iTOP-HMI043觸摸屏一體機 4寸工業平板電腦
評論 (
0
個評論)
您需要登錄后才可以評論
登錄
|
立即注冊
評論
書白
加為好友
給我留言
打個招呼
發送消息
關于我們
-
服務條款
-
使用指南
-
站點地圖
-
友情鏈接
-
聯系我們
電子工程網
© 版權所有
京ICP備16069177號
| 京公網安備11010502021702
返回頂部
主站蜘蛛池模板:
天天舔天天操天天干
|
亚洲aⅴ在线
|
精品一区二区三区免费视频
|
在线亚洲+欧美+日本专区
|
欧美日韩精品在线
|
tom影院亚洲国产日本一区
|
91精品婷婷国产综合久久8
|
2018精品国产一区二区
|
国产精品精品
|
在线毛片一区二区不卡视频
|
国产精品国产三级国产专区不
|
国产区在线看
|
久久机热一这里只精品
|
簧片免费视频
|
日本视频在线观看
|
性色aⅴ闺蜜一区二区三区 性色a v 一区
|
日韩有码在线播放
|
国产精品一区二区国产
|
视频一区 精品自拍
|
亚洲欧美综合久久
|
中文字幕一区在线
|
欧美啪视频
|
成年女人午夜毛片免费看
|
天天插一插
|
日韩三级一区二区三区
|
日本精品视频一区二区
|
四虎影视永久免费观看地址
|
欧美一级黑人片
|
国产成人午夜性a一级毛片 国产成人午夜视频
|
亚洲综合久
|
中文在线亚洲
|
久久嫩草影院免费看夜色
|
华人91视频
|
一级a毛片免费观看久久精品
|
91精品视频在线免费观看
|
97se狠狠狠狠狠亚洲综合网
|
五月婷婷综合网
|
亚洲国产精品欧美日韩一区二区
|
久久小视频
|
春日迟迟再出发综艺在线观看免费
|
精品欧美一区二区在线看片
|