Jump to content
 
  • 0
twatts

MCP4441 communication via I2C

Question

Hello,

 

I am trying to communicate with an MCP4441 chip using the I2C interface and using an Aardvark I2C cable from Total Phase.

I am trying to read the registers which have non-zero default values (2,3,8,9), but always get back 0.

It appears from the data sheet for the part that the control byte should be 0x59 is A1:A0 = 00 (see attached page from datasheet)

I have attached scope captures of SCL and SDA when I tried setting the write and read address to 0x59 and 0x2c.

Both of these attempts read back 0.

Any ideas on what I am doing wrong?

Thanks.

 

i2c-read-0x2c.png

i2c-read-0x59.png

mcp4441-manual-i2c-read-Screen Shot.jpg

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

I've decoded your scope plot. The first one looks right, but note you get a NAK back, which simply means no device feels addressed to respond.

2021-02-16_17-19-15.png.2c14114ed06b34a591ed604a9486de65.png

The second one is shifted by one with an added 1, this doesn't seem to be right according to the datasheet.

2021-02-16_17-19-16.png.957214ceba0f9189d1aae000b003eaad.png

What about the A0 and A1 pins? Look here:

2021-02-17_10-20-00.png.b0a02a9c85ce5f678c7ccab67406b394.png

The A0 and A1 pin will determine the address, the default case seems to be an internal pull up, so A0 and A1 are both 1, not 0. Might this be the problem why the chip doesn't react?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


 


×
×
  • Create New...