<< Chapter < Page Chapter >> Page >
We will learn what is involved in Analog to Digital Conversion and conversely, Digital to Analog Conversion.

Adc, dac, and mixed signals


  • The MSP430 has both a 10 and 12-bit ADC. The number of bits used by the ADC is known as its resolution. You may learn more about sampling and Analog to Digital Converters from the Introduction to Sampling module. How many possible values can be represented for each of the 10 and 12 bit cases?
  • 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 MSP430F16x Lite Development Board ? 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?

Got questions? Get instant answers now!

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 <msp430x16x.h> #define yellow 0x80 #define set_led(led, state) { if (state) P1OUT &= ~(led); else P1OUT |= (led); } void main(void){ P1DIR |= 0x80; set_led(yellow,0); WDTCTL = WDTPW+WDTHOLD; P6SEL |= 0x04; ADC12CTL0 = ADC12ON+SHT0_2; ADC12MCTL0 = SREF_0 + INCH_2 + EOS; ADC12CTL1 = SHP; ADC12CTL0 |= ENC; while (1) { ADC12CTL0 |= ADC12SC; while ((ADC12IFG & BIT0)==0); if (ADC12MEM0 >= 1620) set_led(yellow,1) else set_led(yellow,0) _NOP(); } }
    Most modern compilers intended for use with embedded processors, such as the Rowley's CrossWorks for MSP430 , 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 ADC12MEMx register 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.
  • Create a version of the program that is interrupt driven and uses Repeat-single channel Conversion Mode . The original program uses a while-loop to poll the interrupt flag. What is the sampling rate?
  • Using Repeat-sequence-of-channels Conversion Mode , write an interrupt driven program to sample analog input channels 1 and 2. As before, toggle an LED for each channel as it passes the 1.5V threshold. You should now have two separate analog voltages controlling two separate LEDs.

Got questions? Get instant answers now!

Dac setup

  • Configure that DAC12_1CTL register so that DAC0 outputs a triangle wave. This program should be interrupt driven, and any computation of the triangle wave should be in the ISR. View the output on the oscilloscope and take a screenshot.

Got questions? Get instant answers now!

Stereo to mono mixer

  • Combine the last two problems to create a stereo to mono mixer. The program should sample ADC0 and ADC1, add the two signals together, and output the result from DAC1. It is possible to write the contents of ADC12MEMx directly to DAC12_xDAT . You should also scale down each of the input signals so that you don't saturate the output. Only use a single interrupt. Take a screenshot with a) your stereo input signals (make sure that they are different) and b) your mono result. Could you process an audio CD like the one described in Problem 1.4 ? Explain.

Got questions? Get instant answers now!

Questions & Answers

anyone know any internet site where one can find nanotechnology papers?
Damian Reply
Introduction about quantum dots in nanotechnology
Praveena Reply
what does nano mean?
Anassong Reply
nano basically means 10^(-9). nanometer is a unit to measure length.
do you think it's worthwhile in the long term to study the effects and possibilities of nanotechnology on viral treatment?
Damian Reply
absolutely yes
how to know photocatalytic properties of tio2 nanoparticles...what to do now
Akash Reply
it is a goid question and i want to know the answer as well
characteristics of micro business
for teaching engĺish at school how nano technology help us
Do somebody tell me a best nano engineering book for beginners?
s. Reply
there is no specific books for beginners but there is book called principle of nanotechnology
what is fullerene does it is used to make bukky balls
Devang Reply
are you nano engineer ?
fullerene is a bucky ball aka Carbon 60 molecule. It was name by the architect Fuller. He design the geodesic dome. it resembles a soccer ball.
what is the actual application of fullerenes nowadays?
That is a great question Damian. best way to answer that question is to Google it. there are hundreds of applications for buck minister fullerenes, from medical to aerospace. you can also find plenty of research papers that will give you great detail on the potential applications of fullerenes.
what is the Synthesis, properties,and applications of carbon nano chemistry
Abhijith Reply
Mostly, they use nano carbon for electronics and for materials to be strengthened.
is Bucky paper clear?
carbon nanotubes has various application in fuel cells membrane, current research on cancer drug,and in electronics MEMS and NEMS etc
so some one know about replacing silicon atom with phosphorous in semiconductors device?
s. Reply
Yeah, it is a pain to say the least. You basically have to heat the substarte up to around 1000 degrees celcius then pass phosphene gas over top of it, which is explosive and toxic by the way, under very low pressure.
Do you know which machine is used to that process?
how to fabricate graphene ink ?
for screen printed electrodes ?
What is lattice structure?
s. Reply
of graphene you mean?
or in general
in general
Graphene has a hexagonal structure
On having this app for quite a bit time, Haven't realised there's a chat room in it.
what is biological synthesis of nanoparticles
Sanket Reply
what's the easiest and fastest way to the synthesize AgNP?
Damian Reply
types of nano material
abeetha Reply
I start with an easy one. carbon nanotubes woven into a long filament like a string
many many of nanotubes
what is the k.e before it land
what is the function of carbon nanotubes?
I'm interested in nanotube
what is nanomaterials​ and their applications of sensors.
Ramkumar Reply
how did you get the value of 2000N.What calculations are needed to arrive at it
Smarajit Reply
Privacy Information Security Software Version 1.1a
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!

Source:  OpenStax, Microcontroller and embedded systems laboratory. OpenStax CNX. Feb 11, 2006 Download for free at http://cnx.org/content/col10215/1.29
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Microcontroller and embedded systems laboratory' conversation and receive update notifications?