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

📄 foc.lst

📁 电机最小电流控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
     548 0202 7347-          LT        ELPI
     549 0203 5404-          MPY      KC                        ;积分修正系数,Q12
     550 0204 be03           PAC
     551 0205 733a-          LT        EPIM
     552 0206 5402-          MPY       KI                        ;积分系数,Q12
     553 0207 be04           APAC
     554 0208 2c3c-          ADD       XIM,12
     555 0209 9c3c-          SACH      XIM,4                    ;更新调节器积分累计量
     556            ;-----------------------PARK反变换------------------------------------------------------------------------------
     557 020a bf80           LACC      #0
         020b 0000  
     558 020c 7337-          LT        VMREF                 ;T=VMREF
TMS320C24xx COFF Assembler Version 7.02  Mon Dec 18 17:13:42 2006
Copyright (c) 1987-2002  Texas Instruments Incorporated 
foc.asm                                                              PAGE   14

     559 020d 540f-          MPY      SIN                     ;P=VMREF*SIN(TETA_E)
     560 020e 7038-          LTA        VTREF                ;ACC=P; T=VTREF
     561 020f 5410-          MPY      COS                    ;P=VTREF*COS(TETA_E)
     562 0210 500f-          MPYA     SIN                     ;ACC=P; P=VTREF*SIN(TETA_E)
     563 0211 9c32-          SACH      VBET_REF,4            ;保存VBET_REF
     564 0212 bf80           LACC      #0 
         0213 0000  
     565 0214 7337-          LT        VMREF                  ;T=VMREF
     566 0215 5110-          MPYS     COS                     ;ACC= -VTREF*SIN(TETA_E),
     567                                                        ;P=VMREF*COS(TETA_E)
     568 0216 be04           APAC                              ;ACC= -VTREF*SIN(TETA_E)
     569                                                        ;+VMREF*COS(TETA_E)
     570 0217 9c31-          SACH      VALF_REF,4             ;保存VALF_REF
     571            ;----------------------- SVPWM----------------------------------------------------------------------------------
     572            ;-----------------------根据式(3-47)计算扇区数SECTOR-------------------------------------------------------
     573 0218 bf80           LACC      #0                      ;P清零
         0219 0000  
     574 021a 9041-          SACL      P
     575 021b 1032-          LACC      VBET_REF             ;B0
     576 021c e3cc           BCND     B0_NEG, LEQ            ;B0≤0跳转
         021d 0221' 
     577 021e bf80           LACC      #1
         021f 0001  
     578 0220 9041-          SACL      P                      ;否则P=1
     579 0221       B0_NEG  
     580 0221 7331-          LT        VALF_REF              ;计算B1
     581 0222 dbb7           MPY       #7095                  ;乘 的Q12格式
     582 0223 be03           PAC
     583 0224 9c0b-          SACH      TMP,4
     584 0225 100b-          LACC      TMP
     585 0226 3032-          SUB       VBET_REF
     586 0227 be0a           SFR                              ;除2
     587 0228 e3cc           BCND      B1_NEG,LEQ          ;B1≤0跳转
         0229 022d' 
     588 022a 1041-          LACC      P
     589 022b b802           ADD       #2 
     590 022c 9041-          SACL      P                     ;否则P+2
     591 022d       B1_NEG  
     592 022d 100b-          LACC      TMP                  ;计算B2
     593 022e 2032-          ADD       VBET_REF
     594 022f be0a           SFR                              ;除2
     595 0230 be02           NEG                              ;求补
     596 0231 e3cc           BCND      B2_NEG,LEQ           ;B2≤0跳转
         0232 0236' 
     597 0233 1041-          LACC       P
     598 0234 b804           ADD        #4
     599 0235 9041-          SACL       P                     ;否则P+4
     600 0236       B2_NEG  
     601 0236 bf80           LACC       #PSECTOR           ;指向表头
         0237 0000" 
     602 0238 2041-          ADD        P
     603 0239 ba01           SUB        #1
     604 023a a644-          TBLR       SECTOR             ;得到扇区数
     605            ;-----------------------根据逆阵计算T1,T2---------------------------------------------------------------
