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

📄 f243bdcpwm2.lst

📁 TI的digital motor control lib的源代码。了解TI的编程规范
💻 LST
📖 第 1 页 / 共 2 页
字号:
     154 0016                       POINT_EV        ; Output Current Path    Phase C
1        0016 bce8                  LDP     #0E8h
     155                            
     156 0017 ae13                  SPLK    #0C02h,ACTR
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue Sep 12 10:23:30 2000
Copyright (c) 1987-1999  Texas Instruments Incorporated 
f243bdcpwm2.asm                                                      PAGE    4

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

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

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

 No Errors,  No Warnings

⌨️ 快捷键说明

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