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

DS90UB913工作不正常

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使能)

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

       谢谢

Kailyn Chen:

确认两个问题;

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的几个寄存器配置发来看下。

yan fang:

回复 Kailyn Chen:

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,0×11,0x82);   //SCL high time ds90ub913_write_reg(client,0xB2>>1,0×12,0x82);   //SCL low time

      

RENPENG CAI:

回复 yan fang:

你好,能把ds90ub964_write_reg 和ds90ub913_write_reg函数定义发下参考一下吗,非常谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » DS90UB913工作不正常
分享到: 更多 (0)