Professional Documents
Culture Documents
David Figoli
IMPORTANT NOTICE
Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or
to discontinue any product or service without notice, and advise customers to obtain the latest
version of relevant information to verify, before placing orders, that information being relied on is
current and complete. All products are sold subject to the terms and conditions of sale supplied at
the time of order acknowledgement, including those pertaining to warranty, patent infringement,
and limitation of liability.
TI warrants performance of its semiconductor products to the specifications applicable at the time
of sale in accordance with TI's standard warranty. Testing and other quality control techniques
are utilized to the extent TI deems necessary to support this warranty. Specific testing of all
parameters of each device is not necessarily performed, except those mandated by government
requirements.
CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY INVOLVE
POTENTIAL RISKS OF DEATH, PERSONAL INJURY, OR SEVERE PROPERTY OR
ENVIRONMENTAL DAMAGE (CRITICAL APPLICATIONS"). TI SEMICONDUCTOR
PRODUCTS ARE NOT DESIGNED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR
USE IN LIFE-SUPPORT DEVICES OR SYSTEMS OR OTHER CRITICAL APPLICATIONS.
INCLUSION OF TI PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO BE FULLY AT
THE CUSTOMER'S RISK.
In order to minimize risks associated with the customer's applications, adequate design and
operating safeguards must be provided by the customer to minimize inherent or procedural
hazards.
TI assumes no liability for applications assistance or customer product design. TI does not
warrant or represent that any license, either express or implied, is granted under any patent right,
copyright, mask work right, or other intellectual property right of TI covering or relating to any
combination, machine, or process in which such semiconductor products or services might be or
are used. TI's publication of information regarding any third party's products or services does not
constitute TI's approval, warranty, or endorsement thereof.
Copyright 1999, Texas Instruments Incorporated
TRADEMARKS
TI is a trademark of Texas Instruments Incorporated.
Other brands and names are the property of their respective owners.
CONTACT INFORMATION
US TMS320 HOTLINE
(281) 274-2320
US TMS320 FAX
(281) 274-2324
US TMS320 BBS
(281) 274-2323
US TMS320 email
dsph@ti.com
Contents
Abstract ......................................................................................................................... 7
Product Support............................................................................................................ 8
World Wide Web ....................................................................................................... 8
Email......................................................................................................................... 8
Overview........................................................................................................................ 9
Module(s) Used......................................................................................................... 9
Input ......................................................................................................................... 9
Output ....................................................................................................................... 9
Background and Methodology................................................................................... 10
Figures
Figure 1. Graphical Representation of the Interpolation Scheme...................................... 11
Figure 2. Graphical Representation of Interpolation Scheme Using a Step Size of 40 as
an Example ..................................................................................................... 12
Tables
Table 1. Without Interpolation......................................................................................... 13
Table 2. With Interpolation .............................................................................................. 13
EVM Application #3
Creating a Two Channel Sine Wave
Generator Using the TMS320F240 EVM
Abstract
This document explains how the EVM Application #3 creates a 2channel sine wave generator using the 12-bit digital-to-analog
converter (DAC) of the Texas Instruments (TI) TMS320F240
Evaluation Module (EVM). It contains:
q
q
q
q
q
q
q
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
Product Support
World Wide Web
Our World Wide Web site at www.ti.com contains the most up to
date product information, revisions, and additions. Users
registering with TI&ME can build custom information pages and
receive new product updates automatically via email.
Email
For technical issues or clarification on switching products, please
send a detailed email to dsph@ti.com. Questions receive prompt
attention and are usually answered within one business day.
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
Overview
This application creates a two-channel sine wave generator using
the 12-bit digital-to-analog converter (DAC) of the EVM. The
generator provides the user the ability to modify the frequency of
the sine waves, the phase difference between the 2 waves, and
the magnitude (peak to peak) of the waves. The sine wave
generator is implemented using C2xx Assembly code. The
algorithm described in this application report was implemented
using the TI TMS320F240 EVM.
Module(s) Used
q
q
Input
None
Output
DAC0OUT
DAC1OUT
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
f ( step) =
step
TS 2 n
where
f(step) = desired frequency
TS = the period of the frequency at which the DAC register values
are updated
step = the step increment that is added to the counter to change
the frequency
n = the number of bits in the counting register
10
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
11
SPRA412
Counter
Pointer
00 00h
00h
00 40h
00h
Fraction(Q15)
00h(00h) 0
40h(20h)0.25
1st value +
0.25D
00 80h
00h
00 C0h
00h
C0h(60h)0.75
80h(40h) 0.5
1st value +
0.75D
01 00h
01h
00h(00h) 0
12
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
Counter1
Counter2
Value1
Value2
00
00h
00
80h
0
1
00
40h
00
80h
00
00
01
st
st
nd
st
40h
01
st
st
00h
01
00h
st
C0h
01
C0h
Phase
nd
80h
nd
nd
0
0
1.41
1.41
0
Counter1
T
00
00h
00
80h
C0h
1 + 0.25D
1
2
3
4
00
00
00
01
Counter2
40h
80h
C0h
00h
Value1
00
01
01
01
Value2
00h
40h
80h
Phase
1 + 0.5D
st
st
1 + 0.5D
st
1 + 0.75D
st
nd
st
1 + 0.75D
st
2 + 0.25D
nd
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
nd
2 + 0.5D
nd
0.7
0.7
0.7
0.7
0.7
13
SPRA412
d (f ) =
f
2n
360
where
d(f) = displacement value for the modulo counter register
A( m) =
m
(2 Q - 1)
5V
where
A(m) = value for the magnitude register
m = desired peak to peak voltage
Q = Q format used (e.g. 16 bit word size, Q = 15)
The sine waves that are output can be modified in the debugger
environment. By using the previous equations, the values
controlling the phase, frequency, and magnitude can be modified
in a watch window.
By entering the following commands in the debugger environment,
one can view the values loaded in the registers corresponding to
each sine wave and the values can be manipulated.
wa *FREQSTEP1,,u
14
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
wa *MODREG1,,x
wa *MAG1,,x
wa *FREQSTEP2,,u
wa *MODREG2,,x
wa *MAG2,,x
FREQSTEPx - will modify the frequency of the corresponding sine
wave on the DAC output channels
MODREGx - will modify the starting point of the wave, thus if two
sine waves have the same frequency, then the phase difference
between the two wave forms can be set
MAGx - will modify the peak to peak voltage of the sine wave
output on the corresponding DAC channel.
Since this program is interrupt driven, the program can be ended
with an unconditional branch and the sine waves will continue to
be output. To modify the registers, the program should be halted,
registers changed, and program resumed. Restarting the program
will return the registers back to their original values.
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
15
SPRA412
;*********************************************************************
; File Name:
dac0.asm
; Originator:
Digital Control systems Apps group - Houston
; Target System: 'C24x Evaluation Board
;
; Description:
Outputs 2 Sine Waves on the EVM DAC - DAC0 and DAC1
;
Sine waves generated through a look up table and
;
interpolation.
;
;
By entering the following commands in the debugger
;
environment, one can view the values loaded in the
;
registers corresponding to each sine wave and the
;
values can be manipulated.
;
;
wa *FREQSTEP1,,u
;
wa *MODREG1,,x
;
wa *MAG1,,x
;
wa *FREQSTEP2,,u
;
wa *MODREG2,,x
;
wa *MAG2,,x
;
;
FREQSTEPx - will modify the frequency of the
;
corresponding sine wave on the DAC output channels
;
;
MODREGx - will modify the starting point of the
;
wave, thus if two sine waves have the same
;
frequency, then the phase difference between the
;
two waveforms can be set
;
;
MAGx - will modify the peak to peak voltage of the
;
sine wave output on the corresponding DAC channel
;
; Last Updated:
20 June 1997
;
;*******************************************************************
.include f240regs.h
;------------------------------------------------------------------; I/O Mapped EVM Registers
;------------------------------------------------------------------DAC0
.set 0000h
;Input Data Register for DAC0
DAC1
.set 0001h
;Input Data Register for DAC1
DAC2
.set 0002h
;Input Data Register for DAC2
DAC3
.set 0003h
;Input Data Register for DAC3
DACUPDATE
.set 0004h
;DAC Update Register
;------------------------------------------------------------------; Variables Declaration for B2
;------------------------------------------------------------------.bss GPR0,1
;General Purpose Register
.bss DAC0VAL,1 ;DAC0 Channel Value
.bss DAC1VAL,1 ;DAC1 Channel Value
16
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
.bss DAC2VAL,1
.bss DAC3VAL,1
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
START
PHANTOM
SINE
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
PHANTOM
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
Reset Vector
Interrupt Level 1
Interrupt Level 2
Interrupt Level 3
Interrupt Level 4
Interrupt Level 5
Interrupt Level 6
Reserved
User S/W Interrupt
User S/W Interrupt
User S/W Interrupt
User S/W Interrupt
User S/W Interrupt
User S/W Interrupt
User S/W Interrupt
User S/W Interrupt
User S/W Interrupt
Trap vector
Non-maskable Interrupt
Emulator Trap
User S/W Interrupt
User S/W Interrupt
User S/W Interrupt
User S/W Interrupt
;===================================================================
; M A I N C O D E - starts here
;===================================================================
.text
NOP
START:
SETC
INTM
;Disable interrupts
SPLK #0002h,IMR ;Mask all core interrupts
; except INT2
LACC IFR
SACL IFR
CLRC SXM
CLRC OVM
CLRC CNF
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
17
SPRA412
;----------------------------------LDP
#00E0h
;The following line is necessary if a previous program set the PLL
;to a different setting than the settings which the application
;uses. By disabling the PLL, the CKCR1 register can be modified so
;that the PLL can run at the new settings when it is re-enabled.
SPLK
5432109876543210
SPLK #0000000010111011b,CKCR1 ;CLKIN(OSC)=10MHz
;CPUCLK=20MHz
;
SPLK
5432109876543210
#0000000011000001b,CKCR0 ;CLKMD=PLL Enable
;SYSCLK=CPUCLK/2
;
SPLK
5432109876543210
#0100000011000000b,SYSCR ;CLKOUT=CPUCLK
18
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
Bit 5-0
SPLK
KICK_DOG
(000000)
#006Fh, WDCR
Reserved
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
19
SPRA412
;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
;- Event Manager Module Reset
;*
;This section resets all of the Event Manager Module
;*
Registers. This is necessary for silicon revision
;1.1; however, for silicon revisions 2.0 and later,
;*
this is not necessary.
;;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
LDP
SPLK
SPLK
SPLK
SPLK
#232
;DP=232 Data
#0000h,GPTCON ;Clear
#0000h,T1CON ;Clear
#0000h,T2CON ;Clear
#0000h,T3CON ;Clear
SPLK
SPLK
SPLK
SPLK
SPLK
SPLK
SPLK
SPLK
SPLK
SPLK
SPLK
;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
;End of RESET section for silicon revision 1.1
*
;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
;----------------------------------; Set up Event Manager Module
;----------------------------------T1COMPARE
T1PERIOD
.set 0
.set 610
.text
LDP
#232
20
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
SPLK #T1COMPARE,T1CMPR
;
2109876543210
SPLK #0000001010101b,GPTCON
#T1PERIOD,T1PR
#0000h,T1CNT
#0000h,T2CNT
#0000h,T3CNT
5432109876543210
SPLK #0001000000000100b,T1CON
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
21
SPRA412
22
5432109876543210
SPLK #0000000000000000b,T2CON
;Not Used
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
5432109876543210
SPLK #0000000000000000b,T3CON ;
Not Used
T1CON,B6_MSK
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
23
SPRA412
SPLK
#0000h
SPLK
#4h,GPR0
OUT
GPR0,WSGR
.bss
TABLE,1
.bss
TOPTABLE,1
.bss
COMPARET1,1
.bss
REMAINDER,1
.bss
.bss
.bss
VALUE,1
NEXTVALUE,1
DIFFERENCE,1
.bss
FREQSTEP1,1
.bss
MODREG1,1
.bss
MAG1,1
.bss
FREQSTEP2,1
.bss
MODREG2,1
.bss
MAG2,1
NORMAL .SET
500
.text
SPLK
SPLK
SPLK
24
#0000h,TABLE
#STABLE,TOPTABLE
#1000,FREQSTEP1
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
SPLK
SPLK
SPLK
#0000h,MODREG1
#7FFFh,MAG1
#1000,FREQSTEP2
SPLK
SPLK
#4000h,MODREG2
#7FFFh,MAG2
;DAC0
;Sets the starting point
;Maximum value, Q15
;Controls the frequency for
;DAC1
;Sets the starting point
;Maximum value, Q15
CLRC INTM
END
END
LDP
#0
LACC MODREG1
ADD
FREQSTEP1
SACL MODREG1
LACC MODREG1,8
SACH TABLE
SFR
AND
#07FFFh
SACL REMAINDER
LACC TABLE
ADD
TOPTABLE
TBLR VALUE
ADD
#1
TBLR NEXTVALUE
LACC NEXTVALUE
SUB
VALUE
SACL DIFFERENCE
LT
MPY
DIFFERENCE
REMAINDER
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
25
SPRA412
PAC
SACH REMAINDER,1
LACC REMAINDER
ADD
VALUE
SACL VALUE
LT
VALUE
MPY
MAG1
PAC
SACH DAC0VAL,1
;REMAINDER
;Move the product to the ACC
;Store the upper byte and shift
;left by 1, Q15
;Load ACC with new REMAINDER
;Add VALUE to get the new
;interpolated value
;Store the interpolated value
;into VALUE
;Load the TREG with the new
;interpolated VALUE
;Multiply VALUE by a magnitude
;Move the product to ACC
;Store the new value, shift to
;get Q15
FREQSTEP2
SACL MODREG2
LACC MODREG2,8
SACH TABLE
SFR
AND
#07FFFh
SACL REMAINDER
LACC TABLE
ADD
TOPTABLE
TBLR VALUE
ADD
#1
TBLR NEXTVALUE
LACC NEXTVALUE
SUB
VALUE
SACL DIFFERENCE
LT
MPY
26
DIFFERENCE
REMAINDER
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
PAC
SACH REMAINDER,1
LACC REMAINDER
ADD
VALUE
SACL VALUE
LT
VALUE
MPY
MAG2
PAC
SACH DAC1VAL,1
LDP
#0
LACC DAC0VAL
ADD
#8000h
SFR
SFR
SFR
SFR
SACL DAC0VAL
LACC DAC1VAL
ADD
#8000h
SFR
SFR
SFR
SFR
SACL DAC1VAL
OUT
OUT
OUT
;REMAINDER
;Move the product to the ACC
;Store the upper byte, shift
;left by 1, Q15
;Load ACC with new REMAINDER
;Add VALUE to get the new
;interpolated value
;Store the interpolated value
;into VALUE
;Load the TREG with the new
;interpolated VALUE
;Multiply VALUE by a magnitude
;Move the product to ACC
;Store the new value, shift to
;get Q15
DAC0VAL,DAC0
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
27
SPRA412
RESUME
LDP
#232
LACC EVIFRA
SACL EVIFRA
CLRC INTM
RET
28
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
29
SPRA412
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
30
28898
29268
29621
29956
30273
30571
30852
31113
31356
31580
31785
31971
32137
32285
32412
32521
32609
32678
32728
32757
32767
32757
32728
32678
32609
32521
32412
32285
32137
31971
31785
31580
31356
31113
30852
30571
30273
29956
29621
29268
28898
28510
28105
27683
27245
26790
26319
25832
25329
24811
24279
23731
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
61.88
63.28
64.69
66.09
67.50
68.91
70.31
71.72
73.13
74.53
75.94
77.34
78.75
80.16
81.56
82.97
84.38
85.78
87.19
88.59
90.00
91.41
92.81
94.22
95.63
97.03
98.44
99.84
101.25
102.66
104.06
105.47
106.88
108.28
109.69
111.09
112.50
113.91
115.31
116.72
118.13
119.53
120.94
122.34
123.75
125.16
126.56
127.97
129.38
130.78
132.19
133.59
0.8819
0.8932
0.9040
0.9142
0.9239
0.9330
0.9415
0.9495
0.9569
0.9638
0.9700
0.9757
0.9808
0.9853
0.9892
0.9925
0.9952
0.9973
0.9988
0.9997
1.0000
0.9997
0.9988
0.9973
0.9952
0.9925
0.9892
0.9853
0.9808
0.9757
0.9700
0.9638
0.9569
0.9495
0.9415
0.9330
0.9239
0.9142
0.9040
0.8932
0.8819
0.8701
0.8577
0.8449
0.8315
0.8176
0.8032
0.7883
0.7730
0.7572
0.7410
0.7242
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
23170
22594
22005
21403
20787
20159
19519
18868
18204
17530
16846
16151
15446
14732
14010
13279
12539
11793
11039
10278
9512
8739
7962
7179
6393
5602
4808
4011
3212
2410
1608
804
0
64731
63927
63125
62323
61524
60727
59933
59142
58356
57573
56796
56023
55257
54496
53742
52996
52256
51525
50803
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
135.00
136.41
137.81
139.22
140.63
142.03
143.44
144.84
146.25
147.66
149.06
150.47
151.88
153.28
154.69
156.09
157.50
158.91
160.31
161.72
163.13
164.53
165.94
167.34
168.75
170.16
171.56
172.97
174.38
175.78
177.19
178.59
180.00
181.41
182.81
184.22
185.63
187.03
188.44
189.84
191.25
192.66
194.06
195.47
196.88
198.28
199.69
201.09
202.50
203.91
205.31
206.72
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
0.7071
0.6895
0.6716
0.6532
0.6344
0.6152
0.5957
0.5758
0.5556
0.5350
0.5141
0.4929
0.4714
0.4496
0.4276
0.4052
0.3827
0.3599
0.3369
0.3137
0.2903
0.2667
0.2430
0.2191
0.1951
0.1710
0.1467
0.1224
0.0980
0.0736
0.0491
0.0245
0.0000
-0.0245
-0.0491
-0.0736
-0.0980
-0.1224
-0.1467
-0.1710
-0.1951
-0.2191
-0.2430
-0.2667
-0.2903
-0.3137
-0.3369
-0.3599
-0.3827
-0.4052
-0.4276
-0.4496
31
SPRA412
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
32
50089
49384
48689
48005
47331
46667
46016
45376
44748
44132
43530
42941
42365
41804
41256
40724
40206
39703
39216
38745
38290
37852
37430
37025
36637
36267
35914
35579
35262
34964
34683
34422
34179
33955
33750
33564
33398
33250
33123
33014
32926
32857
32807
32778
32768
32778
32807
32857
32926
33014
33123
33250
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
208.13
209.53
210.94
212.34
213.75
215.16
216.56
217.97
219.38
220.78
222.19
223.59
225.00
226.41
227.81
229.22
230.63
232.03
233.44
234.84
236.25
237.66
239.06
240.47
241.88
243.28
244.69
246.09
247.50
248.91
250.31
251.72
253.13
254.53
255.94
257.34
258.75
260.16
261.56
262.97
264.38
265.78
267.19
268.59
270.00
271.41
272.81
274.22
275.63
277.03
278.44
279.84
-0.4714
-0.4929
-0.5141
-0.5350
-0.5556
-0.5758
-0.5957
-0.6152
-0.6344
-0.6532
-0.6716
-0.6895
-0.7071
-0.7242
-0.7410
-0.7572
-0.7730
-0.7883
-0.8032
-0.8176
-0.8315
-0.8449
-0.8577
-0.8701
-0.8819
-0.8932
-0.9040
-0.9142
-0.9239
-0.9330
-0.9415
-0.9495
-0.9569
-0.9638
-0.9700
-0.9757
-0.9808
-0.9853
-0.9892
-0.9925
-0.9952
-0.9973
-0.9988
-0.9997
-1.0000
-0.9997
-0.9988
-0.9973
-0.9952
-0.9925
-0.9892
-0.9853
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
SPRA412
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
.word
33398
33564
33750
33955
34179
34422
34683
34964
35262
35579
35914
36267
36637
37025
37430
37852
38290
38745
39216
39703
40206
40724
41256
41804
42365
42941
43530
44132
44748
45376
46016
46667
47331
48005
48689
49384
50089
50803
51525
52256
52996
53742
54496
55257
56023
56796
57573
58356
59142
59933
60727
61524
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
281.25
282.66
284.06
285.47
286.88
288.28
289.69
291.09
292.50
293.91
295.31
296.72
298.13
299.53
300.94
302.34
303.75
305.16
306.56
307.97
309.38
310.78
312.19
313.59
315.00
316.41
317.81
319.22
320.63
322.03
323.44
324.84
326.25
327.66
329.06
330.47
331.88
333.28
334.69
336.09
337.50
338.91
340.31
341.72
343.13
344.53
345.94
347.34
348.75
350.16
351.56
352.97
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM
-0.9808
-0.9757
-0.9700
-0.9638
-0.9569
-0.9495
-0.9415
-0.9330
-0.9239
-0.9142
-0.9040
-0.8932
-0.8819
-0.8701
-0.8577
-0.8449
-0.8315
-0.8176
-0.8032
-0.7883
-0.7730
-0.7572
-0.7410
-0.7242
-0.7071
-0.6895
-0.6716
-0.6532
-0.6344
-0.6152
-0.5957
-0.5758
-0.5556
-0.5350
-0.5141
-0.4929
-0.4714
-0.4496
-0.4276
-0.4052
-0.3827
-0.3599
-0.3369
-0.3137
-0.2903
-0.2667
-0.2430
-0.2191
-0.1951
-0.1710
-0.1467
-0.1224
33
SPRA412
.word
.word
.word
.word
.word
62323
63125
63927
64731
65535
;
;
;
;
;
252
253
254
255
256
354.38
355.78
357.19
358.59
360.00
-0.0980
-0.0736
-0.0491
-0.0245
0.0000
;===================================================================
; I S R - PHANTOM
;
; Description:
Dummy ISR, used to trap spurious interrupts.
;
; Modifies:
Nothing
;
; Last Update:
16 June 95
;===================================================================
PHANTOM
KICK_DOG
;Resets WD counter
B PHANTOM
34
Creating a Two Channel Sine Wave Generator Using the TMS320F240 EVM