📄 bldc3pwm.lst
字号:
0002 07d0
142 0003 ae02- SPLK #7FFFh, Mfunc_p
0004 7fff
143
144 ;Configure Full Compare registers
145 0005 POINT_EV
1 0005 bce8 LDP #0E8h
146 ; SPLK #FPERIOD, T1PER ;temporary init only
147 0006 ae03 SPLK #FPERIOD, T1PER ;temporary init only
0007 07d0
148 0008 ae13 SPLK #0000h,ACTR
0009 0000
149 000a ae11 SPLK #0000001000000000b,COMCON ;Compare Cntl
000b 0200
150 000c ae11 SPLK #1000001000000000b,COMCON ;Compare Cntl
000d 8200
151 000e ae04 SPLK #1001000001000000b,T1CON ;Asym
000f 9040
152 0010 ae00 SPLK #0000000000000000b,GPTCON
0011 0000
153 ;||||!!!!||||!!!!
TMS320C24xx COFF Assembler Version 7.02 Sun Apr 27 22:05:44 2003
Copyright (c) 1987-2002 Texas Instruments Incorporated
bldc3pwm.asm PAGE 4
154 ;5432109876543210
155
156 ;Enable Primary function on CMP1-CMP6 PWM outputs
157 0012 POINT_PF2 ;OCRA.6 - OCRA.11
1 0012 bce1 LDP #0E1h
158 0013 1010 LACC OCRA
159 0014 bfc0 OR #0000111111000000b
0015 0fc0
160 ;||||!!!!||||!!!!
161 ;5432109876543210
162 0016 9010 SACL OCRA
163
164 .endif
165 ;--------------------------------------------------------------------------------
166
167 0017 ef00 RET
168
169 ;================================================================================
170 0018 BLDC_3PWM_DRV:
171 ;================================================================================
172 0018 bc00- ldp #cmtn_ptr_bd
173 0019 bf80 LACC #COMMUTATION_TBL
001a 004c'
174 001b 2000- ADD cmtn_ptr_bd
175 001c a605- TBLR GPR0_BLDC_PWM
176 001d 1005- LACC GPR0_BLDC_PWM
177 001e be20 BACC
178 001f STATE_ANB ;Input current path: Phase A
179 001f POINT_EV ;Output Current Path Phase B
1 001f bce8 LDP #0E8h
180 0020 ae13 SPLK #00C2H,ACTR ;Non fed phase Phase C
0021 00c2
181 0022 7980 B STATE_END
0023 003b'
182
183 0024 STATE_ANC ;Input current path: Phase A
184 0024 POINT_EV ;Output Current Path Phase C
1 0024 bce8 LDP #0E8h
185 0025 ae13 SPLK #0C02H,ACTR ;Non Fed Phase Phase B
0026 0c02
186 0027 7980 B STATE_END
0028 003b'
187
188 0029 STATE_BNC ;Input current path: Phase B
189 0029 POINT_EV ;Output Current Path: Phase C
1 0029 bce8 LDP #0E8h
190 002a ae13 SPLK #0C20H,ACTR ;Non fed phase Phase A
002b 0c20
191 002c 7980 B STATE_END
002d 003b'
192
193 002e STATE_BNA ;Input current path: Phase B
194 002e POINT_EV ;Output Current Path Phase A
1 002e bce8 LDP #0E8h
TMS320C24xx COFF Assembler Version 7.02 Sun Apr 27 22:05:44 2003
Copyright (c) 1987-2002 Texas Instruments Incorporated
bldc3pwm.asm PAGE 5
195 002f ae13 SPLK #002CH,ACTR ;Non fed phase Phase C
0030 002c
196 0031 7980 B STATE_END
0032 003b'
197
198 0033 STATE_CNA ;Input current path: Phase C
199 0033 POINT_EV ;Output Current Path Phase A
1 0033 bce8 LDP #0E8h
200 0034 ae13 SPLK #020CH,ACTR ;Non Fed Phase phase B
0035 020c
201 0036 7980 B STATE_END
0037 003b'
202
203 0038 STATE_CNB ;Input current path: Phase C
204 0038 POINT_EV ;Output Current Path: Phase B
1 0038 bce8 LDP #0E8h
205 0039 ae13 SPLK #02C0H,ACTR ;Non Fed Phase: Phase A
003a 02c0
206
207 003b STATE_END:
208 ;Convert "Period" (Q15) modulation function to Q0
209 003b bc00- ldp #Mfunc_p
210 003c 7302- LT Mfunc_p
211 003d 5403- MPY period_max ;P = period x period_max
212 003e be03 PAC
213 003f 9904- SACH period,1
214
215 ;Convert "D_func" (Q15) duty modulation function to Q0
216 .if (ACTIVE_HI) ;target dependancy
217 0040 bf80 LACC #7FFFh
0041 7fff
218 0042 3001- SUB D_func
219 0043 9005- SACL GPR0_BLDC_PWM
220 .endif
221
222 .if (ACTIVE_LO) ;target dependancy
223 LACC D_func
224 SACL GPR0_BLDC_PWM
225 .endif
226
227
228 0044 7305- LT GPR0_BLDC_PWM
229 0045 5404- MPY period ; P = D_func x period
230 0046 be03 PAC
231
232 0047 POINT_EV
1 0047 bce8 LDP #0E8h
233 0048 9917 SACH CMPR1,1
234 0049 9918 SACH CMPR2,1
235 004a 9919 SACH CMPR3,1
236 004b ef00 RET
237
238 ;Commutation sequence jump table - used with BACC inst.
239 ;----------------------------------------------------------------------------
TMS320C24xx COFF Assembler Version 7.02 Sun Apr 27 22:05:44 2003
Copyright (c) 1987-2002 Texas Instruments Incorporated
bldc3pwm.asm PAGE 6
240 004c COMMUTATION_TBL:
241 004c 001f' ANB .word STATE_ANB ;COMMUTATION_PTR = 0, de-energized phase = C
242 004d 0024' ANC .word STATE_ANC ;COMMUTATION_PTR = 1, de-energized phase = B
243 004e 0029' BNC .word STATE_BNC ;COMMUTATION_PTR = 2, de-energized phase = A
244 004f 002e' BNA .word STATE_BNA ;COMMUTATION_PTR = 3, de-energized phase = C
245 0050 0033' CNA .word STATE_CNA ;COMMUTATION_PTR = 4, de-energized phase = B
246 0051 0038' CNB .word STATE_CNB ;COMMUTATION_PTR = 5, de-energized phase = A
247
248
249
250
No Errors, No Warnings
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -