|
关于PXA270与电源芯片1586B的通信问题!
[复制链接]
小弟现在调试一块PXA270的板子,电源芯片用的的MAX1586B,通过PXA270的电源管理模块I2C总线与1586B通信。现在想要把PXA270的主频调高,查了下资料,核电压也要提高。1586B复位后输出V3=1.3V,也即核电压=1.3V。现在想把核电压提高到1.45V,通过PXA270的电源管理模块接口向1586B发送命令,使1586B的V3输出1.45V电压。该过程如下:
1.置CKEN(地址:0x41300004)的CKEN[15]=1,即使能电源管理I2C单元的时钟;
2.设置PVCR(地址:0x40f00040)=0x14,即1586B地址=0x14,Read Pointer=0;
3.设置PCMD0(地址:0x40f00080)=0x41E,即设置为单字节命令,LC=1,Command Data =0x1e,对应1586B的1.45V;
4.设置PCFR(地址:0x40f0001C)=0x40,即使能PI2C_EN,使PWR_SCL,PWR_SDA被PXA270的电源管理模块I2C总线驱动,而不管GPIO怎么配置这两个信号线;
5.设置协处理器CP14的C7(PWRMODE)=0x8,启动I2C命令发送:
mrc p14,0,r1,c7,c0,0
orr r1,r1, #0x8
mcr p14,0,r1,c7,c0,0
6.查询PVCR(地址:0x40f00040)的VCSA位,直到VCSA=0,表示电压改变命令发送结束,然后改变频率。
现在的问题是:
启动I2C命令发送后,即设置协处理器CP14的C7(PWRMODE)=0x8后,用示波器观察PWR_SCL,PWR_SDA,始终为低电平,没有观察到时钟和数据信号;另外,查询PVCR(地址:0x40f00040)的VCSA位,VCSA始终为1。
小弟绞尽脑汁不得其解,求高手指点小弟迷津,不甚感激!
|
|