微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > DS90UB913工作不正常

DS90UB913工作不正常

时间:10-02 整理:3721RD 点击:

Ti 工程师,

      您们好,

      我的开发环境是这样的, sensor+913+964+MCU,

      MCU可以通过964、913配置sensor,但是只要给sensor使能(sensor有个寄存器配置power on)之后,MCU就不能通过I2C配置913和sensor了,

报NACK错误,像是感觉913工作不正常了。 如果我把sensor连接到913的 data lines,PCLK,HSYNC,VSYNC断开,无论怎么配sensor(包括给sensor使能)

都不会报错。请问这是什么原因呢

       谢谢

确认两个问题;

Q:sensor使能(sensor有个寄存器配置power on)之后,MCU就不能通过I2C配置913和sensor了,报NACK。像是感觉913工作不正常了。

A:这句的意思是说,MCU无法通过I2C和913通讯了,您的意思是因为将sensor使能导致的。sensor disable之后,913和MCU I2C时序正常?

Q:如果我把sensor连接到913的 data lines,PCLK,HSYNC,VSYNC断开,无论怎么配sensor(包括给sensor使能)都不会报错。请问这是什么原因呢

A: sensor和913断开了,这里的不会报错指的还是913吗?

能否把I2C的几个寄存器配置发来看下。

hi Kailyn,

       谢谢你的回复,

       A1:  sensor使能之后,再对913 和 sensor 进行I2C读写都不成功,所以也无法再disable sensor了,不过这个情况下我通过gpio引脚复位sensor之后,913和sensor

又可以正常读写了 , 这应该相当于sensor disable后,通讯恢复正常

     A2:  指913 和 sensor 都能正常通讯,(sensor i2 还连着 913, 只是pclk,hsync和数据线断开)

因为MCU的速率是100kbits,所以都是采用默认的配置


ds90ub964_read_reg(client,0x5b,&i2c_913_addr);
printk("913 i2c addr = 0x%x\n",i2c_913_addr);

ds90ub964_write_reg(client,0x4c,0x01); //select RX0 for RW
ds90ub964_write_reg(client,0x58,0x58);
ds90ub964_write_reg(client,0x5c,0xB2);  //  913 addr
ds90ub964_write_reg(client,0x4c,0x01); //select RX0 for RW
ds90ub964_write_reg(client,0x58,0x58);
ds90ub964_write_reg(client,0x5c,0xB2); // serial ID
ds90ub964_write_reg(client,0x5d,0x78); //slave id addr
ds90ub964_write_reg(client,0x65,0x78); //slave alias addr

//B2  913 i2c  addr

ds90ub913_write_reg(client,0xB2>>1,0x11,0x82);   //SCL high time
ds90ub913_write_reg(client,0xB2>>1,0x12,0x82);   //SCL low time

      

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top