Embedded microcontrollers often get ignored in the main stream tools market for production testing and development. Up until recently, these devices had a limited role when compared to a System On-Chip (SoC). Sure the microcontroller market has moved from 16-bit to 32-bit, but still played a simple, often single function role. However, as the embedded flash memory has increased, the power of these 32-bit controllers are expanding their domain. This expansion is largely due to the software footprint which allows for more peripheral content within the silicon. Software is still the dominate factor in hardware configurability and utilization.
Microcontrollers, due to the market explosion in IoT, are unique with their value proposition to the IoT designer, inexpensive, but application task focused. Perhaps there should be a category of Microcontroller SoC. The expansion of the device storage within the microcontroller has grown from a few Kbytes to several Mbytes in some cases. For example, the flash growth of the UCD3138 Highly Integrated Digital Controller for Isolated Power has moved from 32 kB to the current 128 kB. By increasing the flash size, the product developer can better utilize the features of this powerful digital controller to differentiate their product.
The changing of firmware to be competitive or add new features (last minute) can create manufacturing management nightmares, especially when the methodology is to preprogram the device.
The dilemma has always been time spent on the beat-rate in production verse the speed at which the production system can program the device without beat-rate impact. Thus, the preprogrammed parts are often the choice since the in-system programming time is zero. However, that limits the devices capability and the product development team from being reactive or agile in adding more value or simply fix a bug.
To address the lack of agility dilemma, a production solution needs to address the following:
- Maximum programming speed. At or near the device programming speed
- A programming standard for various flash devices
- The ability to manage the image selection
- Support target device/controller configurations
To address the dilemma, ScanWorks Processor-based Fast Programming (PFP) uses task specific IP delivered to the on-chip memory (OCM). This IP allows for the access of the microcontroller within the UCD3138 to program the device in-system and at-system speeds. This programming method requires NO other firmware in the UUT and provides the fastest possible device programming, so the impact on production beat-rate is minimized. And since it is in-system, then the benefits of being agile or reacting quickly to an opportunity can be achieved. The best of both worlds!