Using JTAG with the UCD3138: Performance comparison versus PMBus
This tutorial compares the download times when- Uniflash + xds100v2 is used- Uniflash + xds510 is used- UCD Device GUI + PMBus adapter is usedThe presentation then compares programming times for a couple of different programming scenarios.
Resources
I'm now going to compare the download times of the XDS510 and the XDS100v2 JTAG emulators, using Uniflash, against the UCD device GUI, using PMBus. Download time depends mainly on program size. It also depends on the application program checksum location. For example, on the UCD3138128, the application program checksum can be placed at the end of program flash block 0, giving an available program space of 32 kilobytes, at the end of program flash block 1, for a 64-kilobyte program, or at the end of block 3, for a 128-kilobyte program.
If the checksum is placed at the end of block 0, the tool needs only to read 32 kilobytes of flash to compute the checksum. Whereas, if the checksum is placed at the end of block 3, the tool needs to read 128 kilobytes of flash. As you will see, the download time is not dependent on checksum location when Uniflash is used, as the code that reads the flash and calculates the checksum after programming is executed from the RAM on the UCD device. Download time also depends on the JTAG emulator used. The XDS100v2 is more software-based than the XDS510, so performance is dependent on the computer Uniflash is running on.
For the first comparison, I downloaded an 18-kilobyte program to block 0 of the UCD3138128 via PMBus. I then downloaded the same program via JTAG, using both the XDS100v2 and the XDS510. The application program checksum is placed at the end of program flash block 0. Using PMBus, the download takes 12.6 seconds. The download takes 8.6 seconds and 8 seconds via the XDS100v2 and the XDS510 respectively. So versus PMBus, the programming time is 32% lower per device, if the XDS100v2 is used, and 37% lower per device, if the XDS510 is used.
For the next comparison, I downloaded the same 18-kilobyte program, but placed the application program checksum at the end of program flash block 3, instead of at the end of program flash block 0, thus allowing for a 128-kilobyte program. If the PMBus device GUI is used to download the program, the total download time increases to 26 seconds. The download times for the two JTAG emulators are unaffected. Thus, in this scenario, download times are reduced by 67% if the XDS100v2 is used, and 70% if the XDS510 is used, versus the PMBus device GUI.
For the third example, I downloaded a four-kilobyte boot program and a five-kilobyte application program during the same download run. I placed the application program checksum at the end of block 0. The programming time, when the PMBus device GUI is used, is 10 seconds. Download times are reduced by 16% if the XDS100v2 is used, and 21% if the XDS510 is used, versus the PMBus device GUI.
Here is the same comparison with the application program checksum placed at the end of program flash block 3, instead of program flash block 0. Using the PMBus device GUI, the download takes 27 seconds. The download takes 8.4 seconds using the XDS100v2, and 7.9 seconds using the XDS510. Thus, the download time is 70% lower via JTAG, versus PMBus. Notice again that the download times via JTAG have not increased with the movement of the checksum location.
So in conclusion, downloading via JTAG is significantly faster than using PMBus, if the program space is large. It is still faster for smaller programs, but not by as much.
This video is part of a series
-
Introduction to digital power controllers
video-playlist (42 videos)