国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

迅為4412開(kāi)發(fā)板-驅(qū)動(dòng)-電源管理芯片S5M8767修改輸出例程

發(fā)布時(shí)間:2020-10-27 10:33    發(fā)布者:落風(fēng)
關(guān)鍵詞: 迅為 , 4412 , 開(kāi)發(fā)板
本文檔介紹,如何修改和控制 S5M8767,以 camera 擴(kuò)展端子的 VDD28_AF,VDD28_CAM 為例,來(lái)具體介紹驅(qū)動(dòng)中如何實(shí)現(xiàn)電源修改和控制。
另外還有一個(gè)文檔“iTOP-4412-驅(qū)動(dòng)-電源管理芯片修改輸出電壓”,用戶(hù)可以在技術(shù)支持群中搜到,其中涉及到具體結(jié)構(gòu)的分析,也很有參考價(jià)值。
本文檔以具體的驅(qū)動(dòng)小例程介紹在已經(jīng)配置好的源碼中做修改,用戶(hù)可以將其集成到自己的驅(qū)動(dòng)中,也提供了驅(qū)動(dòng)測(cè)試?yán)虊嚎s包“power_s5m8767a.tar.gz”。
1. 硬件分析
1.1 原理圖分析
如下圖所示,在底板原理圖中找到 camera 擴(kuò)展端子,這里以 VDD28_AF,VDD28_CAM 為例。camera 攝像頭驅(qū)動(dòng)中需要將其設(shè)置為 2.8v 的電壓,后面我們將其修改為 3.3v 輸出(需要去掉 camera 攝像頭驅(qū)動(dòng))。

如下圖所示,核心板原理圖中搜索網(wǎng)絡(luò)“VDD28_AF”和“VDD28_CAM”。可以看到“VDD28_AF”和“VDD28_CAM”分別對(duì)應(yīng)電源芯片 S5M8767A 的“VLDO20”和“VLDO21”。

1.2 電源芯片 S5M8767A 的 datasheet 分析
S5M8767A 的 datasheet 的 2.3.1 小節(jié),如下圖所示。

如上圖所示,注意紅框中的內(nèi)容。最上面的紅框中,表示輸出的電流是 150mA,最低輸出電壓是 0.8v,最大電壓是 3.95v。下面紅框中,介紹的是默認(rèn)輸出電壓,可以看到 LDO20和 LDO21,默認(rèn)輸出的是 3.0v。
2. 軟件
如果要改變輸出電壓,可以通過(guò)修改平臺(tái)文件實(shí)現(xiàn);在驅(qū)動(dòng)中,可以通過(guò)函數(shù)調(diào)用,控制電源輸出。
通過(guò)前面的分析可知,ldo21 和 ldo20 輸出電流范圍是 0.8v 到 3.95v。
2.1 平臺(tái)文件修改輸出電壓
在內(nèi)核的“arch/arm/mach-exynos/mach-itop4412.c”文件中,如下圖所示進(jìn)行修改。

將REGULATOR_INIT(ldo20, "VDD28_CAM", 2800000, 2800000, 0,REGULATOR_CHANGE_STATUS, 1);
注釋掉,修改為 2800000,為 3950000(函數(shù) REGULATOR_INIT 中的第一個(gè)參數(shù)表示8767 電源芯片的第 20 路,第三個(gè)參數(shù)表示輸出最低電壓,第四個(gè)參數(shù)表示輸出最高電壓)。這里設(shè)置為最低和最高全部為 3.95v。同理,我們將第 21 路也修改為 3950000,如上圖所示。
接著在 menuconfig 中,將 ov5640 攝像頭的驅(qū)動(dòng)去掉,因?yàn)樵跀z像頭中會(huì)初始化和配置。ov5640 攝像頭攝像頭的配置路徑如下圖所示。下面截圖是已經(jīng)去掉的截圖,默認(rèn)缺省文件是配置上的。

2.2 驅(qū)動(dòng)例程
驅(qū)動(dòng)例程“power_s5m8767a.tar.gz”和文檔在同一壓縮包中。
編寫(xiě)一個(gè)簡(jiǎn)單的驅(qū)動(dòng)測(cè)試程序,源碼如下所示。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
struct regulator *ov_vddaf_cam_regulator = NULL;
struct regulator *ov_vdd5m_cam_regulator = NULL;
struct regulator *ov_vdd18_cam_regulator = NULL;
struct regulator *ov_vdd28_cam_regulator = NULL;
MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("iTOPEET_dz");
static int power(int flag)
{
if(1 == flag){
regulator_enable(ov_vdd18_cam_regulator);
udelay(10);
regulator_enable(ov_vdd28_cam_regulator);
udelay(10);
regulator_enable(ov_vdd5m_cam_regulator); //DOVDD DVDD 1.8v
udelay(10);
regulator_enable(ov_vddaf_cam_regulator); //AVDD 2.8v
udelay(10);
}
else if(0 == flag){
regulator_disable(ov_vdd18_cam_regulator);
udelay(10);
regulator_disable(ov_vdd28_cam_regulator);
udelay(10);
regulator_disable(ov_vdd5m_cam_regulator);
udelay(10);
regulator_disable(ov_vddaf_cam_regulator);
udelay(10);
}
return 0 ;
}
static void power_init(void)
{
int ret;
ov_vdd18_cam_regulator = regulator_get(NULL, "vdd18_cam");
if (IS_ERR(ov_vdd18_cam_regulator)) {
printk("%s: failed to get %s\n", __func__, "vdd18_cam");
ret = -ENODEV;
goto err_regulator;
}
ov_vdd28_cam_regulator = regulator_get(NULL, "vdda28_2m");
if (IS_ERR(ov_vdd28_cam_regulator)) {
printk("%s: failed to get %s\n", __func__, "vdda28_2m");
ret = -ENODEV;
goto err_regulator;
}
ov_vddaf_cam_regulator = regulator_get(NULL, "vdd28_af");
if (IS_ERR(ov_vddaf_cam_regulator)) {
printk("%s: failed to get %s\n", __func__, "vdd28_af");
ret = -ENODEV;
goto err_regulator;
}
ov_vdd5m_cam_regulator = regulator_get(NULL, "vdd28_cam");
if (IS_ERR(ov_vdd5m_cam_regulator)) {
printk("%s: failed to get %s\n", __func__, "vdd28_cam");
ret = -ENODEV;
goto err_regulator;
}
err_regulator:
regulator_put(ov_vddaf_cam_regulator);
regulator_put(ov_vdd5m_cam_regulator);
regulator_put(ov_vdd18_cam_regulator);
regulator_put(ov_vdd28_cam_regulator);
}
static int hello_init(void)
{
power_init();
power(1);
printk(KERN_EMERG "Hello World enter!\n");
return 0;
}
static void hello_exit(void)
{
power(0);
printk(KERN_EMERG "Hello world exit!\n");
}
module_init(hello_init);
module_exit(hello_exit);
Makefile 如下所示。
#!/bin/bash
obj-m += power_s5m8767a_test.o
KDIR := /home/topeet/android4.0/iTop4412_Kernel_3.0
PWD ?= $(shell pwd)
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -rf *.o modules.order *.ko *mod.c Module.symvers
使用 make 命令編譯驅(qū)動(dòng)模塊,如下圖所示。

