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

📄 pmsm31.lst

📁 TI公司24X系列DSP控制永磁同步电机PMSM
💻 LST
📖 第 1 页 / 共 5 页
字号:
     592 0028 1012-         LAC     _pwm+5
     593 0029 be30          CALA
     594 002a 8b9b          MAR     *-,AR3
     595                    .line   65
     596            ;>>>>               EVAIFRA=0xffff;        
     597            ;>>>>   #endif  /* TARGET */
     598 002b bf0b          LARK    AR3,29743
         002c 742f  
     599 002d ae80          SPLK    #-1,* 
         002e ffff  
     600                    .line   71
     601            ;>>>>           dac.qptr0=&foc.svgen.va;
     602 002f bf80          LALK    _foc+30
         0030 0051- 
     603 0031 bc00-         LDPK    _dac
     604 0032 9007-         SACL    _dac
     605                    .line   72
     606            ;>>>>           dac.qptr1=&foc.svgen.vb;
     607 0033 bf80          LALK    _foc+31
         0034 0052- 
     608 0035 9008-         SACL    _dac+1
     609                    .line   73
     610            ;>>>>           dac.qptr2=&foc.svgen.vc;
     611 0036 bf80          LALK    _foc+32
TMS320C24xx COFF Assembler Version 7.04  Wed Dec 28 11:57:12 2005
Copyright (c) 1987-2003  Texas Instruments Incorporated 
../temp/pmsm31.asm                                                   PAGE   14

         0037 0053- 
     612 0038 9009-         SACL    _dac+2
     613                    .line   74
     614            ;>>>>           dac.qptr3=&foc.rg.rmp_out;
     615            ;>>>>   #endif /* (BUILDLEVEL==LEVEL1) */  
     616            ;>>>>   #if (BUILDLEVEL==LEVEL2)
     617            ;>>>>   #if     TARGET==F243                      
     618            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     619            ;>>>>   #elif   TARGET==F2407                                                          
     620            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     621            ;>>>>   #endif  /* TARGET */            
     622            ;>>>>           FOC_TI_Init(&foc);
     623            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     624            ;>>>>           enable_ints();           /* Set off the system running.              */
     625            ;>>>>           while(drive.enable_flg==0)
     626            ;>>>>           drive.init(&drive);
     627            ;>>>>           pwm.init(&pwm);
     628            ;>>>>           ilg2.init(&ilg2);
     629            ;>>>>           dac.qptr0=&ilg2.out_a;
     630            ;>>>>           dac.qptr1=&ilg2.out_b;
     631            ;>>>>           dac.qptr2=&foc.rg.rmp_out;
     632            ;>>>>           dac.qptr3=&foc.voltage_dq.q;
     633            ;>>>>   #endif /* (BUILDLEVEL==LEVEL2) */   
     634            ;>>>>   #if (BUILDLEVEL==LEVEL3)
     635            ;>>>>   #if     TARGET==F243                      
     636            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     637            ;>>>>   #elif   TARGET==F2407                                                          
     638            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     639            ;>>>>   #endif  /* TARGET */            
     640            ;>>>>           FOC_TI_Init(&foc);
     641            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     642            ;>>>>           enable_ints();           /* Set off the system running.              */
     643            ;>>>>           while(drive.enable_flg==0)
     644            ;>>>>           drive.init(&drive);
     645            ;>>>>           pwm.init(&pwm);          
     646            ;>>>>           ilg2.init(&ilg2);
     647            ;>>>>           dac.qptr0=&ilg2.out_a;
     648            ;>>>>           dac.qptr1=&foc.svgen.vb;
     649            ;>>>>           dac.qptr2=&foc.svgen.vc;
     650            ;>>>>           dac.qptr3=&foc.rg.rmp_out;
     651            ;>>>>   #endif /* (BUILDLEVEL==LEVEL3) */   
     652            ;>>>>   #if (BUILDLEVEL==LEVEL4)
     653            ;>>>>   #if     TARGET==F243                      
     654            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     655            ;>>>>   #elif   TARGET==F2407                                                          
     656            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     657            ;>>>>   #endif  /* TARGET */            
     658            ;>>>>           FOC_TI_Init(&foc);
     659            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     660            ;>>>>           enable_ints();           /* Set off the system running.              */
     661            ;>>>>           while(drive.enable_flg==0)
     662            ;>>>>           drive.init(&drive);
     663            ;>>>>           pwm.init(&pwm);          
     664            ;>>>>           qep.init(&qep);     
