Most engineers, present company included, probably assumed at one time or another that the only way to validate the functionality of system health monitors like those that operate on the I2C or SPI buses was to develop and apply functional tests. Makes sense, right? Well, if youโre interested in saving time, increasing your confidence in the functionality of these devices and keeping your product development on schedule, the real answer is: not really. Combining functional and structural test in one step early in the prototype board bring-up process and then transferring the whole process to manufacturing makes a lot more sense.
Hereโs why.
If youโre going to rely on functional test to verify the functionality of system monitors, youโre going to have to wait for the systemโs operating environment to be somewhat functional and this is usually a time consuming task with regards to code development. Plus, it takes a lot of time to apply this type of a functional test suite. Itโs also probably later in the prototype or board-bring-up phase of product development than youโd like. Whatโs more, functional tests usually canโt pinpoint structural faults. Youโll know the device isnโt functioning but you wonโt know why or where the fault is. And if you want better fault diagnosis from your functional tests, be prepared for a really long test development cycle. Functional tests with good diagnostic are hard to come by and hard to develop.
You might be thinking about another alternative involving protocol analyzers or pattern generators connected to the I2C or SPI bus. If you go this route, youโll end up with USB pods and a personal computer and this might be a good addition to your debug lab, but it doesnโt translate to a production environment where the most pressing concerns are always reducing test costs on the unit under test (UUT) and on any test fixtures that might be required.
So the question becomes: is there an answer? Yes. Of course there is, or I wouldnโt have asked the question in the first place.
How about a method that doesnโt need an I2C or SPI connector on the UUT, or a prototype test fixture, or extra PODs in a production environment, or that will run functional and structural tests on the board before itโs even booted?
And itโs a pretty simple solution too. Take a few minutes to look over this technical how-to eBook called: โFunctional Testing of I2C and SPI System Monitors with JTAGโ. You could save hours, if not days, on future projects. Download here.