The purpose of this is to read Analog input voltages using an A/D converter, and convert the
binary values from the A/D into a numerical representation of the actual voltage value.
Part 1: Coding
Write a C-language program to run continuously on your TMS 432 board to do the following
functions:
Initialize: Configure the A/D input module to read the X and Y voltages from the joystick
on the BoosterPack board as inputs.
Hang in an infinite loop to:
o Read the X and Y voltages from the joystick.
o Convert these raw binary value into a floating point representation of the actual
voltage inputs.
o Print out the raw binary values and the corresponding voltages to the remote
terminal of Code Composer Studio. You can directly use printf() or puts() in C
and the output values will show up in the Code Composer Studio window.
Part of your assignment is to figure out the pin numbers and AD channels and port and bit
numbers for each of these inputs.
Your program should perform any and all initializations to make sure the hardware is in the
right configuration to do these tasks. You should ONLY touch the hardware that you need to
manipulate to do this job! If you change any other bits of I/O hardware, your program is wrong,
and would create problems in a bigger system.
Demonstrate this project to your lab instructors. Be prepared to explain how the code does
what it does.
Part 2: Questions
Answer the following questions, placing the answers as comments in your code at the end of
the listing.
1) What is the Voltage of Vref High and Vref Low for the A/D Converter?
2) What type of A/D converter does the ARM core chip have?
3) How many bits of resolution does the ARM core A/D converter have?
4) What is the 1LSB resolution (in Volts) of this converter?
5) How many Volts (rms) of noise is introduced by performing this A/D conversion?
6) What is the SNR (in dB) of this convert?