3. 測(cè)試
如下圖所示,加載驅(qū)動(dòng)之后,測(cè)量電壓大約為 2.85 左右(有壓降),卸載驅(qū)動(dòng)之后,電
壓為 0。說(shuō)明驅(qū)動(dòng)運(yùn)行成功,用戶(hù)在自己的項(xiàng)目中,假如需要用到電源控制,可以參考本例程
來(lái)實(shí)現(xiàn)。

對(duì)于初學(xué)者來(lái)說(shuō),選擇一款合適的開(kāi)發(fā)板非常重要!
迅為給出了明確的學(xué)習(xí)路線(xiàn),首先,你需要研讀一下這個(gè)視頻教程:
嵌入式學(xué)習(xí)方法篇:https://www.bilibili.com/video/BV1HE411w7by?p=1
然后,需要學(xué)習(xí)一下Linux的系統(tǒng)框架: https://www.bilibili.com/video/BV1HE411w7by?p=2
接下來(lái)可以做一些實(shí)踐了,比如編譯系統(tǒng)的安裝、編譯以及燒寫(xiě);這些可以按照迅為的視頻教程來(lái)學(xué)習(xí),也可以參考多達(dá)2300頁(yè)的用戶(hù)使用手冊(cè)。
入門(mén)篇:https://www.bilibili.com/video/B ... 7086078002054549963
另外,迅為提供了廣受贊譽(yù)的QT入門(mén)教程:  
QT學(xué)習(xí)篇:https://www.bilibili.com/video/B ... 7086078002054549963
接下來(lái)可以學(xué)習(xí)一下驅(qū)動(dòng)相關(guān)技術(shù):  
Linux驅(qū)動(dòng)專(zhuān)題:https://www.bilibili.com/video/B ... 2661886997282795316
再往下是非常接地氣的實(shí)戰(zhàn)教程:
機(jī)車(chē)導(dǎo)航項(xiàng)目:https://www.bilibili.com/video/B ... 7086078002054549963
云服務(wù)器智能家居:https://www.bilibili.com/video/B ... 7086078002054549963
按這樣的路線(xiàn)圖學(xué)下來(lái),在迅為強(qiáng)大售后的幫助下,相信你很快跨入嵌入式開(kāi)發(fā)的大門(mén)!

本文地址:http://m.qingdxww.cn/thread-606889-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專(zhuān)區(qū)
  • PIC32CK SG單片機(jī)——輕松滿(mǎn)足新型網(wǎng)絡(luò)安全要求
  • dsPIC® DSC:攻克各種觸摸傳感挑戰(zhàn)的電容式觸摸解決方案
  • 探索PIC16F13145 MCU系列——快速概覽
  • PIC32CM LS60 Curiosity Pro評(píng)估工具包
  • 貿(mào)澤電子(Mouser)專(zhuān)區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲免费色| 欧美日韩在线播放一区二区三区| 四虎国产永久在线观看| 欧美成人精品一区二区| 色噜噜狠狠色综合欧洲| 色涩综合| 特级做a爰片毛片免费看一区| 日韩不卡一区二区三区| 亚洲精品成人中文网| 天天操天天干天天干| 欧美色久| 四虎国产精品免费入口| 欧日韩在线不卡视频| 色偷偷亚洲天堂| 亚洲 国产精品 日韩| 三级免费网址| 亚洲性综合| 亚洲狠狠综合久久| 日本黄色影片在线观看| 亚洲欧美精品一中文字幕| 日本免费黄网| 亚洲欧洲日韩国产一区二区三区| 欧美成年性色mmm| 亚洲女同精品中文字幕| 欧美乱子伦videos| 亚洲国产99在线精品一区69堂| 亚洲成a人片8888kkkk| 视频在线观看一区| 亚洲精品69| 青草青在线视频| 欧美大陆| 午夜美女写真福利写视频| 欧美在线a级高清| 欧洲激情网站| 一本色道久久综合亚洲精品高清| 欧美成人精品| 青青操网| 亚洲精品资源| 欧美激情区| 香蕉99| 亚洲依依成人综合在线网址|