TMS320C24xx COFF Assembler Version 7.02  Mon Dec 18 17:13:42 2006
Copyright (c) 1987-2002  Texas Instruments Incorporated 
foc.asm                                                              PAGE   15

     606 023b bf80           LACC      #DEC_MS             ;逆阵数据首地址
         023c 0011- 
     607 023d 2244-          ADD       SECTOR,2 
     608 023e 900b-          SACL      TMP                  ;产生地址指针
     609 023f 000b-          LAR       AR0,TMP              ;指向逆阵表
     610 0240 7331-          LT        VALF_REF              ;Q13格式.
     611                                                     ;计算VALF_REF *M(1,1)+VBET_REF*M(1,2)
     612 0241 54a0           MPY       *+                    ;M(1,1)* VALF_REF, Q11
     613 0242 be03           PAC                              ;Q11格式
     614 0243 7332-          LT        VBET_REF              ;Q11
     615 0244 54a0           MPY      *+                      ;M(1,2)* VBET_REF, Q11
     616 0245 be04           APAC                             ;0.5*C1,Q11
     617 0246 e38c           BCND      CMP1BIG0,GEQ        ;如果大于0继续
         0247 024a' 
     618 0248 bf80           LACC      #0                      ;否则0
         0249 0000  
     619 024a       CMP1BIG0  
     620 024a 980b-          SACH     TMP                      ;0.5*C1,Q11格式
     621 024b 730b-          LT        TMP                    ;Q11格式
     622 024c 5400-          MPY      T1_PERIODS            ;Q0
     623 024d be03           PAC                               ;Q0格式
     624 024e 9829-          SACH     CMP_1                 ;0.5*C1*TP,Q0格式
     625 024f 7331-          LT        VALF_REF      ;计算VALF_REF*M(2,1)+VBET_REF*M(2,2)
     626 0250 54a0           MPY       *+                     ;M(2,1) VALF_REF,Q11
     627 0251 be03           PAC                              ;Q11格式
     628 0252 7332-          LT        VBET_REF              ;Q13格式
     629 0253 54a0           MPY       *+                     ;M(2,2) VBET_REF,Q11
     630 0254 be04           APAC                              ;0.5*C2,Q11
     631 0255 e38c           BCND      CMP2BIG0,GEQ          ;如果大于0继续
         0256 0259' 
     632 0257 bf80           LACC      #0                       ;否则0
         0258 0000  
     633 0259       CMP2BIG0  
     634 0259 980b-          SACH     TMP                     ;0.5*C2,Q11格式
     635 025a 730b-          LT        TMP                    ;Q11格式
     636 025b 5400-          MPY       T1_PERIODS            ;Q0
     637 025c be03           PAC                               ;Q0格式
     638 025d 982a-          SACH      CMP_2                  ;0.5*C2*TP,Q0格式
     639 025e bf80           LACC      #1000                   ;T1周期值
         025f 03e8  
     640 0260 3029-          SUB       CMP_1 
     641 0261 302a-          SUB       CMP_2                  ;Q0格式
     642 0262 e38c           BCND     CMP0BIG0,GEQ          ;如果大于0继续
         0263 0266' 
     643 0264 bf80           LACC      #0                      ;否则0
         0265 0000  
     644 0266       CMP0BIG0  
     645 0266 902b-          SACL      CMP_0 
     646 0267 1f2b-          LACC      CMP_0,15               ;相当于右移1位,除2
     647 0268 982b-          SACH      CMP_0                  ;0.25*C0*TP
     648 0269 bf80           LACC      #FIRST_    ;指向第一次比较匹配的比较寄存器地址表入口地址
         026a 011e" 
     649 026b 2044-          ADD       SECTOR  
     650 026c a62c-          TBLR      FIRST_TOG            ;查到第一次比较匹配的比较器地址
TMS320C24xx COFF Assembler Version 7.02  Mon Dec 18 17:13:42 2006
Copyright (c) 1987-2002  Texas Instruments Incorporated 
foc.asm                                                              PAGE   16

     651 026d 002c-          LAR       AR0,FIRST_TOG        ;指向该地址
     652 026e 102b-          LACC      CMP_0 
     653 026f 9080           SACL      *                      ;CMP_0送入该比较器
     654 0270 bf80           LACC      #SECOND_  ;指向第二次比较匹配的比较寄存器地址表入口地址
         0271 0124" 
     655 0272 2044-          ADD       SECTOR 
     656 0273 a62d-          TBLR      SEC_TOG              ;查到第二次比较匹配的比较器地址
     657 0274 002d-          LAR       AR0,SEC_TOG          ;指向该地址
     658 0275 102b-          LACC      CMP_0 
     659 0276 2029-          ADD       CMP_1                ;CMP_0+CMP_1
     660 0277 9080           SACL      *                     ;送入该比较器
     661 0278 bf80           LACC      #CMPR3
         0279 7419  
     662 027a 302c-          SUB       FIRST_TOG 
     663 027b bf90           ADD       #CMPR2 
         027c 7418  
     664 027d 302d-          SUB       SEC_TOG 
     665 027e bf90           ADD       #CMPR1
         027f 7417  
     666 0280 900b-          SACL      TMP                  ;计算第三次比较匹配的比较器地址
     667 0281 000b-          LAR       AR0,TMP              ;指向该地址
     668 0282 102b-          LACC      CMP_0 
     669 0283 2029-          ADD       CMP_1 
     670 0284 202a-          ADD       CMP_2                ; CMP_0+CMP_1+CMP_2
     671 0285 9080           SACL      *                     ;送入该比较器
     672 0286 7980           B     REST
         0287 00be' 
     673            
     674            ;--------------------------------AD采样------------------------------
     675 0288 bce1  ADC_measure LDP #225
     676 0289 ae21              SPLK    #2000H,ADCTRL2  ;start conversion
         028a 2000  
     677 028b 8b00              NOP
     678 028c       CONVERSION  
     679 028c 4321              BIT  ADCTRL2 ,BIT12  ; Wait for SEQ1 Busy bit to
     680 028d e100              BCND CONVERSION ,TC ; If TC=1, keep looping.
         028e 028c' 
     681 028f be46              RSXM                        ;/*读取转换结果*/
     682 0290 1a28              LACC RESULT0,10
     683 0291 bc06              LDP #6
     684 0292 9856-             SACH UDC
     685 0293 bce1              LDP #225
     686 0294 1a29              LACC RESULT1,10
     687 0295 bc06              LDP #6
     688 0296 980c-             SACH IA
     689 0297 bce1              LDP #225
     690 0298 1a2a              LACC RESULT2,10
     691 0299 bc06              LDP #6
     692 029a 980d-             SACH IB
     693 029b bce1              LDP #225
     694 029c 1a2b              LACC RESULT3,10
     695 029d bc06              LDP #6
     696 029e 9854-             SACH CTRL
     697 029f bce1              LDP #225
TMS320C24xx COFF Assembler Version 7.02  Mon Dec 18 17:13:42 2006
Copyright (c) 1987-2002  Texas Instruments Incorporated 
foc.asm                                                              PAGE   17

     698 02a0 1a2c              LACC RESULT4,10
     699 02a1 bc06              LDP #6 
     700 02a2 9855-             SACH TEMPER
     701 02a3 be47              SSXM
     702 02a4 bce1              LDP #225  
     703 02a5 ae21              SPLK #4000H ,ADCTRL2   ;/*停止转换*/ 
         02a6 4000  
     704 02a7 ef00              RET
     705            ;-----------------------数据区------------------------------------------------------------------------------
     706 0000                .data
     707 0000       PSECTOR 
     708 0000 0001           .word  1                        ;扇区数
     709 0001 0005           .word  5
     710 0002 0000           .word  0
     711 0003 0003           .word  3
     712 0004 0002           .word  2
     713 0005 0004           .word  4
     714 0006 0000  SINTAB  .word 0                         ;256个SIN函数值,Q12格式
     715 0007 0065           .word 101,201,301,401,501
         0008 00c9  
         0009 012d  
         000a 0191  
         000b 01f5  
     716 000c 0259           .word 601,700,799,897,995 
         000d 02bc  
         000e 031f  
         000f 0381  
         0010 03e3  
     717 0011 0444           .word 1092,1189,1285,1380,1474
         0012 04a5  
         0013 0505  
         0014 0564  
         0015 05c2  
     718 0016 061f           .word 1567,1660,1751,1842,1931 
         0017 067c  
         0018 06d7  
         0019 0732  
         001a 078b  
     719 001b 07e3           .word 2019,2106,2191,2276,2359
         001c 083a  
         001d 088f  
         001e 08e4  
         001f 0937  
     720 0020 0988           .word 2440,2520,2598,2675,2751 
         0021 09d8  
         0022 0a26  
         0023 0a73  
         0024 0abf  
     721 0025 0b08           .word 2824,2896,2967,3035,3102
         0026 0b50  
         0027 0b97  
         0028 0bdb  
         0029 0c1e  
     722 002a 0c5e           .word 3166,3229,3290,3349,3406 
TMS320C24xx COFF Assembler Version 7.02  Mon Dec 18 17:13:42 2006
Copyright (c) 1987-2002  Texas Instruments Incorporated 
foc.asm                                                              PAGE   18

⌨️ 快捷键说明

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