lsvpwm.lst
来自「开发环境CCS2.0 TI公司240DSP电机VVVF控制程序 可直接使用」· LST 代码 · 共 1,204 行 · 第 1/5 页
LST
1,204 行
2 02c8 1a36 LACC ADCFIFO1,10
2 02c9 be81 AND #3FFH,16
02ca 03ff
2 02cb bc04 LDP #TEMP/128
2 02cc 9800 SACH TEMP ;temp中是10位AD量
2 02cd 7300 LT TEMP
2 02ce sdp TEMP,kvdc
3 .if (TEMP/128!=kvdc/128)
3 ldp #data/128
3 .endif
2 02ce 5433 mpy kvdc ;2^14 lyh2002.9.2
2 02cf be03 pac
2 02d0 be09 sfl ;2^15 lyh2002.9.2
2 02d1 be09 sfl ;2^16 lyh2002.9.3
2 02d2 sdp kvdc,VDC
3 .if (kvdc/128!=VDC/128)
3 ldp #data/128
3 .endif
2 02d2 9d20 sach VDC,5 ;2^5
1
1 02d3 bce0 LDP #0E0H
1 02d4 1a38 LACC ADCFIFO2,10
1 02d5 be81 AND #3FFH,16
02d6 03ff
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Fri Jun 3 14:41:53 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
lsvpwm.asm PAGE 18
1 02d7 bc04 LDP #4 ;200H-027FH
1 02d8 9821 SACH vcap
1
1 02d9 bc04 ldp #4 ;电机过压保护
1 02da 6920 lacl VDC
1 02db bfa0 sub #17241 ;220*1.732*1.414*2^5=17241.3
02dc 4359
1 02dd e304 bcnd V_abn,GT
02de 02e1'
1 02df 7980 b V_end
02e0 030b'
1
1 02e1 V_abn STOP
2 02e1 bce1 LDP #0E1H ;7080H-70FFH
2 02e2 6918 LACL PADATDIR
2 02e3 bfb0 AND #1111111111110111B
02e4 fff7
2 02e5 9018 SACL PADATDIR ;PADATDIR.3(IOPA3)=/DISDRIVE(DP=0E1H)
2
2
2 02e6 bce8 LDP #0E8H
2 02e7 6911 LACL COMCON
2 02e8 bfb0 AND #1111110111111111B
02e9 fdff
2 02ea 9011 SACL COMCON ;禁止PWM输出
2
2 02eb bce8 LDP #0E8H
2 02ec ae17 SPLK #0,CMPR1
02ed 0000
2 02ee ae18 SPLK #0,CMPR2
02ef 0000
2
2 02f0 bc04 LDP #4 ;200H-027FH
2 02f1 ae01 SPLK #0,RunFlag
02f2 0000
1 02f3 ALARM
2
2 02f3 bce1 LDP #0E1H ;7080H-70FFH
2 02f4 691c LACL PCDATDIR ;PCDATDIR.6(IOPC6)=ALARM
2 02f5 bfc0 OR #1000000B
02f6 0040
2 02f7 901c SACL PCDATDIR ;PCDATDIR.6(IOPC6)=ALARM
2
1 02f8 bc04 ldp #4
1 02f9 ae0b splk #1,V_FAIL
02fa 0001
1 02fb bce8 LDP #232
1 02fc 102f LACC EVIFRA
1 02fd 902f SACL EVIFRA
1 02fe Restore1 ;恢复现场
2
2 02fe 8b89 MAR *,AR1
2 02ff 0290 lar AR2,*- ;for scope
2 0300 0490 lar AR4,*- ;for scope
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Fri Jun 3 14:41:53 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
lsvpwm.asm PAGE 19
2 0301 7390 LT *-
2 0302 c001 MPYK #1
2 0303 7590 LPH *-
2 0304 7390 LT *-
2 0305 6990 LACl *-
2 0306 6190 ADD *-,16
2 0307 0e90 LST #0,*-
2 0308 0f90 LST #1,*-
2
1 0309 be40 CLRC INTM
1 030a ef00 RET
1 030b 8b00 V_end nop
325 ;========================立即触发电流采样模块=============================
326 030c bce0 LDP #ADCTRL1/128
327 030d ae32 splk #1011100100100101B, ADCTRL1 ;启动电流采样
030e b925
328 030f ReadCurrent
1
1 030f bce0 ADLOOPI: LDP #ADCTRL1/128
1 0310 4732 BIT ADCTRL1,7
1 0311 e200 BCND ADLOOPI, NTC ;查询IA和ib是否转换完毕
0312 030f'
1
1 0313 Current_scale ADCFIFO1,kia,ia_offset,IA,TEMP
2 0313 bce0 LDP #ADCFIFO1/128
2 0314 1a36 LACC ADCFIFO1,10
2 0315 be81 and #3FFH,16
0316 03ff
2 0317 bfaf sub #512*2,15
0318 0400
2 0319 bc04 ldp #TEMP/128
2 031a 9800 sach TEMP
2 031b 7300 lt TEMP
2 031c sdp TEMP,kia
3 .if (TEMP/128!=kia/128)
3 ldp #data/128
3 .endif
2 031c 5431 mpy kia ;2^22
2 031d be03 pac
2 031e sdp kia,ia_offset
3 .if (kia/128!=ia_offset/128)
3 ldp #data/128
3 .endif
2 031e 3934 SUB ia_offset,(22-13)
2 031f sdp ia_offset,IA
3 .if (ia_offset/128!=IA/128)
3 ldp #data/128
3 .endif
2 031f 9f10 sach IA,7 ;AD结果减512不会大于512,故不会溢出
1 0320 Current_scale ADCFIFO2,kib,ib_offset,IB,TEMP
2 0320 bce0 LDP #ADCFIFO2/128
2 0321 1a38 LACC ADCFIFO2,10
2 0322 be81 and #3FFH,16
0323 03ff
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Fri Jun 3 14:41:53 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
lsvpwm.asm PAGE 20
2 0324 bfaf sub #512*2,15
0325 0400
2 0326 bc04 ldp #TEMP/128
2 0327 9800 sach TEMP
2 0328 7300 lt TEMP
2 0329 sdp TEMP,kia
3 .if (TEMP/128!=kib/128)
3 ldp #data/128
3 .endif
2 0329 5432 mpy kib ;2^22
2 032a be03 pac
2 032b sdp kia,ia_offset
3 .if (kib/128!=ib_offset/128)
3 ldp #data/128
3 .endif
2 032b 3935 SUB ib_offset,(22-13)
2 032c sdp ia_offset,IA
3 .if (ib_offset/128!=IB/128)
3 ldp #data/128
3 .endif
2 032c 9f11 sach IB,7 ;AD结果减512不会大于512,故不会溢出
1
1 032d bc04 LDP #IA/128
1 032e 1010 LACC IA
1 032f 2011 ADD IB
1 0330 be02 NEG
1 0331 9012 SACL IC ;IC=-(IA+IB)
1
1 0332 1010 lacc IA ;电机过流保护
1 0333 be00 abs
1 0334 bfa0 sub #8192
0335 2000
1 0336 e304 bcnd I_abn,GT
0337 0346'
1 0338 1011 lacc IB
1 0339 be00 abs
1 033a bfa0 sub #8192
033b 2000
1 033c e304 bcnd I_abn,GT
033d 0346'
1 033e 1012 lacc IC
1 033f be00 abs
1 0340 bfa0 sub #8192
0341 2000
1 0342 e304 bcnd I_abn,GT
0343 0346'
1 0344 7980 b I_end
0345 0370'
1
1 0346 I_abn STOP
2 0346 bce1 LDP #0E1H ;7080H-70FFH
2 0347 6918 LACL PADATDIR
2 0348 bfb0 AND #1111111111110111B
0349 fff7
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Fri Jun 3 14:41:53 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
lsvpwm.asm PAGE 21
2 034a 9018 SACL PADATDIR ;PADATDIR.3(IOPA3)=/DISDRIVE(DP=0E1H)
2
2
2 034b bce8 LDP #0E8H
2 034c 6911 LACL COMCON
2 034d bfb0 AND #1111110111111111B
034e fdff
2 034f 9011 SACL COMCON ;禁止PWM输出
2
2 0350 bce8 LDP #0E8H
2 0351 ae17 SPLK #0,CMPR1
0352 0000
2 0353 ae18 SPLK #0,CMPR2
0354 0000
2
2 0355 bc04 LDP #4 ;200H-027FH
2 0356 ae01 SPLK #0,RunFlag
0357 0000
1 0358 ALARM
2
2 0358 bce1 LDP #0E1H ;7080H-70FFH
2 0359 691c LACL PCDATDIR ;PCDATDIR.6(IOPC6)=ALARM
2 035a bfc0 OR #1000000B
035b 0040
2 035c 901c SACL PCDATDIR ;PCDATDIR.6(IOPC6)=ALARM
2
1 035d bc04 ldp #4
1 035e ae0a splk #1,I_FAIL
035f 0001
1 0360 bce8 LDP #232
1 0361 102f LACC EVIFRA
1 0362 902f SACL EVIFRA
1 0363 Restore1 ;恢复现场
2
2 0363 8b89 MAR *,AR1
2 0364 0290 lar AR2,*- ;for scope
2 0365 0490 lar AR4,*- ;for scope
2 0366 7
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?