TMS320C24xx COFF Assembler Version 7.04  Wed Dec 28 11:57:12 2005
Copyright (c) 1987-2003  Texas Instruments Incorporated 
../temp/pmsm31.asm                                                   PAGE   15

     665            ;>>>>           speed.K1_fr = 4800;  
     666            ;>>>>           speed.K2_fr = 32361;
     667            ;>>>>           speed.K3_fr = 407;
     668            ;>>>>           speed.rpm_max = 6000;
     669            ;>>>>           ilg2.init(&ilg2);
     670            ;>>>>           dac.qptr0=&foc.rg.rmp_out;
     671            ;>>>>           dac.qptr1=&foc.svgen.va;
     672            ;>>>>           dac.qptr2=&qep.theta_elec;
     673            ;>>>>           dac.qptr3=&foc.svgen.vb;
     674            ;>>>>   #endif /* (BUILDLEVEL==LEVEL4) */  
     675            ;>>>>   #if (BUILDLEVEL==LEVEL5)
     676            ;>>>>   #if     TARGET==F243                      
     677            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     678            ;>>>>   #elif   TARGET==F2407                                                          
     679            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     680            ;>>>>   #endif  /* TARGET */            
     681            ;>>>>           FOC_TI_Init(&foc);
     682            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     683            ;>>>>           enable_ints();           /* Set off the system running.              */
     684            ;>>>>           while(drive.enable_flg==0)
     685            ;>>>>           drive.init(&drive);
     686            ;>>>>           pwm.init(&pwm);          
     687            ;>>>>           qep.init(&qep);     
     688            ;>>>>           speed.K1_fr = 4800;  
     689            ;>>>>           speed.K2_fr = 32361;
     690            ;>>>>           speed.K3_fr = 407;
     691            ;>>>>           speed.rpm_max = 6000;
     692            ;>>>>           ilg2.init(&ilg2);
     693            ;>>>>           dac.qptr0=&ilg2.out_a;
     694            ;>>>>           dac.qptr1=&foc.svgen.va;
     695            ;>>>>           dac.qptr2=&qep.theta_elec;
     696            ;>>>>           dac.qptr3=&foc.svgen.vb;
     697            ;>>>>   #endif /* (BUILDLEVEL==LEVEL5) */  
     698            ;>>>>   #if     TARGET==F243                      
     699            ;>>>>           EVIFRA=0x0ffff;           /* Clear all Group A EV interrupt flags    */
     700            ;>>>>   #elif   TARGET==F2407                                                          
     701 0039 bf80          LALK    _foc+103
         003a 009a- 
     702 003b 900a-         SACL    _dac+3
     703                    .line   381
     704            ;>>>>           EVAIFRA=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/
     705            ;>>>>   #endif              
     706            ;>>>>           while(1)             /* Nothing running in the background at present */
     707 003c ae80          SPLK    #-1,* 
         003d ffff  
     708 003e       L3:
     709                    .line   389
     710 003e 7980          B       L3
         003f 003e' 
     711                    .endfunc        494,000000000H,1
     712            
     713                    .sym    _c_int02,_c_int02,32,2,0
     714                    .globl  _c_int02
     715            
