180 likes | 261 Views
Resources: Hardware and Software. Senior Design – Spring 2012. Microcontrollers. Useful for analog-digital conversions, timing, counting pulses, serial communications, PWM, digital I/O, and much more! Code can be interrupt driven Possible applications
E N D
Resources:Hardware and Software Senior Design – Spring 2012
Microcontrollers • Useful for analog-digital conversions, timing, counting pulses, serial communications, PWM, digital I/O, and much more! • Code can be interrupt driven • Possible applications • Perform an A-D conversion on a signal and send that data to a PC • Control an LCD display • Receive information from a RF ID reader • Interpret signals from a numeric keypad *Pictures from http://www.electronic-kits-and-projects.com
Tips for using Micros • Program in C • Read all the documentation for the part!!!! • Code in small steps • Best first step is to make an LED blink • Refer to code examples for help • For digital I/O • Be sure voltages are within permissible range • Check if microcontroller can sink or source enough current • Development boards are a great way to get your hardware running fast!
TI MSP430 • Ultra low power Micro • Free samples from TI (we have a university agreement and can get samples and programmers) • Free IDE based on eclipse with integrated debugging • Free GCC compiler • Many RTOS solutions available • Hardware debugging makes finding problems in code easier • Some development boards have integrated wireless ZigBee support ez430-R2500 • Many Examples • Very easy to use USB programmers/Debuggers *Picture from http://www.ti.com/
ATMEL ATMEGA Microcontrollers • Many Different microcontrollers – most commonly used for projects are MEGA168/MEGA128 • Powerful user community = Arduino project • Many open source tools, hardware and libraries, entire tool chain runs on Linux/Windows/Mac • Several simple serial boot loaders to load programs, programmers are easy to build • Software USB support • More limited hardware debugging *Picture from http://www.atmel.com/
Arduino • Open source microcontroller • Arduino UNO available in the ECE store • Based on ATMEL processor • IDE based on the Processing language • Small boards are easy to use but have limited I/0 • Larger boards have more I/0 but are costly *Pictures from arduino.cc
Microchip PICs • Available in lab: PIC16F887 • Many other types available to order • Two excellent resources • PIC data sheet • PICC Compiler Help • Receive two PICs for free • Disadvantage: Closed compiler/toolchain *Picture from http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf
Other Microcontrollers • BASIC Stamp • Programmed using BASIC • Can be used when high performance is not necessary • ARM (LPC, TI, etc) • Very Advanced toolchain, very powerful microcontrollers with a lot of features • Hard to program the hardware • Cypress PSoC • GUI based programming software • Development Kits Available *Pictures from http://www.basicx.com/ and http://www.ti.com/
DSPs • TI TMS320C54x • Same DSPs as used in ECE 420 • Programmable in assembly Simulink or C • Useful for audio processing • TI TMS320C6713 • Floating point DSP • Useful for image and video processing
National Instruments CVS • Real time vision processing system • programmed in Labview *Images from http://www.ni.com/vision/cvs.htm
FPGAs • We have several new NI FPGA boards • Useful when very high speed calculations are needed • Power hungry • Consider using a microcontroller first • Great for projects which require a lot of recursive or parallel calculations
XBee Radios • Low-power wireless sensor networks • Zigbee/IEEE 802.15.4 compliant • ISM 2.4 GHz wireless • Serial interface (9600 to 115200) • 10 uA sleep current • 100 feet indoor range (may vary) • Advanced features include toggling pins on remote radio, Over the air programming of features, and many integrated functions in the radio hardware (Series 2)
Other Radio Chips • Lynx • Simple wireless data transmitters and receivers • Available in lab • Wifi and Bluetooth • Serial interface to microcontrollers • One starting point for products www.sparkfun.com * Pictures from http://www.linxtechnologies.com/ and www.sparkfun.com
Miscellaneous Parts • Large selection of components in the lab • Check the inventory on the website or speak with your TA • NI myDAQ • 12V SLA batteries • Various motors • GPS receivers • LCDs • Resistors, Capacitors, Inductors, diodes, transistors, etc.
Board Layout Software • Eagle • Installed on lab computers • Free download for board size < 4x3in x 2 layer • Tutorial on class drive • Orcad • Installed on lab computers • More complicated, lots of options * Picture from Kieran Levin
Sensors! Interface between:
Datasheets! • Find them from manufacture or supplier websites. • Without a datasheet it is hard to design around an unknown part • Some Good places to look • Datasheet Repositories • www.alldatasheet.com