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

DS90UB913/DS90UB914 I2C通信问题

TI 工程师们,您好:

         用主机DZ60通过I2C配置DS90UB914,从而配置DS90UB913,目前能通过I2C正常读写DS90UB914,914的IIC设备从地址是0xC0,913的IIC设备从地址是0xB0,设备别名也定义为0xB0;读取914的寄存器内容如下:

[TI914reg]
reg:0x00,Val:0x0areg:0x01,Val:0x04reg:0x02,Val:0x00reg:0x03,Val:0xe9reg:0x04,Val:0x00reg:0x05,Val:0x00reg:0x06,Val:0xb0reg:0x07,Val:0xb0reg:0x08,Val:0xbareg:0x09,Val:0x00reg:0x0a,Val:0x00reg:0x0b,Val:0x00reg:0x0c,Val:0x00reg:0x0d,Val:0x00reg:0x0e,Val:0x00reg:0x0f,Val:0x00reg:0x10,Val:0xbareg:0x11,Val:0x00reg:0x12,Val:0x00reg:0x13,Val:0x00reg:0x14,Val:0x00reg:0x15,Val:0x00reg:0x16,Val:0x00reg:0x17,Val:0x00reg:0x18,Val:0x00reg:0x19,Val:0x01reg:0x1a,Val:0x00reg:0x1b,Val:0x00reg:0x1c,Val:0x02
reg:0x1d,Val:0x33reg:0x1e,Val:0x33reg:0x1f,Val:0x08reg:0x20,Val:0xfereg:0x21,Val:0x17reg:0x22,Val:0x00reg:0x23,Val:0x00reg:0x24,Val:0x08reg:0x25,Val:0x00reg:0x26,Val:0x00reg:0x27,Val:0x00reg:0x28,Val:0x00reg:0x29,Val:0x20reg:0x2a,Val:0x00reg:0x2b,Val:0x00reg:0x2c,Val:0x00reg:0x2d,Val:0x08reg:0x2e,Val:0x00reg:0x2f,Val:0x00reg:0x30,Val:0x00reg:0x31,Val:0x00reg:0x32,Val:0x00reg:0x33,Val:0x25reg:0x34,Val:0xfareg:0x35,Val:0x00reg:0x36,Val:0x00reg:0x37,Val:0x00reg:0x38,Val:0x00reg:0x39,Val:0x00reg:0x3a,Val:0x18reg:0x3b,Val:0x60reg:0x3c,Val:0x00reg:0x3d,Val:0x00reg:0x3e,Val:0x00reg:0x3f,Val:0x10reg:0x40,Val:0x82reg:0x41,Val:0x82reg:0x42,Val:0x00reg:0x43,Val:0x35reg:0x44,Val:0x00reg:0x45,Val:0x00reg:0x46,Val:0x00reg:0x47,Val:0x00reg:0x48,Val:0x00reg:0x49,Val:0x08reg:0x4a,Val:0x00reg:0x4b,Val:0x00reg:0x4c,Val:0x00reg:0x4d,Val:0x20reg:0x4e,Val:0x00

从914寄存器内容可以看到,0x06寄存器内容是913的IIC从地址,但是0x1C寄存器中LOCK信号为低,不知道这样是否证明913与914的连接是正常的?而且无法正常读写913寄存器,在此请问对DS90UB913进行读写该如何操作,具体读写寄存器流程是什么样的呢?谢谢!

我的913读写过程如下:

通过914写913的寄存器:start->B0->data->stop

通过914读913的寄存器:start->B0->reg->stop->start->B1->data->stop

不知道我这样操作有什么问题,请看到的各路大神指点一下,谢谢!

Kailyn Chen:

如果需要证明913和914之间的连接是否正常,可以直接采用BIST诊断,判断pass为高还是低。所以在配置寄存器之前可以先做下BIST诊断从而判断link是否正常。
关于host到914写寄存器的时序, 您这里好像是不对的,还需要配置SER Alias。 您参考下这篇应用手册看是否对您有所帮助:www.ti.com/…/snla222.pdf

如有其他帮助,请随时讨论。

user5396989:

回复 Kailyn Chen:

问题1:
reg:0x06,Val:0xb0
reg:0x07,Val:0xb0
我已经设置了SER Alias(913设备别名0x07寄存器的值就是SER Alias),下面是host读写913的时序,设置SER Alias的地址与913实际IIC设备从地址一样,都是0xB0,下面整体读写913寄存器的时序应该没有问题,我想确认一下设置好SER Alias以后,913的写地址是0xB0,读地址是0xB1,按照常规IIC设备一样进行读写?
问题2:
现在914的0x1C寄存器值时而为0时而为2时而为7,lock状态一直在变,这种现象是表明link不稳定?

赞(0)
未经允许不得转载:TI中文支持网 » DS90UB913/DS90UB914 I2C通信问题
分享到: 更多 (0)