Boundary Scan Open Source

I don’t know a better place to introduce an open sourced boundary scan test (BST) system. It is manufacturing related and also addresses people who are repairing. If at least one BST supporting IC is on your board (like most microcontrollers, FPGAs or CPLDs do) you can do lots of digital tests without the need of programming test routines. It imports KiCad netlists and generates test patters on them:
https://github.com/Blunk-electronic/M-1

If there is a better suited place to introduce this system or if it is the wrong place here, please let me know.

5 Likes

Thanks for using the KiCAD netlist as the interface for your tool. We really do NOT need yet another incompatible file format among our EDA tools!

Dale

2 Likes

Dale, which file format are you referring to ? I did not mention any.
Mario

1 Like

You said:

KiCad’s netlist is a file format.

Right, the Test System M-1 can import the KiCad netlist. After that you can generate hardware tests for your board. The KiCad netlist is nothing new, since it comes along with KiCad. Maybe we are misunderstanding each other.

I can’t say anything more about that because I don’t know what boundary scan is. I’m trying to read the Basics presentation document from your repo but I don’t have the necessary background so I don’t understand it.

It is a means to test digital signals on your board with minimal wiring and adaptation. If there is, lets say a microcontroller, on your board that drives LEDs or motors. In order to test the connections between controller and peripherals you can stimulate a pin/pad of the controller so that the motor starts or an LED flashes. Without BST you would write a test program in your microcontroller that does this simple task. With BST you don’t need to program the microcontroller, but tell the test machine to turn on/off certain microcontroller outputs. The wiring required is just a 5-wire ribbon cable that runs from the BST machine to your board. That is a very simple example. There can be tested much more than just LEDs or motors.

2 Likes

Like @eelik said, your program can read a KiCAD netlist - hence, it utilizes an existing file format rather than creating a new format.

Dale

Right, so what is the problem with using a KiCad native file format ?

I have NO objection to using a KiCAD native file format!

In fact, in my opinion it is very commendable to use a KiCAD native file format! There are at least two reasons it is good to use a KiCAD native file format:

  1. The format is already in use. Using an existing format avoids the problem of dealing with a collection of many file formats, which are incompatible with each other but carry essentially the same types of information.

  2. The syntax and structure of the format is described in a public document. This assists others, who desire to extend or improve the work you have done.

Dale

Nice to see some open source software to exercise Boundary Scan. Most people focus on software debugging these days.

I would find very useful to be able to use an FTDI2232H-based interface. Would that be possible at some point?
E.g. this open hardware one https://github.com/diegoherranz/steppenprobe (disclaimer, my own).

Thanks!

Diego, the connection cable between PC and boundary scan controller is a FTDI2232 adapter. On the PC end the controller appears as a serial device (like /dev/ttyUSB0). At the controller side we have a regular RS232 interface.
In the future the communication should be a real USB-connection using the usb-lib so that the controller appears at the PC end like a USB device.

I imagine your board (steppenprobe) to execute the test vectors generated by M-1. This would turn your board into a minimal version of a boundary scan controller. So your board would be attractive for more users. What do you think ?

That would be nice. In the case of my board (or other FTDI-based boards), It would be require using JTAG directly with the FTDI MPSEE mode.
I’m currently using openocd for SW debugging and that’s how it works.
Thanks!

I looked up the FT2232 datasheet for the MPSEE mode. They refer to an application note (AN_110) for details. But what I understand is that you don’t have to program the 1149.1 (JTAG) protocol. That makes things easier for you. Basically you have to send the “payload” data only. The compiler of M-1 generates this binary stuff. I presume you are a cleverer programmer than me in terms of FT2232. So how do proceed ?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.