📄 f243bdcpwm2.lst
字号:
154 0016 POINT_EV ; Output Current Path Phase C
1 0016 bce8 LDP #0E8h
155
156 0017 ae13 SPLK #0C02h,ACTR
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue Sep 12 10:23:30 2000
Copyright (c) 1987-1999 Texas Instruments Incorporated
f243bdcpwm2.asm PAGE 4
0018 0c02
157 ; Non Fed Phase Phase B
158 ; *ACTR = 0x0C02.
159
160 0019 7980 B __PWM_state_end
001a 002d'
161 ; ARP = AR3. AR3 -> mfunc_p.
162 ; AR2-> FR1.
163 ;--------------------------------------------------------------------------
164 001b __PWM_state_bnc: ; Input current path Phase B
165 001b POINT_EV ; Output Current Path Phase C
1 001b bce8 LDP #0E8h
166
167 001c ae13 SPLK #0C20h,ACTR
001d 0c20
168 ; Non fed phase Phase A
169 ; *ACTR = 0x0C20.
170
171 001e 7980 B __PWM_state_end
001f 002d'
172 ; ARP = AR3. AR3 -> mfunc_p.
173 ; AR2-> FR1.
174 ;--------------------------------------------------------------------------
175 0020 __PWM_state_bna: ; Input current path Phase B
176 0020 POINT_EV ; Output Current Path Phase A
1 0020 bce8 LDP #0E8h
177
178 0021 ae13 SPLK #002Ch,ACTR
0022 002c
179 ; Non fed phase Phase C
180 ; *ACTR = 0x002C.
181
182 0023 7980 B __PWM_state_end
0024 002d'
183 ; ARP = AR3. AR3 -> mfunc_p.
184 ; AR2-> FR1.
185 ;--------------------------------------------------------------------------
186 0025 __PWM_state_cna: ; Input current path Phase C
187 0025 POINT_EV ; Output Current Path Phase A
1 0025 bce8 LDP #0E8h
188
189 0026 ae13 SPLK #020Ch,ACTR
0027 020c
190 ; Non Fed Phase Phase B
191 ; *ACTR = 0x020C.
192
193 0028 7980 B __PWM_state_end
0029 002d'
194 ; ARP = AR3. AR3 -> mfunc_p.
195 ; AR2-> FR1.
196 ;--------------------------------------------------------------------------
197 002a __PWM_state_cnb: ; Input current path Phase C
198 002a POINT_EV ; Output Current Path Phase B
1 002a bce8 LDP #0E8h
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue Sep 12 10:23:30 2000
Copyright (c) 1987-1999 Texas Instruments Incorporated
f243bdcpwm2.asm PAGE 5
199
200 002b ae13 SPLK #02C0h,ACTR
002c 02c0
201 ; Non Fed Phase Phase A
202 ; *ACTR = 0x02C0.
203 ; ARP = AR3. AR3 -> mfunc_p.
204 ; AR2-> FR1.
205 ;================================================================================
206 002d __PWM_state_end:
207 ;Convert "Period" (Q15) modulation function to Q0
208 002d 73a0 LT *+ ; treg = mfunc_p.
209 ; ARP = AR3. AR3 -> period_max.
210 ; AR2 -> FR1.
211 ;--------------------------------------------------------------------------
212 002e 54aa MPY *+,AR2 ; PREG = mfunc_p * period_max.
213 ; AR3 -> d_func.
214 ; ARP = AR2.
215 ; AR2-> FR1.
216 ;--------------------------------------------------------------------------
217 002f be03 PAC ; Accumulator = mfunc_p * period_max.
218 ; ARP = AR2. AR2 ->FR1
219 ; AR3 -> d_func.
220 ;--------------------------------------------------------------------------
221 0030 99ab SACH *+,1,AR3
222 ; FR1(period) = mfunc_p * period_max (Q15)
223 ; AR2 -> FR2.
224 ; ARP = AR3. AR3 -> d_func.
225 ;--------------------------------------------------------------------------
226 ;Convert "D_func" (Q15) duty modulation function to Q0
227 .if (ACTIVE_HI) ; target dependancy
228
229 0031 bf80 LACC #MAXPERIOD ; Accumulator = 0x7fff.
0032 7fff
230 ; ARP = AR3. AR3 -> d_func.
231 ; AR2 -> FR2(temp_var2).
232 ;--------------------------------------------------------------------------
233 0033 308a SUB *,AR2 ; Accumulator = 0x7fff - d_func.
234 ; ARP = AR2. AR2 -> FR2 (temp_var2).
235 ;--------------------------------------------------------------------------
236
237 0034 9080 SACL * ; temp2_var = 0x7fff - d_func.
238 ; ARP = AR2. AR2 -> FR2(temp_var2).
239 .endif
240 ;--------------------------------------------------------------------------
241 .if (ACTIVE_LO) ; target dependancy
242
243 LACC *,AR2 ; Accumulator = d_func.
244 ; ARP = AR2. AR2 -> FR2 (temp_var2).
245 ;--------------------------------------------------------------------------
246 SACL * ; Accumulator = d_func.
247 ; ARP = AR2. AR2 -> FR2 (temp_var2).
248 .endif
249 ;--------------------------------------------------------------------------
250 0035 7390 LT *- ; TREG = temp2_var.
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue Sep 12 10:23:30 2000
Copyright (c) 1987-1999 Texas Instruments Incorporated
f243bdcpwm2.asm PAGE 6
251 ; ARP = AR2.
252 ; AR2 -> FR1 (period i.e temp_var1).
253 ;--------------------------------------------------------------------------
254 0036 5489 MPY *,AR1 ; PREG = period * d_func.
255 ; ARP = AR1 (in preparation for exit)
256 ; AR2 -> FR1 (period i.e temp_var1).
257 ;-------------------------------------------------------------------------
258 0037 be03 PAC ; Accumulator = period * d_func.
259 ; ARP = AR1.
260 ;--------------------------------------------------------------------------
261 0038 POINT_EV
1 0038 bce8 LDP #0E8h
262
263 0039 9917 SACH CMPR1,1 ; *CMPR1 = Accumulator * 2.
264
265 003a 9918 SACH CMPR2,1 ; *CMPR2 = Accumulator * 2.
266
267 003b 9919 SACH CMPR3,1 ; *CMPR3 = Accumulator * 2.
268 ;================================================================================
269
270 003c __BLDC_PWM_Update_Exit:
271
272 ;--------------------------------------------------------------------------------
273 003c 7c04 SBRK #(__F243_BLDC_PWM_Update_framesize + 1)
274 ; deallocate frame, point to saved FP
275 ;--------------------------------------------------------------------------------
276
277 003d 0090 LAR AR0,*- ; restore frame pointer
278 003e 7680 PSHD * ; push return address on hardware stack
279
280 ;--------------------------------------------------------------------------------
281 003f ef00 RET ; return to called function.
282 ;================================================================================
283 ;Commutation sequence jump table - used with BACC inst.
284 ;----------------------------------------------------------------------------
285 0040 _COMMUTATION_TBL:
286 0040 0011' .word __PWM_state_anb ; COMMUTATION_PTR = 0, de-energized phase = C
287 0041 0016' .word __PWM_state_anc ; COMMUTATION_PTR = 1, de-energized phase = B
288 0042 001b' .word __PWM_state_bnc ; COMMUTATION_PTR = 2, de-energized phase = A
289 0043 0020' .word __PWM_state_bna ; COMMUTATION_PTR = 3, de-energized phase = C
290 0044 0025' .word __PWM_state_cna ; COMMUTATION_PTR = 4, de-energized phase = B
291 0045 002a' .word __PWM_state_cnb ; COMMUTATION_PTR = 5, de-energized phase = A
292
293 ;================================================================================
No Errors, No Warnings
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -