Published:2011/8/2 21:59:00 Author:Phyllis From:SeekIC
A dazzling choice of devices……
Lots of semiconductor manufacturers also supply microcontrollers. The plethora of available versions and their increasing flexibility do not make it easy to find the right micro for your specific application.
BUYERS GUIDE
Comparing and weighting microcontroller specifications being largely subjective, it’s just not possible to give hard and fast rules to anyone wishing to pick ’the best’ microcontroller for a given job. In nearly all cases the starting point will be the actual application with its very specific requirements. This article does not aim at comprehensiveness by listing thousands of different microcontrollers but rather summarizes selection criteria to help you reduce the number of micros you could use from stunning to manageable.
Speed
What is commonly referred to as the speed of a microcontroller is not just dependent on the maximum CPU clock and the clock generator (quartz crystal) — you also need to look at the number of clock cycles the micro takes to execute an instruction, as well as the programming language used (assembler may be many times faster than a higher language). Depending on the clock frequency, universal controllers are suitable for applications well into the megahertz range (video processing).
Program memory
The program to be executed by the micro is stored in non-volatile memory. An internal OTP EPROM can be loaded once only, hence the more expensive Flash version of the controller is usually employed during the program development phase. Flash memory can be loaded in seconds and is equally simple to erase. This may be done using a programmer or in-circuit (ISP). These days the size of conventional internal program memory ranges from zero to 1024 kB of Flash memory (perhaps even more?).
Microcontrollers with a little window for EPROM erasure using UV light are now old hat. External windowed EPROMs are now only used in the case of very large programs — Flash RAMs are increasingly seen instead of EPROMs.
EEPROM
When program variables are to be retained even if the microcontroller is switched off completely, EEPROM nonvolatile memory, internal or external, is called for. Contrary to some popular beliefs, the number of write operations sustained by EEPROMs is not infinite.
In general, external EEPROMs are connected to the microcontroller via a two-wire bus. They are typically used when certain application-specific data (like calibration values) are to be read at the start of the program.
RAM
RAM is used to store variables during program execution. RAM on board microcontrollers is usually limited to 4 kB and the actual requirement is often much lower. External RAM is also possible.
Digital Input/Output (I/O)
The number of digital I/O lines you’ll need in your target application should be easy to tell. However, if the internal resources are exhausted, I/O may also be used to connect peripheral circuits. For simple applications you have a wide choice of controllers sporting little I/O (for example, Atmel’s Tiny’ devices with just eight pins). In some cases, whole ports are required in parallel mode, and that’s when you cannot avoid those difficult to solder multi-legged beasts.
Timers/counters
If a program is to measure periods, or count events, then the controller should have timers and/or counters on board. Fortunately, most current models contain up to three each of 8-bit or 16-bit timers/counters under the control of internal registers. Timers/counters are also needed to generate a clock-independent signal (PWM, UART).
The Watchdog timer is a special case. It is set to an interval by the running program having to reset it all the time.
External interrupts
Not only timers/counters generate interrupts. When an external event is to halt the main program execution and force a service subroutine to be run, one or two external interrupt inputs are available on most micros for this purpose.
Interfaces
Very useful to have are on-chip industry standard interfaces like I2C, I2S, SPI, CAN, USB, LIN or one for a common LCD. True, such interfaces can be emulated in software, but you’ll find that doing so takes time and deep knowledge of assembly code programming.
Analogue hardware
Microcontrollers frequently feature integrated interfaces to the analogue world. These interfaces include analogue/digital converters (with different resolutions and analogue multiplexers in front of them), analogue comparators and even operational amplifiers (with output to a pin).
Modes of operation
These are interesting to look at if a micro is to work in a battery-powered circuit. A number of sub-circuits in the controller may be switched to ’sleep’ mode to save power.
Programmobility
When the controller has an ISP interface, it can be programmed in the host circuit. If not, you’ll need a more or less complex programmer. An ISP-less controller soldered into a circuit can not be reprogrammed without a lot of work.
Special features
There exist microcontrollers that are only suitable for a specific application like motor control, DSP and controllers with an RF input section. If you’re planning a related application, these special devices may be well worth considering.
Price, availability, case
The price of a microcontroller is not too important if you are doing a one-off project or a small series. However, there’s little satisfaction in finally having found the ideal type for your application and then discovering that the chip is only available in 10,000+ quantities directly from Korea. The enclosure your ’dream’ micro comes in is also an important factor, after all, who’s capable of manually soldering a 256-pin ’flat-something’ case with pins at sub-millimeter distance?
Development Systems & Co.
This point is of marked interest to semi-professional developers. If you program in assembler, every new controller family you embrace requires a new language to be learned. If you do not like that, you either stick to the same controllers for years or invest in a higher-language compiler like C, Pascal or Basic. These products are usually suitable for several controllers, but tend to generate bulkier code than assembler.
To this should be added the cost of a development system. For some controller families, IDE’s are offered at no cost while for others you need to dig deep in your pocket. In particular commercial programmers that come with complex ’pods’ (controller sockets) may have extortionate price tags.
Reprinted Url Of This Article: http://www.seekic.com/blog/project_solutions/2011/08/02/Microcontroller.html
Print this Page | Comments | Reading(405)
Author:Ecco Reading(32820)
Author:Ecco Reading(3526)
Author:Ecco Reading(3246)
Author:Ecco Reading(3801)
Author:Ecco Reading(5331)
Author:Ecco Reading(3315)
Author:Ecco Reading(3462)
Author:Ecco Reading(3604)
Author:Ecco Reading(4009)
Author:Ecco Reading(3807)
Author:Ecco Reading(3748)
Author:Ecco Reading(3780)
Author:Ecco Reading(6094)
Author:Ecco Reading(3764)
Author:Ecco Reading(4579)