ARM Technical Support Knowledge Articles

Multi-ICE interface levels and pull-up/pull-down resistors on the JTAG signals

Applies to: Multi-ICE


By default Multi-ICE interfaces to the target board with target signal levels, that is the voltage on the VTRef pin.

VTRef should preferably be connected directly to the target power supply. VTRef has an internal 10Kohm pull-down resistor, so if it is connected to the power supply with a resistor of value R the reference voltage used by Multi-ICE is: (VTRef * 10K) / (R + 10K).

Multi-ICE drives the JTAG signals with analog switches (Pericom PI5C3126), so the output is connected to ground for a logic '0' and is connected to VTRef for a logic '1'. All JTAG signals have 100ohm series resistors to reduce noise and glitches. When the analog switch is opened, its maximum output current is +/-1uA. When the switch is closed the maximum resistance to ground or VTRef is 15ohms (to add to the 100ohm series resistor).

Vsupply should be connected directly to the target power supply in order to power Multi-ICE from the target.

nSRST and nTRST are open-collector signals, so the output is connected to ground for a logic '0' and left in high impedance for a logic '1'.

DBGRQ is not driven by Multi-ICE. This signal was added to the 20-pin Multi-ICE connector for third party tools that may need to make use of this signal. Multi-ICE uses the core's scanchain 2 to put the core in debug state.

The user should ensure that their board has appropriate pull-up and pull-down resistors on the JTAG signals:
- TMS, TDI, TDO, nSRST and nTRST should have pull-ups
- TCK should have a pull-down to enable hot swap and post-mortem debugging
- RTCK should have a pull-down to fix a stable value on that signal when debugging a non-synthesizable core
- DBGRQ should have a pull-down. This ensures that the core doesn't enter debug state in an uncontrolled way
- DBGACK should have a pull-down, so the default value that the debugger sees is "core not in debug state"

The recommended value for all pull-ups and pull-downs is 10Kohms, although the optimum value depends on the actual current load on the signal: for example, the value of the pull-down should be about 1Kohm when driving TTL logic.

Article last edited on: 2008-09-09 15:47:29

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential