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

📄 f2407bldcpwm2.lst

📁 TI的digital motor control lib的源代码。了解TI的编程规范
💻 LST
📖 第 1 页 / 共 2 页
字号:
     156                                            ; AR2-> FR1.
     157            ;--------------------------------------------------------------------------
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:42:13 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
f2407bldcpwm2.asm                                                    PAGE    4

     158 0016       __PWM_state_anc:                ; Input current path     Phase A
     159 0016                       POINT_EV        ; Output Current Path    Phase C
1        0016 bce8                  LDP     #0E8h
     160                            
     161 0017 ae13                  SPLK    #0C02h,ACTRA
         0018 0c02  
     162                                            ; Non Fed Phase          Phase B   
     163                                            ; *ACTR = 0x0C02.
     164            
     165 0019 7980                  B    __PWM_state_end 
         001a 002d' 
     166                                            ; ARP = AR3. AR3 -> mfunc_p.
     167                                            ; AR2-> FR1.
     168            ;--------------------------------------------------------------------------
     169 001b       __PWM_state_bnc:                ; Input current path     Phase B     
     170 001b                       POINT_EV        ; Output Current Path    Phase C
1        001b bce8                  LDP     #0E8h
     171                            
     172 001c ae13                  SPLK    #0C20h,ACTRA
         001d 0c20  
     173                                            ; Non fed phase          Phase A   
     174                                            ; *ACTR = 0x0C20.
     175            
     176 001e 7980                  B    __PWM_state_end
         001f 002d' 
     177                                            ; ARP = AR3. AR3 -> mfunc_p.
     178                                            ; AR2-> FR1.
     179            ;--------------------------------------------------------------------------
     180 0020       __PWM_state_bna:                ; Input current path     Phase B 
     181 0020                       POINT_EV        ; Output Current Path    Phase A
1        0020 bce8                  LDP     #0E8h
     182                            
     183 0021 ae13                  SPLK    #002Ch,ACTRA
         0022 002c  
     184                                            ; Non fed phase          Phase C
     185                                            ; *ACTR = 0x002C.
     186            
     187 0023 7980                  B    __PWM_state_end
         0024 002d' 
     188                                            ; ARP = AR3. AR3 -> mfunc_p.
     189                                            ; AR2-> FR1.
     190            ;--------------------------------------------------------------------------
     191 0025       __PWM_state_cna:                ; Input current path     Phase C
     192 0025                       POINT_EV        ; Output Current Path    Phase A
1        0025 bce8                  LDP     #0E8h
     193                            
     194 0026 ae13                  SPLK    #020Ch,ACTRA
         0027 020c  
     195                                            ; Non Fed Phase          Phase B
     196                                            ; *ACTR = 0x020C.
     197            
     198 0028 7980                  B    __PWM_state_end
         0029 002d' 
     199                                            ; ARP = AR3. AR3 -> mfunc_p.
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:42:13 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
f2407bldcpwm2.asm                                                    PAGE    5

     200                                            ; AR2-> FR1.
     201            ;--------------------------------------------------------------------------
     202 002a       __PWM_state_cnb:                ; Input current path     Phase C
     203 002a                       POINT_EV        ; Output Current Path    Phase B
1        002a bce8                  LDP     #0E8h
     204                            
     205 002b ae13                  SPLK    #02C0h,ACTRA
         002c 02c0  
     206                                            ; Non Fed Phase          Phase A
     207                                            ; *ACTR = 0x02C0.
     208                                            ; ARP = AR3. AR3 -> mfunc_p.
     209                                            ; AR2-> FR1.
     210            ;================================================================================                       
     211 002d       __PWM_state_end:
     212                    ;Convert "Period" (Q15) modulation function to Q0
     213 002d 73a0                  LT      *+      ; treg = mfunc_p.
     214                                            ; ARP = AR3. AR3 -> period_max.
     215                                            ; AR2 -> FR1.
     216            ;--------------------------------------------------------------------------
     217 002e 54aa                  MPY     *+,AR2  ; PREG = mfunc_p * period_max.
     218                                            ; AR3 -> d_func.
     219                                            ; ARP = AR2. 
     220                                            ; AR2-> FR1.
     221            ;--------------------------------------------------------------------------
     222 002f be03                  PAC             ; Accumulator = mfunc_p * period_max.
     223                                            ; ARP = AR2. AR2 ->FR1 
     224                                            ; AR3 -> d_func.
     225            ;--------------------------------------------------------------------------
     226 0030 99ab                  SACH    *+,1,AR3 
     227                                            ; FR1(period) = mfunc_p * period_max (Q15)  
     228                                            ; AR2 -> FR2. 
     229                                            ; ARP = AR3. AR3 -> d_func.
     230             ;--------------------------------------------------------------------------
     231                    ;Convert "D_func" (Q15) duty modulation function to Q0
     232                            .if (ACTIVE_HI) ; target dependancy
     233                            
     234 0031 bf80                  LACC #MAXPERIOD ; Accumulator = 0x7fff. 
         0032 7fff  
     235                                            ; ARP = AR3. AR3 -> d_func.
     236                                            ; AR2 -> FR2(temp_var2). 
     237             ;--------------------------------------------------------------------------                                
     238 0033 308a                  SUB     *,AR2   ; Accumulator = 0x7fff - d_func.
     239                                            ; ARP = AR2. AR2 -> FR2 (temp_var2).
     240            ;--------------------------------------------------------------------------                                
     241            
     242 0034 9080                  SACL    *       ; temp2_var = 0x7fff - d_func.
     243                                            ; ARP = AR2. AR2 -> FR2(temp_var2).
     244                            .endif
     245            ;--------------------------------------------------------------------------
     246                            .if (ACTIVE_LO) ; target dependancy
     247                            
     248                            LACC    *,AR2   ; Accumulator = d_func.
     249                                            ; ARP = AR2. AR2 -> FR2 (temp_var2).
     250            ;--------------------------------------------------------------------------                                
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:42:13 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
f2407bldcpwm2.asm                                                    PAGE    6

     251                            SACL    *       ; Accumulator = d_func.
     252                                            ; ARP = AR2. AR2 -> FR2 (temp_var2).
     253                            .endif
     254            ;--------------------------------------------------------------------------
     255 0035 7390                  LT      *-      ; TREG = temp2_var.
     256                                            ; ARP = AR2. 
     257                                            ; AR2 -> FR1 (period i.e temp_var1).
     258            ;--------------------------------------------------------------------------
     259 0036 5489                  MPY     *,AR1   ; PREG = period * d_func.
     260                                            ; ARP = AR1 (in preparation for exit)
     261                                            ; AR2 -> FR1 (period i.e temp_var1).
     262            ;-------------------------------------------------------------------------
     263 0037 be03                  PAC             ; Accumulator = period * d_func.
     264                                            ; ARP = AR1.
     265            ;--------------------------------------------------------------------------
     266 0038                       POINT_EV        
1        0038 bce8                  LDP     #0E8h
     267                                                          
     268 0039 9917                  SACH    CMPR1,1 ; *CMPR1 = Accumulator * 2. 
     269                            
     270 003a 9918                  SACH    CMPR2,1 ; *CMPR2 = Accumulator * 2.
     271                            
     272 003b 9919                  SACH    CMPR3,1 ; *CMPR3 = Accumulator * 2.
     273            ;================================================================================  
     274            
     275 003c       __BLDC_PWM_Update_Exit:
     276               
     277            ;--------------------------------------------------------------------------------     
     278 003c 7c04      SBRK  #(__F2407_BLDC_PWM_Update_framesize + 1)       
     279                                            ; deallocate frame, point to saved FP
     280            ;-------------------------------------------------------------------------------- 
     281                
     282 003d 0090      LAR     AR0,*-              ; restore frame pointer
     283 003e 7680      PSHD    *                   ; push return address on hardware stack
     284                
     285            ;--------------------------------------------------------------------------------   
     286 003f ef00      RET                         ; return  to called function.
     287            ;================================================================================  
     288                    ;Commutation sequence jump table - used with BACC inst.
     289            ;----------------------------------------------------------------------------
     290 0040       _COMMUTATION_TBL:
     291 0040 0011'   .word   __PWM_state_anb       ; COMMUTATION_PTR = 0, de-energized phase = C
     292 0041 0016'   .word   __PWM_state_anc       ; COMMUTATION_PTR = 1, de-energized phase = B
     293 0042 001b'   .word   __PWM_state_bnc       ; COMMUTATION_PTR = 2, de-energized phase = A
     294 0043 0020'   .word   __PWM_state_bna       ; COMMUTATION_PTR = 3, de-energized phase = C
     295 0044 0025'   .word   __PWM_state_cna       ; COMMUTATION_PTR = 4, de-energized phase = B
     296 0045 002a'   .word   __PWM_state_cnb       ; COMMUTATION_PTR = 5, de-energized phase = A
     297            
     298            ;================================================================================                       

 No Errors,  No Warnings

⌨️ 快捷键说明

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