Texas Instruments Increases Firmware Test Platform Throughput, Coverage, and Reliability with NI Hardware and Software

Sambit Panigrahi, Texas Instruments

Device under Test

"Using NI TestStand and LabVIEW, we successfully converted a lengthy manual test process into a highly automated test cycle and reduced the regression test cycle from weeks to days, while increasing reliability, repeatability, and maintainability."

- Sambit Panigrahi, Texas Instruments

The Challenge:

Developing a modular test solution that is abstract, scalable, modular, and easy to use; supports test sequencing across hundreds of power management ICs (PMIC); and interacts with multiple instruments, evaluation modules, and source measure units (SMUs).

The Solution:

Using NI LabVIEW software and NI TestStand to build a flexible and modular automated test solution that can test several PMICs with different requirements, communications buses, and protocols; and is easy to use for engineers who do not have computer science backgrounds.

Author(s):

Sambit Panigrahi - Texas Instruments
Shirish Kavoor - Texas Instruments

 

Texas Instruments developed a multitiered solution encompassing top-level, middleware, and low-level instrument drivers, as well as software that could record sequences such as a screen capture utility and output sequences.

 

We reused low-level OCX drivers from our EV2300 Evaluation Module to communicate with our power management devices. We used LabVIEW and NI TestStand as the primary programming language and sequencer; and defined hardware and software abstraction layers to have practically no dependence on any particular hardware or software platform.

 

Automating the Process      

Most of the common functionalities tested for firmware include charging/discharging simulation, firmware parameter detection, and temperature and communication simulation with the device to read/write into the firmware.

 

Typically, power management devices have an analog component (analog front end) and a digital component (microprocessor) to make decisions. A combination of these components is used to implement multiple functionalities such as protection features, charge management, communication with host devices, and battery life prediction. It also needs to adhere to multiple standards such as Smart Battery System (SBS) and Japan Electronics and IT Industries Association (JEITA) standards. We needed to develop a system to test all of these firmware features.

 

There are many types of PMICs available depending on customer budget, prediction algorithm complexity, features requested, and intended end application. Developing an in-house software and sequencing suite is challenging because of the varying requirements, complexity, and feature differences between the different IC options for power management. Because all options need to be supported by the same software and sequencing suite, we decided to develop a solution based on LabVIEW and NI TestStand. We used the flexibility, power, and modularity of NI software to easily accomplish what would have been extremely challenging with other software tools.

 

NI TestStand satisfied all of our requirements through scripting support, ease of use, on-the-go sequence modification, and report generation. It is a powerful test management software platform that came equipped with almost all of our required features, along with features that we did not foresee needing.

 

We used LabVIEW because of its powerful instrument support and readily available drivers. It worked seamlessly with our existing OCX drivers and can be heavily implemented at TI in lab automation scenarios.

 

 

 

Software Abstraction Layers

The software architecture consists of multiple components. NI TestStand serves as the dominant test executive due to its powerful engine, support of various coding/scripting methods, and multiple reporting options. We also use Python in limited cases.

 

For the test scripts, we use code modules mostly developed in LabVIEW, called by NI TestStand. We also use an equal amount of low-level drivers in OCX and DLL formats. We easily integrated these legacy drivers into our new test solution using LabVIEW integration tools.

 

The software abstraction layer consists of interchangeable LabVIEW drivers and Texas Instruments libraries to control SMUs, oscilloscopes, general-purpose I/O (GPIO), communication, and BUS sniffers.

 

The hardware abstraction layer includes an NI PXI SMU, an NI PXI-1044 14-slot chassis, and a potentiometer. This layer was also abstracted to facilitate interchangeability.

 

One of the primary motivations for abstraction was simplicity for the user. Our setup is used by engineers who are not familiar with advanced LabVIEW programming techniques. By abstracting, we reduced complexity for the user.

 

Advantages of Automation

We have realized several benefits using our automation setup, which are outlined in the following table:

 

MetricManualAutomatedBenefit of Automated Solution
Time Taken (Regression Only)*Requires 2 weeksTest engineer’s part-time attention – 3 days

Reduced time by 70 percent

Time Taken (Regression + Delta)*Requires 2+ weeksTest engineer’s full-time attention – 4 days

Reduced time by 60 percent

Number of TestsApproximately 90Approximately 200: engineer can focus on developing tests/increasing test coverage instead of running tests

Increased coverage by more than 100 percent

Human ErrorMore and undetectable

Less and detectable

Almost completely removed human error

Report GenerationTedious; engineer manually inserts all results

Automated generation

Required no time for report generation

Report FormatMicrosoft Excel

XML/HTML/ASCII/database logging

No time required to log

Man Hours (Regression Only)*2 weeks (regression only)

2 days

(regression only)

500 percent efficiency improvement

Man Hours (Regression + Delta)*Requires 2+ weeks

4 days

Reduced time by 60 percent

*Assuming scripts are ready for regression

Future Work

We have achieved significant gains using the automated setup with LabVIEW and NI TestStand. We plan to take additional steps to facilitate future progress such as automated result updating on our internal website/database for easy access to internal and external customers, incorporation of advanced tests by characterization and test engineers into the firmware test flow, and increased exposure and interoperability between LabVIEW and NI TestStand and PERL/Python interfaces.

 

Benefits of a LabVIEW and NI TestStand Solution

It is difficult to test all the features present in any firmware. Increasing test coverage and reliability is extremely important. In addition, having a record of all tests performed on any firmware is crucial for future reference. Using NI TestStand and LabVIEW, we successfully converted a lengthy manual test process into a highly automated test cycle and reduced the regression test cycle from weeks to days, while increasing reliability, repeatability, and maintainability. An automated test solution based on LabVIEW and NI TestStand also helped our team reduce human error, develop precise tests, repeat tests rapidly, and accurately increase the efficiency of software quality management, and consequently, the quality of Texas Instruments products.

 

Author Information:

Sambit Panigrahi
Texas Instruments
12500 TI Blvd
Dallas, TX 75243
United States
Tel: 626-315-5824
Sambit.Panigrahi@ti.com

 

Device under Test
Figure 1. Device under Test
Software Architecture
Figure 2. Software Architecture