151 lines
6.0 KiB
HTML
151 lines
6.0 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
|
<html xmlns:v="urn:schemas-microsoft-com:vml"
|
||
|
|
xmlns:o="urn:schemas-microsoft-com:office:office"
|
||
|
|
xmlns:w="urn:schemas-microsoft-com:office:word"
|
||
|
|
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
|
||
|
|
xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
|
||
|
|
xmlns="http://www.w3.org/TR/REC-html40">
|
||
|
|
<head>
|
||
|
|
<meta http-equiv="Content-Type"
|
||
|
|
content="text/html; charset=windows-1252">
|
||
|
|
<meta name="ProgId" content="Word.Document">
|
||
|
|
<meta name="Generator" content="Microsoft Word 14">
|
||
|
|
<meta name="Originator" content="Microsoft Word 14">
|
||
|
|
<base target="_parent">
|
||
|
|
<link rel="Edit-Time-Data" href="index_files/editdata.mso">
|
||
|
|
<title>DAC</title>
|
||
|
|
<o:smarttagtype
|
||
|
|
namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place"></o:smarttagtype><o:smarttagtype
|
||
|
|
namespaceuri="urn:schemas-microsoft-com:office:smarttags"
|
||
|
|
name="PlaceName"></o:smarttagtype>
|
||
|
|
<o:smarttagtype
|
||
|
|
namespaceuri="urn:schemas-microsoft-com:office:smarttags"
|
||
|
|
name="PlaceType"></o:smarttagtype>
|
||
|
|
<link rel="themeData" href="index_files/themedata.thmx">
|
||
|
|
<link rel="colorSchemeMapping"
|
||
|
|
href="index_files/colorschememapping.xml">
|
||
|
|
<style>
|
||
|
|
</style>
|
||
|
|
</head>
|
||
|
|
<body style="background-color: white;" alink="#0000ff" lang="EN-US"
|
||
|
|
link="blue" vlink="#c40026">
|
||
|
|
<div class="WordSection1">
|
||
|
|
<p style="text-align: center;" align="center"><span
|
||
|
|
style="font-size: 18pt;">DAC</span><br>
|
||
|
|
<table class="MsoNormalTable"
|
||
|
|
style="border: 3pt outset ; background: rgb(255, 204, 153) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 100%;"
|
||
|
|
border="1" cellpadding="0" width="100%">
|
||
|
|
<tr>
|
||
|
|
<td>
|
||
|
|
<p><b><span style="font-size: 18pt;">Readme</b></span>
|
||
|
|
<br> <br>
|
||
|
|
This is a C language project that configures
|
||
|
|
the DAC in a simple software output.
|
||
|
|
The analog reference of 2.5V is used for the DAC.
|
||
|
|
In the first main, the DAC output occurs in the main program,
|
||
|
|
with digital input varying from 0 to 4095.
|
||
|
|
In the second main, the DAC output is updated within the TimerG0 ISR,
|
||
|
|
creating a sinusoidal wave.
|
||
|
|
|
||
|
|
<br> <br>
|
||
|
|
The following scope trace shows the DAC output on PA15. The frequency of
|
||
|
|
the sine wave output is <br><br>
|
||
|
|
<i>frequency</i> = <i>Interrupt Frequency</i> / <i>Table size</i>
|
||
|
|
= 200kHz/64 = 3.125kHz</p>
|
||
|
|
<p class="PictureWide"><span lang="en-US"><img src="DACout_voltage.png"
|
||
|
|
></span></p>
|
||
|
|
<p>
|
||
|
|
The spectrum analyzer shows a 1.058dB peak at 3.123 kHz (signal)
|
||
|
|
and a -37.16dB peak at 7.024kHz (noise).
|
||
|
|
We can calculate SNR as 1.058 minus -37.16dB = 38.2dB.
|
||
|
|
One might expect the SNR of a 12-bit DAC to be 20*log(2^12) = 72dB.
|
||
|
|
However, without an analog filter, the SNR is limited by the size
|
||
|
|
of the table, 20*log(64) = 36.1 dB. You can see individual steps in the above
|
||
|
|
analog trace.
|
||
|
|
|
||
|
|
|
||
|
|
</p>
|
||
|
|
<p class="PictureWide"><span lang="en-US"><img src="DACout_spectrum.png"
|
||
|
|
></span></p>
|
||
|
|
|
||
|
|
<br> <br>
|
||
|
|
Derived from Texas Instrument code
|
||
|
|
<ul>
|
||
|
|
<li>dac12_fixed_voltage_vref_internal_LP_MSPM0G3507_nortos_ticlang</li>
|
||
|
|
<li>dac12_fifo_timer_event_LP_MSPM0G3507_nortos_ticlang</li>
|
||
|
|
<li>timx_timer_mode_periodic_sleep_LP_MSPM0G3507_nortos_ticlang</li>
|
||
|
|
<li>gpio_toggle_output_LP_MSPM0G3507_nortos_ticlang</li></ul>
|
||
|
|
</td>
|
||
|
|
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
</p>
|
||
|
|
|
||
|
|
<table class="MsoNormalTable"
|
||
|
|
style="border: 3pt outset ; background: rgb(252, 243, 144) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 100%;"
|
||
|
|
border="1" cellpadding="0" width="100%">
|
||
|
|
<tbody>
|
||
|
|
<tr>
|
||
|
|
<td>
|
||
|
|
<p><b><span style="font-size: 18pt;">Hardware Required</b></span>
|
||
|
|
<br>
|
||
|
|
<ul>
|
||
|
|
<li>MSPM0G3507 LaunchPad™ Development Kit (LP-MSPM0G3507)</li>
|
||
|
|
</ul>
|
||
|
|
<b><span style="font-size: 18pt;">Pin assignments</b></span>
|
||
|
|
<br>
|
||
|
|
<ul>
|
||
|
|
<li>Output: PA0 is red LED1, index 0 in IOMUX PINCM table</li>
|
||
|
|
<li>Analog output: PA15 J3.30 DACout</li>
|
||
|
|
</ul>
|
||
|
|
<b><span style="font-size: 18pt;">LaunchPad Jumpers</b></span>
|
||
|
|
<br>
|
||
|
|
<ul>
|
||
|
|
<li>Remove J16 J17 J18: Disconnects light sensor from the microcontroller PA22 PA27 PA26</li>
|
||
|
|
<li>J5: Connects PB22 to blue LED2</li>
|
||
|
|
<li>J6: Connects PB26 to red LED2</li>
|
||
|
|
<li>J7: Connects PB27 to green LED2</li>
|
||
|
|
</ul>
|
||
|
|
</p> </td>
|
||
|
|
</tr>
|
||
|
|
</tbody>
|
||
|
|
</table>
|
||
|
|
|
||
|
|
</body>
|
||
|
|
</html>
|
||
|
|
<p>
|
||
|
|
Simplified BSD License (FreeBSD License)
|
||
|
|
Copyright © 2023, Jonathan Valvano, All rights reserved.<br>
|
||
|
|
<br>
|
||
|
|
Redistribution and use in source and binary forms, with or without modification,
|
||
|
|
are permitted provided that the following conditions are met:<br>
|
||
|
|
<ol>
|
||
|
|
<li>Redistributions of source code must retain the above copyright notice,
|
||
|
|
this list of conditions and the following disclaimer.</li>
|
||
|
|
<li>Redistributions in binary form must reproduce the above copyright notice,
|
||
|
|
this list of conditions and the following disclaimer in the documentation
|
||
|
|
and/or other materials provided with the distribution.</li></ol>
|
||
|
|
|
||
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||
|
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
|
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
|
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||
|
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
|
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||
|
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||
|
|
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||
|
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||
|
|
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>
|
||
|
|
<br>
|
||
|
|
The views and conclusions contained in the software and documentation are
|
||
|
|
those of the authors and should not be interpreted as representing official
|
||
|
|
policies, either expressed or implied, of the FreeBSD Project.
|
||
|
|
<br>
|
||
|
|
</p>
|
||
|
|
<p>For more information, see <a href="http://users.ece.utexas.edu/~valvano/">
|
||
|
|
http://users.ece.utexas.edu/~valvano/</a>.
|
||
|
|
</p>
|
||
|
|
</div>
|
||
|
|
</body>
|
||
|
|
</html>
|