Editing Microcontrollers
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 4: | Line 4: | ||
First, a few definitions: | First, a few definitions: | ||
− | * a '''CPU''' is something that can execute software programs. The earliest CPUs were built out of many parts, but now most CPUs are | + | * a '''CPU''' is something that can execute software programs. The earliest CPUs were built out of many parts, but now most CPUs are microprocessors. |
− | * a '''microprocessor''' is a kind of | + | * a '''microprocessor''' is a kind of CPU that all fits on one [[integrated circuit]]. The earliest microprocessors, and some famous kinds of microprocessors still being made, fill the entire chip, and so require external RAM and ROM/FLASH memory. But now most CPUs sold are microcontrollers[http://www.circuitcellar.com/library/designforum/silicon_update/3/index.asp]. |
− | * A '''microcontroller''' is a kind of microprocessor that, in addition to the CPU, also includes RAM | + | * A '''microcontroller''' is a kind of microprocessor that, in addition to the CPU, also includes RAM and ROM/FLASH memory on a single die/package. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | A microcontroller is a little computer on a single Die/Package. The computer includes a CPU core, RAM, ROM/FLASH, and peripherals including UARTS, A/D converters, SPI, and I2C. Microcontrollers differ from microprocessors in that the microporcessors generally have bigger more powerful central processing units, but need support chips for ram, rom and other peripherals. Most modern microcontrollers use FLASH ram instead of a ROM so they can be programmed over and over. Many modern microcontrollers allow self-flashing to enable bootloading or a firmware update without pulling the chip from the circuit or using a programmer/debugger. Microcontrollers tend to be more optimizated for writting in assembly than PCs, but C and Basic are becoming more standard programming languages. | ||
==General== | ==General== | ||
Line 31: | Line 24: | ||
Somebody always thinks their microcontroller is the best microcontroller, so we have listed all of them as best. | Somebody always thinks their microcontroller is the best microcontroller, so we have listed all of them as best. | ||
+ | |||
+ | |||
+ | [http://www.ladyada.net/library/picvsavr.html "PIC vs. AVR"]: "OK, I know what you people want. You want ultimate fighting, embedded E.E. style. You want to know WHICH IS BETTER, PIC OR AVR?" | ||
+ | |||
+ | |||
+ | |||
+ | [[MC RS232 Comm|Some notes on Microcontroller RS232 Communications]] | ||
== Microchip PIC == | == Microchip PIC == | ||
+ | The best microcontroller. | ||
* [[PIC Links]] A bunch of links to PIC based information and projects | * [[PIC Links]] A bunch of links to PIC based information and projects | ||
Line 39: | Line 40: | ||
* [[DsPIC30F 5011 Development Board]] | * [[DsPIC30F 5011 Development Board]] | ||
* [[Microchip]] PIC32 32 bit FLASH microcontrollers | * [[Microchip]] PIC32 32 bit FLASH microcontrollers | ||
− | |||
: ''consider merging the following section to [http://en.wikibooks.org/wiki/Embedded_Systems/PIC_Microcontroller#Which_PIC_to_Use Which PIC to use], to gain the advantages of [http://communitywiki.org/ConsolidateInformation consolidating information].'' | : ''consider merging the following section to [http://en.wikibooks.org/wiki/Embedded_Systems/PIC_Microcontroller#Which_PIC_to_Use Which PIC to use], to gain the advantages of [http://communitywiki.org/ConsolidateInformation consolidating information].'' | ||
Line 49: | Line 49: | ||
Things to consider as a hobbiest or making a small production run: | Things to consider as a hobbiest or making a small production run: | ||
− | * Microchip tends to produce the same chip with minor variations. The exact same chip with the exact same pinout may be available in 8k, 16k, or 32k flash. Spend a few extra | + | * Microchip tends to produce the same chip with minor variations. The exact same chip with the exact same pinout may be available in 8k, 16k, or 32k flash. Spend a few extra pennyies and take the best. |
− | * SMT parts | + | * SMT parts are hard to work with so focus on DIP package parts with <= 40 pins. |
* Contrary to common sense, older parts are often more expensive then newer parts. | * Contrary to common sense, older parts are often more expensive then newer parts. | ||
* Consider if a free/student version of a C compiler is availible. Microchip provides free/student student versions for the 18f,dsPIC/PIC24, and PIC32. | * Consider if a free/student version of a C compiler is availible. Microchip provides free/student student versions for the 18f,dsPIC/PIC24, and PIC32. | ||
Line 69: | Line 69: | ||
|PIC16F88 | |PIC16F88 | ||
|18 | |18 | ||
− | |ADC, I/O PWM, Comparator | + | |UART, I2C/SPI, ADC, I/O PWM, Comparator |
|General Purpose | |General Purpose | ||
|- | |- | ||
|18F2620 | |18F2620 | ||
|28 | |28 | ||
− | |ADC, I/O PWM, Comparator | + | |UART, I2C/SPI, ADC, I/O PWM, Comparator |
|General Purpose | |General Purpose | ||
|- | |- | ||
|18F4620 | |18F4620 | ||
|40 | |40 | ||
− | |ADC, I/O PWM, Comparator | + | |UART, I2C/SPI, ADC, I/O PWM, Comparator, 8 Bit Parallel Port |
|General Purpose | |General Purpose | ||
|- | |- | ||
|18F2550/18F2553 | |18F2550/18F2553 | ||
|28 | |28 | ||
− | |ADC, I/O PWM, Comparator | + | |USB, UART, I2C/SPI, ADC, I/O PWM, Comparator |
|USB Connectivity | |USB Connectivity | ||
|- | |- | ||
|18F4550/18F4553 | |18F4550/18F4553 | ||
|40 | |40 | ||
− | |ADC, I/O PWM, Comparator | + | |USB, UART, I2C/SPI, ADC, I/O PWM, Comparator, 8 Bit Parallel Port |
|USB Connectivity | |USB Connectivity | ||
|- | |- | ||
|P24FJ64GA002 | |P24FJ64GA002 | ||
|28 | |28 | ||
− | |ADC, I/O PWM, Comparator | + | |2 UART, 2 I2C, 2 SPI, ADC, I/O PWM, Comparator - Software Selectable Pin Assignment |
|General Purpose | |General Purpose | ||
|} | |} | ||
Line 103: | Line 103: | ||
== Atmel AVR == | == Atmel AVR == | ||
− | + | The best microcontroller. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* [[Atmel]] AVR 8 bit FLASH microcontrollers | * [[Atmel]] AVR 8 bit FLASH microcontrollers | ||
− | |||
− | |||
− | |||
− | |||
== Development Boards == | == Development Boards == | ||
Development Boards are printed circuit boards that contain a microcontroller and enough circuitry to get it going, typically at least some of the following: clock, voltage regulator, reset button, communications chip, buffer amplifiers, led's, prototyping area, and/or off chip connections. Sometimes the manufacturer of the chip sells development boards ( often called evaluation boards ). Development boards can be really basic, just enough to make the processor run, with connections to the IO pins. Or the boards can include communications, displays, input buttons etc. Often you can jump start a project by using a development board that does the boring standard stuff and let you focus on your project. The development board can let you use high density parts and surface mount parts that you might not want to mess with. The BitWacker kit from [[SparkFun]] is priced close the to the total price of the parts. This is probably true of some other development boards as well. Note that some development boards require you to build them they have not been made available as kits, some come both ways. | Development Boards are printed circuit boards that contain a microcontroller and enough circuitry to get it going, typically at least some of the following: clock, voltage regulator, reset button, communications chip, buffer amplifiers, led's, prototyping area, and/or off chip connections. Sometimes the manufacturer of the chip sells development boards ( often called evaluation boards ). Development boards can be really basic, just enough to make the processor run, with connections to the IO pins. Or the boards can include communications, displays, input buttons etc. Often you can jump start a project by using a development board that does the boring standard stuff and let you focus on your project. The development board can let you use high density parts and surface mount parts that you might not want to mess with. The BitWacker kit from [[SparkFun]] is priced close the to the total price of the parts. This is probably true of some other development boards as well. Note that some development boards require you to build them they have not been made available as kits, some come both ways. | ||
− | *[[Chalk Roach]] | + | *[[Chalk Roach]] |
− | *[[Arduino Links]] | + | *[[Arduino Links]] |
− | * | + | *[[BitWacker Java Communications]] |
*[[RS232 Dev Board]] | *[[RS232 Dev Board]] | ||
*[[dsPIC30F 5011 Development Board]] | *[[dsPIC30F 5011 Development Board]] | ||
− | |||
− | |||
− | |||
− | |||
== Cypress PSoC == | == Cypress PSoC == | ||
− | + | The best microcontroller. | |
− | * Cypress PSoC 8 | + | * Cypress PSoC 8 bit FLASH microcontrollers. |
External Links: | External Links: | ||
− | |||
* [http://en.wikibooks.org/wiki/Embedded_Systems/Cypress_PSoC_Microcontroller Wikibooks: Cypress PSoC] | * [http://en.wikibooks.org/wiki/Embedded_Systems/Cypress_PSoC_Microcontroller Wikibooks: Cypress PSoC] | ||
− | |||
== ARM == | == ARM == | ||
+ | The best microcontroller. | ||
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip. | * [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== further reading == | == further reading == | ||
− | |||
− | |||
− | |||
− | |||
* [http://www.instructables.com/id/How-to-choose-a-MicroController/ Instructables: How to choose a MicroController] | * [http://www.instructables.com/id/How-to-choose-a-MicroController/ Instructables: How to choose a MicroController] | ||
− | |||
− | |||
* [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors#brief_selection_guide Wikibooks: brief selection guide] | * [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors#brief_selection_guide Wikibooks: brief selection guide] | ||
*[http://www.veys.com/index.php?title=Main_Page Main Page] May have been a one man effort, now dropped. Has a bit of content that looks good. | *[http://www.veys.com/index.php?title=Main_Page Main Page] May have been a one man effort, now dropped. Has a bit of content that looks good. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |