150 lines
6.0 KiB
HTML
150 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>TimerPWM</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;">TimerPWM</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 implements two
|
||
|
|
PWM outupts using TimerG0.
|
||
|
|
Let <i>f</i> be the frequency of the selected clock. The parameters <i>period</i>,
|
||
|
|
<i>prescale</i>, <i>duty0</i>,
|
||
|
|
and <i>duty1</i> passed into the initialization function.
|
||
|
|
The <i>frequency</i> of the PWM outputs will be</p><p>
|
||
|
|
<i>frequency</i> = <i>f</i> / (<i>prescale</i>+1) / <i>period</i>
|
||
|
|
</p><p>
|
||
|
|
The <i>d0 d1</i> duty cycles of the PWM outputs will be</p><p>
|
||
|
|
<i>d0</i> = <i>duty0</i> / <i>period</i><br>
|
||
|
|
<i>d1</i> = <i>duty1</i> / <i>period</i><br>
|
||
|
|
</p><p>
|
||
|
|
|
||
|
|
In this first example, <i>f</i> is 32768 Hz,
|
||
|
|
<i>prescale</i> is 0,<i>duty0</i> is 250, <i>duty1</i> is 750 and <i>period</i> is 1000.
|
||
|
|
The first figure shows this creates two 32.768Hz PWM outputs with
|
||
|
|
25% duty cycle on PA12 and 75% duty cycle on PA13.
|
||
|
|
|
||
|
|
Notice the waves are synchronized, so the rising edges occur at the same time.</p>
|
||
|
|
<p class="PictureWide"><span lang="en-US"><img src="PWM_32Hz.png"
|
||
|
|
></span></p>
|
||
|
|
<p>
|
||
|
|
In this second example, <i>f</i> is 48 MHz,
|
||
|
|
<i>prescale</i> is 47,<i>duty0</i> is 2500, <i>duty1</i> is 7500 and <i>period</i> is 10000.
|
||
|
|
The first figure shows this creates two 10 kHz PWM outputs with
|
||
|
|
25% duty cycle on PA12 and 75% duty cycle on PA13.
|
||
|
|
</p>
|
||
|
|
</p>
|
||
|
|
<p class="PictureWide"><span lang="en-US"><img src="PWM_100Hz.png"
|
||
|
|
></span></p>
|
||
|
|
<p>
|
||
|
|
Derived from Texas Instrument code
|
||
|
|
<ul>
|
||
|
|
<li>timx_timer_mode_pwm_edge_sleep_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: PA12 is CCP0 PWM from TimerG0</li>
|
||
|
|
<li>Output: PA13 is CCP1 PWM from TimerG0</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>
|