Microprocessors
The “Eye Can Hear You” project will not be developing its own data processing device. Hence the team is going to choose a microprocessor that can do this from the available ones in the market. The group is going to give a brief explanation of each of the micro-processing devices that are being considered for the main device in the project. The team is considering using the MSP430, Atmega Series, PIC, and the Stellaris arm processor. The group decided to choose these four microprocessors because the project team members have at some point worked with one of these microprocessor families. The microprocessor desired to be used in the project should have low power consumption, high CPU speed, high flash memory, as much RAM as possible, more than 10 analog pins, more than 10 digital pins, at least two serial IO ports, an internal clock, low programming difficulty, and low debugging difficulty.
MSP430
The MSP430 microcontrollers are “16-bit, RISC-based, mixed-signal processors designed specifically for ultra-low-power.”[31] This is good in the sense that the microcontroller can be used without having to be plugged into a wall. The microcontroller has the following key features,
-
8-MHz to 25-MHz CPU Speed
-
0.5KB to 256KB Flash
-
128B to 18KB RAM
-
14 to 113; 25+ packages
-
Internal 25 MHz clock
The MSP430 development environment uses the MSP-Exp430G2 development launch pad board that supports development on al MSP430 devices. TI’s Code Composer Studio IDE, IAR Embedded Workbench or the open-source MSPGCC can be used as software development tools to program the microcontroller.[31]
Atmega Series
The Atmega Series is a “low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture.”[44] The group chose the atmega328 since this is the one that the project team is more familiar with in the Atmega Series. The atmega328 has the following key features,
-
32KB Flash
-
1KB EEPROM
-
2KB RAM
-
14 Digital, and 6 Analog pins
-
1 Serial IO hardware serial (Software Serial Available)
-
Internal 8MHz clock
The Atmega Series uses the Arduino IDE and development board to program and debug the microcontroller. The microcontroller is boot loaded to be able to be used with the Arduino UNO board which makes it easy to use and makes the Arduino open source libraries available for use. The Atmega328 is programmed by using the Arduino IDE but is able to use external C/ C++ files which make programming with it more common.
PIC micro-controller
The PIC microcontroller “offers…high computational performance at an economical price-with addition of high-endurance.”[51] This is good since the group is trying to find the best possible microcontroller that can handle all of the computations while keeping a low price close to or lower to than the budget. The micro-controller from the PIC family that was decided upon was the PIC18F2525. The reason is that from all the PICs it seems that this is the one that kept closer to the micro-controller standards. The PIC18F2525 has the following key features:
-
4 MHz external clock
-
Up to 13 Channel Analog-to-Digital Converter
-
48 Kbytes flash memory
-
3968 bytes SRAM data memory
-
1024 bytes EEPROM data memory
The PIC18F2525 can be easily programmed with different development boards found online. The team decided that it would be easier to just make a personal development board that basically connects the desired pins from the datasheet to a USB that will let the data from the computer into the micro-controller. The micro-controller can be programmed by using MPLab IDE which is uses a language close to assembly.
Stellaris Cortex-M3
The Stellaris based controllers “brings high-performance 32-bit computing to cost-sensitive embedded microcontroller applications.”[50] This works great for the project since the lower the cost the more features that can be added to end project. This microcontroller is also effective since it was made “for applications requiring extreme conservation of power.”[50] The application is going to run on low power hence making it cheaper for the user to maintain. The Stellaris chosen to be used is the LM3S1110 which has the following key features,
The Stellaris microcontrollers are programmed by using the Stellaris LM3S1968 evaluation board. This board allows the team to connect the microcontroller to the PC which then is programmed by using ccsv5 which is plug-in for the eclipse open source development software. This software uses C as the development language.
Summary
The “Eye Can Hear You” project has different modules that require different types of processing power. For this reason the team has decided to use more than one type of micro-controller for the project. The team is going to use the Stellaris micro-processor for the main board. The reason is that the data acquisition and processing of the board provides a heavy work load for any micro-controller. Hence, after looking at the characteristics of the four families the team decided to use the Stellaris micro-processor. The Stellaris micro-processor can be sampled from which makes this a convenient micro-controller for low budget projects. The headphones will also be using two different microcontrollers, the msp430g2231 and the atmega328. The msp430 is used for Pulse Width Modulation (PWM) out into the infrared LEDs. The atmega328 is used for the triangulation since it has a bigger amount of flash memory than the msp430g2231 which is convenient for the triangulation algorithm. After reading on the micro-controller it looks like it should be able to handle the constant data processing. These two micro-controllers were also used for the headphones since they are very low in price which is adequate for the project.
Share with your friends: |