TMS320C24xx COFF Assembler Version 7.04  Wed Dec 28 11:57:12 2005
Copyright (c) 1987-2003  Texas Instruments Incorporated 
../temp/pmsm31.asm                                                   PAGE   16

     716                    .func   497
     717            ;>>>>   void interrupt c_int02()
     718            ******************************************************
     719            * FUNCTION DEF : _c_int02
     720            ******************************************************
     721 0040       _c_int02:
     722 0040 7a80          CALL    I$$SAVE
         0041 0000! 
     723 0042 8180          SAR     AR1,*
     724 0043 b001          LARK    AR0,1
     725 0044 00e0          LAR     AR0,*0+
     726            
     727                    .line   3
     728            ;>>>>        asm("      CLRC     XF ");    
     729 0045 be4c        CLRC     XF 
     730                    .line   5
     731            ;>>>>           isr_ticker++;
     732            ;>>>>   #if (BUILDLEVEL==LEVEL1)
     733            ;>>>>   #if     TARGET==F243                      
     734            ;>>>>           EVIFRA=0x0ffff;           /* Clear all Group A EV interrupt flags    */
     735            ;>>>>   #elif   TARGET==F2407                                                          
     736 0046 bc00-         LDPK    _isr_ticker
     737 0047 1000-         LAC     _isr_ticker
     738 0048 b801          ADDK    1
     739 0049 9000-         SACL    _isr_ticker
     740                    .line   13
     741            ;>>>>           EVAIFRA=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/
     742            ;>>>>   #endif              
     743 004a bf0b          LARK    AR3,29743
         004b 742f  
     744 004c 8b8b          MAR     * ,AR3
     745 004d ae89          SPLK    #-1,* ,AR1
         004e ffff  
     746                    .line   19
     747            ;>>>>           drive.calc(&drive);
     748 004f bf80          LALK    _drive+0
         0050 0004- 
     749 0051 90a0          SACL    *+
     750 0052 1006-         LAC     _drive+2
     751 0053 be30          CALA
     752 0054 8b90          MAR     *-
     753                    .line   25
     754            ;>>>>           FOC_TI_Run(&foc); 
     755 0055 bf80          LALK    _foc+0
         0056 0033- 
     756 0057 90a0          SACL    *+
     757 0058 7a80          CALL    _FOC_TI_Run
         0059 0000! 
     758 005a 8b90          MAR     *-
     759                    .line   31
     760            ;>>>>           pwm.mfunc_c1 = foc.svgen.va;         
     761 005b bc00-         LDPK    _foc+30
     762 005c a951-         BLDD    _foc+30,#_pwm+2
         005d 000f- 
TMS320C24xx COFF Assembler Version 7.04  Wed Dec 28 11:57:12 2005
Copyright (c) 1987-2003  Texas Instruments Incorporated 
../temp/pmsm31.asm                                                   PAGE   17

     763                    .line   32
     764            ;>>>>           pwm.mfunc_c2 = foc.svgen.vb;
     765 005e a810-         BLKD    #_foc+31,_pwm+3
         005f 0052- 
     766                    .line   33
     767            ;>>>>           pwm.mfunc_c3 = foc.svgen.vc;
     768 0060 a811-         BLKD    #_foc+32,_pwm+4
         0061 0053- 
     769                    .line   34
     770            ;>>>>           pwm.update(&pwm);
     771 0062 bf80          LALK    _pwm+0
         0063 000d- 
     772 0064 90a0          SACL    *+
     773 0065 1013-         LAC     _pwm+6
     774 0066 be30          CALA
     775 0067 8b90          MAR     *-
     776                    .line   39
     777            ;>>>>           dac.update(&dac);
     778            ;>>>>   #endif /* BUILDLEVEL==LEVEL1 */
     779            ;>>>>   #if (BUILDLEVEL==LEVEL2)
     780            ;>>>>   #if     TARGET==F243                      
     781            ;>>>>           EVIFRA=0x0ffff;           /* Clear all Group A EV interrupt flags    */
     782            ;>>>>   #elif   TARGET==F2407                                                          
     783            ;>>>>           EVAIFRA=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/
     784            ;>>>>   #endif              
     785            ;>>>>           drive.calc(&drive);
     786            ;>>>>           FOC_TI_Run(&foc); 
     787            ;>>>>           pwm.mfunc_c1 = foc.svgen.va;         
     788            ;>>>>           pwm.mfunc_c2 = foc.svgen.vb;
     789            ;>>>>           pwm.mfunc_c3 = foc.svgen.vc;
     790            ;>>>>           pwm.update(&pwm);
     791            ;>>>>           ilg2.read(&ilg2);
     792            ;>>>>                   foc.current_abc.a = ilg2.out_a;
     793            ;>>>>                   foc.current_abc.b = ilg2.out_b;
     794            ;>>>>                   foc.current_abc.c = -(ilg2.out_a+ilg2.out_b);        
     795            ;>>>>           dac.update(&dac);
     796            ;>>>>   #endif /* BUILDLEVEL==LEVEL2 */
     797            ;>>>>   #if (BUILDLEVEL==LEVEL3)
     798            ;>>>>   #if     TARGET==F243                      
     799            ;>>>>           EVIFRA=0x0ffff;           /* Clear all Group A EV interrupt flags    */
     800            ;>>>>   #elif   TARGET==F2407                                                          
     801            ;>>>>           EVAIFRA=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/

⌨️ 快捷键说明

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