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

📄 com_trig.lst

📁 TI的digital motor control lib的源代码。了解TI的编程规范
💻 LST
📖 第 1 页 / 共 5 页
字号:
     630                                            ; AR5-> trig. 
     631            ;--------------------------------------------------------------------------------                               
     632                        ; ARP = AR2. AR2 -> FR1(neutral).
     633                        ; AR4 -> time_stampOld. AR3 -> va.
     634                        ; AR5-> trig. 
     635                    
     636                    
     637 0087       __CMTN_neg_delta:
     638                            
     639                       
     640 0087 bf90                  ADD     #CYCLE_LENGTH  
         0088 7fff  
     641                                            ; ACC = 0x7fffh + (time_stampNew - time_stampOld).
     642                                            ; ARP = AR2. AR2 -> FR1.
     643                                            ; AR4 -> time_stampOld. AR3 -> va.
     644                                            ; AR5-> trig. 
     645            ;--------------------------------------------------------------------------------
     646 0089 908c                  SACL    *,AR4   ; FR1 (rev_period) = 
     647                                            ; time_stampNew - time_stampOld.
     648                                            ; ARP = AR4. AR4 -> time_stampOld.
     649                                            ; AR2 -> FR1 (rev_period). AR3 -> va.
     650                                            ; AR5-> trig. 
     651            ;--------------------------------------------------------------------------------
     652                            ; Accumulator = rev_period.  ARP = AR4.
     653                            ; AR4 -> time_stampOld. 
     654                            ; AR2 -> FR1 (rev_period). AR3 -> va.
     655                            ; AR5-> trig. 
     656 008a       __CMTN_delay_div12:
     657                                
     658 008a 7802                  ADRK    #2      ; ARP = AR4. AR4 -> delay
     659                                            ; AR2 -> FR1 (rev_period). AR3 -> va.
     660                                            ; AR5-> trig. 
     661            ;--------------------------------------------------------------------------------
     662 008b ae80                  SPLK    #12,*   ; delay = 12.
         008c 000c  
     663                                            ; ARP = AR4. AR4 -> delay 
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:21 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
com_trig.asm                                                         PAGE   14

     664                                            ; AR2 -> FR1 (rev_period). AR3 -> va.
     665                                            ; AR5-> trig. 
     666            ;--------------------------------------------------------------------------------
     667 008d bb0f                  RPT     #15     ; Repeat (15+1 => 16)times next instruction
     668                                            ; AR2 -> FR1 (rev_period). AR3 -> va.
     669                                            ; AR5-> trig. 
     670                                            ; ARP = AR4. AR4 -> delay 
     671            ;--------------------------------------------------------------------------------
     672 008e 0a80                  SUBC *          ; To divide rev_period by 12.
     673                                            ; Quotient will be in LSW of ACC
     674                                            ; Remainder will be in MSW of ACC
     675                                            ; AR2 -> FR1 (rev_period). AR3 -> va.
     676                                            ; AR5-> trig. 
     677                                            ; ARP = AR4. AR4 -> delay 
     678            ;--------------------------------------------------------------------------------
     679 008f 8b8a                  MAR     *,AR2   ; ARP = AR2. AR2 -> FR1. AR3 -> va.
     680                                            ; AR5-> trig. 
     681                                            ; ARP = AR4. AR4 -> delay 
     682            ;--------------------------------------------------------------------------------
     683 0090 988c                  SACH    *,AR4   ; AR2-> FR1(Remainder).
     684                                            ; ARP = AR4. AR4 -> delay. AR3 -> va.
     685                                            ; AR5-> trig.  
     686            ;--------------------------------------------------------------------------------
     687 0091 bfb0                  AND     #0ffffh ; Remove remainder part of ACC.
         0092 ffff  
     688                                            ; AR2-> FR1(Remainder).
     689                                            ; ARP = AR4. AR4 -> delay. AR3 -> va.
     690                                            ; AR5-> trig.  
     691            ;--------------------------------------------------------------------------------
     692                        ; allow rounding
     693            ;--------------------------------------------------------------------------------            
     694 0093 908a                  SACL    *,AR2   ; delay = rev_period/12.
     695                                            ; ARP = AR2. AR4 -> delay.
     696                                            ; AR2 -> FR1 (Remainder).AR3 -> va.
     697                                            ; AR5-> trig. 
     698            ;--------------------------------------------------------------------------------
     699 0094 108c                  LACC    *,AR4   ; ACC = Remainder.
     700                                            ; ARP = AR4. AR4 -> delay. 
     701                                            ; AR2 -> FR1 (Remainder).AR3 -> va.
     702                                            ; AR5-> trig. 
     703            ;--------------------------------------------------------------------------------
     704 0095 ba06                  SUB     #6      ; ACC = Remainder - 6.
     705                                            ; ARP = AR4. AR4 -> delay. 
     706                                            ; AR2 -> FR1 (Remainder).AR3 -> va.
     707                                            ; AR5-> trig. 
     708            ;--------------------------------------------------------------------------------
     709 0096 e344                  BCND    __CMTN_same_delay,LT
         0097 009b' 
     710                                            ; ARP = AR4. AR4 -> delay.
     711                                            ; AR2 -> FR1 (Remainder).AR3 -> va.
     712                                            ; AR5-> trig. 
     713            ;--------------------------------------------------------------------------------
     714 0098 1080                  LACC    *       ; Accumulator = delay.
     715                                            ; ARP = AR4. AR4 -> delay.
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:21 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
com_trig.asm                                                         PAGE   15

     716                                            ; AR2 -> FR1 (Remainder).AR3 -> va.
     717                                            ; AR5-> trig. 
     718            ;--------------------------------------------------------------------------------
     719 0099 b801                  ADD     #1      ; Accumulator = delay + 1.
     720                                            ; ARP = AR4. AR4 -> delay.
     721                                            ; AR2 -> FR1 (Remainder).AR3 -> va.
     722                                            ; AR5-> trig. 
     723            ;--------------------------------------------------------------------------------
     724 009a 9080                  SACL    *       ; delay = delay + 1.
     725                                            ; ARP = AR4. AR4 -> delay.
     726                                            ; AR2 -> FR1 (Remainder).AR3 -> va.
     727                                            ; AR5-> trig. 
     728            ;--------------------------------------------------------------------------------
     729                            ; ARP = AR4. AR4 -> delay. 
     730                            ; AR2 -> FR1 (Remainder).AR3 -> va.
     731                            ; AR5-> trig. 
     732 009b       __CMTN_same_delay:
     733            ;--------------------------------------------------------------------------------
     734 009b 7c04                  SBRK    #4      ; ARP = AR4. AR4 -> d30_doneFlag
     735                                            ; AR2 -> FR1 (Remainder).AR3 -> va.
     736                                            ; AR5-> trig. 
     737            ;--------------------------------------------------------------------------------
     738 009c ae80                  SPLK    #GONE_THRO_ONCE,*   
         009d 000f  
     739                                            ; d30_doneFlag = 15
     740                                            ; ARP = AR4. AR4 -> d30_doneFlag
     741                                            ; AR2 -> FR1 (Remainder).AR3 -> va.
     742                                            ; AR5-> trig. 
     743            ;--------------------------------------------------------------------------------
     744                        ; ARP = AR4. AR4 -> noise_windowCntr.
     745                        ; AR2 -> FR1 (neutral). AR5->trig
     746 009e       __CMTN_st_end:
     747            
     748            ;--------------------------------------------------------------------------------
     749                        ; zero crossing to commutation trigger delay
     750            ;--------------------------------------------------------------------------------            
     751 009e 8b8d                  MAR     *, AR5  ; ARP = AR5.  AR5 -> trig
     752                                            ; AR4 -> noise_windowCntr.
     753            ;--------------------------------------------------------------------------------
     754 009f ae80                  SPLK    #CLEAR,*     
         00a0 0000  
     755                                            ; trig = 0;
     756                                            ; AR5 -> trig. ARP = AR5. 
     757                                            ; AR4 -> noise_windowCntr
     758            ;--------------------------------------------------------------------------------
     759 00a1 780d                  ADRK    #13     ; ARP = AR5. AR4 -> noise_windowCntr
     760                                            ; AR5 -> dt_taskFlg    
     761            ;--------------------------------------------------------------------------------
     762 00a2 1080                  LACC    *       ; Accumulator  = dt_taskFlg
     763                                            ; ARP = AR5. AR4 -> noise_windowCntr
     764                                            ; AR5 -> dt_taskFlg 
     765            ;--------------------------------------------------------------------------------
     766 00a3 e308                  BCND    __CMTN_count_dwn,NEQ
         00a4 00b3' 
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:21 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
com_trig.asm                                                         PAGE   16

     767                                            ; ARP = AR5. AR5 -> dt_taskFlg.
     768                                            ; AR4 -> noise_windowCntr
     769            ;--------------------------------------------------------------------------------
     770 00a5       __CMTN_chk_trigger:
     771                            
     772 00a5 7c09                  SBRK    #9      ; ARP = AR5.  AR5 -> zc_trig.
     773                                            ; AR4 -> noise_windowCntr
     774            ;--------------------------------------------------------------------------------
     775 00a6 1080                  LACC    *       ; ARP = AR5.  AR5 -> zc_trig.
     776                                            ; AR4 -> noise_windowCntr
     777            ;--------------------------------------------------------------------------------
     778 00a7 e388                  BCND    __Com_Trig_Exit,EQ
         00a8 00bf' 
     779                                            ; Do nothing if no trigger
     780                                            ; ARP = AR5.  AR5 -> zc_trig.
     781                                            ; AR4 -> noise_windowCntr
     782            ;--------------------------------------------------------------------------------
     783 00a9 7808                  ADRK    #8      ; ARP = AR5.  AR5 -> delay
     784                                            ; AR4 -> noise_windowCntr
     785            ;--------------------------------------------------------------------------------
     786 00aa 1080       

⌨️ 快捷键说明

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