The future of Flash microcontrollers.By Rodger Richey, Microchip Technology Inc.
The microcontroller remains one of the most ubiquitous electronic components used in wireless applications today. While many engineers have designed with read-only-memory (ROM) or one-time-programmable (OTP) versions, Flash-based microcontrollers are emerging as the definitive choice for a variety of new designs. Flash memory is reprogrammable, providing engineers the ability to program the device many times so equipment in the field can be updated if required. This article presents the key design considerations for using Flash microcontrollers in a future application.
Enabling Field Upgrades
When systems are installed in the field for several years or longer, serviceability can be a significant expense. Flash microcontrollers are ideal for applications where there is an existing communication infrastructure or planned infrastructure to support remote upgrades. In addition, Flash microcontrollers enable easy and low-cost Internet connectivity to allow remote monitoring in addition to software upgrades.
Wireless networking in the home is very exciting and yet very confusing. Since most homes are not wired for any type of a network, a wireless network provides a cost-effective solution that is easy to implement. The confusing part is the number of "standards" available to a designer. There is HomeRF, PURLnet, Firefly, IEEE 802.11 and the list goes on and on. How can a designer ensure that a product designed today using one of these implementations will still be usable in the future? One method is to develop a generic RF platform as shown in Figure 1 and implement the standard in software running on the microcontroller. With Flash program memory, the program running on the microcontroller can be updated later to support the newest protocol or one that eventually becomes the standard.
The PIC18F452 microcontroller, for example, shown in Figure 1 has 32 Kbytes of Flash program memory and operates at 40 MHz providing ample resources to implement most standards in firmware. In addition, field upgrades require extra considerations such as additional software development, extra connectors for access, guards against possible corruption due to false programming and fault tolerance/ recovery during the upgrade.
Self Programming Capability and
Flash devices enable self-programming from a remote location. The microcontroller accepts data from an external source via a peripheral, such as the on-chip USART, through a variety of medium ranging from Internet and modem to RF and IrDA. It then takes this data and writes into its own program memory and does so over the entire device operating voltage and frequency range.
Most reprogrammable microcontrollers have in-circuit programming technology that allows the microcontroller to be programmed after being placed in a circuit board. This offers tremendous flexibility, reduces development time and manufacturing costs, and improves time to market. In-circuit programming technology enables users to test and run circuit board diagnostics during the development process. Once the board is working, then the final product software code can be downloaded into the system via the in-circuit-programming interface.
An in-circuit-debugging feature (found on many Flash microcontrollers) lets designers "emulate" the microcontroller without the need of an in-circuit emulator. The microcontroller itself is the "emulator." The in-circuit-debugging feature utilizes the in-circuit programming interface, allowing the user to emulate and program the microcontroller through a single interface. Some devices, when used in in-circuit debugging mode, require only two I/O pins for debugging.
In the past Flash-based microcontrollers have been somewhat prohibitive in high volume manufacturing due to the longer programming times when compared to microcontrollers with OTP program memory. ROM-based microcontrollers remove the need to program but are not flexible, require large minimum orders and have long lead times. The semiconductor manufacturers have recognized this potential drawback and are implementing new technologies to improve programming times on Flash devices. Average programming times on 32 Kbyte devices have been in the 30 to 60 second range. The PIC18F family of microcontrollers, for example, has a new Flash memory design and programming method that allows a 1 second programming time on devices with program memory sizes from 1 Kbytes to 128 Kbytes.
The ability to self-reprogram the Flash program memory on a microcontroller is not the only feature to be considered. Depending on the application, the microcontroller must be able to handle a large number of erase/write cycles over an extended temperature range and retain the contents for many years. The designer must be careful to calculate the expected number of erase/write cycles, operating temperature range and expected life of the application to ensure that the Flash microcontroller is specified to handle these conditions. The PIC18F452, for example, will typically allow up to 100,000 erase/write cycles to program memory and will retain the contents for at least 40 years.
In many instances, Flash microcontrollers are used for early design activity, such as prototyping and design validation. Once the code has been stable for several months, a lower cost ROM microcontroller may be used. The tradeoffs are reduced flexibility in changing code and no remote monitoring or field serviceability inherent in Flash memory.
Many Flash microcontrollers are supported by low cost development tools such as in-circuit debuggers that reduce development time and time to market. These devices offer many advantages over a typical emulator system. Emulators will typically use an emulator boundout device, not the actual microcontroller, to allow the designer to debug the application. Emulators also have circuit protection devices that prevent damage to the emulator during operation. An in-circuit debugger such as the MPLAB®-ICD from Microchip Technology, will use the microcontroller itself to "emulate" the system. This allows debugging capability while maintaining the use of the oscillator and I/O pins. Circuit protection devices can in most cases interfere with the operation of the I/O and peripherals such as the analog-to-digital converter accuracy.
Flash as a Competitive, Company Advantage
One of the biggest challenges for wireless OEMs is to keep up with the dizzying array of emerging, existing and evolving standards across many industries. Using Flash microcontrollers that can be reprogrammed in the field, systems can be installed today before a standard solidifies. If the standard changes, then the equipment can be upgraded to conform to the new revision. While other companies wait for microcontrollers and development tools supporting the new standard, OEMs using Flash devices are already selling product, gaining valuable field information, working with new opportunities and are viewed as a market leader. A successful and painless field upgrade can build significant confidence with the end customer. Flash can be a highly competitive advantage for emerging markets where buyers reward OEMs who provide the right product at the right time.
In addition to aiding an OEM's design and engineering group, Flash technology offers benefits to the manufacturing, purchasing and marketing/sales functions.
Manufacturing uses the same device for prototyping as for large production runs. The most flexible manufacturing situation occurs when the assembly house programs the Flash microcontroller after it has been placed on the PC board. This allows the OEM to use standard parts for all of its systems, customizing them only near the end of the manufacturing process. This reduces inventory expenses, work in progress and scrappage. Code changes can be made on the fly reducing time to market. Flash is ideal for fast-moving markets, short production runs, unpredictable run-rates and short product life cycles.
Purchasing can obtain a standard product off the shelf from numerous distributors with very flexible quantity requirements (versus ROMs). Flash prices have decreased, reaching parity with OTP devices on the same process technology.
Marketing and sales can react quickly to changing market demands by updating the software with new features and capabilities. The ability to offer field upgrades can provide new and consistent revenue streams.
Field upgrades and Internet connectivity represent two popular areas that are fueling the growth of Flash microcontrollers. As Flash microcontrollers surge in popularity, engineers need to understand the many design considerations explored in this article to determine if Flash technology is the appropriate fit for their applications.
Mr. Richey has worked for Microchip Technology for more than seven years in principal engineer and senior applications engineer positions. Mr. Richey can be reached at firstname.lastname@example.org.
MPLAB is a registered trademark of Microchip technology Inc. in the USA and other countries.