Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Did i get malfunctioning MCP3421

Status
Not open for further replies.
the pullups have nothing to do with the alignment of the clock and data edges, that's under your program control.
 

Last edited:

Hello Barry ,i had the same "problem" in my working si7021 as shown bellow.And i got data perfectly back then
So i think its not a problem.
Can i conclude that the device i just not functioning?
Thanks.

1609794036258.png
 
Last edited:

The pull-ups just change the rise time of the waveform. The rapid falling edge is caused by the I2C devices actively pulling it down but the rise time is limited by the current through the resistors charging the capacitance of the bus. That's why lower value resistors give a faster rise time. It isn't the rise or fall that is causing the problem and I suspect other I2C devices will be borderline too, its the delay between the SDA and SCL that causes the problem.

Except for the start and stop conditions, SDA is not allowed to change state while SCL is high and ideally it should be in the middle of the SCL low period. Your traces show both change simultaneously or very close to each other. You need to delay the whole SDA signal, not a change its rise time.

Brian.
 

Hello Brian,You saw my accurate photos on reply 18.
So the rise time is too high and i will try to connect 100 ohms in paralel to the 4.7Kohms on the PCB,Is that ok?
How do i create a delay between the SDA and SCL?
Thanks.
 

SDA is not allowed to change state while SCL is high and ideally it should be in the middle of the SCL low period. Your traces show both change simultaneously or very close to each other. You need to delay the whole SDA signal, not a change its rise time.

Brian.
This is about the fourth time someone has said this. Are you paying attention, yefj???
 

The required SDA hold time after falling SCL edge according to I2C spec is 0, in so far the shown waveform isn't necessarily violating the spec.
--- Updated ---

It's nevertheless unusual that an I2C master stretches the timing spec to the limits. It might cause problems if the slave device isn't exactly compliant.
 
Last edited:

Hello FVM, So by the UPDATED data i showed in the link bellow and by the Working SI7021 photo You say its just the Way my EFR32FG14 works in general and no all devices can handle that.
So the problem is not with the MCP3421 but with the I2C periphery which make the SDA RISE just as CLK falls.

So if you agree the only choise i have left with, is try andconnect theMCP3421 with another microcontroller to conclude that the proble is with EFR32FG14 starter kit,

1609823621695.png
 
Last edited:

Hello FVM, So by the UPDATED data i showed in the link bellow and by the Working SI7021 photo You say its just the Way my EFR32FG14 works in general and no all devices can handle that.
So the problem is not with the MCP3421 but with the I2C periphery which make the SDA RISE just as CLK falls.

So if you agree the only choise i have left with, is try andconnect theMCP3421 with another microcontroller to conclude that the proble is with EFR32FG14 starter kit,

View attachment 166800
O.k try to connect MCP4321 with a micro- controller and choose " PIC16fxx or Atmega xx " because i guess many people her have handled interfaced with those micro- controllers before with many types of I2C and there is a good chance to fix were is the problem . please post a close and clear photo for the number of MCP4321 to ensure the right slave address of it before we start any thing

kamal
 
  • Like
Reactions: yefj

    yefj

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top