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

ds90ub914访问不了ds90ub953的I2C问题

TI的专家们,你们好,

我现在遇到一个问题,就是在使用ds90ub914 – ds90ub953组合时,通过主控端无法访问到UB953的寄存器。一直找不到原因,状况如下:

对UB914A的设置如下:

UB914A_ReadByte(0xc6,0x06,&ID);//能够得到UB953的ID为0x30.

UB914A_WriteByte(0xc6,0x03,0xfd);

UB914A_WriteByte(0xc6,0x07,0x40); //953的ALIAS ID

UB914A_WriteByte(0xc6,0x01,0x04);

UB914A_ReadByte(0xc6,0x1F,&ID);//读到的值为0x04

UB914A_ReadByte(0xc6,0x1C,&ID);//读到的值为0x03

UB914A_ReadByte(0xc6,0x4C,&ID);//读到的值为0x00

对UB953进行读操作:

UB953_ReadByte(0x40,0x00,&ID);//读不到953的ID, 正常的话应该能够读到0x30

UB953_ReadByte(0x40,0x37,&ID);//读不到914A的ID, 正常的话应该能够读到0xc6

对UB914A如上的设置,SER端我换成913A或者933,I2C访问就是OK的。 请问针对953的话,有什么地方漏掉了,没有设置到吗? 谢谢。

Kailyn Chen:

您好,和您确认下应用,主控端接在UB914 端是吗?
也就是说现在主控端无法和UB953(remote serializer)进行通讯?
和remote Ser进行通讯的话,953的ID是自动加载到914的,然后需要再配置SerAlias ID就好,不需要再配置其他的了。

,

user6481281:

您好,感谢回复!
我们的架构是:主控接在914上的,目前自动加载到914中06寄存器里面的953的ID读取没有问题,也有设置了Ser Alias ID,就是上面的0x40.不过就是无法和UB953进行通讯。

,

Kailyn Chen:

那读取914的寄存器07的ser Alias ID 0X40能正常读取吗?lock 引脚是输出为高电平吗?先判断link是否没问题. 另外,读取914的寄存器0X22[7]看下是否BCC控制通道是否有报错?

我认为您这里读取到06寄存器的953的ID,说明link应该是没有问题的。

可以再检查下硬件方面。

,

user6481281:

谢谢!

对914A寄存器的读写是没有问题的,Alias ID设置成0x40后,再读取0x07,也是0x40.

LOCK引脚电平正常,为高电平,Link的部分看起来是没有问题的。

0x22 =0x00,说明没有error发生。

我也检查了914的0x1c = 0x03.看起来是正常的。

,

Kailyn Chen:

您好,lock为高,link正常,没有发生CRC或者其他error的话,这样看起来配置是没问题的。
sensor给数据的话,能得到正常的输出吗?

,

user6481281:

感谢!经过多番查证,电路上存在一些问题,目前已经解决了。

,

RUJIA ZHANG:

953的映射地址应该是0X20吧?0x40>>1

,

Kailyn Chen:

您好,楼主说的0x40 指的是寄存器地址0x40, 不是寄存器的值.
Address 0X40为SLAVE_ID.

,

RUJIA ZHANG:

你好,我最近正在调试913Q 914Q 遇到的问题和楼主相似
情况如下:mcu可正常读写914寄存器,从914寄存器中可以读出913的id,成功将913的 Alias ID设置为0xbc (913物理ID通过电阻设置为0Xba) 然后使用I2C 扫描在线设备发现913ID已被成功读到为0x5e,但直接对0x5e进行读写都没有回复,I2C总线监测也没有回包
PASS LOCK都常为高。0x06读出为0xba0x07读出为0xbc0x1c读出为0x130x22读出为00x1f读出为0x4
i2c_914.writeto_mem(0x60,0x03,b'\xfd') #设置913 914 i2c工作模式
i2c_914.writeto_mem(0x60, 0x07, b'\xbc') #配置913的映射地址

,

RUJIA ZHANG:

一样的现象,请问怎么解决的呢

赞(0)
未经允许不得转载:TI中文支持网 » ds90ub914访问不了ds90ub953的I2C问题
分享到: 更多 (0)