I have a ULINK2 connected to a LPC1758. The reset line has a 10k pullup and 100nF to ground. When I attempt to debug uVision4 sometimes starts at the reset vector and sometimes not.
I have measured the voltage on the reset line. The ULINK2 pulls it down to 0V as you would expect for reset but then it sits at about 1.8 - 2V. If it is a lucky start, once the code hits main() the voltage jumps to 3V3.
I presume that the code isn't starting sometimes because the 2V is slightly below releasing the reset. I assumed that the reset output of the ULINK2 was open-drain but it's not showing that characteristic.
Where does the 2V come from and how can I make it reset reliably?
Ant
That's a good thought, thank you. I'll check for that. Does anyone know what the output circuitry of the ULINK2 reset line looks like? Is it open-drain?
An easy way to test - if open-drain, then you should only have a pull-up resistor holding the signal high. And you could add a second resistor to ground and directly create a voltage-divider. With the signal driven by a push-pull output, your pull-down resistor should only manage to affect the signal a tiny bit because of the very low output impedance of a push-pull driver.
And you could add a second resistor to ground and directly create a voltage-divider.
Per, you puzzle me. I have never heard of a divider on reset. Care to elaborate?
Anyhow, if the device (which I do not know) has a reset generator, there should be no cap on reset
trevlig kvall
Erik
Connecting a 10k resistor between a signal and either ground or VCC is a good way to figure out if a signal is weakly or strongly driven.
So a 10k resistor to ground would tell if the reset signal is held high by a strong push-pull driver (the signal stays close to VCC), or if it is just held high by a pull-up resistor (the signal voltage drops a lot because of the introduced voltage divider between your resistor and the pull-up resistor soldered on the board).