# JTAG Voltage compatibility

I am having this microcontroller - S32K142 64 pins 5V core voltage.

I am using the this J LINK 20 pin JTAG Debugger. Using JLINK Flash Lite software tool in Windows PC to program the microcontroller by connected the debugger through USB port of the PC

JTAG User Manual

I just want to verify, theorectically, the the Vih,Vil,Voh & Voh levels between the Microcontroller JTAG pins and the JTAG debugger output and input pins.

Can someone tell me how to proceed with the calculation. USB 2.0 Type A to type B cable is used to interface the PC to the debugger.

Please tell me how to evaluate the voltage levels in this scenario where the PC sends data to the debugger in differential format and the debugger gives the single ended data to the JTAG debugger pins. What would be the voltage levels and their tolerances in the debugger to the JTAG Microcontroller lines ?

• USB has nothing to do with it at all (beyond probably meaning a common ground) that Segger device is its own little computer with entirely distinct I/O drivers for the JTAG. Given what they charge for it, it presumably has a target Vcc input and adjusts its I/O voltages accordingly, but you'd have to check the Segger user manual - for the actual probe model you want to use, not the generic connector description you linked. Jun 19 '20 at 16:16
• Yes, I understand that USB might not have something to do. I have checked the user manual too. There is no mention of the Voltage levels in the user manual too. How to check for the voltage compatibility between the JTAG and the microcontroller JTAG pins? Jun 19 '20 at 16:20
• It would seem you are not looking in the manual or technical specification of the actual unspecified probe you want to use. Again, what you linked was a generic connector pinout, not a manual. Jun 19 '20 at 16:33
• @ChrisStratton - segger.com/downloads/jlink/UM08001_JLink.pdf - This is the user manual. I tried to find it in here, but I couldn't find Jun 20 '20 at 3:54
• No, again, that is not the manual for the physical debug adapter. What you are linking is a manual for the software. You've still failed to even specify which specific debug adapter you are using! Look at the part number on the physical tool, and look up the specifications of that. It's still unclear if you are using a full featured version with target voltage level translation, a simple version without, or a knockoff of unknown specification. Jun 21 '20 at 16:12

From a general perspective, to do these checks you need to locate the hardware specifications for the programmer you are using. This information is usually available from the manufacturer in the form of a specifications page or a datasheet. If no such page exists, either contact the manufacturer directly, or don't buy it (same goes for any electronic component!).

You can the find the corresponding data for the microcontroller itself in the datasheet available from chip manufacturer (in your case NXP). The IC datasheet will again tell you the IO voltage for the microcontroller.

Beware that the numbers for both programmer and MCU may be stated in terms of %age of VDD or VDDIO or some such similar. This means you will need to know what voltage your microcontroller is running at, and additionally how the voltage of the programmer is set.

A further point to node is that many, but by no means all, programmers have a target voltage reference pin which is an input to the programmer that you drive from the supply voltage of the target in order to allow the programmer to level shift its signals to match the target. This pin if present must be connected otherwise comms will fail.

Once you know the specifications for both in terms of a voltage level, you simply then need to compare the numbers and ensure that $$\V_{OH} \ge V_{IH}\$$ and $$\V_{OL} \le V_{IL}\$$ in both directions (MCU->Programmer and Programmer->MCU) to make sure the programmer and target can talk to each other.

As a final note, some microcontrollers with built in flash memory may support running and communication at lower VDD voltages, but are unable to be programmed below a certain level (certain ATTiny MCUs do this for example), so make sure that your target is running at a voltage at which it supports programming.

On to your specific case. You haven't specified in the question which specific model of J-Link you are using. Furthermore the manual you have linked to is a user guide, not the specifications of the programming adapter.

Looking on the manufacturers website, we can see there is a comparison table of all of the different J-Link programmers, which shows the key specs of each of the models. The following is an extract from the table where we can see the supported target voltage ranges of each.

From this table we can see that all of the except for the J-Link EDU Mini support any voltage within the range of 1.2V to 5V. The voltage of this interface is set by connecting the supply voltage of the target to the reference voltage pin on the 20-way interface.

Further details are then available on the detailed specification pages of each of the individual programmers - clicking on one of the programmer names in the title row of the table linked above takes you to the page for that programmer.

For example, if I click on the first programmer in that table, we get the full specs of the programmer with relation to the input voltage specifications. The following is the voltage specifications for the J-Link EDU programmer:

• Thank you for the answer. Jun 22 '20 at 5:18
• But what about the Vol and Voh values? The above values are mentioned with a condition of a load of 10k ohms? Which value should I consider for Voh and Vol? Jun 22 '20 at 5:23
• @Newbie with no load the voltage will be closer to 0%/100%. Jun 22 '20 at 8:21
• Thank you. In this case, does the load mean, the internal pull-up resistors inside the microcontroller? Jun 22 '20 at 8:43
• @Newbie a pull-up resistor would count as a load, yes. Jun 22 '20 at 9:11