190 likes | 463 Views
Microcontroller basics, microcontroller projects. Bioinstrumentation by Design BENG401 Fall 2009. uProcessors < uControllers < SoCs. Microprocessors ( uP ) differ from microcontrollers ( uC ).
E N D
Microcontroller basics,microcontroller projects Bioinstrumentation by Design BENG401 Fall 2009
Microprocessors (uP) differ from microcontrollers (uC) uP: suited to contro of I/O devices requiring a minimum component count uC: suited to processing information in computer systems Instruction sets: uP: processing intensive powerful addressing modes instructions to perform complex operations & manipulate large volumes of data processing capability of MCs never approaches those of MPs large instructions -- e.g., 80X86 7-byte long instructions uC: cater to control of inputs and outputs instructions to set/clear bits boolean operations (AND, OR, XOR, NOT, jump if a bit is set/cleared), etc. Extremely compact instructions, many implemented in one byte (Control program must often fit in the small, on-chip ROM) Hardware & Instructionset support: uC: built-in I/O operations, event timing, enabling & setting up priority levels for interrupts caused by external stimuli uP: usually require external circuitry to do similar things (e.g, 8255 PPI, 8259 etc)
Microprocessors (uP) and microcontrollers (uC) Bus widths: uP: very wide large memory address spaces (>4 Gbytes) lots of data (Data bus: 32, 64, 128 bits wide) uC: narrow relatively small memory address spaces (typically kBytes) less data (Data bus typically 4, 8, 16 bits wide) Clock rates: uP very fast (> 1 GHz) uC: Relatively slow (typically 10-20 MHz) since most I/O devices being controlled are relatively slow Cost: uP's expensive (often > $100) uCs cheap (often $1 - $10) 4-bit: < $1.00 8-bit: $1.00 - $8.00 16-32-bit: $6.00 - $20.00
System-on-a-chip Compare to lab-on-a-chip ideas
Simplest project ever: Minority Report Mouse control (Tom Cruise’s science fiction is not that futuristic?)
Example of circuit • Notice the processor/controller • What does it do?
Now with a microcontroller • How can you use a microcontroller to make a similar project? • What would you change? • Where would you compromise?