Alternatives to µC: ASIC Application Specific Integrated Circuit
Fully-Custom: All layers of the IC are
optimized for the application.
Semi-Custom: Bottom layers are
optimized. “Top layer available.”
EE 260 Lecture 4: Appropriate Microcontroller Use
Alternatives to µC: ASIC • Application Specific Integrated Circuit! • Fully-Custom: All layers of the IC are optimized for the application.! • Semi-Custom: Bottom layers are optimized. “Top layer available.”! • VERY Fast! • Not very flexible. EE 260 Lecture 4: Appropriate Microcontroller Use Alternatives to µC: CPLD • Complex Programmable Logic Device! • in between a PAL and a FPGA! • Logic Block: Macro cell “sea-of-gates”! • Chip contains non-volatile memory! • Fast and somewhat flexible
EE 260 Lecture 4: Appropriate Microcontroller Use
Alternatives to µC: FPGA • Field Programmable Gate Array! • Large interconnection matrix, logic gates, RAM! • May have analog capability e.g., A/D and D/A! • Programmed by a computer (VHDL)
EE 260 Lecture 4: Appropriate Microcontroller Use
Alternatives to µC: DSP • Digital Signal Processor! • Serious number crunching! • Designed around inputs and outputs (digital and analog)! • May include ! • quadrature decoders! • PWM! • Serial Communications EE 260 Lecture 4: Appropriate Microcontroller Use Alternatives to µC: PLC • Programmable Logic Controller! • Designed for Industrial Applications! • Expandable via modules! • Very broad range of capabilities! • Can do centralized or decentralized control! • Often programmed graphically
EE 260 Lecture 4: Appropriate Microcontroller Use
Alternatives to µC: µP • Powerful Processing—math! • Design with certain peripherals in mind! • Not able to directly interface with either analog or digital inputs (excp: audio)! • Significant memory! • Runs an OS! • May be single-board EE 260 Lecture 4: Appropriate Microcontroller Use Alternatives to µC: µC • Arduino (20 varieties)! • MAKE Controller! • PICKAXE! • BASIC Stamp
EE 260 Lecture 4: Appropriate Microcontroller Use
Selection of MCU How do you choose the MCU? • Define the System Requirements! • Choose the processor technology! • List all good candidates! • Finalize the selection
EE 260 Lecture 4: Appropriate Microcontroller Use
System Requirements 1. Computational 7. Interfacing / 14. Timer/Counter Power! Compatibility! Functions! 2. Ease of 8. Overall cost! 15. Handling media! Programming! 9. Versatility! 16. Overall time 3. Speed of required to 10. Communication Operation! assemble! w/other devices! 4. Interrupts! 17. EMI/EMC! 11. Safety! 5. Reconfiguration! 18. Size! 12. Upgradability! 6. Power/Heat! 19. Availability 13. Memory!