If one wanted to use multiple TCA8418 within a system, the device address must be unique. I see in the spec that there is a register which allows one to write to it and change the I2C slave address. If I'm interpreting the datasheet correct, it looks like the default is 0x69 during a read operation, but that doesn't make sense because there isn't a defined register.
I'm assuming you can reconfigure it since there isn't a fixed I2C address called out in the spec.
Thanks, in advance.
Scott,
I'm not sure whihc register you are referring to when you say that a register can be used to configure the address. THe TCA8418 has a fixed I2C address as shown in Table 4 of pg 13 of DS. This is 0x69 as you have noted in you message and it cannot be changed.
Thanks,
Akhil.
Thanks. What's the purpose of the bit 0, if you can't write to it?
Hi..
I am trying to develop driver to access the keypad present on my Am1808 based evm. The keypad controller according to the schematic isTCA8418.After going through the data sheet for tca8418 , i found that the I2C Slave address is 0110100x. The last bit of the slave address determines the operation(read/write)to be performed.
Please tell me which hex i2c slave address should I mention in my header file i.e #define TCA8418_I2C_ADDR __?__
0110100=0x34
01101000=0x68 (Read-1)
01101001=0x69 (write-0)
Thanks.
Friends,
The I2C slave address for TCA8418 is 0x34 . I am able to access the registers of tca8418 using this address. !
Please make sure your I2C address you are sending matches the Bit pattern shown on pg 13 of DS. Depending on conventions used, the addres might be considered either 0x34 or 0x68.
Hi Akhil,
I have tried with all the 3 possible address combinations ( among them 0x34 is working fine). But registers like INT_STAT(0x02), KEY_EVENT_(A-G),KEY_LCK_EC are still not accessible . I am using i2c_smbus_read_byte_data ,i2c_smbus_write_byte_data function to read and write to these registers.
Can you please guide, what can be done ?
RegardsAditya
Aditya,
Unfortunately I'm not familiar with the SW functions that you mentions. If you can send me scope shots of the I2C lines when these commands are transmitted I might be able to tell you what the problem is.