yixin1851 发表于 2015-7-21 20:18:20

LPC54102 I2C速率慢问题求助

各位大侠,之前在网站发一个寻找I2C速率能达到3.4MHZ的MCU的帖子,如下:
http://www.amobbs.com/forum.php?mod=viewthread&tid=5624946

网友推荐用NXP的MCU,于是买了LPC54102的开发板来做评估,但是发现I2C的速度还不如STM32的速度。

发现的问题主要是,I2C的SCL上升时间过长,无法达到I2C的FM+模式的要求,而且速度太快之后SCL波形变成了三角波。

以下是初始化部分代码,使用的是LPCOpen库。设置的SCLLOW:SCLHIGH是2:1,速率设置为1MHZ,其余均是使用的默认的设置。
。void i2c0_init()

{

    uint32_t memSize, *devMem;

    ROM_I2CM_INIT_T i2cmInit;

    LPC_IOCON->PIO = 0x0781;

    LPC_IOCON->PIO = 0x0781;

    Chip_Clock_EnablePeriphClock(SYSCON_CLOCK_I2C0);

    Chip_SYSCON_PeriphReset(RESET_I2C0);

    memSize = ROM_I2CM_GetMemSize();

    if(memSize > sizeof(drvData))
    {

      while(1);

    }
    devMem = drvData;
    i2cmInit.pUserData = (void *) &done;

    i2cmInit.base = (uint32_t)LPC_I2C0;

    i2c0Handle = ROM_I2CM_Init(devMem, &i2cmInit);

    if (i2c0Handle == NULL) {

            while(1);
    }
    actualRate = ROM_I2CM_SetClockRate(i2c0Handle,Chip_Clock_GetAsyncSyscon_ClockRate(), 1000000);

    NVIC_EnableIRQ(I2C0_IRQn);
}

波形图片如下:


以上,请各位大侠指点一下。

yixin1851 发表于 2015-7-22 08:57:03

顶一下,有遇到这个问题的人吗?

liurangzhou 发表于 2015-7-23 22:01:02

这个芯片的价格怎么样?

yixin1851 发表于 2015-7-24 09:17:21

liurangzhou 发表于 2015-7-23 22:01
这个芯片的价格怎么样?

我目前只是买了个开发板评估,I2C速率没有解决,我也不会用它了。

yuyu87 发表于 2015-7-24 09:51:47

配置好了没?要配置IO为FM+模式
另外上拉电阻有了没?小一点,1K-3K左右,
时钟配置正确了没?

yixin1851 发表于 2015-7-24 13:07:48

yuyu87 发表于 2015-7-24 09:51
配置好了没?要配置IO为FM+模式
另外上拉电阻有了没?小一点,1K-3K左右,
时钟配置正确了没? ...

这些都设置OK了,而且还换了不同的模式,都不行。
页: [1]
查看完整版本: LPC54102 I2C速率慢问题求助