⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cur_mod.lst

📁 TI的digital motor control lib的源代码。了解TI的编程规范
💻 LST
📖 第 1 页 / 共 3 页
字号:
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 + -