久久精品人妻一区二区蜜桃-欧美精品人妻一区二区免费视频-久久精品免费一区二区喷潮-久久精品中文闷骚内射-精品bbw-精品久久无码中文字幕-小小水蜜桃3视频高清在线观看-日韩免费一级aaa片毛太久-欧美激情肉欲高潮无码鲁大师-欧美影片一区二区三区-亚洲精品无码av无码专区一本,波多野吉衣一区二区三区在线观看,囯精品人妻无码一区二区三区99,包哟哟在线观看免费观看

產(chǎn)品分類

當前位置: 首頁 > 工業(yè)電子產(chǎn)品 > 其他電子產(chǎn)品 > 開發(fā)板,套件,編程器 > 開發(fā)板

類型分類:
科普知識
數(shù)據(jù)分類:
開發(fā)板

調(diào)節(jié)PMIC MMPF0100的輸出電壓

發(fā)布日期:2022-10-14 點擊率:62

MMPF0100是Freescale i.MX6Q SABRESD參考設(shè)計中使用的PMIC,集成了完善的系統(tǒng)級電源管理功能,簡化了系統(tǒng)設(shè)計,減少設(shè)計復雜性并節(jié)省物料成本。其優(yōu)化的性能架構(gòu)為消費電子、工業(yè)和汽車等應(yīng)用帶來更高的效率和更先進的功能。MMPF0100適合所有i.MX6應(yīng)用處理器,包括:i.MX6QuadPlus、i.MX6DualPlus、i.MX6SoloLite、i.MX6Solo、i.MX6DualLite、i.MX6Dual和i.MX6Quad。

MMPF0100-Block-Diagram

如果不是經(jīng)過特別仔細的調(diào)研,硬件工程師一定會忽略一個問題,i.MX6Q SABRESD參考設(shè)計中使用的MMPF0100NPEP是已編程的,即輸出電壓及上電時序已經(jīng)過調(diào)整。按照MMPF0100 Datasheet中所描述的,如下圖,MMPF0100F0EP才適配i.MX6 SABRESD參考設(shè)計。如果硬件工程師忽略這一問題,就會選用未編程的MMPF0100NPEP,并導致PMIC無法輸出正確的電壓值。

MMPF0100-Part-Number

配合 筆者手上的板卡,F(xiàn)0與NP影響最大的是SW2的輸出電壓,F(xiàn)0情況下SW2輸出電壓為3.3V,NP情況下SW2輸出電壓為3.0V,這足以引起板上某些器件工作異常。以筆者手上的板卡為例,WiFi芯片Qualcomm Atheros AR9582就存在不穩(wěn)定的情況。

MMPF0100-Compare

為了最大限度地改善這一情況,需要通過i.MX6調(diào)節(jié)MMPF0100輸出電壓值達到預期。通過一段時間的摸索,發(fā)現(xiàn)可以通過更改以下文件實現(xiàn):

ltib/rpm/BUILD/u-boot-2009.08/board/freescale/mx6q_sabresd/mx6q_sabresd.c

其中setup_pmic_voltages()函數(shù)用于調(diào)整MMPF0100的輸出電壓,原代碼中已經(jīng)具備調(diào)節(jié)VGEN3與VGEN5的能力,那么照葫蘆畫瓢,我將setup_pmic_voltages()變更為如下形式:

static int setup_pmic_voltages(void)
{
        unsigned char value, rev_id = 0 ;
        i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
        if (!i2c_probe(0x8)) {
                if (i2c_read(0x8, 0, 1, &value, 1)) {
                        printf("Read device ID error!n");
                        return -1;
                }
10                  if (i2c_read(0x8, 3, 1, &rev_id, 1)) {
11                          printf("Read Rev ID error!n");
12                          return -1;
13                  }
14                  printf("Found PFUZE100! deviceid=%x,revid=%xn", value, rev_id);
15                  /*For camera streaks issue,swap VGEN5 and VGEN3 to power camera.
16                  *sperate VDDHIGH_IN and camera 2.8V power supply, after switch:
17                  *VGEN5 for VDDHIGH_IN and increase to 3V to align with datasheet
18                  *VGEN3 for camera 2.8V power supply
19                  */
20                  /*increase VGEN3 from 2.5 to 2.8V*/
21                  if (i2c_read(0x8, 0x6e, 1, &value, 1)) {
22                          printf("Read VGEN3 error!n");
23                          return -1;
24                  }
25                  value &= ~0xf;
26                  value |= 0xa;
27                  if (i2c_write(0x8, 0x6e, 1, &value, 1)) {
28                          printf("Set VGEN3 error!n");
29                          return -1;
30                  }
31                  /*increase VGEN5 from 2.8 to 3V*/
32                  if (i2c_read(0x8, 0x70, 1, &value, 1)) {
33                          printf("Read VGEN5 error!n");
34                          return -1;
35                  }
36                  value &= ~0xf;
37                  value |= 0xc;
38                  if (i2c_write(0x8, 0x70, 1, &value, 1)) {
39                          printf("Set VGEN5 error!n");
40                          return -1;
41                  }
42                  //Modified by 筆者
43                  if (i2c_read(0x8, 0x35, 1, &value, 1)) {
44                          printf("Read SW2 error!n");
45                          return -1;
46                  }
47   
48                  value &= ~0x3f;
49                  value |= 0x32;
50                  if (i2c_write(0x8, 0x35, 1, &value, 1)) {
51                          printf("Set SW2 error!n");
52                          return -1;
53                  }
54   

編譯并下載u-boot至板卡中,發(fā)現(xiàn)SW2在u-boot啟動一段時間后,便可以輸出正確的3.3V,提高了系統(tǒng)穩(wěn)定性。

下一篇: PLC、DCS、FCS三大控

上一篇: TDD模式下Rx對Tx的影

推薦產(chǎn)品

更多