Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Questions on JTAG

Status
Not open for further replies.

btb4198

Electrical
Mar 19, 2011
3
If I have 3 JTAG chips daisy-chained together, and I have a JTAG controllor wired to the 3 chips, How do I used Boundary scan to learn where there is a open or a short at on the circuit boards? Like How would I know if it is between chip one and two or two and three.

Also if I wanted to read the code off of chip 2 but not the others how would I do that ?

Also if I wanted to load a boot loader program in to the flash memory of Chip 3 but not the other how could I?

Also why would I want to do that?

And if I were to make a JTAG controllor could I used SPI on a microcontroller ( like Pic18f4525) to work with the TDO, TDI, TCL, TSM pins on the JTAG devices?
 
Replies continue below

Recommended for you

Your 4th question sounds a bit like a student question and student questions are not permitted on this forum. But for now I'll assume that this is a question arising from work, not school. Can you confirm this assumption?

To test a circuit card using boundary scan, you have to generate a series of 'test vectors' (inputs, think of it as a series of digital words - all bits in parallel) that will propagate from input to output and exercise each node, both High and Low. Then you need to figure out what the correct output will be for Pass/Fail. And you can figure out how each stuck bit would affect the output.

It's called Test Engineering.

I've seen a software program that purported to perform this function (figuring all this out), and that program cost $250,000. It didn't actually work, but cost a quarter million (refunded). I'm sure that the modern version are much cheaper and probably actually work.

 
hey no I am out of school, I had an interview and they asked me about Jtag and I had never heard of it before so I started reading about it. Those are questions I came up with because I do not really get all of how Jtag works or why you would want to do somethings.
 
Excellent. Good luck with the job hunting. There are some job ads listed on the right column of this website. There are also some career-oriented forums here on Eng-Tips.


One of the problems with trying to research the basics of JTAG is that it is widely used for hacking, cracking, etc. So many of your searches will get diverted into such applications. A good site is (believe it or not) Wikipedia.


One of the big advantages of JTAG is that the device can have a small cut-out on the bottom of the chassis that allows access to the JTAG pads. The factory can drop the finished product onto a fixture (with pins) and reprogram all the chips on the JTAG bus.

It makes for a very flexible test and programming interface.

Hackers can use the same port to reprogram their consumer electronics with modified software. All it requires is a simple cable (typically parallel printer port) with pins that match the pad arrangement. Then a simple click-click can reload the box.
 
I have read the Wikipedia pages.
ok so you are saying that I would input some words in to the PCB using a controllor that would work with all the JTAG devices as a whole to get one output? And not different outputs from the different JTAG devices?

Also the JTAG set up does not effect how the PCB would work right? Like the JTAG set up is a different circuit than the main circuit design right? The Circuit design that the PCB was made for.

Can I use SPI to sent the Words in to the JTAG system and to Read it back out? Or does the Controllor have to have JTAG in it?
like can i used a pic that does not have JTAG as the contollor?

How does the Test Mode Select pin work?

also, I can use JTEG to change code on the PCB, but how will it know what Chip so change the code on? Say there are 3 chips on a daisy-chained?


And I know you have to have the BSDL file to see how JTEP works in each device, but in a daisy-chained does the 1st JTEP device send the next device the input from the user? Or a new input from it's own output. I am not really getting out that works. I know with the BSDL file, you can make a program to test if all the pins on the chip are working right, I just am not get how you would do that if the second chip gets the output of the 1st chip?

 
I'm familiar with JTAG (not an expert); I've used it to reprogram various boxes many times; we looked into using it for testing circuit cards; but I've never designed a circuit card with JTAG.

Maybe others will join in with more detailed answers to your specific questions.

But first, did you follow through some of the other links at the bottom of the Wiki page? There's a ton of info there.




If you combine the internal views (in the above links) with the system-level image on Wikipedia, it should answer some of your simpler questions (like how JTAG addresses one particular chip).


In normal operation of the product, the JTAG 'system' is effectively turned off. It's normally only used for reprogramming, debugging, testing, etc.


In general, a lot of the painful details would be dealt with by whatever software you use. It's not as if circuit board designers spend their day writing their own JTAG drivers in the middle of a circuit design project. They would use the development and debugging environment and access these features from within that GUI.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor