I've been experiencing some ESD related problems that cause the CC1110 to lock-up. We have a thermistor that exits our enclosure and can be touched by a finger (or ESD probe at testing labs), and one thermistor lead ties directly to the microcontroller ADC input and the other lead ties to ground. We've used this same scheme with a legacy 8051 microcontroller, using only a zener diode at the thermistor to protect the microcontroller, and this has worked fine for years.
Now with the CC1110, simply touching the thermistor (either the ADC lead or the ground lead) can cause the processor to either reset or lock up. This only happens while running off of an external crystal. I switched to run only off of the internal RC oscillator, and this problem goes away. After looking at the oscillator lines via a scope, it looks like the oscillator gets several high voltage spikes during the ESD event. I'm guessing that these pulses are registered by the microcontroller as clock pulses, which forces the internal gates in the processor to trigger prematurely, causing a lock-up.
I've tried adding series resistance to the thermistor input, zener diodes, and fast-acting ESD supressors every way I could imagine (at the clock and at the thermistor); and none of this seems to help the problem.
Does anyone have any other suggestions or ideas I could try to suppress the ESD event? It's entirely possible this could be caused by poor layout / grounding as well, which I haven't looked into yet and I'm not very familiar with...
Thanks,
Chad C.