📄 com_trig.lst
字号:
128 002a 1107- LACC Vb,1 ;Fetch Vb
129 002b 2007- ADD Vb ;ACC=3*(Bemf + Neutral)
130 002c 3004- SUB neutral ;ACC=3*Bemf
131 002d 9014- SACL debug_Bemf
132 002e e344 BCND CLR_NW_S1,LT ;BEMF Still positive?
002f 0034'
133
134 0030 7a80 CALL NOISE_WIN
0031 00ac'
135 0032 7980 B ST_END
0033 0094'
136
137 0034 ae0e- CLR_NW_S1 SPLK #0h,noise_window_cntr
0035 0000
138 0036 7980 B ST_END
0037 0094'
139
140
141
142 ;State 2 - ZC for phase A
143 ;-----------------------
144 0038 CT_STATE_BNC:
145 0038 1106- LACC Va,1 ;Fetch Va
146 0039 2006- ADD Va ;ACC=3*(Bemf + Neutral)
147 003a 3004- SUB neutral ;ACC=3*Bemf
TMS320C24xx COFF Assembler Version 7.02 Sun Apr 27 20:39:39 2003
Copyright (c) 1987-2002 Texas Instruments Incorporated
com_trig.asm PAGE 4
148 003b 9014- SACL debug_Bemf
149 003c e304 BCND CLR_NW_S2,GT ;BEMF Still positive?
003d 0042'
150
151 003e 7a80 CALL NOISE_WIN
003f 00ac'
152 0040 7980 B ST_END
0041 0094'
153
154 0042 ae0e- CLR_NW_S2 SPLK #0h,noise_window_cntr
0043 0000
155 0044 7980 B ST_END
0045 0094'
156
157
158
159 ;State 3 - ZC for phase C
160 ;-----------------------
161 0046 CT_STATE_BNA:
162 0046 1108- LACC Vc,1 ;Fetch Vc
163 0047 2008- ADD Vc ;ACC=3*(Bemf + Neutral)
164 0048 3004- SUB neutral ;ACC=3*Bemf
165 0049 9014- SACL debug_Bemf
166 004a e344 BCND CLR_NW_S3,LT ;BEMF Still positive?
004b 0050'
167
168 004c 7a80 CALL NOISE_WIN
004d 00ac'
169 004e 7980 B ST_END
004f 0094'
170
171 0050 ae0e- CLR_NW_S3 SPLK #0h,noise_window_cntr
0051 0000
172 0052 7980 B ST_END
0053 0094'
173
174
175
176 ;State 4 - ZC for phase B
177 ;-----------------------
178 0054 CT_STATE_CNA:
179 0054 ae0d- SPLK #0h, D30_done_flg ;clear flag for delay calc in State 5
0055 0000
180 0056 1107- LACC Vb,1 ;Fetch Vb
181 0057 2007- ADD Vb ;ACC=3*(Bemf + Neutral)
182 0058 3004- SUB neutral ;ACC=3*Bemf
183 0059 9014- SACL debug_Bemf
184 005a e304 BCND CLR_NW_S4,GT ;BEMF Still positive?
005b 0060'
185
186 005c 7a80 CALL NOISE_WIN
005d 00ac'
187 005e 7980 B ST_END
005f 0094'
TMS320C24xx COFF Assembler Version 7.02 Sun Apr 27 20:39:39 2003
Copyright (c) 1987-2002 Texas Instruments Incorporated
com_trig.asm PAGE 5
188
189 0060 ae0e- CLR_NW_S4 SPLK #0h,noise_window_cntr
0061 0000
190 0062 7980 B ST_END
0063 0094'
191
192
193
194 ;State 5 - ZC for phase A
195 ;---------------------------------
196 0064 CT_STATE_CNB:
197 0064 1106- LACC Va,1 ;Fetch Va
198 0065 2006- ADD Va ;ACC=3*(Bemf + Neutral)
199 0066 3004- SUB neutral ;ACC=3*Bemf
200 0067 9014- SACL debug_Bemf
201 0068 e344 BCND CLR_NW_S5,LT ;BEMF Still positive?
0069 006e'
202
203 006a 7a80 CALL NOISE_WIN
006b 00ac'
204 006c 7980 B DELAY_30
006d 0070'
205
206 006e ae0e- CLR_NW_S5 SPLK #0h,noise_window_cntr
006f 0000
207
208
209 ;Delay 30 deg calculator
210 ;---------------------------------
211 0070 DELAY_30
212 0070 100d- LACC D30_done_flg
213 0071 e308 BCND ST_END, NEQ ;If gone through once, skip.
0072 0094'
214
215 0073 1009- LACC time_stamp_new ;new-->old, current-->new
216 0074 900a- SACL time_stamp_old
217
218 0075 bc00! ldp #v_timer
219 0076 1000! LACC v_timer ;current-->new
220
221 0077 bc00- ldp #time_stamp_new
222 0078 9009- SACL time_stamp_new
223 0079 300a- SUB time_stamp_old ;Period = time_stamp_new - time_stamp_old
224 007a e344 BCND NEG_DELTA, LT ;If Period is negative, allow "wrapping"
007b 007f'
225
226 007c 9005- POS_DELTA SACL rev_period ;Delta = f(t2) - f(t1)
227 007d 7980 B DELAY_DIV12
007e 0082'
228
229 007f bf90 NEG_DELTA ADD #7FFFh ;Add 1 to Delta
0080 7fff
230 0081 9005- SACL rev_period ;Delta = 1 + f(t2) - f(t1)
231
TMS320C24xx COFF Assembler Version 7.02 Sun Apr 27 20:39:39 2003
Copyright (c) 1987-2002 Texas Instruments Incorporated
com_trig.asm PAGE 6
232 0082 DELAY_DIV12:
233 0082 1005- LACC rev_period ;Load the revolution time
234 0083 ae0b- SPLK #012,cmtn_delay
0084 000c
235 0085 bb0f RPT #15
236 0086 0a0b- SUBC cmtn_delay ;Divide it by 12 (i.e. 30
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -