====== Sitemap ====== This is a sitemap over all available pages ordered by [[doku>namespaces|namespaces]].
Page Actions
Wiki Actions
User Actions
A PCRE internal error occured. This might be caused by a faulty plugin
====== Differences ====== This shows you the differences between two versions of the page.
guides:microcontroller [2010/09/26 15:51] fishy STM |
guides:microcontroller [2010/09/26 17:09] (current) fishy |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Microcontroller concepts ====== | ====== Microcontroller concepts ====== | ||
+ | |||
+ | Tiny computers surround your life. In your coffee maker, remote control, vacuum cleaner, telephone, and clock radio. Unlike your personal computer, where a | ||
+ | central processor has a huge amount of processing power, these tiny computers | ||
+ | are special purpose devices that have relative low performance requirements. | ||
+ | These tiny computers are, in general, microcontrollers. | ||
+ | |||
+ | Microcontrollers are getting more and more available to the general hobby-hacker through the advent of devices like the BasicStamp and the Arduino. | ||
===== The difference of processors and controllers ===== | ===== The difference of processors and controllers ===== | ||
Line 47: | Line 54: | ||
you will probably be using a microcontroller, and by that, reducing | you will probably be using a microcontroller, and by that, reducing | ||
development time, complexity and cost. | development time, complexity and cost. | ||
+ | |||
===== Families of microcontrollers ===== | ===== Families of microcontrollers ===== | ||
Line 53: | Line 61: | ||
often the original developer of the controller family. The most commonly | often the original developer of the controller family. The most commonly | ||
used controller families in embedded hobby electronics are as far as I can tell: | used controller families in embedded hobby electronics are as far as I can tell: | ||
- | |||
==== AVR ==== | ==== AVR ==== | ||
- | Developed my Atmel, the AVR family is a quite popular modified Harvard architecture 8-bit RISC. The AVR architecture was conceived by two students at the Norwegian Institute of Technology (NTH) Alf-Egil Bogen and Vegard Wollan. | + | {{ :guides:atmega168.jpg?100}} |
+ | |||
+ | Developed by Atmel, the AVR family is a quite popular modified Harvard architecture 8-bit RISC. The AVR architecture was conceived by two students at the Norwegian Institute of Technology (NTH) Alf-Egil Bogen and Vegard Wollan. | ||
AVR microcontrollers are today split in a set of (8 bit) sub-families: | AVR microcontrollers are today split in a set of (8 bit) sub-families: | ||
Line 63: | Line 72: | ||
* **XMEGA**\\ the ATxmega series, extended performance features, such as DMA, "Event System", and cryptography support, extensive peripheral set with DACs | * **XMEGA**\\ the ATxmega series, extended performance features, such as DMA, "Event System", and cryptography support, extensive peripheral set with DACs | ||
* **FPSLIC**\\ AVR with FPGA | * **FPSLIC**\\ AVR with FPGA | ||
- | |||
==== PIC ==== | ==== PIC ==== | ||
+ | {{ :guides:pic18-150-40-dip.jpg?150}} | ||
The PIC family is very popular among hobbyists and industry developers alike, | The PIC family is very popular among hobbyists and industry developers alike, | ||
- | and ha a wide variety of devices with varying interfaces and capabilities. | + | and has a wide variety of devices with varying interfaces and capabilities. |
These microcontrollers are supplied by Microchip, who currently holds the | These microcontrollers are supplied by Microchip, who currently holds the | ||
- | patents and trademarks for PIC technology. Like AVR, PIC is based on ah Harvard architecture, where code and data space is separated. The PIC technology | + | patents and trademarks for PIC technology. Like AVR, PIC is based on a Harvard architecture, where code and data space is separated. The PIC technology |
derives from the PIC1640 originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to "Programmable Interface Controller" | derives from the PIC1640 originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to "Programmable Interface Controller" | ||
Line 79: | Line 88: | ||
* **PIC18**\\ high-performance 8-bit architecture with 16 bit code-space. Quite a lot of developers who used PIC16 previously is now moving to PIC18. | * **PIC18**\\ high-performance 8-bit architecture with 16 bit code-space. Quite a lot of developers who used PIC16 previously is now moving to PIC18. | ||
* **PIC24 and dsPIC**\\ 16 bit architecture, high performance devices. Mulitple registers make them very powerful compared to 8-bit PIC's | * **PIC24 and dsPIC**\\ 16 bit architecture, high performance devices. Mulitple registers make them very powerful compared to 8-bit PIC's | ||
- | * **PIC32**\\ These differ from previos PIC's by being Von Neumann devices, not Harvard. A leap up from PIC24, they 32 bit devices with very high MIPS and capabilities. The first sets of PIC32 devices are pin-compatible with PIC24. | + | * **PIC32**\\ These differ from previous PIC's by being Von Neumann devices, not Harvard. A leap up from PIC24, they 32 bit devices with very high MIPS and capabilities. The first sets of PIC32 devices are pin-compatible with PIC24. |
==== ARM ==== | ==== ARM ==== | ||
+ | {{ :guides:lpc214x_chip.jpg?150}} | ||
The ARM is a 32-bit reduced instruction set computer architecture developed by ARM Holdings. It was known as the Advanced RISC Machine, and before that as the Acorn RISC Machine, and initially comes from a microprocessor for desktop computers produced by Acorn Computers. The ARM architecture is provided as a series of | The ARM is a 32-bit reduced instruction set computer architecture developed by ARM Holdings. It was known as the Advanced RISC Machine, and before that as the Acorn RISC Machine, and initially comes from a microprocessor for desktop computers produced by Acorn Computers. The ARM architecture is provided as a series of | ||
Line 90: | Line 101: | ||
ARM microcontrollers are provided by several manufacturers, most notably: | ARM microcontrollers are provided by several manufacturers, most notably: | ||
- | * **Altera**\\ | + | * **Altera**\\ Supplying FPGA's with ARM cores |
- | Supplying FPGA's with ARM cores | + | * **Freescale**\\ The MAC7100 family of controllers geared towards automotive use |
- | * **Freescale**\\ | + | * **Philips/NXP**\\ Most notable microcontroller are the LPC2000-series ARM based, high performance, high-memory devices. Highly rated, but I am told they are not trivial to develop for. |
- | The MAC7100 family of controllers geared towards automotive use | + | |
- | * **Philips/NXP**\\ | + | |
- | Most notable microcontroller are the LPC2000-series ARM based, high performance, high-memory devices. Highly rated, but I am told they are not trivial to develop for. | + | |
Personally, I have no experience working with ARM-based microcontrollers. If you have information fitting this section that you would like to have added, please contribute by registering and editing, or simply send me an email... | Personally, I have no experience working with ARM-based microcontrollers. If you have information fitting this section that you would like to have added, please contribute by registering and editing, or simply send me an email... | ||
Line 107: | Line 115: | ||
of ST controllers in hobbyist designs. | of ST controllers in hobbyist designs. | ||
+ | ===== Development boards ===== | ||
+ | |||
+ | {{ :guides:picdem2-plus.jpg?150}} | ||
+ | Learning to use a new type or family of microcontroller can be limited severely | ||
+ | by the fact that the device is unfamiliar to the developer, so the design of | ||
+ | a circuit to use the device becomes difficult. Learning how to program and use | ||
+ | a controller is often a crucial step in learning to use and interface to | ||
+ | a given controller, and commonly you want to start experimenting with code and | ||
+ | interfacing before committing to designing a special purpose design. | ||
+ | |||
+ | The controller manufacturers realize this, and produce demo boards, evaluation | ||
+ | kits and trainers for their microcontrollers. These boards include all supporting | ||
+ | circuitry needed, and facilitate rapid prototyping and experimentation, allowing | ||
+ | rapid learning of a controllers features. | ||
+ | |||
+ | Third-party manufacturers, like Olimex, also create development boards, both special- and general-purpose for the variety of microcontrollers. These third-party development boards often combine microcontrollers with other circuitry, | ||
+ | like sensors or I/O level converters, or allow demonstration of advanced usage, like Ethernet connectivity or wireless communication. | ||
+ | |||
+ | {{ :guides:arduino.jpg?150}} | ||
+ | Demo-, prototype- and evaluation boards are a good way to rapidly get experience | ||
+ | with controllers and peripherals without having to invest in complex circuit design and production. A very prominent example of how a prototype-kit can make microcontroller-oriented development very easily available, is the Arduino platform. The Arduino has opened up Controller-based systems to an enormous audience, who without the Arduino would not consider developing. A downside to this, is that systems tend to be centered around the prototype-platform (Arduino) rather than being more efficiently built directly around the microcontroller (Atmel Atmega AVR). |