Part Number:PGA900Other Parts Discussed in Thread: PGA305
我想实现多块PGA900连接至同一I2C总线,由于PGA900在I2C通信始终作为从机,我应该如何查询每一个PGA900作为从机的地址以及如何配置地址?
Kailyn Chen:
您好, 因为我目前手头上暂时没有完整的PGA900的数据手册, 参考PGA305的. 看下Table5:可以看到,引脚I2CADDR的高低电平决定了I2C 的从机地址,比如如果I2CADDR=0,那么从机地址有可能为0X40,0X42,0X45.然后再通过它的memory page, i_page_address 来决定具体的IC地址是哪一个.
,
GibsonR8:
那以上面那个表为例,PGA305最多可以配置为6种不同地址,如果I2C总线上超过6个作为从机的PGA305,地址就不够用了是吗?
“然后再通过它的memory page, i_page_address 来决定具体的IC地址是哪一个.”这句话能再详细说明一下吗?我理解这句话的意思是不是通过对某一寄存器写入特定的数值来确定I2C地址,这个是具体如何操作的?
,
GibsonR8:
手册里这句话意思不应该是通过I2C地址来确定哪个内存页被引用吗?与您解释的意思似乎是相反的。
,
Kailyn Chen:
您好, 最多可以配置6种不同的地址,就说明总线上最多只能挂接6个PGA设备,超过6个是不允许的.
不论是PGA305的Table5还是PGA900的Table 10, 首先通过引脚I2CADDR或者CSN的高低电平决定了几个不同的地址,然后具体的哪个地址又对应了memory page,所以可能我的解释造成了误解, 比如我们以PGA 305为例,如果I2CADDR=0,那么I2C从机地址可以是0x42,0x40和0x45. 如果我们写从机地址为0x40, 说明对应的memory page为COMPENSATION_CONTROL(DI Page Address: 0x0).