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-4130 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:
||Benefit of Automated Solution
|Time Taken (Regression Only)*
||Requires 2 weeks
||Test engineer’s part-time attention – 3 days
Reduced time by 70 percent
|Time Taken (Regression + Delta)*
||Requires 2+ weeks
||Test engineer’s full-time attention – 4 days
Reduced time by 60 percent
|Number of Tests
||Approximately 200: engineer can focus on developing tests/increasing test coverage instead of running tests
Increased coverage by more than 100 percent
||More and undetectable
Less and detectable
Almost completely removed human error
||Tedious; engineer manually inserts all results
Required no time for report generation
No time required to log
|Man Hours (Regression Only)*
||2 weeks (regression only)
500 percent efficiency improvement
|Man Hours (Regression + Delta)*
||Requires 2+ weeks
Reduced time by 60 percent
*Assuming scripts are ready for regression
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.
12500 TI Blvd
Dallas, TX 75243