-
Notifications
You must be signed in to change notification settings - Fork 92
Hardware Modifications
The following information is intended for advanced users. The modifications described here are unsupported and may cause damage to your JTAGulator. Attempt at your own risk!
tl;dr
For improved JTAGulator target compatibility and detection results at the expense of having reduced over-voltage protection:
- Replace R11, R12, and R13 with 10 Ω (Bourns 4816P-1-100LF) resistor arrays
For situations where direct connection to the target is desired at the expense of being limited to signal levels of 3.3 V and the potential increase of external interference:
- Replace U9, U12, and U15 with 100 Ω (Vishay VSSR1603101JUF) or less resistor arrays as described below (this modification should only be performed in conjunction with the series resistor replacement)
The JTAGulator's front-end circuitry (level translators, diodes, and series resistors) is meant to provide over-voltage protection from input signals coming from the target system and to provide the correct signal levels for both the target and the JTAGulator in cases where they vary. While the JTAGulator is compatible with many targets, it is nearly impossible to predict the design and configuration of every one that exists. In some cases, the JTAGulator HW Rev. B and earlier cannot communicate properly with the target. This is caused by the front-end circuitry conflicting with the target and improperly affecting the signal levels and detection results. These issues are most notable on SWD- and JTAG-based targets, but can also exist on those with UART interfaces.
Discussion can be found in Issue #3 and Pull Request #30. Refer to the schematic and assembly drawing, if needed.
There are two modification options:
Changing the series resistor values (1.) is the easiest of the two options and should be sufficient in most cases at the expense of having reduced over-voltage protection. Modifying both the series resistors and level translators (2.) will result in the most improved target compatibility at the expense of fixed 3.3 V signal levels and possible crosstalk between channels. The level translators should only be replaced if the series resistor values are changed, as well.
You can make the modifications on any group of 8 channels (0-7, 8-15, 16-23) depending on which components you replace. After the desired modifications are completed, verify that the JTAGulator channels still function as expected by following the test procedure.
The JTAGulator contains a 1 kΩ series protection resistor and NUP4302MR6 Schottky diodes on each of the 24 channels. They are used together to clamp any over-voltage signal coming from the target and reduce its current to an acceptable value. However, if the target contains strong (< 4.7 kΩ) pull-up or pull-down resistors on its input lines, the resistor/voltage divider formed with the series protection resistor could prevent signals output by the JTAGulator from meeting the target's logic level threshold.
In some cases, you can increase the JTAGulator's target I/O voltage (VADJ
) and/or reduce the target's power supply voltage (if you're connecting directly to the chip and not through a voltage regulator) in order to improve target compatibility. In other cases, you may need to reduce the value of the series protection resistors, which in turn will reduce the effect of the resistor/voltage divider.
Replacing R11, R12, and R13 with 10 Ω resistor arrays (Bourns 4816P-1-100LF) will allow for stronger pull resistors on a target board (2.2 kΩ ~ 1 kΩ or less depending on the target's logic level thresholds), but will reduce the maximum allowable input voltage on each channel from the original VADJ
+ 10 V down to VADJ
+ 0.5 V. Any input voltages above the maximum allowable may cause damage to the JTAGulator's protection diodes or level translators.
Original series protection resistors | Modified series protection resistors |
---|---|
The JTAGulator uses TXS0108E level translators to support a range of target I/O voltage levels (1.4 to 3.3 V). The level translators are bidirectional and their automatic direction sensing capability occasionally conflicts with the target's pull resistors or other design elements that are outside of our control.
Replacing the level translators with resistor arrays will essentially create a direct connection between the JTAGulator's Propeller microcontroller and the target (besides the combined resistance of the resistor arrays). This modification should only be performed in conjunction with replacing the series resistors.
A downside to removing the level translators is that any JTAGulator channel configured as an input may be more susceptible to external interference, such as crosstalk or body capacitance, if that channel is not connected to a target's pull resistor or output signal. This can result in unpredictable data read by the JTAGulator. Additionally, the modification will result in fixed 3.3 V signal levels for all channels. The JTAGulator's target I/O voltage (VADJ
) setting will be ignored and you will not have the capability to adjust the I/O voltage for targets that require lower voltage levels.
This modification requires replacing U9, U12, and U15 with 100 Ω (Vishay VSSR1603101JUF) or less resistor arrays. This is not a trivial task, as the packages and pinouts are not direct replacements. The original level translators are in a TSSOP-20 package while the replacement resistor arrays are SSOP-16.
First, physically remove pins 8 and 9 of each resistor array. Then, align the array so that pin 1 of the array sits on pin 3 of the PCB footprint. Doing so avoids connecting resistors between VCCA-VCCB and TXSOE-GND. You'll lose the use of channels 0, 8, and/or 16, depending on which of the level translators are replaced. Finally, solder the resistor array onto the footprint ensuring there are no short circuits between the pins.
Original level translators | Level translator replaced w/ resistor array |
---|---|