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

📄 cur_mod.lst

📁 TI的digital motor control lib的源代码。了解TI的编程规范
💻 LST
📖 第 1 页 / 共 3 页
字号:
     226 0040       I_MRZERO                                ; ARP=AR0, AR0->FR0, AR2->i_mr 
     227            ;----------------------------------------------------------------------------------
     228 0040 738a          LT              *,AR2   ; TREG = FR0 = tmp = iSq/i_mr  (Q12)
     229                                                    ; ARP=AR0, AR0->FR0, AR2->i_mr, ARP=AR2
     230            ;----------------------------------------------------------------------------------
     231 0041 7802                  ADRK    #2              ; ARP=AR2, AR0->FR0, AR2->Kt    
     232            ;----------------------------------------------------------------------------------
     233 0042 54a8          MPY             *+,AR0  ; PREG = Kt*(iSq/i_mr)  (Q24)
     234                                                    ; ARP=AR2, AR0->FR0, AR2->fs, ARP=AR0 
     235            ;----------------------------------------------------------------------------------
     236 0043 be03                  PAC                             ; ACC = Kt*(iSq/i_mr)  (Q24)
     237                                                    ; ARP=AR0, AR0->FR0, AR2->fs
     238            ;----------------------------------------------------------------------------------
     239 0044 9c80                  SACH    *,4             ; FR0 = tmp = Kt*(iSq/i_mr) = slip (Q12)
     240                                                    ; ARP=AR0, AR0->FR0, AR2->fs
     241            ;----------------------------------------------------------------------------------
     242 0045 1080                  LACC    *               ; ACC = FR0 = tmp = Kt*(iSq/i_mr) = slip (Q12)
     243                                                            ; ARP=AR0, AR0->FR0, AR2->fs 
     244            ;----------------------------------------------------------------------------------
     245 0046 7802          ADRK    #2              ; ARP=AR0, AR0->FR2, AR2->fs 
     246            ;----------------------------------------------------------------------------------
     247 0047 208a                  ADD             *,AR2   ; ACC = Kt*(iSq/i_mr) + n (Q12)
     248                                                            ; ARP=AR0, AR0->FR2, AR2->fs, ARP=AR2 
     249            ;----------------------------------------------------------------------------------
     250 0048 9080          SACL    *               ; fs = Kt*(iSq/i_mr) + n (Q12)
     251                                                    ; ARP=AR2, AR0->FR2, AR2->fs    
     252            ;----------------------------------------------------------------------------------
     253            ; *** rotor flux position calculation ***               
     254            ;----------------------------------------------------------------------------------
     255 0049 10a8                  LACC    *+,AR0  ; ACC = fs  (Q12)
     256                                                            ; ARP=AR2, AR0->FR2, AR2->K, ARP=AR0
     257            ;----------------------------------------------------------------------------------
     258 004a be00                  ABS                             ; ACC = |fs|  (Q12)
     259                                                            ; ARP=AR0, AR0->FR2, AR2->K             
     260            ;----------------------------------------------------------------------------------
     261 004b 9080          SACL    *               ; FR2 = tmp = |fs|  (Q12)
     262                                                            ; ARP=AR0, AR0->FR2, AR2->K
     263            ;----------------------------------------------------------------------------------
     264 004c 738a          LT              *,AR2   ; TREG = FR2 = tmp = |fs|  (Q12)
     265                                                            ; ARP=AR0, AR0->FR2, AR2->K, ARP=AR2
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:26 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
cur_mod.asm                                                          PAGE    6

     266            ;----------------------------------------------------------------------------------
     267 004d 5498                  MPY             *-,AR0  ; PREG = K*|fs|  (Q12)
     268                                                            ; ARP=AR2, AR0->FR2, AR2->fs, ARP=AR0
     269            ;----------------------------------------------------------------------------------
     270 004e be03          PAC                             ; ACC = K*|fs|  (Q12)
     271                                                            ; ARP=AR0, AR0->FR2, AR2->fs
     272            ;----------------------------------------------------------------------------------
     273 004f 9c8a                  SACH    *,4,AR2 ; FR2 = tetaincr = K*|fs|  (Q0)
     274                                                            ; ARP=AR0, AR0->FR2, AR2->fs, ARP=AR2
     275            ;----------------------------------------------------------------------------------
     276 0050 4088                  BIT             *,0,AR0 ; TC bit in ST1 register = fs(bit15) = MSB of fs
     277                                                            ; ARP=AR2, AR0->FR2, AR2->fs, ARP=AR0
     278            ;----------------------------------------------------------------------------------
     279 0051 e100                  BCND    FS_NEG,TC ; Branch to FS_NEG if TC = 1 or fs < 0
         0052 0059' 
     280                                                            ; ARP=AR0, AR0->FR2, AR2->fs 
     281            ;----------------------------------------------------------------------------------
     282 0053 698a                  LACL    *,AR2   ; ACC = FR2 = tetaincr  (Q0)
     283                                                            ; ARP=AR0, AR0->FR2, AR2->fs, ARP=AR2
     284            ;----------------------------------------------------------------------------------
     285 0054 7802                  ADRK    #2              ; ARP=AR2, AR0->FR2, AR2->Teta_cm       
     286            ;----------------------------------------------------------------------------------
     287 0055 6280                  ADDS    *               ; ACC =  Teta_cm + tetaincr  (Q0)
     288                                                            ; ARP=AR2, AR0->FR2, AR2->Teta_cm
     289            ;----------------------------------------------------------------------------------
     290 0056 90a0          SACL    *+              ; Teta_cm = Teta_cm + tetaincr  (Q0)
     291                                                            ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod 
     292            ;----------------------------------------------------------------------------------
     293 0057 7980                  B               FS_POS  ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod 
         0058 005e' 
     294            ;----------------------------------------------------------------------------------
     295 0059       FS_NEG                  ; ARP=AR0, AR0->FR2, AR2->fs            
     296            ;----------------------------------------------------------------------------------
     297 0059 8b8a          MAR             *,AR2   ; ARP=AR2, AR0->FR2, AR2->fs    
     298            ;----------------------------------------------------------------------------------
     299 005a 7802                  ADRK    #2              ; ARP=AR2, AR0->FR2, AR2->Teta_cm       
     300            ;----------------------------------------------------------------------------------
     301 005b 6988                  LACL    *,AR0   ; ACC = Teta_cm  (Q0)
     302                                                            ; ARP=AR2, AR0->FR2, AR2->Teta_cm, ARP=AR0
     303            ;----------------------------------------------------------------------------------
     304 005c 668a                  SUBS    *,AR2   ; ACC = Teta_cm - tetaincr (Q0)
     305                                                            ; ARP=AR0, AR0->FR2, AR2->Teta_cm, ARP=AR2
     306            ;----------------------------------------------------------------------------------
     307 005d 90a0                  SACL    *+              ; Teta_cm = Teta_cm - tetaincr (Q0)
     308                                                            ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod 
     309            ;----------------------------------------------------------------------------------
     310 005e       FS_POS                  ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod 
     311            ;----------------------------------------------------------------------------------
     312 005e be0a          SFR                             ; ACC = Teta_cm  (0-FFFFh)->(0-7FFFh)=(0-360) (Q15) 
     313                                                    ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod         
     314            ;----------------------------------------------------------------------------------
     315 005f bfb0                  AND             #7FFFh  ; Force theta_cur_mod around 0-7FFFh
         0060 7fff  
     316                                    ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:26 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
cur_mod.asm                                                          PAGE    7

     317            ;----------------------------------------------------------------------------------
     318 0061 9089          SACL    *,AR1   ; theta_cur_mod = Teta_cm (Q15)
     319                                                    ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod, ARP=AR1
     320            ;----------------------------------------------------------------------------------
     321 0062       _cur_mod_calc_exit:
     322                    ;;      MAR     *,AR1   ; can be removed if this condition is met on
     323                                    ; every path to this code. (i.e., ARP=AR1 here)
     324            
     325 0062 be42          CLRC    OVM
     326 0063 be46          CLRC    SXM
     327            
     328 0064 7c04          SBRK    #(__cur_mod_calc_framesize+1)
     329 0065 0090          LAR     AR0,*-
     330 0066 7680          PSHD    *
     331                    
     332 0067 ef00          RET
     333            
     334            
     335            

 No Errors,  No Warnings

⌨️ 快捷键说明

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