TI中文支持网
TI专业的中文技术问题搜集分享网站

6713 i2c ARDY含义

各位大神:

   请教个DSP6713 I2C的问题,望不吝赐教,先行感谢!

   DSP6713 I2C手册中33页描述了nonrepeat ,master-transimitter情况下的发送流程。如下,我理解的流程就是设置STT=1,STP=1,查询STR寄存器,如果没产生NACK,就判断ARDY是否为1(1表征可以写寄存器了,从而表征数据传送完成),如果为0,就判断是否可以继续向DXR写数。在ARDY为1时,发送完成,从而完成一次发送。不知道这一点我理解的对不对。

   

当我去查ARDY含义时,有些没读明白。下图红框处写出,“当STP=1时,ARDY是不被影响的,但当cnt计数到达零时,I2C模块会产生停止位”。它的含义是如果命令设置了stt=1,stp=1后,当cnt计数减为0后,ARDY会一直保持为1,不会被清零么,知道我再次启动发送,ARDY在发送过程中会变为0直至发送完成,是这个意思么?

另外,这段还描述当STP=0时,当cnt计数减为0时,ARDY会被值位,那么stp=1和stp=0时的ARDY表现是一致的,没有区别么?

还望赐教。

Shine:

对红框内的内容,我的理解是ARDY表示一个传输的结束,如果没有设置自动产生STOP位(STP=0),则需要将ARDY置位来表示一次传输结束。如果已经设置STOP位了(STP=1),则不需要ARDY位来表示一次传输结束,所以ARDY位不受影响。

user5157445:

回复 Shine:

谢谢您的回答。

那按照这样来理解的话,手册中给的发送流程图(上图)就不对了吧,流程图中命令寄存器中stp位是1,但后面又通过ardy位去判断传输执行完成没,是不是错了呢?

Shine:

回复 user5157445:

判断STP=1?, Yes的话,就退出流程了。

user5157445:

回复 Shine:

看流程图是只有在NACK为1,或者ARDY为1,才能走到判断stp=1的分支啊,如果设置mod时按照手册流程图描述0x2e20,那么ardy不会被置位啊,另外有没有相关的例程参考呢,谢谢。

Shine:

回复 user5157445:

可以参考下面帖子里的例程。
e2e.ti.com/…/73053

赞(0)
未经允许不得转载:TI中文支持网 » 6713 i2c ARDY含义
分享到: 更多 (0)