📄 foc.lst
字号:
dspa -q -c -l -s -v2xx -iC:/ti/c2400/cgtools/include -g foc.asm C:/ti/myprojects/vec/Debug\foc.obj
TMS320C24xx COFF Assembler Version 7.02 Mon Dec 18 17:13:42 2006
Copyright (c) 1987-2002 Texas Instruments Incorporated
foc.asm PAGE 1
1
2 ;----------------------矢量控制--------------
3
4 .include "F2407REGS.h" ; 寄存器地址
5 .include "vectors.h"
6 .global _c_int0 ;全局化标号
7 ;-----------------------以下定义变量和常数-------------------------------------------------------------
8 1000 PWMCNT_LED_ .set 01000H
9 17ac PWM_T .set 6060 ; 3.3k 5k 4000
10 0001 VMIN_ .set 1
11 0001 KCN_ .set 1
12 0064 KIN_ .set 100
13 0064 KC_ .set 100
14 0064 KPN_ .set 100
15 0001 KI_ .set 1
16 0001 KP_ .set 1
17 0064 VMAX_ .set 100
18 0064 IMAX_ .set 100
19
20 0d57 KSPEED .set 3415 ;将脉冲数转换成速度系数,13.34的Q8格式
21 ;速度基值1500rpm,速度采样周期3ms
22 001e SPEEDSTEP30 .set 30 ;速度采样周期30个中断
23
24 0000 .bss T1_PERIODS,1 ;T1周期值的Q5格式
25 0001 .bss KCURRENT,1 ;电流ipuQ12的转换系数,Q8格式
26 0002 .bss KI,1 ;电流积分系数,Q12格式
27 0003 .bss KP,1 ;电流比例系数,Q12格式
28 0004 .bss KC,1 ;电流积分修正系数,Q12格式
29 0005 .bss KIN,1 ;速度积分系数,Q12格式
30 0006 .bss KPN,1 ;速度比例系数,Q12格式
31 0007 .bss KCN,1 ;速度积分修正系数,Q12
32 0008 .bss VMIN,1 ;电压最小极限-1.25 pu,Q12
33 0009 .bss VMAX,1 ;电压最大极限1.25 pu,Q12
34 000a .bss IMAX,1 ;相电流最大极限,Q12
35 000b .bss TMP,1 ;临时变量
36 000c .bss IA,1 ;相电流IA
37 000d .bss IB,1 ;相电流IB
38 000e .bss IC,1 ;相电流IC
39 000f .bss SIN,1 ;SIN值Q12
40 0010 .bss COS,1 ;COS值Q12
41 0011 .bss DEC_MS,24 ;6个逆阵,Q14格式
42 0029 .bss CMP_1,1 ;第1基本矢量,Q0格式
43 002a .bss CMP_2,1 ;第2基本矢量, Q0格式
44 002b .bss CMP_0,1 ;0基本矢量/2, Q0格式
45 002c .bss FIRST_TOG,1 ;存放第一次比较匹配的比较器地址
46 002d .bss SEC_TOG,1 ;存放第二次比较匹配的比较器地址
47 002e .bss TETA_E,1 ;转子电角度[0;1000H],对应[0;360]Q12格式
48 002f .bss IALFA,1 ;ALFA轴电流
49 0030 .bss IBETA,1 ;BETA轴电流
50 0031 .bss VALF_REF,1 ;ALFA轴参考电压
51 0032 .bss VBET_REF,1 ;BETA轴参考电压
52 0033 .bss IMREF,1 ;M轴参考电流
53 0034 .bss ITREF,1 ;T轴参考电流
54 0035 .bss IM,1 ;M轴电流
TMS320C24xx COFF Assembler Version 7.02 Mon Dec 18 17:13:42 2006
Copyright (c) 1987-2002 Texas Instruments Incorporated
foc.asm PAGE 2
55 0036 .bss IT,1 ;T轴电流
56 0037 .bss VMREF,1 ;M轴参考电压
57 0038 .bss VTREF,1 ;T轴参考电压
58 0039 .bss EPIT,1 ;T轴电流调节偏差
59 003a .bss EPIM,1 ;M轴电流调节偏差
60 003b .bss XIT,1 ;T轴电流调节器积分累计量
61 003c .bss XIM,1 ;M轴电流调节器积分累计量
62 003d .bss N,1 ;速度
63 003e .bss N_REF,1 ;速度参考值
64 003f .bss EPISPEED,1 ;速度偏差
65 0040 .bss XISPEED,1 ;速度调节器积分累计量
66 0041 .bss P,1 ;SVPWM扇区索引
67 0042 .bss ITREFMIN,1 ;T轴电流最小极限
68 0043 .bss ITREFMAX,1 ;T轴电流最大极限
69 0044 .bss SECTOR,1 ;SVPWM扇区数
70 0045 .bss INDEX,1 ;查SIN表索引
71 0046 .bss UPI,1 ;PI调节器输出
72 0047 .bss ELPI,1 ;PI调节器极限偏差
73 0048 .bss ENCODEROLD,1 ;前一个采样周期时编码脉冲数
74 0049 .bss ENCINCR,1 ;编码脉冲增量
75 004a .bss SPEEDTMP,1 ;编码脉冲增量累计值
76 004b .bss SPEEDSTEP,1 ;速度采样周期减计数器
77 004c .bss KR,1 ;常数,见式(4-36)
78 004d .bss KT,1 ;常数, 见式(4-37)
79 004e .bss K,1 ;转换常数,见式(4-39)
80 004f .bss IDK,1 ;转子励磁电流,Q12
81 0050 .bss FS,1 ;转子磁链角频率与额定角频率之比
82 0051 .bss TETAINCR,1 ;TETA转角增量
83 0052 .bss TMP1,1 ;临时变量
84 0053 .bss PWMCNT_LED,1
85 0054 .bss CTRL ,1
86 0055 .bss TEMPER ,1
87 0056 .bss UDC ,1
88 ;-----------------------以下是程序-----------------------------------------------------------------------------
89 0000 .text
90 ;--------------------------------------系统初始化程序----------------------------------------------------
91 0000 _c_int0
92 0000 be41 SETC INTM ; Disable interrupt
93 0001 be47 SETC SXM ; Supress sign extension
94 0002 be43 SETC OVM ; Results overflow normally in Accumulator
95 0003 be44 CLRC CNF ; B0 is configured as data space
96 0004 be4e CLRC C ; clear carry bit
97 0005 bce0 LDP #224
98 0006 ae18 SPLK #0000001010000100B,SCSR1 ;CLKIN 20M,CLKOUT 40M
0007 0284
99 0008 ae29 SPLK #68H,WDCR ;不用看门狗
0009 0068
100 ;--------------------------------------I/O 初始化程序----------------------------------------------------
101 000a bce1 LDP #225
102 000b 1010 LACC MCRA
103 000c bfc0 OR #0FC0H ;设置PWM1-6引脚基本功能
000d 0fc0
104 000e 9010 SACL MCRA
105 000f 1014 LACC MCRC
TMS320C24xx COFF Assembler Version 7.02 Mon Dec 18 17:13:42 2006
Copyright (c) 1987-2002 Texas Instruments Incorporated
foc.asm PAGE 3
106 0010 bfb0 AND #0FDFFH
0011 fdff
107 0012 9014 SACL MCRC
108 0013 1016 LACC PFDATDIR
109 0014 bfb0 AND #0FDFDH
0015 fdfd
110 0016 9016 SACL PFDATDIR
111
112
113 ;--------------------------------------中断初始化程序----------------------------------------------------
114 0017 bc00 LDP #0
115 0018 ae06 SPLK #0FFH,IFR ; 清所有系统中断标志
0019 00ff
116 001a ae04 SPLK #00000010B,IMR ; 开INT2中断
001b 0002
117 001c bce8 LDP #232
118 001d ae2f SPLK #0FFFH,EVAIFRA ; 清事件管理器A所有中断标志
001e 0fff
119 001f ae30 SPLK #0FH,EVAIFRB
0020 000f
120 0021 ae31 SPLK #0FH,EVAIFRC
0022 000f
121 0023 ae2c SPLK #0200H,EVAIMRA ; 开T1下溢中断
0024 0200
122 0025 ae2d SPLK #0,EVAIMRB ; 屏蔽所有中断
0026 0000
123 0027 ae2e SPLK #0,EVAIMRC ; 屏蔽所有中断
0028 0000
124 ;--------------------------------------初始化事件管理器A程序-----------------------------------------
125 0029 bce8 LDP #0E8H
126 002a ae03 SPLK #PWM_T ,T1PR ; T1周期值=200 us/25ns/2=4000
002b 17ac
127 002c ae17 SPLK #PWM_T ,CMPR1 ; 占空比初值 0%
002d 17ac
128 002e ae18 SPLK #PWM_T ,CMPR2
002f 17ac
129 0030 ae19 SPLK #PWM_T ,CMPR3
0031 17ac
130 0032 ae13 SPLK #0000100110011001B,ACTRA ; 引脚PWM1,3,5低有效,2,4,6高有效
0033 0999
131 ;SPLK #0000011001100110B,ACTRA ; 引脚PWM1,3,5高有效,2,4,6低有效
132 0034 ae15 SPLK #06F4H,DBTCONA ; 死区时间6*32*25ns=4.8us
0035 06f4
133 0036 ae11 SPLK #1000001000000000B,COMCONA ;允许比较,不用硬件空间矢量
0037 8200
134 0038 ae01 SPLK #0,T1CNT
0039 0000
135 003a ae04 SPLK #1000100000000010B,T1CON ;连续增减计数方式,预分频=1
003b 8802
136
137 003c ae05 SPLK #0,T2CNT ;编码脉冲计数器
003d 0000
138 003e ae07 SPLK #0FFFFH,T2PR
003f ffff
TMS320C24xx COFF Assembler Version 7.02 Mon Dec 18 17:13:42 2006
Copyright (c) 1987-2002 Texas Instruments Incorporated
foc.asm PAGE 4
139 0040 ae08 SPLK #9870H,T2CON ;定向增减,允许编码接口
0041 9870
140 ;--------------------------------------初始化AD采样程序-----------------------------------------
141 0042 bce1 LDP #225
142 0043 ae20 SPLK #4000H,ADCTRL1
0044 4000
143 0045 8b00 NOP
144 0046 ae20 SPLK #3000H,ADCTRL1
0047 3000
145 0048 ae21 SPLK #4000H,ADCTRL2
0049 4000
146 004a ae22 SPLK #4,MAXCONV ;/*For SEQ mode (i.e, cascaded mode), MAX CONV1_3-0 are used.*/
004b 0004
147 004c ae23 SPLK #05431H,CHSELSEQ1
004d 5431
148 004e ae24 SPLK #0007H,CHSELSEQ2 ;Result0 - ADC模块的ADCIN1 - Udc
004f 0007
149 ;Result1 - ADC模块的ADCIN3 - CT-U(Iw)
150 ;Result2 - ADC模块的ADCIN4 - CT-V(Iu)
151 ;Result3 - ADC模块的ADCIN5 - Regulator
152
153 ;-----------------------变量初始化-----------------------------------------------------
154 0050 bc06 LDP #6
155 0051 ae00- SPLK #32000,T1_PERIODS ;T1周期值的Q5格式,1000*32
0052 7d00
156 0053 ae02- SPLK #KI_,KI ;给电流积分系数赋值,Q12
0054 0001
157 0055 ae03- SPLK #KP_,KP ;给电流比例系数赋值,Q12
0056 0001
158 0057 ae04- SPLK #KC_,KC ;给电流积分修正系数赋值,Q12
0058 0064
159 0059 ae05- SPLK #KIN_,KIN ;给速度积分系数赋值,Q12
005a 0064
160 005b ae06- SPLK #KPN_,KPN ;给速度比例系数赋值,Q12
005c 0064
161 005d ae07- SPLK #KCN_,KCN ;给速度积分修正系数赋值,Q12
005e 0001
162 005f ae08- SPLK #VMIN_,VMIN ;给电压最小极限赋值-1.25 pu,Q12
0060 0001
163 0061 ae09- SPLK #VMAX_, VMAX ;给电压最大极限赋值1.25 pu,Q12
0062 0064
164 0063 ae0a- SPLK #IMAX_,IMAX ;给相电流最大极限赋值,Q12
0064 0064
165 0065 ae01- SPLK #1383H,KCURRENT ;电流ipuQ12的转换系数19.5的Q8格式
0066 1383
166 0067 ae4c- SPLK #39,KR ;(Lr=0.169,Rr=2.011,T=0.0001)Q15格式
0068 0027
167 0069 ae4d- SPLK #156,KT ; (Lr=0.169,Rr=2.011)Q12格式
006a 009c
168 006b ae4e- SPLK #328,K ;转换系数,采样周期100微秒,Q0
006c 0148
169 006d ae4f- SPLK #0,IDK
006e 0000
170 006f ae50- SPLK #0,FS
TMS320C24xx COFF Assembler Version 7.02 Mon Dec 18 17:13:42 2006
Copyright (c) 1987-2002 Texas Instruments Incorporated
foc.asm PAGE 5
0070 0000
171 0071 ae51- SPLK #0,TETAINCR
0072 0000
172 0073 ae0b- SPLK #0,TMP
0074 0000
173 0075 ae52- SPLK #0,TMP1
0076 0000
174 0077 100a- LACC IMAX
175 0078 9043- SACL ITREFMAX
176 0079 be02 NEG
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -