Processor damaged?

Technical questions regarding the XTC tools and programming with XMOS.
Post Reply
User avatar
dsteinwe
XCore Addict
Posts: 144
Joined: Wed Jun 29, 2016 8:59 am

Processor damaged?

Post by dsteinwe »

Hello folks,

I need your help for some serious issues. I had two prototypes made. Unfortunately, I have routed two lanes wrong and I have fixed that with disrupting the wrong lanes and soldering thin wires on the board. The pcbs wasn't connected during this procedure. Anyway, after that I discovered one different problem per PCB that hindered my further work, and I ask you for help:

1. Problem:
The SCL lane for I2C was wrong routed. I fixed that, as described above. Unfortunately, after the repair, I figured out that the new SCL lane stayed high the whole time. The mcu cannot pull down the voltage to low. I have probed it. However, if I test the pin without a pull-up resistor and no load, the pin delivers a high and low signal correctly.

2. Problem:
The mcu becomes really hot so that you can no longer touch it. I have measured the current: 400mA at 12V. The other board only 40mA at 12V. The power rails for 3V3 and 1V0 are fine. The corresponding dc-dc converter don't get hot. The current already flows in the reset state. Currently, the mcu seems to work correcty. Anyhow, I expect that the mcu will die soon, if I don't fix the problem.

My questions to both problems:
- What could be the cause of such behaviour?
- How can I analyse the problem deeper?
- Is there any way I can fix the problem?


User avatar
CousinItt
Respected Member
Posts: 360
Joined: Wed May 31, 2017 6:55 pm

Post by CousinItt »

Do you mean you corrected the routing errors before the board was first powered? If so, and you checked your work, you should be able to ignore that problem.

Can you hold the system in reset and check the processor temperature? All I/O should be inputs, which will mean that if the device still overheats there is a routing problem related to the power supply pins, and possibly the clock, or that the device is damaged.

If the device stays cool when reset, you can probe each pin with a passive load to an intermediate supply level (say two equal resistors as a divider on 3V3) and you can check if there is a pull-up or pull-down on any pin that would cause contention. That should allow you to eliminate basic problems. You might have to avoid doing this with some pins depending on the external hardware.

After doing that, if you haven't found a problem, things will be a bit more complicated. It may be simpler then to start writing simple test programs to exercise each subsection of the hardware independently.

Basically, take a deep breath, accept the device may already be irreparably damaged, and use a calm and methodical approach.
User avatar
CousinItt
Respected Member
Posts: 360
Joined: Wed May 31, 2017 6:55 pm

Post by CousinItt »

What package are you using? If it's a BGA, has it been inspected?
User avatar
dsteinwe
XCore Addict
Posts: 144
Joined: Wed Jun 29, 2016 8:59 am

Post by dsteinwe »

Thanks CousinItt for helping me!
Do you mean you corrected the routing errors before the board was first powered? If so, and you checked your work, you should be able to ignore that problem.
Unfortunately, I only noticed the routing errors after the first start-up. I had swapped I2C SCL and I2S BCL. In my understanding, however, this should not lead to any damage. I use for I2C a 4-port, because I was running out of 1-ports.
Can you hold the system in reset and check the processor temperature? All I/O should be inputs, which will mean that if the device still overheats there is a routing problem related to the power supply pins, and possibly the clock, or that the device is damaged.
I have connect pin 15 (SYS_RST_N) with pin 16 (GND) of the programming port to keep the processor in the reset state. The processor still becomes very hot. I don't expect, that it is a routing problem, otherwise the other board should have the same problem. I haven't really changed the schematic design of my first version of the prototype in terms of power supply or clock.

It looks like the processor is damaged. I can only explain this damage to myself that the IO ports were damaged by too high a voltage, but I cannot explain how and when it got damaged.
What package are you using? If it's a BGA, has it been inspected?
I use a XUF216-512-TQ128 with a 128-TQFP housing. I am currently avoiding the use of BGAs.
User avatar
CousinItt
Respected Member
Posts: 360
Joined: Wed May 31, 2017 6:55 pm

Post by CousinItt »

Is this the only board that you powered up with the swapped lines? If so, that would suggest it caused the damage.
User avatar
dsteinwe
XCore Addict
Posts: 144
Joined: Wed Jun 29, 2016 8:59 am

Post by dsteinwe »

I'm not sure, but I guess, I have damaged both boards the same way (and one more extension board). It may be, that one processor is more damaged than the other. I will test it out. Currently, I can only explain the damage to myself, that I have shortened the 12V and 3V3 power rail when I put the cable into a FFC connector. I have tested it today: If you plug the cable into the FFC connector at an angle, you get a short circuit. I think, I have to redesign the connection. But it is better to have the damage now than to have many damaged products at the customer's home.
Post Reply