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

📄 imvc07_a.lst

📁 2407的交流电机控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
d:\tic2xx\c2000\cgtools\bin\DSPA.EXE D:\Imvc\IMVC07_a.asm D:\Imvc\IMVC07_a.obj -v2xx -q -x -s 

TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Mon May 28 09:55:02 2007
Copyright (c) 1987-1999  Texas Instruments Incorporated 
D:\Imvc\IMVC07_a.asm                                                 PAGE    1

       1            ;*****************************************************************************
       2            ;       File Name       : IMVC07_a.asm                  
       3            ;       Project         : IMVC speed control on ACPM750 AC Power Module Kit with 
       4            ;                                         TMS320LF2407 DSP controller
       5            ;=============================================================================
       6            ;       Target Sys  : MSK2407 DSP board + ACPM750 v3.2 power module 
       7            ;       Description : Implementation of controllers, coordinates transformation,
       8            ;                                         measurement, PWM command a.o. functions 
       9            ;  Originator/s: Technosoft Ltd.
      10            ;       Status      : OK
      11            ;=============================================================================
      12            ;       Copyright ?2000 Technosoft
      13            ;=============================================================================
      14            ;=============================================================================
      15            ;       Include files
      16            ;=============================================================================
      17                    .include "IMVC07_a.h"
      18                    .include "vect240x.h"
      19             ;=============================================================================
      20            ;       Code section
      21            ;=============================================================================
      22 0000               .text
      23            
      24            ;=============================================================================
      25            ; Routine Name: _init_pi_reg_id
      26            ; -----------------------------
      27            ; Description: Setup of id current, PI controller variables
      28            ; -----------------------------
      29            ; Calling Convention: extern void init_pi_reg_id();
      30            ;=============================================================================
      31                    .global _init_pi_reg_id
      32            ;=============================================================================
      33 0000       _init_pi_reg_id:
      34 0000 bc00-         LDP     #_i_d
      35 0001 bf80          LACC    #0
         0002 0000  
      36 0003 9042-         SACL    _id_1
      37 0004 9041-         SACL    _id_ref_1
      38 0005 901a-         SACL    _i_d
      39 0006 9021-         SACL    _i_d_ref
      40 0007 9043-         SACL    _e_id_1
      41 0008 9044-         SACL    _I_id_1_high
      42 0009 9045-         SACL    _I_id_1_low
      43 000a 901c-         SACL    _u_d_ref
      44 000b 9046-         SACL    _ud_ref_low
      45 000c ef00          RET
      46            
      47            ;=============================================================================
      48            ; Routine Name: _pi_reg_id
      49            ; ------------------------
      50            ; Description: Implements id current PI controller
      51            ;
      52            ;       OVM=1
      53            ;       dyi=sat(yi-yim1)
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Mon May 28 09:55:02 2007
Copyright (c) 1987-1999  Texas Instruments Incorporated 
D:\Imvc\IMVC07_a.asm                                                 PAGE    2

      54            ;       dyri=sat(yri-yrim1)
      55            ;       ei=sat(eim1+dyri-dyi)
      56            ;       dyri=ei-eim1+dyi
      57            ;       Pi=satsfl(Kps*dyri-Kps*dyi)
      58            ;       uim1=ui=sat(Pi+Iim1+uim1)
      59            ;       Iim1=satsfl(Kis*ei)
      60            ;       yrim1=yrim1+dyri
      61            ;       yim1=yi
      62            ;       eim1=ei
      63            ;       OVM=0
      64            ; ------------------------
      65            ; Calling Convention: extern void _pi_reg_id();
      66            ;==============================================================================
      67            ;       +--------------------------------------------------------------------------+
      68            ;       | Input  global variables:                                                                              
      69            ;       +--------------------------------------------------------------------------+
      70            ;       | _i_d_ref              |       reference value of i_d current at step i (yri)                          
      71            ;       | _i_d                  |       feedback value of i_d current at step i (yi)                            
      72            ;       | _Kps_id               |       scaled Kp coeff: Kps = Kp / (2^scalKp) so that                          
      73            ;       |                       |               -1 < Kps < +1                                                   
      74            ;       | _sf_P_id              |       sf_P_id = scalKp                                                        
      75            ;       | _Kis_id               |       scaled Ki coeff: Kis = Ki / (2^scalKi) so that                          
      76            ;       |                       |               -1 < Kis < +1                                                   
      77            ;       | _sf_I_id              |       sf_I_id = scalKi                                                        
      78            ;       | _i_d_ref_1           |        reference value of i_d current at step i-1 (yrim1)                      
      79            ;       | _i_d_1                |       feedback value of i_d current at step i-1 (yim1)                       |
      80            ;       | _e_id_1               |       error at step i-1                                                       
      81            ;       | _I_id_1_high  |       integral term at step i-1, (16 MSB)                                     |
      82            ;       | _I_id_1_low          |        integral term at step i-1, (16 LSB)                                     
      83            ;       +--------------------------------------------------------------------------+
      84            ;       | Input local variables:                                                                                
      85            ;       +--------------------------------------------------------------------------+
      86            ;       | dif_id_ref           |        difference between actual and old reference                             
      87            ;       | dif_id                |       difference between actual and old feedback                             |
      88            ;       | e_id                  |       error at step i                                                         
      89            ;       +--------------------------------------------------------------------------
      90            ;       | Output  global variables:                                                                             
      91            ;       +--------------------------------------------------------------------------+
      92            ;       | _u_d_ref              |       output of the regulator (16 MSB)                                        
      93            ;       | _ud_ref_low          |        output of the regulator (16 LSB)                                        
      94            ;       +--------------------------------------------------------------------------+
      95            ;-----------------------------------------------------------------------------
      96                    .global _pi_reg_id
      97            ;=============================================================================
      98 000d       _pi_reg_id:
      99 000d be47          SETC    SXM
     100 000e bc00-         LDP     #_i_d
     101 000f be43          SETC    OVM                                     ; set overflow protection mode
     102            
     103 0010 6a1a-         LACC    _i_d,16
     104 0011 6542-         SUB     _id_1,16
     105 0012 9807-         SACH    dif_id                                  ; dyi=sat(yi-yim1)
     106            
     107 0013 6a21-         LACC    _i_d_ref,16
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Mon May 28 09:55:02 2007
Copyright (c) 1987-1999  Texas Instruments Incorporated 
D:\Imvc\IMVC07_a.asm                                                 PAGE    3

     108 0014 6541-         SUB     _id_ref_1,16
     109 0015 9806-         SACH    dif_id_ref                              ; dyri=sat(yri-yrim1)
     110            
     111 0016 6507-         SUB     dif_id,16                               ; ACC=dyri-dyi
     112 0017 6143-         ADD     _e_id_1,16
     113 0018 9808-         SACH    e_id                                    ; ei=sat(eim1+dyri-dyi)
     114            
     115 0019 6543-         SUB     _e_id_1,16
     116 001a 6107-         ADD     dif_id,16
     117 001b 9806-         SACH    dif_id_ref                              ; dyri=ei-eim1+dyi
     118            
     119 001c 733d-         LT      _Kps_id
     120 001d 5406-         MPY     dif_id_ref                              ; Kps*dyri
     121 001e be03          PAC
     122 001f 5407-         MPY     dif_id                                  ; Kps*dyi
     123 0020 be05          SPAC                                            ; Kps*dyri-Kps*dyi
     124 0021               SATSFL  _sf_P_id                                ; ACC=Pi=satsfl(Kps*dyri-Kps*dyi) in Q31 format
1        0021 83a0          sar     AR3, *+
1        0022 80ab          sar     AR0, *+,AR3
1        0023 033e-         LAR     AR3, _sf_P_id
1        0024 bf08          LAR     AR0, #satvals12
         0025 0026- 
1        0026 8be0          MAR     *0+
1        0027 6180          ADD     *,16
1        0028 6580          SUB     *,16
1        0029 6580          SUB     *,16
1        002a 6189          ADD     *,16,AR1
1        002b 0b3e-         RPT     _sf_P_id
1        002c be09          SFL
1        002d 8b90          mar     *-
1        002e 0090          lar     AR0, *- 
1        002f 0380          lar     AR3, *
     125 0030 be46          CLRC    SXM
     126 0031 2045-         ADD     _I_id_1_low
     127 0032 2046-         ADD     _ud_ref_low
     128 0033 be47          SETC    SXM
     129 0034 6144-         ADD     _I_id_1_high,16
     130 0035 611c-         ADD     _u_d_ref,16
     131            
     132 0036               sat_reg_out C_SAT_U_D_REF       ; macro that saturates regulator's output
1        0036 bf9f          ADD     #C_SAT_U_D_REF,15
         0037 3334  
1        0038 bfaf          SUB     #C_SAT_U_D_REF,15
         0039 3334  
1        003a bfaf          SUB     #C_SAT_U_D_REF,15
         003b 3334  
1        003c bf9f          ADD     #C_SAT_U_D_REF,15
         003d 3334  
     133            
     134 003e 981c-         SACH    _u_d_ref                                        ; uim1=ui=sat(Pi+Iim1+uim1)
     135 003f 9046-         SACL    _ud_ref_low
     136            
     137 0040 733f-         LT      _Kis_id
     138 0041 5408-         MPY     e_id
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Mon May 28 09:55:02 2007
Copyright (c) 1987-1999  Texas Instruments Incorporated 
D:\Imvc\IMVC07_a.asm                                                 PAGE    4

     139 0042 be03          PAC                                                     ; Kis*ei
     140 0043               SATSFL  _sf_I_id                                       ; ACC=Iim1=satsfl(Kis*ei)
1        0043 83a0          sar     AR3, *+
1        0044 80ab          sar     AR0, *+,AR3
1        0045 0340-         LAR     AR3, _sf_I_id
1        0046 bf08          LAR     AR0, #satvals12
         0047 0026- 
1        0048 8be0          MAR     *0+
1        0049 6180          ADD     *,16
1        004a 6580          SUB     *,16
1        004b 6580          SUB     *,16
1        004c 6189          ADD     *,16,AR1
1        004d 0b40-         RPT     _sf_I_id
1        004e be09          SFL
1        004f 8b90          mar     *-
1        0050 0090          lar     AR0, *- 
1        0051 0380          lar     AR3, *
     141 0052 9844-         SACH    _I_id_1_high                                  ; Iim1=satsfl(Kis*ei)
     142 0053 9045-         SACL    _I_id_1_low
     143            
     144 0054 6a41-         LACC    _id_ref_1,16
     145 0055 6106-         ADD     dif_id_ref,16
     146 0056 9841-         SACH    _id_ref_1                                       ; yrim1=yrim1+dyri
     147            
     148 0057 101a-         LACC    _i_d
     149 0058 9042-         SACL    _id_1                                           ; yim1=yi
     150            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -