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

CDCEL949: 寄存器写不进去,读出来全是0x07

Part Number:CDCEL949Other Parts Discussed in Thread: CDCE925

使用I2C调试工具i2c-tools直接写入寄存器,命令为:i2cset -f -y 2 0x6c 0x02 0xb4,无法写入,读取寄存器值为0x07

Amy Luo:

您好,

ww ww 说:命令为:i2cset -f -y 2 0x6c 0x02 0xb4,

我不熟悉 i2c-tools工具,这个命令的含义是 0x6c 是设备地址,将0xb4 写入寄存器0x02 是吗?

但是 CDCEL949的I2C接口协议应该与您使用的 i2c-tools中的协议不兼容,因为它分Byte操作和Block操作,由 CommandCode控制,如下截图所示:

,

ww ww:

您好,这个命令的含义与您说的是一样的,i2c-tools工具写入操作默认为Byte操作,我也通过添加参数进行Block操作,结果都是无法写入,读出值为0X07。请问一下如何进行CommandCode控制,是有一个单独的寄存器进行写入吗?

,

ww ww:

我看到我们现在使用的Linux系统中已经编译进去了cdce925.c驱动,是否可以通过修改设备树来对输出时钟频率进行配置?

,

Amy Luo:

关于寄存器的读写建议您用示波器抓取I2C通信波形以确认操作过程是否有问题。

CommandCode 如截图中table 6定义,用最高位bit7来确定Byte操作还是Block操作,bit7=0的话是Block操作,bit7=1的话是Byte操作,剩余的[6:0]位是寄存器地址。

,

ww ww:

示波器抓取Byte操作的波形,发现最后没有收到ACK信号

,

Amy Luo:

没有收到ACK信号,可能是通信时序不对,也可能是通信波形上存在干扰,使得CDCEL949不能识别。

不知道您的问题是否已解决,如果没有的话,建议您附上通信波形以分析是哪里的问题。

赞(0)
未经允许不得转载:TI中文支持网 » CDCEL949: 寄存器写不进去,读出来全是0x07
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1