<< Chapter < Page Chapter >> Page >
To learn what is involved in Analog to Digital Conversion.

Background questions

  • The ez430 has a 16 bit SD Converter. The number of bits used by the ADC is known as its resolution. What are the number of possible values that the 16 bit SD Converter can represent?
  • Extreme voltages, either too high or too low, cannot be measured correctly. What is the range of analog voltages that can be accurately represented on the ez430? You may want to check the User's Guide or experiment with the hardware.
  • In the real world, signals are polluted by "noise" that alters the quality of the original signal. Signal to Noise Ratio, SNR, is often used as a measure of the quality of a signal. Before a signal is sampled through the ADC, it is helpful to condition the signal in order to improve its SNR. What can be done to condition the signal? Where would it be ideal to condition it and why? (i.e. at the ADC, near the source, at the processor?)
  • The Nyquist Theorem states that a signal must be sampled at least twice as fast as the highest frequency in order to be decoded without error. The minimum sampling frequency is therefore known as the Nyquist Sampling Rate. Typical, audio CDs are sampled at a rate of 44.1 kHz, and can be decoded to 65,536 unique voltage levels. What is the highest frequency that can be represented without error? How many bits per sample are used? What is the total data rate for a stereo CD?

Adc setup

  • Figure out what the following codes is doing. Set up the hardware so that it functions correctly, and comment each line of code. What is the code's function? #include "msp430x20x3.h" void main(void) { WDTCTL |= WDTPW + WDTHOLD; DCOCTL = CALDCO_8MHZ; BCSCTL1 = CALBC1_8MHZ; P1DIR |= 0x01; SD16CTL |= SD16REFON + SD16SSEL_1; SD16INCTL0 |= SD16INCH_6; SD16CCTL0 |= SD16SC; while (1) { while ((SD16IV & SD16IFG)==0); if (SD16MEM6 >= 0xD6D8) P1OUT |= 0x01; else P1OUT &= ~0x01; _NOP(); } }
    Most modern compilers intended for use with embedded processors, such as the IAR Workbench , allow the user to check the status of the registers while the program is halted. This is extremely helpful in debugging code. For example, if the program is halted with a _NOP() after a sample is taken from the ADC, the user may check the SD16MEMx register (by setting a breakpoint at the _NOP() command) to see the new value that has been stored. If a value has changed since the last time the processor was halted, it will turn red in the watch window.
  • Create a version of the program that is completely interrupt driven. The original program uses a while-loop to poll for the interrupt flag. What is the sampling rate? Remember to put the processor into a low power mode and enable interrupts after configuring the SD Converter as discussed in Lab 5

Led dimmer

Add the file containing the LED dimmer function you wrote in Lab 4 to a new project in which you configure the SD Converter. Attach a Photo Diode (DigiKey# ********), a diode that outputs a voltage depending on the ammount of light that hits it, to any one of the SD16 inputs. Input the SD16MEMx value into the LED dimmer function in such a way that the LED's brigtness is indirectly propotional to the ammount of light that hits the Photo Diode. In other words, if we block the light to the diode, the LED should appear brighter; if we shine light on the diode, the LED should appear dimmer. If you do not have access to a Photo Diode, simply set the input to the integrated temperature sensor and perform the same exercise.

Flash storage

Now, chose any analog source (temperature sensor, Photo Diode, function generator etc.) on any input channel and store the values in flash using what you learned in Lab 6 . After a specific number (that you select) of samples are stored, have your program output the values using the printf with the help of a for or while loop. Then take the values and plot them on a graph. You may want to store every 10th (or 20th or 50th etc.) sample in flash to be able to see the analog signal over a longer period of time.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Introduction to the texas instruments ez430. OpenStax CNX. Jun 19, 2006 Download for free at http://cnx.org/content/col10354/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Introduction to the texas instruments ez430' conversation and receive update notifications?

Ask