188 lines
8.4 KiB
HTML
188 lines
8.4 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>TExaS</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;">TExaS</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 demonstrates the TExaS
|
||
|
|
oscilloscope and the TExaS logic analyzer.
|
||
|
|
Typically, you add <b>TExaS.c</b> to your project creating
|
||
|
|
the scope or logic analyzer along side your application.
|
||
|
|
This project simply demonstrates how to configure TExaS.
|
||
|
|
Data are
|
||
|
|
sent to the PC at 10 kHz using a low priority periodic interrupt and plotted using the
|
||
|
|
Windows application <b>TExaSdisplay</b>.
|
||
|
|
Using either the scope or logic analyzer will consume
|
||
|
|
from 1 to 2% of the CPU time.
|
||
|
|
The system uses <b>UART0</b> and <b>TIMG10</b>.
|
||
|
|
The system can operate at either 32 or 48 MHz.
|
||
|
|
You specify your bus frequency at initialization.
|
||
|
|
|
||
|
|
In the <b>TExaS.h</b> file you
|
||
|
|
set <b>TEXAS_SCOPE=1</b> to create an 8-bit analog oscilloscope or
|
||
|
|
set <b>TEXAS_SCOPE=0</b> to create a 7-bit digital logic analyzer.</p>
|
||
|
|
<p>The scope uses either
|
||
|
|
<b>ADC0</b> or <b>ADC1</b> depending on how you initialize.
|
||
|
|
Any of the 16 analog pins on the MSPM0G3507 can be configured
|
||
|
|
as the analog source. The ADC is set to continuously sample, but
|
||
|
|
data are sent to the PC through UART0 only at 10 kHz. For example<br><br>
|
||
|
|
<b><code>TExaS_Init(ADC0,TEXAS_48MHz,5); </code></b><br><br>
|
||
|
|
will configure TExaS as a scope using ADC0 channel 5 (PB24), which
|
||
|
|
is the microphone on the MKII booster. The following figure shows
|
||
|
|
the scope trace displaying voltage versus time from the microphone.</p>
|
||
|
|
<p class="PictureWide"><span lang="en-US"><img src="TExaSscope.png"
|
||
|
|
></span></p>
|
||
|
|
<p>The following figure shows
|
||
|
|
the spectrum analyzer trace displaying amplitude versus frequency from the microphone.</p>
|
||
|
|
<p class="PictureWide"><span lang="en-US"><img src="TExaSspectrumAnalyzer.png"
|
||
|
|
></span></p>
|
||
|
|
<p>
|
||
|
|
The logic analyzer allows any 7 digital pins to be measured.
|
||
|
|
Some options are predefined in <b>TExaS.h</b>.
|
||
|
|
However, you can define other pin configuration by
|
||
|
|
by defining your own <b>TEXAS_LOGIC</b> macro. This macro
|
||
|
|
creates a 7-bit data value, adding bit 7 high.
|
||
|
|
This value is sent to the PC through UART0 at 10 kHz.
|
||
|
|
For example, the following configures logic analyzer for PB21,PA18,PB27,PB26,PB22,PA0.<br><br>
|
||
|
|
<b><code>
|
||
|
|
#define PAoutPin0Bit0 (GPIOA->DOUT31_0&1)<br>
|
||
|
|
#define PBoutPin22Bit1 (((GPIOB->DOUT31_0&(1<<22))>>21))<br>
|
||
|
|
#define PBoutPin26Bit2 (((GPIOB->DOUT31_0&(1<<26))>>24))<br>
|
||
|
|
#define PBoutPin27Bit3 (((GPIOB->DOUT31_0&(1<<27))>>24))<br>
|
||
|
|
#define PAinPin18Bit4 (((GPIOA->DIN31_0&(1<<18))>>14))<br>
|
||
|
|
#define PBinPin21Bit5 (((GPIOB->DIN31_0&(1<<21))>>16))<br>
|
||
|
|
#define TEXAS_LOGIC (0x80|PBinPin21Bit5|PAinPin18Bit4|PBoutPin27Bit3|PBoutPin26Bit2|PBoutPin22Bit1|PAoutPin0Bit0)
|
||
|
|
</code></b><br><br>
|
||
|
|
This 6-bit logic analyzer consumes about 2% of the CPU time.
|
||
|
|
The following figure shows
|
||
|
|
the logic analyzer trace displaying PB21,PA18,PB27,PB26,PB22,PA0 digital pins versus time.</p>
|
||
|
|
<p class="PictureWide"><span lang="en-US"><img src="TExaSlogicAnalyzer.png"
|
||
|
|
></span></p>
|
||
|
|
<p>
|
||
|
|
<br>
|
||
|
|
Derived from Texas Instrument code
|
||
|
|
<ul>
|
||
|
|
<li>adc12_single_conversion_vref_internal_LP_MSPM0G3507_nortos_ticlang</li>
|
||
|
|
<li>adc12_single_conversion_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>
|
||
|
|
<li>Educational BoosterPack MKII (BOOSTXL-EDUMKII)</li>
|
||
|
|
</ul>
|
||
|
|
<b><span style="font-size: 18pt;">Pin assignments</b></span>
|
||
|
|
<br>
|
||
|
|
<ul>
|
||
|
|
<li>Digital Input: PA26 is MKII joystick Select button </li>
|
||
|
|
<li>Analog Input: PA25 is MKII joystick horizontal (X) PA25_ADC0.2</li>
|
||
|
|
<li>Analog Input: PA18 is MKII joystick vertical (Y) PA18_ADC1.3</li>
|
||
|
|
<li>Analog Input: MKII is accelerometer X PB19__ADC1.6</li>
|
||
|
|
<li>Analog Input: MKII is accelerometer Y PA22__ADC0.7</li>
|
||
|
|
<li>Analog Input: MKII is accelerometer Z PB18__ADC1.5</li>
|
||
|
|
<li>Output: PA0 is red LED1, index 0 in IOMUX PINCM table</li>
|
||
|
|
<li>Output: PB22 is blue LED2, index 49 in IOMUX PINCM table</li>
|
||
|
|
<li>Output: PB26 is red LED2, index 56 in IOMUX PINCM table</li>
|
||
|
|
<li>Output: PB27 is green LED2, index 57 in IOMUX PINCM table</li>
|
||
|
|
<li>Input: PA18 is S2 positive logic switch, index 39 in IOMUX PINCM table</li>
|
||
|
|
<li>Input: PB21 is S3 negative logic switch, index 48 in IOMUX PINCM table</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>J4: Connects PA0 to red LED</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>
|