阅读:1406回复:5
Samsung2440 IIC 驱动问题
哪位兄弟做过2440上的IIC控制器的控制,我现在在驱动中控制IIC寄存器进行IIC操作的时候会出现随机的错误,奇怪的不得了,从抓到的错误波形上来看,IIC控制器在发CLOCK脉冲的时候有的时候会被强制拉底一到两个脉冲,导致SLAVE检测不到正常的CLOCK脉冲,所以产生错误,难道系统会不定期的把IIC的CLOCK线拉低?这是什么原因啊?
|
|
沙发#
发布于:2007-08-31 11:50
IIC的DAT和CLOCK要加上拉,你加了没有
|
|
板凳#
发布于:2007-08-31 13:25
上拉电阻加了的,两边都已经加了。。。
|
|
地板#
发布于:2007-09-01 16:16
经过仔细抓IIC的波形,发现原因应该是CLOCK线上脉冲偶尔会被强制拉低一个或者两个脉冲,从而导致IIC的时序乱掉,大家帮忙分析一下什么可能导致这个问题呢?
|
|
地下室#
发布于:2007-09-01 16:50
可以把别的DRIVER都去掉,看看是不是别的设备启动以后对它有影响.
|
|
|
5楼#
发布于:2007-09-03 18:17
谢谢斑竹的提示,但是我后来仔细抓了好多错误的波形,我想不明白的是2440IIC控制器在出错的时候是少发了一到两个脉冲的,如果是发的时候被其他的模块拉低的话,那整个操作周期的时间应该是一定的,但是我发现少脉冲的时候操作时间居然也少了,感觉上是IIC控制器出错了。。。出错的时候一般都是CLOCK线上会被拉低一个半的脉冲宽度,也就是说在本来在应该有两个CLOCK脉冲的地方变成了只有一个半脉冲宽度的低电平。。。难道是2440的IIC控制器坏了?
|
|