BATTERY BACKED-UP STATIC RAM
Battery backed-up static RAM is useful when a large non-volatile program and DATA space is required. A major advantage of static RAM is that it is much faster than other types of nonvolatile memory so it is well suited for high performance application. Also there are no limits as to the number of times that it may be written to so it is perfect for applications that keep and manipulate large amounts of data locally.
FIELD PROGRAMMING/REPROGRAMMING
Using nonvolatile memory as a place to store program memory allows the device to be reprogrammed in the field without removing the microcontroller from the system that it controls. One such application is in automotive engine controllers. Reprogrammed able non-volatile program memory on the engine's microcontroller allows the engine controller program to be modified during routine service to incorporate the latest features.
A OTP (One Time Programmable) part uses standard EPROM, but the package has no window for erasing. Once your program is written into the device with a standard EPROM programmer, it cannot be erased or modified.
As product design cycles get shorter, it is more important for micro manufacturers to offer OTPs as an option. This was commonly used for limited production runs before a ROM mask in order to test code.
Either by encryption or fuse protection, the programmed software is protected against unauthorized snooping (reverse engineering, modifications, piracy, etc.).
This is only an option on OTPs and Windowed devices. On Masked ROM devices, security is not needed-the only way to read code would be to rip the microcontroller apart with a scanning electron microscope.
Power Management and Low Voltage
LOW VOLTAGE
There a few interesting rules of thumb regarding transistors:
-
The amount of power they dissipate is proportional to their size. If you make a transistor half as big, it dissipates half as much power.
- Their propagation delay is proportional to their size. If you make a transistor half as big, it's twice as fast.
- Their cost is proportional to the square of their size. If you make them half as big, they cost one quarter as much.
The power, speed, and cost improved by making a transistor smaller. The only drawback is hat they are harder to make.
BROWNOUT PROTECTION
Brownout protection is usually an on-board protection circuit that resets the device when the operating voltage (V cc) is lower than the brownout voltage. The device is held in reset and will remain in reset when Vcc stays below the Brownout voltage. The device will resume execution (from reset) after Vcc has risen above the brownout Voltage.
POWER MANAGEMENT
IDLE/HALT/WAKEUP
The device can be placed into IDLE/HALT mode by software control. In both Halt and Idle conditions the state of the microcontroller remains unchanged. RAM is not cleared and any outputs are not changed.
In IDLE mode, all activities are stopped except: associated on-board oscillator circuitry -watchdog logic (if any), the clock monitor, the idle timer (a free running timer). Power supply requirements on the microcontroller in this mode are typically around 39% of normal power requirements of the microprocessor. Idle mode is exited by a reset, or some other stimulus (such as timer interrupt, serial port, etc.). A special timer/counter (the idle timer) causes the chip to wake up at a regular interval to check if things are OK. The chip then goes back to sleep.
IDLE mode is extremely useful for remote, unattended data logging - the microprocessor wakes up at
regular intervals, takes its measurements, logs the data, and then goes back to sleep.
In Halt mode, all activities are stopped (including timers and counters). The only way to wake up is by a reset or device interrupt (such as an I/O port). The power requirements of the device are minimal and the applied voltage (Vcc) can sometimes be decreased below operating voltage without altering the state (RAM/Outputs) of the device Current consumption is typically less than 1 microampere.
A common application of HALT mode is in laptop keyboards. In order to have maximum power saving, the controller is in halt until it detects a keystroke (via a device interrupt). It then wakes up, decodes and sends the keystroke to the host, and then goes back into halt mode, waiting either for another keystroke, or information from the host.
MULTI-INPUT WAKEUP
The Multi-Input Wakeup (MIWU) feature is used to return (wakeup) the microcontroller from either HALT or IDLE modes. Alternately MIWU may also be used to generate up to 8 edge selectable external interrupts. The user can select whether the trigger condition on the pins is going to be either a positive edge (low to high) or a negative edge (high to low).
Input Output
UART
A UART (Universal Asynchronous Receiver Transmitter) is a serial port adapter for asynchronous serial comunications.
USART
A USART (Universal Synchronous/Asynchronous Receiver Transmitter) is a serial port adapter for either asynchronous or synchronous serial communications. Communications using a USART are typically much faster (as much as 16 times) than with a
UART.
SYNCHRONOUS SERIAL PORT
A synchronous serial port doesn't require start/stop bits and can operate at much higher dock . rates than an asynchronous serial port. Used to communicate with high speed devices such as memory servers, display drivers, additional A/D ports, etc. Can also be used to implement a simple microcontroller network.
ANALOG TO DIGITAL CONVERSION (A/D)
Converts an external analog signal (typically relative to voltage) and converts it to a digital representation. Microcontrollers that have this feature can be used for instrumentation, environmental data logging, or any application that lives in an analog world.
The various types of A/D converters that can be found in microcontrollers are:
SUCCESSIVE APPROXIMATION AID CONVERTERS
This the most common type of A/D and is used in the majority of microcontrollers. In this technique, the converter figures out each bit at a time (most significant first) and finds if the next step is higher or lower. This way has some benefits-it takes exactly the same amount of time for any conversion-it is very common-(and therefore very cheap). However: it also has some disadvantages-it is slow-for every bit it takes at least one clock cycle.
DELTA-SIGMA A/D CONVERTERS
This type of A/D converter is found on higher-end DSPs. Delta sigma A/Ds can be broken down into two main parts.
The modulator which does the A/D conversion and the filter, which turns the output of the modulator into a format suitable for the micro controller (or Digital Signal Processor).
The filter comes after the modulator, and this filter is essentially a Digital Signal Processor block.
FLASH A/D
This is the basic architecture for the fastest category of A/Ds. The flash converter involves loo.king at each level that is possible and instantaneously saying what level the voltage is at.
This is done by setting up comparators as threshold detectors with each detector being set up for a voltage exactly 1 LSB higher than the detector below it. The benefit of this architecture is that with a single clock cycle, one can tell exactly what the input voltage is-that is why it is so fast. The disadvantage is that to achieve 8-bit accuracy one need 256 comparators and to achieve la-bit accuracy one need 1024 comparators. To make these comparators operate at higher speeds, they have to draw large amount of current, and beyond 10 bits, the number of comparators required becomes unmanageable.
POLLING
Polling is a software technique whereby the controller continually asks a peripheral if it needs servicing. The peripheral sets a flag when it has data ready for transferring to the controller, which the controller notices on its next poll. Several such peripherals can be polled in succession, with the controller jumping to different software routines, depending on which flags have been set.
INTERRUPTS
Rather than have the microcontroller continually polling-that is, asking peripherals (timers/ DARTS / A/Ds / external components) whether they have any data available (and finding most of the time they do not), a more efficient method is to have the peripherals tell the controller when they have data ready. The controller can be carrying out its normal function, only responding to peripherals when there is data to respond to. On receipt of an interrupt, the controller suspends its current operation, identifies the interrupting peripheral, then jumps to the appropriate interrupt service routine.
The advantage of interrupts, compared with polling, is the speed of response to external events and reduced software overhead.
Most microcontrollers have at least one external interrupt, which can be edge selectable (rising or falling) or level triggered. Both systems (edge/level) have advantages. Edge-is not time sensitive, but it is susceptible to glitches. Level must be held high (or low) for a specific duration.
4 bit microcontrollers usually have either a polling or non-vectored type of interrupt scheme. 8 and 16 bit micro controllers usually have some type of vectored arbitration type of interrupt scheme. 32 bit microcontrollers usually will have some type of vectored priority type of interrupt scheme. One should consult data sheet to make sure type of interrupts available before designing the project.
MASKABLE AND NONMASKABLE INTERRUPTS
A maskable interrupt is one that can be disable or enable (masking it out means disabling the interrupt), whereas non-maskable interrupts can't be disable. The benefit of mask able interrupts is that one can turn off a particular interrupts (for example a DART) during some time critical task. Then, those particular interrupts will be ignored thus allowing the microcontroller to deal with the task at hand. Most microcontrollers (as well as most microprocessors) have some type of Global Interrupt Enable (GIE) which allows to turn off (or ON) all of the maskable interrupts with one bit. (GTE usually does not effect any NMI)
VECTORED AND NONVECTORED INTERRUPTS
Simple (non-vectored) interrupts is one of the simplest interrupts schemes. Whenever there is an interrupt, the system needs to check the interrupts (one at a time) to see which peripheral
has caused the interrupt to occur. The time between the interrupt happening and the time the service routine is entered depends on how the system designer sets up their ranking. The peripheral that is checked last takes the longest to process. Most microcontrollers that have fewer than 3 - 5 interrupts use this method. The benefit of this is that the system designer can set the priority. The most important peripheral gets checked first, and you get to decide which peripheral that is.
Vectored interrupts are easier to set up, but the system designer has less control of the system. When an interrupt occurs, the hardware interrupt handler automatically branches to a specific address (called as vector address) depending on what interrupt occurred. This is much faster than the non-vectored approach described, however the system designer does not get to decide what peripheral gets checked first.
BACK |