📄 cur_mod.lst
字号:
C:\TIC2XX\C2000\CGTOOLS\BIN\DSPA.EXE -q -v2xx -gs cur_mod.asm -o ..\obj\cur_mod.obj -l ..\temp\cur_mod.lst
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:26 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
cur_mod.asm PAGE 1
1 ;=====================================================================================
2 ; File name: CUR_MOD.ASM
3 ;
4 ; Originator: Digital Control Systems Group
5 ; Texas Instruments
6 ;
7 ; Description: Current model for indirect field oriented control of Induction Motor
8 ;
9 ; Note that theta_cur_mod = (0,7FFFh) => (0,360 degree)
10 ;
11 ;=====================================================================================
12 ; History:
13 ;-------------------------------------------------------------------------------------
14 ; 02-15-2001 Release Rev 1.0
15 ;-------------------------------------------------------------------------------------
16 ; The following modifications have made differently from its "ASM" version.
17 ; 1) No Pole_pairs_number involved because of per-unit representation
18 ; 2) Use "SFR" instead of "AND 7FFFh" to chance angle (0-360 deg) from 0-FFFFh to 0-7FFFh
19 ; 3) No confusing base speed to cause different transformation of Q15 to Q12 (using 3 SFR's)
20 ;-------------------------------------------------------------------------------------
21 ;
22 ;================================================================================
23 ; Applicability: F240,F241,C242,F243,F24xx. (Peripheral Independent).
24 ;================================================================================
25 ; Routine Name: cur_mod_calc Type: C Call
26 ;
27 ; C prototype : void cur_mod_calc(struct CURMOD *p);
28 ;
29 ; The struct object is defined in the header file "cur_mod.h" as follows:
30 ;
31 ; typedef struct { int i_cur_mod_D; /* Input: Syn. Rotating d-axis stator current (Q15) */
32 ; int i_cur_mod_Q; /* Input: Syn. Rotating q-axis stator current (Q15) */
33 ; int spd_cur_mod; /* Input: Rotor speed (Q15) */
34 ; int i_mr; /* Variable: Magnetizing current (Q12) */
35 ; int Kr; /* Parameter: Constant (Q15) */
36 ; int Kt; /* Parameter: Constant (Q12) */
37 ; int fs; /* Variable: Rotor flux electrical speed (Q12) */
38 ; int K; /* Parameter: Constant (Q0) */
39 ; int Teta_cm; /* Variable: Rotor flux position (Q0) */
40 ; int theta_cur_mod; /* Output: Rotor flux position (Q15) */
41 ; int (*calc)(); /* Pointer to calculation function */
42 ; } CURMOD;
43 ;
44 ; Frame Usage Details:
45 ; step | a | b | c | d
46 ;____________|_____________|______________|______________|_____________
47 ; AR0 | iSd | tmp | |
48 ; AR1 | iSq | | |
49 ; AR2 | n | tmp | tetaincr |
50 ;
51 ;================================================================================
52 .def _cur_mod_calc
53 ;================================================================================
54 0003 __cur_mod_calc_framesize .set 0003h
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:26 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
cur_mod.asm PAGE 2
55 ;================================================================================
56 0000 _cur_mod_calc:
57 ; Assume
58 0000 8aa0 POPD *+ ; Keep return address
59 0001 80a0 SAR AR0,*+ ; Keep old frame pointer (FP)
60 0002 8180 SAR AR1,* ; Keep old stack pointer (SP)
61 0003 b003 LARK AR0,__cur_mod_calc_framesize ; Load AR0 with frame size
62 0004 00e8 LAR AR0,*0+,AR0 ; AR0->FP0 (new FP), ARP=AR0
63
64 ;================================================================================
65 0005 7c03 SBRK #3 ; ARP=AR0, AR0->FR0-3 (1st argument)
66 ;----------------------------------------------------------------------------------
67 0006 0280 LAR AR2,* ; ARP=AR0, AR0->i_cur_mod_D, AR2->i_cur_mod_D
68 ;----------------------------------------------------------------------------------
69 0007 7803 ADRK #3 ; ARP=AR0, AR0->FR0, AR2->i_cur_mod_D
70 ;----------------------------------------------------------------------------------
71 0008 8b8a MAR *,AR2 ; ARP=AR2, AR0->FR0, AR2->i_cur_mod_D
72 ;----------------------------------------------------------------------------------
73 0009 be47 SETC SXM ; Turn sign extension mode on
74 ; ARP=AR2, AR0->FR0, AR2->i_cur_mod_D
75 ;----------------------------------------------------------------------------------
76 000a be43 SETC OVM ; Set overflow mode
77 ; ARP=AR2, AR0->FR0, AR2->i_cur_mod_D
78 ;----------------------------------------------------------------------------------
79 000b bf00 SPM 0 ; Reset product mode
80 ; ARP=AR2, AR0->FR0, AR2->i_cur_mod_D
81 ;----------------------------------------------------------------------------------
82 000c 10a8 LACC *+,AR0 ; ACC = i_cur_mod_D (Q15)
83 ; ARP=AR2, AR0->FR0, AR2->i_cur_mod_Q, ARP=AR0
84 ;----------------------------------------------------------------------------------
85 000d be0a SFR ; ACC = i_cur_mod_D (Q14)
86 ; ARP=AR0, AR0->FR0, AR2->i_cur_mod_Q
87 ;----------------------------------------------------------------------------------
88 000e be0a SFR ; ACC = i_cur_mod_D (Q13)
89 ; ARP=AR0, AR0->FR0, AR2->i_cur_mod_Q
90 ;----------------------------------------------------------------------------------
91 000f be0a SFR ; ACC = i_cur_mod_D (Q12)
92 ; ARP=AR0, AR0->FR0, AR2->i_cur_mod_Q
93 ;----------------------------------------------------------------------------------
94 0010 90aa SACL *+,AR2 ; FR0 = iSd = i_cur_mod_D (Q12)
95 ; ARP=AR0, AR0->FR1, AR2->i_cur_mod_Q, ARP=AR2
96 ;----------------------------------------------------------------------------------
97 0011 10a8 LACC *+,AR0 ; ACC = i_cur_mod_Q (Q15)
98 ; ARP=AR2, AR0->FR1, AR2->spd_cur_mod, ARP=AR0
99 ;----------------------------------------------------------------------------------
100 0012 be0a SFR ; ACC = i_cur_mod_Q (Q14)
101 ; ARP=AR0, AR0->FR1, AR2->spd_cur_mod
102 ;----------------------------------------------------------------------------------
103 0013 be0a SFR ; ACC = i_cur_mod_Q (Q13)
104 ; ARP=AR0, AR0->FR1, AR2->spd_cur_mod
105 ;----------------------------------------------------------------------------------
106 0014 be0a SFR ; ACC = i_cur_mod_Q (Q12)
107 ; ARP=AR0, AR0->FR1, AR2->spd_cur_mod
108 ;----------------------------------------------------------------------------------
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:26 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
cur_mod.asm PAGE 3
109 0015 90aa SACL *+,AR2 ; FR1 = iSq = i_cur_mod_Q (Q12)
110 ; ARP=AR0, AR0->FR2, AR2->spd_cur_mod, ARP=AR2
111 ;----------------------------------------------------------------------------------
112 0016 10a8 LACC *+,AR0 ; ACC = spd_cur_mod (Q15)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -