PCAL6524 query related to reading Device ID

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PCAL6524 query related to reading Device ID

486 Views
Rekha4
Contributor I

Hi Team,

PCAL6524 IO Expander:

We tried reading the device-id as per section 6.3.2. as per the attached document.

We gave below command from Linux.
$ i2ctransfer -f -y 7 w3@0x22 0xf8 0x44 0xf9


When observed through scope, after 0xf8 we are receiving a NACK and execution stops at STEP3 of section 6.3.2. and we are unable to read the Device ID.


Please find the image below. Please provide us your thoughts regarding proceeding further with STEP4.

Rekha4_0-1677671765949.png

Thanks,

Rekha

0 Kudos
3 Replies

475 Views
diazmarin09
NXP TechSupport
NXP TechSupport

Hello Rekha,

I hope all is great with you. Thank you for using the NXP communities.

You are correct, after the START command, the master should send the Reserved Device ID I2C-bus address followed by the R/W bit set to 0 (write): ‘1111 1000’ (0XF8).

Based on the image provided, I noticed that after the START command the 0xF8 is not sent.

diazmarin09_0-1677697066399.png

 

Could you please send the 0xF8 after the START command?

I hope this information helps.

Regards,

David

0 Kudos

468 Views
Rekha4
Contributor I

Hello David,

Thanks for the quick response.

We are currently working in Linux environment and passing the below command as per PCAL6524 datasheet :

$ i2ctransfer -f -y 7 w3@0x22 0xf8 0x44 0xf9

This means we are sending F8 first. However, on the scope we observe the device address  first (as highlighted in the figure by your last post- the rectangle) followed by F8.

Is there a way to send F8 directly from Linux userspace without the device address? If so, please provide the commands.

 

Regards,

Rekha

0 Kudos

452 Views
diazmarin09
NXP TechSupport
NXP TechSupport

Hello Rekha,

Thank you for using the NXP community.

Unfortunately, I am unaware of such LINUX driver.

You have to make sure the 0xF8 is the first byte sent after the START command instead of the I2C address.

I hope this information helps.

Regards,

David

0 Kudos