01-04-2022 06:27 PM
My company is looking into designing our next generation products with JTAG support. What I'm trying to learn is what hardware have any of you had with JTAG hardware being run within LabVIEW environment?
Right now I'm looking at JTAG Technology and XJTAG. I know both would do the same thing as I need.. ie boundary scan, program flash, etc. Things that I can't find on the internet is what issues people have had with their devices or do they run smoothly in an manufacturing environment. It's not like Amazon where I can read review on products. One thing I noticed that they both are vague on costs for their licensing (software/hardware) which concerns me. I do know both run on DLLs which won't be an issue as long as they are stable and don't have memory leaks.
Can people share their experiences with the JTAG programmer they used?
Thanks.
01-04-2022 07:50 PM - edited 01-04-2022 07:53 PM
What kind of JTAG instrument you're looking for, is it USB or PXI or other bus based? and what kind of application you're targeting?
Most reputed production-grade JTAG instruments come with at least some sort of dll that you can call in almost any programming language. Fancy ones come with LabVIEW API as well.
This is a PXI based JTAG card that claims to come with LabVIEW examples and .NET/COM interfaces- https://www.xjtag.com/products/hardware/pxi-xjlink2-controller/
Or you're looking for plain old JTAG programmers which take in binary file and just program them to the DUT?
This is a good portfolio of JTAG devices - https://www.jtag.com/products/hardware/
01-04-2022 08:06 PM
Thanks for responding. I'm likely going with USB for flexibility of platform.
I've looked at both the JTAG.com and XJTAG.com websites dealing with their products. Both will do what I want.. just trying to find out if people have issues with either of those companies.. and if there are any other good options.
01-06-2022 01:21 PM
Used to use JTAG a lot...
(and I think we used XJTAG a bit but I can't remember).
You can set it up to run from LabVIEW, it can be a total PITA, (and if you've got a new chiptype that they've not supported before beware of them charging you the costs to develop their code for that chip - happened in R&D once).
JTAG will try and sell you thier LabVIEW toolkit - don't get it without checking to see if you REALLY need it first. ~(costs thousands), has and individual license and has to go through a DLL
Once setup for one chip, copying the code for another is fairly straight forwards and the documentation is fairly good. You will need to contact the German HQ (in europe) to get a license for your JTAG Dongle - We used to get a J-Flash Pro or J-Link Pro depending on the target and test requirements (if you don't get the pro you can't use the CMD line args)
If you use the cmd line args then you can wire up everything and test out from CMD line and then it's just a string building and parsing exercise (no CLFNs) to Erase, program, verify, read S/N, read device ID, lock chip etc.
Wiring MUST be short, grounding MUST be excellent, and ALWAYS use twisted pair where you can to minimise noise.
JTAG's good, reliable, bomb proof on a production line when setup nicely and they send out people to help if you REALLY have issues and are working with them on something.
James
(ex Production Test Systems programmer from a test consultancy > 10years experience of that )
01-06-2022 01:49 PM
I did work on a project where we used JTAG to test various features of a DUT. We used an R series FPGA card (PXI, or PCI). We went with this for the high channel count, and allowing to test multiple DUTs in parallel at once. We ended up reimplementing the JTAG communications using documentation on the protocol. Sorry I don't have any source, or documentation on how we did it. I wasn't the lead developer, and it was several companies ago. But it is an option if you have the time.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
01-07-2022 05:17 AM
@Hooovahh wrote:
I did work on a project where we used JTAG to test various features of a DUT. We used an R series FPGA card (PXI, or PCI). We went with this for the high channel count, and allowing to test multiple DUTs in parallel at once. We ended up reimplementing the JTAG communications using documentation on the protocol. Sorry I don't have any source, or documentation on how we did it. I wasn't the lead developer, and it was several companies ago. But it is an option if you have the time.
Sounds like an interesting project. 😀 But wow, implementing JTAG from ground up, that's a lot of work!
01-07-2022 05:23 AM
@rolfk wrote:
@Hooovahh wrote:
I did work on a project where we used JTAG to test various features of a DUT. We used an R series FPGA card (PXI, or PCI). We went with this for the high channel count, and allowing to test multiple DUTs in parallel at once. We ended up reimplementing the JTAG communications using documentation on the protocol. Sorry I don't have any source, or documentation on how we did it. I wasn't the lead developer, and it was several companies ago. But it is an option if you have the time.
Sounds like an interesting project. 😀 But wow, implementing JTAG from ground up, that's a lot of work!
That's why he classifies himself as an Overlord!
01-07-2022 07:34 AM
@rolfk wrote:
Sounds like an interesting project. 😀 But wow, implementing JTAG from ground up, that's a lot of work!
At the time I remember looking at the code and not being all that impressed. I was like "Yup those are the JTAG commands" then years later wishing I would have studied it more because of how simple and elegant it was. And to be fair it probably only implemented the functions we needed.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord