Using low-cost OTP MCUs to simplify embedded apps
Cost-effective devices can sometimes be reprogrammed
BY EVAN SCHULZ
Silicon Labs, Austin, TX
http://www.silabs.com
As engineers look to reduce the cost of their embedded systems without compromising availability of peripherals or system performance, a potential aid is using one-time programmable (OTP) MCUs. These often provide the same peripherals and functionality as flash-based devices, but at a reduced cost. The functionally dense devices come with an assortment of peripherals and in a variety of package options some as tiny as 2 x 2 mm.
Fig. 1. Porting code to an OTP device from a flash-based device.
Many embedded applications are well suited for OTP-based devices. However, misconceptions about OTP MCUs can steer developers away from using these devices, including the name “one-time programmable”. But, OTP devices actually can be programmed multiple times.
OTP-based MCUs use a bit-cell memory where each bit can be modified once. A single byte in the device’s code memory could be modified up to eight times by clearing one bit per write instruction. Because of this memory architecture various portions of code space can be programmed at different times. In most cases, an external programming voltage needs to be applied for the duration of the programming process and must be removed when the sequence is complete.
In-app programming
Some OTP devices are capable of in-application programming (IAP), where the MCU can write to code space through firmware without requiring an external programming voltage. This is useful in applications where a calibration value needs to be written to code space after the MCU has been installed on a board, or for a value that needs to be calculated at run-time and stored. To use the IAP feature, an external capacitor is typically connected between a pin on the MCU and ground. The MCU charges the external capacitor to an acceptable programming voltage and the device uses the charge stored on the capacitor to support the write to code space. The process is repeated each time a byte is written.
The IAP feature makes these devices an option for any application that does not require the MCU’s code space to be erased through firmware. Since most applications are fixed function, erasing memory is not required for their operation; therefore, an OTP device can be used to implement solutions at low cost. For example, resistive touch screen applications require the use of MCUs with the ability to take A/D converter samples to calculate which coordinates are touched on the screen. As long as the necessary peripherals are available, OTP devices are a great choice for appliances such as washing machines, drying machines and blenders, as well as security devices, blood glucose meters or any other devices that perform a fixed function.
Code development process
The code development process for OTP MCUs is very similar to the process for flash MCUs, but with one added step. Because a code image is typically only programmed once on an OTP device, the majority of the code development and debugging is performed on a flash-based MCU and then ported to the OTP device. In most cases, the OTP device has a similar flash device for code development. Figure 1 illustrates the process.
Silicon Laboratories offers several OTP device families which range in size, performance, and package type and provide combinations of the following peripherals and functions:
System management bus (SMBus) and a Universal asynchronous receiver/transmitter (UART).
Serial peripheral interface (SPI) and universal serial bus (USB).
Timers and a programmable counter array (PCA).
A/D and D/A converters and comparators.
Temperature sensor and voltage reference.
5 to 3-V regulator and in-application programming (IAP).
Development kits include an evaluation board for test/debugging, a programming socket that connects to the motherboard to program the OTP device, and a flash-based daughter card that connects to the motherboard to aid in the code development. The motherboards included in the OTP development kits can provide the necessary programming voltage. ■
Learn more about Silicon Labs