MPR121: Is my part broken?

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

MPR121: Is my part broken?

1,972 Views
Janosch
Contributor II

Hello Community,

 

i have a difficult situation around my prototypes, regarding the MPR121 touch sensors. On one prototype board, i have two MPR121 sensors. When i was evaluating, the sensors worked correct and as expected. Now i have enclosed THREE of my prototypes in a fixture, and i will not get to them again without breaking it. Very shortly after that, ONE of the six sensors seems to not work properly anymore. So because the boards are in the fixture now, i cannot acces the sensor parts anymore to measure signal levels and I2C logic and so on. The only access i have is via the programmer/debugger of the microprocessor, which drives them.

 

So here is the situation:

On one board, there are two identically designed MPR121 devices, each connected to 8 electrodes (ELE0-7). #1 has the I2C address 0x5A, and #2 has the I2C address 0x5B. #1 doesn't seem to work properly anymore, and i fear that the device itself may be broken. However, i can actually communicate with the device over I2C very normally! That is, i reset it via $0x80=0x63, and succesfully verify that $0x5C=0x10 and $0x5D=0x24. I then configure the both sensors as usual (my current routine is very similar to the one that was suggested to me in this thread: MPR121 Auto-Calibration time), and verify the configuration by reading from the registers.

 

So the sensors do seem to work, communication-wise.

 

However when i read the sensor data (0x04~0x1D), i get only zeros. I also get only zeros when i read the baseline values (0x1E~0x2A), i also get only zeros. I have not ever seen the OVCF flag set in the status register 0x01. Similar malfunction was also reported in Re: Writing to MPR121 register 0x5E appears to reset the device, and it was pointed out to check that flag. However, it always reads as 0 in my sensors.

 

I am attaching the schematic of the MPR121 part of my design. Both parts have different I2C addresses through connection to GND and VCC. For the 75k resistor on REXT i'm using two 150k's in parallel. VREG is only connected to the 100nF capacitor to VSS, as recommended for >2.75V operation.

 

I am also attaching the register readout, which i do with following lines:

 

    uint8_t reg, buf1, buf2;     printf("REG      VAL1     VAL2       DIFF\n");     for (reg = 0; reg <= 0x80; reg++) {         i2c_readRegister(0x5A, reg, &buf1, 1);         i2c_readRegister(0x5B, reg, &buf2, 1);         printf("0x%02X     0x%02X     0x%02X       %s\n", reg, buf1, buf2, buf1 != buf2 ? "<--" : "");     }  

(the left column shows the register address, then the value for the broken part, then the value for the properly operating part. The last column shows the differences).

 

Is it possible to judge, if my part may be broken, regarding the information that i have provided? May the internal regulator be broken?

 

I'd be really glad if you guys could help me on this one!

Thanks a lot,

Cheers

Janos

Original Attachment has been moved to: output.txt.zip

Labels (1)
Tags (1)
0 Kudos
4 Replies

866 Views
Janosch
Contributor II

Doesn't anybody have an idea here?

Chip is responding, but obviously neither auto-calibrating nor measuring... what can that be?

I'd be glad about any vaguest hints!

0 Kudos

866 Views
reyes
NXP TechSupport
NXP TechSupport

Hi Janosh,

I checked your configuration and everything seems to be correctly configured, so I don't think that the source of the problem is caused by a Hardware or Software configuration directly related to the Sensors, but it's very possible that the enclosure that you are using for these devices are damaging them or are damaging during the manufacturing. Unfortunately, I do not see any way to make tests with the devices if they remain in the enclosed.

When you mentioned that the devices are enclosed, you are referring to the IC only or the electrodes as well? Remember that the electrodes should have a dielectric for a popper function and there should not be any air gaps between the electrode and dielectric, or between the dielectric and finger touch area, otherwise, the device should not be able to make a proper measurement of the finger touch detection.

More information on the following application note: http://cache.freescale.com/files/sensors/doc/app_note/AN3863.pdf


Have a great day,
Jose Reyes

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

866 Views
Janosch
Contributor II

Hello Jose,

thank you for your kind reply.

Jose Alberto Reyes Morales schrieb:

...it's very possible that the enclosure that you are using for these devices are damaging them or are damaging during the manufacturing. Unfortunately, I do not see any way to make tests with the devices if they remain in the enclosed.

What kind of damages could you think of? And what could i do if i took them out?

What i have is all in the prototypes stadium. I have several components boards with several of the MPR121 sensors, which i have tested and developed with first, and then put the same prototypes into the enclosure. The enclosure is just a demonstrator, that has a transparent acrylic back. Through that plexiglas, i can actually see the sensors. During the assembly of the enclosure, the devices were not put under any machanical, temperature or pressure stress. Five of the MPR121 sensors are working normally. But one device is operating normally, though doesn't seem to be performing any calibration nor measuring. I have reason to believe that, because i am getting all zero data for baseline and filter data, but correct values for configuration data.

To me, for a regular device, this looks like a defective situation, but i would be well surprised if this kind of state was entirely unknown to the manufacturer.

Jose Alberto Reyes Morales schrieb:

When you mentioned that the devices are enclosed, you are referring to the IC only or the electrodes as well? Remember that the electrodes should have a dielectric for a popper function and there should not be any air gaps between the electrode and dielectric, or between the dielectric and finger touch area, otherwise, the device should not be able to make a proper measurement of the finger touch detection.

Yes also the electrodes are enclosed. I do have a dielectric that is way thicker than it is supposed to be, and my challenge is to get along with that. In my understanding, violating the electrode design rules can not possibly lead to a device defect. In my testing, i have to fight with noise and uncertain data, but i would never get zero values.

This request is not about finding out how to bring that one defective sensor back to life. But i will have to find out what has gone wrong in my design, so that i can rely on the MPR121. Else it will be certainly way too risky to go into production with this device.

So any hints on finding out what the cause is, would be highly appreciated!

Thanks,

Janos

0 Kudos

866 Views
reyes
NXP TechSupport
NXP TechSupport

Hi Janosch,

If you took the board out of the enclosure, you can test it just to verify if the board or the device is really damaged, or is just the enclosure the one that cause the failures of the MPR121 proper touch measurement. This is just a hint!

Since you have 5 boards working properly and only one have this failure, I can say that it is not a configuration issue, and if I understand correctly, you tested the failing board before the enclosure and it worked properly and tested it again after the enclosure and found the failure, right? So this tells me that the problem was produced during the enclosure process.

Now, since there is communication with the MPR121 as expected, but the problem is that you are receiving zeros from it, then I think that the problem could be on the electrodes or the lines between the electrodes and the MPR121 electrode pads, how are this connections (PCB traces, wires, cables?)? Could it be possible that the electrodes were disconnected somehow from the MPR121 electrodes pads during the enclosure?

If needed, you can create a “Service Request” on www.freescale.com/support if you feel like you need private support in case you want to share pictures, schematics, layout designs, etc with us for a review.


Have a great day,
Jose Reyes

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos