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

📄 svpwm.lst

📁 DSP关于F2407的实例程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C:\tic2xx\c2000\cgtools\bin\dspa.exe SVPWM.asm SVPWM.obj -gls -v2xx 

TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Wed Jun  8 17:23:49 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
SVPWM.asm                                                            PAGE    1

       1            ;=====================================================================
       2            ; Filename      :       SVPWM.asm
       3            ; Module names: SVPWM
       4            ; Initialization routines: SVPWM_INIT
       5            ; Description:  判断扇区,做SVPWM计算,
       6            ; 给出CMPR1_BUFF,CMPR2_BUFF,(两个比较寄存器的值),ACTRA_BUFF(空间矢量的扇区值),
       7            ; 为下一周期做准备。
       8            ; input:Ualfa0,Ubeta0(Q11)
       9            ; output:CMPR1_BUFF,CMPR2_BUFF,ACTRA_BUFF
      10            ; 
      11            ; Modify: 2004.6.18
      12            ;=====================================================================
      13                    .include "f2407.h"
      14                    .global SVPWM,SVPWM_INIT                ;function call
      15                    .global PROTECT                         ;PROTECT function call
      16            
      17                    .global Ualfa0,Ubeta0,SECTOR
      18                    .global SVPWM_C1,SVPWM_C2
      19                    .global CMPR1_BUFF,CMPR2_BUFF,ACTRA_BUFF
      20                    .global TEMP,TEMP1
      21                    .global A,B,C,TX1,TX2
      22                    
      23            ;=====================================================================
      24 0000       SVPWM_INIT:
      25            ;=====================================================================  
      26 0000 bc04          LDP     #DP_DATA
      27                    
      28 0001 ae00!         SPLK    #3648,SVPWM_C1          ;按照Udc=514v时表示为22000.
         0002 0e40  
      29 0003 ae00!         SPLK    #2106,SVPWM_C2
         0004 083a  
      30                            
      31            ;       SPLK    #3211,SVPWM_C1          ;按照Udc=514v时表示为25000.
      32            ;       SPLK    #1854,SVPWM_C2
      33                    
      34            ;       SPLK    #2675,SVPWM_C1          ;按照Udc=514v时表示为30000.
      35            ;       SPLK    #1545,SVPWM_C2
      36                                            
      37            ;       SPLK    #2450,SVPWM_C1          ;SVPWM_C1=sqrt(3/8)*Tpwm/Udc,按照Udc=514v时表示为32767(7FFFH)最大.
      38            ;       SPLK    #1414,SVPWM_C2          ;SVPWM_C2=sqrt(1/8)*Tpwm/Udc,Tpwm=FA0H(半个PWM周期)
      39 0005 ef00          RET
      40            ;=====================================================================
      41 0006       SVPWM:
      42            ;=====================================================================  
      43            ;----------------------------------------------------------------
      44            ;Name   : 计算扇区。
      45            ;Description: 根据《电力电子技术》浙大人的文章。
      46            ;Para   : input:Ualfa0,Ubeta0
      47            ;         output:SECTOR(扇区号)
      48            ;Func   : Calculate sector
      49            ;Modify : 2004.6.18
      50            ;---------------------------------------------------------------
      51 0006 bf01          SPM     1
      52 0007 be47          SETC    SXM
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Wed Jun  8 17:23:49 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
SVPWM.asm                                                            PAGE    2

      53            ;----------------------------------------
      54            ;首先计算A,B,C
      55 0008 bc04          LDP     #DP_DATA        
      56 0009 7300!         LT      Ualfa0
      57 000a ae00!         SPLK    #376CH,TEMP             ;sqrt(3)/4=0.433=376CH(Q15)
         000b 376c  
      58 000c 5400!         MPY     TEMP
      59 000d 8d00!         SPH     TEMP                    ;TEMP=sqrt(3)/4*Ualfa0
      60 000e 1000!         LACC    Ubeta0
      61 000f be0a          SFR
      62 0010 be0a          SFR
      63 0011 be02          NEG     
      64 0012 9000!         SACL    TEMP1                   ;TEMP1= -Ubeta0/4
      65            ;----------------------------------------
      66 0013 1000!         LACC    Ubeta0
      67 0014 e304          BCND    A1,GT
         0015 001a' 
      68 0016 ae00!         SPLK    #0,A
         0017 0000  
      69 0018 7980          B       START_B
         0019 001c' 
      70 001a       A1:
      71 001a ae00!         SPLK    #1,A
         001b 0001  
      72            
      73 001c       START_B:        ;计算B
      74 001c 1000!         LACC    TEMP1
      75 001d 2000!         ADD     TEMP
      76 001e e304          BCND    B1,GT
         001f 0024' 
      77 0020 ae00!         SPLK    #0,B
         0021 0000  
      78 0022 7980          B       START_C
         0023 0026' 
      79 0024       B1:
      80 0024 ae00!         SPLK    #2,B
         0025 0002  
      81            
      82 0026       START_C:        ;计算C
      83 0026 1000!         LACC    TEMP1
      84 0027 3000!         SUB     TEMP
      85 0028 e304          BCND    C1,GT
         0029 002e' 
      86 002a ae00!         SPLK    #0,C
         002b 0000  
      87 002c 7980          B       CAL_S
         002d 0030' 
      88 002e       C1:     
      89 002e ae00!         SPLK    #4,C
         002f 0004  
      90            ;----------------------------------------
      91 0030       CAL_S:
      92 0030 1000!         LACC    A
      93 0031 2000!         ADD     B
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Wed Jun  8 17:23:49 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
SVPWM.asm                                                            PAGE    3

      94 0032 2000!         ADD     C
      95 0033 9000!         SACL    TEMP                    ;TEMP=A+2B+4C
      96 0034 8b88          MAR     *,AR0
      97 0035 0000!         LAR     AR0,TEMP                ;AR0=A+2B+4C
      98            ;----------------------------------------
      99            ;开始判断扇区
     100 0036 7c01          SBRK    #1                      ;AR0=AR0-1
     101 0037 7b90          BANZ    SECTOR_AR0_2            
         0038 0044' 
     102 0039 1000!         LACC    Ualfa0                  ;扇区II
     103 003a e38c          BCND    SECTOR_2,GEQ
         003b 0040' 
     104 003c ae00!         SPLK    #3,SECTOR
         003d 0003  
     105 003e 7980          B       START_CAL_T
         003f 006c' 
     106 0040       SECTOR_2:                               
     107 0040 ae00!         SPLK    #2,SECTOR
         0041 0002  
     108 0042 7980          B       START_CAL_T
         0043 006c' 
     109 0044       SECTOR_AR0_2:
     110 0044 7b90          BANZ    SECTOR_AR0_3            
         0045 004a' 
     111 0046 ae00!         SPLK    #8,SECTOR               ;扇区VI
         0047 0008  
     112 0048 7980          B       START_CAL_T
         0049 006c' 
     113 004a       SECTOR_AR0_3:
     114 004a 7b90          BANZ    SECTOR_AR0_4            
         004b 0050' 
     115 004c ae00!         SPLK    #1,SECTOR               ;扇区I
         004d 0001  
     116 004e 7980          B       START_CAL_T
         004f 006c' 
     117 0050       SECTOR_AR0_4:
     118 0050 7b90          BANZ    SECTOR_AR0_5            
         0051 0056' 
     119 0052 ae00!         SPLK    #5,SECTOR               ;扇区IV
         0053 0005  
     120 0054 7980          B       START_CAL_T
         0055 006c' 
     121 0056       SECTOR_AR0_5:
     122 0056 7b90          BANZ    SECTOR_AR0_6            
         0057 005c' 
     123 0058 ae00!         SPLK    #4,SECTOR               ;扇区III
         0059 0004  
     124 005a 7980          B       START_CAL_T
         005b 006c' 
     125 005c       SECTOR_AR0_6:   
     126 005c 7b90          BANZ    SECTOR_ERROR            
         005d 0069' 
     127 005e 1000!         LACC    Ualfa0                  ;扇区V
     128 005f e38c          BCND    SECTOR_6,GEQ
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Wed Jun  8 17:23:49 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
SVPWM.asm                                                            PAGE    4

         0060 0065' 
     129 0061 ae00!         SPLK    #7,SECTOR
         0062 0007  
     130 0063 7980          B       START_CAL_T
         0064 006c' 
     131 0065       SECTOR_6:
     132 0065 ae00!         SPLK    #6,SECTOR       
         0066 0006  

⌨️ 快捷键说明

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