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

📄 pmsm32.lst

📁 本程序来自TI公司网站原程序,其功能是通过传统的矢量控制算法来实现对永磁同步电机的控制,矢量控制采用双闭环结构
💻 LST
📖 第 1 页 / 共 5 页
字号:
     584 00c1 0000!         .word   _F24X_EVM_DAC_Update+0
     585      0006  IS5     .set    6
     586            
     587                    .sym    _dac,_dac,8,2,96,.fake0
     588                    .globl  _dac
     589 00c2 0002          .word   IS6,_wdog
         00c3 0002- 
     590 00c4 0000!         .word   _F24x_WD_Disable+0
     591 00c5 0000!         .word   _F24x_WD_ResetCounter+0
     592      0002  IS6     .set    2
     593            
     594                    .sym    _wdog,_wdog,8,2,32,.fake2
     595                    .globl  _wdog
     596 00c6 000d          .word   IS7,_ilg2_vdc
         00c7 0029- 
     597 00c8 1fff          .word   8191
     598 00c9 0000          .word   0
     599 00ca 0000          .word   0
     600 00cb 1fff          .word   8191
     601 00cc 0000          .word   0
     602 00cd 0000          .word   0
     603 00ce 1fff          .word   8191
     604 00cf 0000          .word   0
     605 00d0 0000          .word   0
     606 00d1 0000          .word   0
     607 00d2 0710          .word   1808
     608 00d3 0000!         .word   _F2407_ileg2_dcbus_drv_init+0
     609 00d4 0000!         .word   _F2407_ileg2_dcbus_drv_read+0
     610      000d  IS7     .set    13
     611            
     612                    .sym    _ilg2_vdc,_ilg2_vdc,8,2,208,.fake5
     613                    .globl  _ilg2_vdc
     614 00d5 0003          .word   IS8,_drive
         00d6 0004- 
     615 00d7 0000          .word   0
     616 00d8 0000!         .word   _F24xx_drive_drv_init+0
     617 00d9 0000!         .word   _F24xx_drive_drv_calc+0
     618      0003  IS8     .set    3
     619            
     620                    .sym    _drive,_drive,8,2,48,.fake17
     621                    .globl  _drive
     622                    .globl  _isr_ticker
     623 0000               .text
     624            
     625                    .sym    _main,_main,32,2,0
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 15:46:07 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/pmsm32.asm                                                   PAGE   14

     626                    .globl  _main
     627            
     628                    .func   103
     629            ;>>>>   void main()   
     630            ******************************************************
     631            * FUNCTION DEF : _main
     632            ******************************************************
     633 0000       _main:
     634 0000 8aa0          POPD    *+
     635 0001 80a0          SAR     AR0,*+
     636 0002 8180          SAR     AR1,*
     637 0003 b001          LARK    AR0,1
     638 0004 00e0          LAR     AR0,*0+
     639            
     640                    .line   6
     641            ;>>>>           RstSystem();
     642            ;>>>>   #if (BUILDLEVEL==LEVEL1)
     643            ;>>>>   #if     TARGET==F243                      
     644            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     645            ;>>>>   #elif   TARGET==F2407                                                          
     646 0005 7a80          CALL    _RstSystem
         0006 008f' 
     647                    .line   31
     648            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     649            ;>>>>   #endif  /* TARGET */            
     650 0007 bc00-         LDPK    _pwm
     651 0008 ae0d-         SPLK    #1333,_pwm
         0009 0535  
     652                    .line   38
     653            ;>>>>           SFOC_TI_Init(&sfoc);
     654 000a bf80          LALK    _sfoc+0
         000b 0036- 
     655 000c 90a0          SACL    *+
     656 000d 7a80          CALL    _SFOC_TI_Init
         000e 0000! 
     657 000f 8b90          MAR     *-
     658                    .line   43
     659            ;>>>>           rtmon_init();           /* Call the monitor init function           */
     660 0010 7a80          CALL    _rtmon_init
         0011 00ba' 
     661                    .line   44
     662            ;>>>>           enable_ints();          /* Set off the system running.              */
     663 0012 7a80          CALL    _enable_ints
         0013 0000! 
     664                    .line   49
     665            ;>>>>           while(drive.enable_flg==0)
     666 0014 bc00-         LDPK    _drive
     667 0015 1004-         LAC     _drive
     668 0016 e308          BNZ     L2
         0017 0023' 
     669 0018       L1:
     670                    .line   51
     671            ;>>>>           drive.init(&drive);
     672 0018 bf80          LALK    _drive+0
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 15:46:07 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/pmsm32.asm                                                   PAGE   15

         0019 0004- 
     673 001a 90a0          SACL    *+
     674 001b bc00-         LDPK    _drive+1
     675 001c 1005-         LAC     _drive+1
     676 001d be30          CALA
     677 001e 8b90          MAR     *-
     678                    .line   49
     679 001f bc00-         LDPK    _drive
     680 0020 1004-         LAC     _drive
     681 0021 e388          BZ      L1
         0022 0018' 
     682 0023       L2:
     683                    .line   57
     684            ;>>>>           pwm.init(&pwm);
     685            ;>>>>   #if     TARGET==F243                      
     686            ;>>>>           EVIFRA=0xffff;          
     687            ;>>>>   #elif   TARGET==F2407                                                          
     688 0023 bf80          LALK    _pwm+0
         0024 000d- 
     689 0025 90a0          SACL    *+
     690 0026 1012-         LAC     _pwm+5
     691 0027 be30          CALA
     692 0028 8b9b          MAR     *-,AR3
     693                    .line   65
     694            ;>>>>               EVAIFRA=0xffff;        
     695            ;>>>>   #endif  /* TARGET */
     696 0029 bf0b          LARK    AR3,29743
         002a 742f  
     697 002b ae80          SPLK    #-1,* 
         002c ffff  
     698                    .line   71
     699            ;>>>>           dac.qptr0=&sfoc.svgen.va;
     700 002d bf80          LALK    _sfoc+32
         002e 0056- 
     701 002f bc00-         LDPK    _dac
     702 0030 9007-         SACL    _dac
     703                    .line   72
     704            ;>>>>           dac.qptr1=&sfoc.svgen.vb;
     705 0031 bf80          LALK    _sfoc+33
         0032 0057- 
     706 0033 9008-         SACL    _dac+1
     707                    .line   73
     708            ;>>>>           dac.qptr2=&sfoc.svgen.vc;
     709 0034 bf80          LALK    _sfoc+34
         0035 0058- 
     710 0036 9009-         SACL    _dac+2
     711                    .line   74
     712            ;>>>>           dac.qptr3=&sfoc.rg.rmp_out;
     713            ;>>>>   #endif /* (BUILDLEVEL==LEVEL1) */  
     714            ;>>>>   #if (BUILDLEVEL==LEVEL2)
     715            ;>>>>   #if     TARGET==F243                      
     716            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     717            ;>>>>   #elif   TARGET==F2407                                                          
     718            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 15:46:07 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/pmsm32.asm                                                   PAGE   16

     719            ;>>>>   #endif  /* TARGET */            
     720            ;>>>>           SFOC_TI_Init(&sfoc);
     721            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     722            ;>>>>           enable_ints();           /* Set off the system running.              */
     723            ;>>>>           while(drive.enable_flg==0)
     724            ;>>>>           drive.init(&drive);
     725            ;>>>>           pwm.init(&pwm);
     726            ;>>>>           ilg2_vdc.init(&ilg2_vdc);
     727            ;>>>>           dac.qptr0=&ilg2_vdc.Imeas_a;
     728            ;>>>>           dac.qptr1=&ilg2_vdc.Imeas_b;
     729            ;>>>>           dac.qptr2=&sfoc.rg.rmp_out;
     730            ;>>>>           dac.qptr3=&sfoc.voltage_dq.q;
     731            ;>>>>   #endif /* (BUILDLEVEL==LEVEL2) */   
     732            ;>>>>   #if (BUILDLEVEL==LEVEL3)
     733            ;>>>>   #if     TARGET==F243                      
     734            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     735            ;>>>>   #elif   TARGET==F2407                                                          
     736            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     737            ;>>>>   #endif  /* TARGET */            
     738            ;>>>>           SFOC_TI_Init(&sfoc);
     739            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     740            ;>>>>           enable_ints();           /* Set off the system running.              */
     741            ;>>>>           while(drive.enable_flg==0)
     742            ;>>>>           drive.init(&drive);
     743            ;>>>>           pwm.init(&pwm);          
     744            ;>>>>           ilg2_vdc.init(&ilg2_vdc);
     745            ;>>>>           dac.qptr0=&ilg2_vdc.Imeas_a;
     746            ;>>>>           dac.qptr1=&sfoc.svgen.vb;
     747            ;>>>>           dac.qptr2=&sfoc.svgen.vc;
     748            ;>>>>           dac.qptr3=&sfoc.rg.rmp_out;
     749            ;>>>>   #endif /* (BUILDLEVEL==LEVEL3) */   
     750            ;>>>>   #if (BUILDLEVEL==LEVEL4)
     751            ;>>>>   #if     TARGET==F243                      
     752            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     753            ;>>>>   #elif   TARGET==F2407                                                          
     754            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     755            ;>>>>   #endif  /* TARGET */            
     756            ;>>>>           SFOC_TI_Init(&sfoc);
     757            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     758            ;>>>>           enable_ints();           /* Set off the system running.              */
     759            ;>>>>           while(drive.enable_flg==0)
     760            ;>>>>           drive.init(&drive);
     761            ;>>>>           pwm.init(&pwm);          
     762            ;>>>>           qep.init(&qep);     
     763            ;>>>>           speed.K1_fr = 4800;  
     764            ;>>>>           speed.K2_fr = 32361;
     765            ;>>>>           speed.K3_fr = 407;
     766            ;>>>>           speed.rpm_max = 6000;
     767            ;>>>>           ilg2_vdc.init(&ilg2_vdc);
     768            ;>>>>           dac.qptr0=&sfoc.rg.rmp_out;
     769            ;>>>>           dac.qptr1=&sfoc.svgen.va;
     770            ;>>>>           dac.qptr2=&qep.theta_elec;
     771            ;>>>>           dac.qptr3=&sfoc.svgen.vb;
     772            ;>>>>   #endif /* (BUILDLEVEL==LEVEL4) */  
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 15:46:07 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/pmsm32.asm                                                   PAGE   17

     773            ;>>>>   #if (BUILDLEVEL==LEVEL5)
     774            ;>>>>   #if     TARGET==F243                      
     775            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     776            ;>>>>   #elif   TARGET==F2407                                                          
     777            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     778            ;>>>>   #endif  /* TARGET */            
     779            ;>>>>           SFOC_TI_Init(&sfoc);
     780            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     781            ;>>>>           enable_ints();           /* Set off the system running.              */
     782            ;>>>>           while(drive.enable_flg==0)
     783            ;>>>>           drive.init(&drive);
     784            ;>>>>           pwm.init(&pwm);          
     785            ;>>>>           qep.init(&qep);     
     786            ;>>>>           speed.K1_fr = 4800;  

⌨️ 快捷键说明

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