亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? svgen.s

?? Source Code for Sensorless FOC for PMSM with PFC for dsPIC30F6010A
?? S
字號:
;*******************************************************************
; SVGen
;  
;Description:  Calculate and load SVGen PWM values.
;
;
;
;Functional prototype:
; 
; void CalcSVGen( void )
;
;On Entry:   SVGenParm structure must contain qVr1, qVr2, qVr3
;
;On Exit:    PWM registers loaded
;
;Parameters: 
; Input arguments: None
;
; Return:
;   Void
;
; SFR Settings required:
;         CORCON.SATA  = 0
;         CORCON.IF    = 0
;
; Support routines required: None
;
; Local Stack usage: 0
;
; Registers modified: w0,w2,w3,w4,w5,w6,AccA
;
; Timing: 34 instruction cycles
;
;*******************************************************************
; C-Version of code
;
;void CalcRefVec( void )
;{ 
;    if( Vr1 >= 0 )
;        {       
;        // (xx1)
;        if( Vr2 >= 0 )
;            {
;            // (x11)
;            // Must be Sector 3 since Sector 7 not allowed
;            // Sector 3: (0,1,1)  0-60 degrees
;            T1 = Vr2
;            T2 = Vr1
;            CalcTimes();
;            dPWM1 = Ta
;            dPWM2 = Tb
;            dPWM3 = Tc
;            }
;        else
;            {            
;            // (x01)
;            if( Vr3 >= 0 )
;                {
;                // Sector 5: (1,0,1)  120-180 degrees
;                T1 = Vr1
;                T2 = Vr3
;                CalcTimes();
;                dPWM1 = Tc
;                dPWM2 = Ta
;                dPWM3 = Tb
;
;                }
;            else
;                {
;                // Sector 1: (0,0,1)  60-120 degrees
;                T1 = -Vr2;
;                T2 = -Vr3;
;                CalcTimes();
;                dPWM1 = Tb
;                dPWM2 = Ta
;                dPWM3 = Tc
;                }
;            }
;        }
;    else
;        {
;        // (xx0)
;        if( Vr2 >= 0 )
;            {
;            // (x10)
;            if( Vr3 >= 0 )
;                {
;                // Sector 6: (1,1,0)  240-300 degrees
;                T1 = Vr3
;                T2 = Vr2
;                CalcTimes();
;                dPWM1 = Tb
;                dPWM2 = Tc
;                dPWM3 = Ta
;                }
;            else
;                {
;                // Sector 2: (0,1,0)  300-0 degrees
;                T1 = -Vr3
;                T2 = -Vr1
;                CalcTimes();
;                dPWM1 = Ta
;                dPWM2 = Tc
;                dPWM3 = Tb
;                }
;            }
;        else
;            {            
;            // (x00)
;            // Must be Sector 4 since Sector 0 not allowed
;            // Sector 4: (1,0,0)  180-240 degrees
;            T1 = -Vr1
;            T2 = -Vr2
;            CalcTimes();
;            dPWM1 = Tc
;            dPWM2 = Tb
;            dPWM3 = Ta
;
;            }
;        }
;}
;
;
;void CalcTimes(void)
;{
;    T1 = PWM*T1
;    T2 = PWM*T2
;    Tc = (PWM-T1-T2)/2
;    Tb = Ta + T1
;    Ta = Tb + T2
;}        
;
;
;*******************************************************************
;
          .include "general.inc"

; External references
          .include "Park.inc"
          .include "SVGen.inc"

; Register usage
                        
          .equ WorkW,     w1  ; Working register
                        
          .equ T1W,       w2
          .equ T2W,       w3
                        
          .equ WorkDLoW,  w4  ; double word (multiply results)
          .equ Vr1W,      w4
          .equ TaW,       w4
          .equ WorkDHiW,  w5  ; double word (multiply results)
          .equ Vr2W,      w5
          .equ TbW,       w5
          .equ Vr3W,      w6
          .equ TcW,       w6

        .equ dPWM1, PDC1
        .equ dPWM2, PDC2
        .equ dPWM3, PDC3

;=================== CODE =====================

          .section  .text
          .global   _CalcSVGen
          .global   CalcSVGen

_CalcSVGen:
CalcSVGen:

     ;; Get qVr1,qVr2,qVr3
          mov.w     _SVGenParm+SVGen_qVr1,Vr1W
          mov.w     _SVGenParm+SVGen_qVr2,Vr2W
          mov.w     _SVGenParm+SVGen_qVr3,Vr3W

     ;; Test Vr1
          cp0       Vr1W
          bra       LT,jCalcRef20       ; Vr1W < 0

     ;; Test Vr2
          cp0       Vr2W
          bra       LT,jCalcRef10       ; Vr2W < 0

     ;; Must be Sector 3 since Sector 7 not allowed
     ;; Sector 3: (0,1,1)  0-60 degrees

     ;; T1 = Vr2
     ;; T2 = Vr1
          mov.w     Vr2W,T2W
          mov.w     Vr1W,T1W
          rcall     CalcTimes

     ;; dPWM1 = Ta
     ;; dPWM2 = Tb
     ;; dPWM3 = Tc
          mov.w     TaW,dPWM1
          mov.w     TbW,dPWM2
          mov.w     TcW,dPWM3
          return

jCalcRef10:
     ;; Test Vr3
          cp0       Vr3W
          bra       LT,jCalcRef15       ; Vr3W < 0

     ;; Sector 5: (1,0,1)  120-180 degrees
     ;; T1 = Vr1
     ;; T2 = Vr3
          mov.w     Vr1W,T2W
          mov.w     Vr3W,T1W
          rcall     CalcTimes

     ;; dPWM1 = Tc
     ;; dPWM2 = Ta
     ;; dPWM3 = Tb
          mov.w     TcW,dPWM1
          mov.w     TaW,dPWM2
          mov.w     TbW,dPWM3
          return

jCalcRef15:

     ;; Sector 1: (0,0,1)  60-120 degrees
     ;; T1 = -Vr2
     ;; T2 = -Vr3
          neg.w     Vr2W,T2W
          neg.w     Vr3W,T1W
          rcall     CalcTimes

     ;; dPWM1 = Tb
     ;; dPWM2 = Ta
     ;; dPWM3 = Tc
          mov.w     TbW,dPWM1
          mov.w     TaW,dPWM2
          mov.w     TcW,dPWM3
          return

jCalcRef20:

     ;; Test Vr2
          cp0       Vr2W
          bra       LT,jCalcRef30       ; Vr2W < 0

     ;; Test Vr3
          cp0       Vr3W
          bra       LT,jCalcRef25       ; Vr3W < 0

     ;; Sector 6: (1,1,0)  240-300 degrees
     ;; T1 = Vr3
     ;; T2 = Vr2
          mov.w     Vr3W,T2W
          mov.w     Vr2W,T1W
          rcall     CalcTimes

     ;; dPWM1 = Tb
     ;; dPWM2 = Tc
     ;; dPWM3 = Ta
          mov.w     TbW,dPWM1
          mov.w     TcW,dPWM2
          mov.w     TaW,dPWM3
          return

jCalcRef25:
     ;; Sector 2: (0,1,0)  300-360 degrees
     ;; T1 = -Vr3
     ;; T2 = -Vr1
          neg.w     Vr3W,T2W
          neg.w     Vr1W,T1W
          rcall     CalcTimes

     ;; dPWM1 = Ta
     ;; dPWM2 = Tc
     ;; dPWM3 = Tb
          mov.w     TaW,dPWM1
          mov.w     TcW,dPWM2
          mov.w     TbW,dPWM3
          return

jCalcRef30:
     ;; Must be Sector 4 since Sector 0 not allowed
     ;; Sector 4: (1,0,0)  180-240 degrees

     ;; T1 = -Vr1
     ;; T2 = -Vr2
          neg.w     Vr1W,T2W
          neg.w     Vr2W,T1W
          rcall     CalcTimes

     ;; dPWM1 = Tc
     ;; dPWM2 = Tb
     ;; dPWM3 = Ta
          mov.w     TcW,dPWM1
          mov.w     TbW,dPWM2
          mov.w     TaW,dPWM3
          return

;*******************************************************************
; CalcTimes
;
;
;void CalcTimes(void)
;{
;    T1 = PWM*T1
;    T2 = PWM*T2
;    Tc = (PWM-T1-T2)/2
;    Tb = Ta + T1
;    Ta = Tb + T2
;}        
;
; Timing: 17instruction cycles
;
;*******************************************************************
CalcTimes:

     ;; T1 = PWM*T1

     ;; Since T1 is in 1.15 and PWM in integer we do multiply by
     ;; 2*PWM*T1 as integers and use upper word of results

     ;; Load PWMPeriod 
          sl.w      _SVGenParm+SVGen_iPWMPeriod,WREG	;Mul PWM * 2 to allow for full range of voltage
          mul.us    w0,T1W,WorkDLoW
          mov.w     WorkDHiW,T1W

     ;; T2 = PWM*T2
          mul.us    w0,T2W,WorkDLoW
          mov.w     WorkDHiW,T2W

     ;; Tc = (PWM-T1-T2)/2
          mov.w	    _SVGenParm+SVGen_iPWMPeriod,WREG				
          sub.w     w0,T1W,WorkW        ;PWM-T1
          sub.w     WorkW,T2W,WorkW     ; -T2
          asr.w     WorkW,WorkW         ; /2
          mov.w     WorkW,TcW           ; store Tc

     ;; Tb = Tc + T1
          add.w     WorkW,T1W,WorkW
          mov.w     WorkW,TbW


     ;; Ta = Tb + T2
          add.w     WorkW,T2W,WorkW
          mov.w     WorkW,TaW
          return




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性感一区二区三区| 国产日本一区二区| 欧美三级电影在线观看| 96av麻豆蜜桃一区二区| 成人精品视频.| 成人av午夜影院| 成人黄色综合网站| a亚洲天堂av| av在线不卡电影| 92精品国产成人观看免费 | 成人av免费在线播放| 国产一本一道久久香蕉| 国内精品不卡在线| 国产毛片精品国产一区二区三区| 久久精品国产成人一区二区三区 | 亚洲一区二区四区蜜桃| 亚洲欧美偷拍另类a∨色屁股| 亚洲色图欧美偷拍| 亚洲综合一区二区三区| 亚洲成人黄色小说| 麻豆精品在线视频| 国产在线视频一区二区三区| 国产精品99久久久久久有的能看 | 一本大道久久a久久综合| 日本精品免费观看高清观看| 在线观看亚洲成人| 91精品国产黑色紧身裤美女| 欧美电影免费观看高清完整版 | 亚洲大尺度视频在线观看| 亚洲成人精品一区二区| 久久99九九99精品| 成人午夜又粗又硬又大| 91美女在线视频| 欧美精品xxxxbbbb| 久久一二三国产| 亚洲视频你懂的| 日韩成人一级大片| 国产精品系列在线观看| 日本精品裸体写真集在线观看 | 亚洲综合区在线| 免费人成在线不卡| 成人三级在线视频| 欧美日韩视频在线观看一区二区三区 | 国内精品国产成人国产三级粉色| 不卡在线视频中文字幕| 欧美色精品天天在线观看视频| 欧美变态tickling挠脚心| 日本一区二区三区四区| 亚洲午夜三级在线| 国产一区二区三区av电影| 91首页免费视频| 日韩女优av电影| 中文字幕日本不卡| 蜜臀精品一区二区三区在线观看 | 国产麻豆精品theporn| 91欧美激情一区二区三区成人| 在线播放亚洲一区| 国产精品欧美久久久久无广告| 亚瑟在线精品视频| 成人综合在线观看| 欧美精品在线观看播放| 国产欧美日韩视频一区二区| 午夜精品久久久久久久99水蜜桃| 国产福利一区二区三区| 欧美精品九九99久久| 亚洲三级电影全部在线观看高清| 美女精品自拍一二三四| 色婷婷精品久久二区二区蜜臂av| 精品第一国产综合精品aⅴ| 一个色在线综合| 成人性视频免费网站| 欧美zozozo| 奇米888四色在线精品| 色呦呦一区二区三区| 久久精品一区二区| 免费黄网站欧美| 欧美日产国产精品| 亚洲三级小视频| 成人av网址在线| 国产亚洲成年网址在线观看| 日韩高清不卡一区二区三区| 色呦呦一区二区三区| 国产精品伦一区二区三级视频| 久久精品999| 337p亚洲精品色噜噜狠狠| 亚洲精品第1页| 成人国产精品免费| 久久久久久毛片| 久久99国产精品久久99| 欧美日韩国产经典色站一区二区三区| 综合网在线视频| www.亚洲在线| 国产精品久久久久久久第一福利| 精品无人区卡一卡二卡三乱码免费卡| 欧美日韩不卡视频| 亚洲一级二级三级在线免费观看| 91亚洲国产成人精品一区二三 | 国产精品一区不卡| 精品免费一区二区三区| 免费久久99精品国产| 宅男在线国产精品| 丝袜美腿亚洲色图| 欧美丰满一区二区免费视频| 亚洲国产精品综合小说图片区| 色综合久久久久综合99| 亚洲日韩欧美一区二区在线| 91网址在线看| 一区二区三区av电影| 91官网在线观看| 亚洲一区免费在线观看| 欧美在线啊v一区| 一区二区三区电影在线播| 欧美在线你懂得| 性做久久久久久| 69久久夜色精品国产69蝌蚪网| 青青青爽久久午夜综合久久午夜| 91精品国产色综合久久不卡蜜臀| 天堂va蜜桃一区二区三区| 4hu四虎永久在线影院成人| 天天av天天翘天天综合网色鬼国产 | 欧美巨大另类极品videosbest | 欧美日韩一二三| 日韩福利电影在线观看| 欧美成人精品高清在线播放| 久久疯狂做爰流白浆xx| 国产视频在线观看一区二区三区| 成人高清av在线| 一区二区在线看| 欧美一区二区三区色| 精品一二线国产| 国产精品天美传媒| 日本韩国一区二区三区| 日韩黄色免费电影| 久久免费的精品国产v∧| fc2成人免费人成在线观看播放| 一区二区三区鲁丝不卡| 日韩精品专区在线影院观看| 国产伦精品一区二区三区免费 | 国产精品免费人成网站| 一本久久a久久免费精品不卡| 亚洲午夜久久久久久久久电影院 | 亚洲欧洲av一区二区三区久久| 91视频.com| 日韩1区2区3区| 亚洲国产成人自拍| 欧美曰成人黄网| 国产真实乱子伦精品视频| 日韩毛片精品高清免费| 日韩午夜激情电影| av一区二区不卡| 人人精品人人爱| 国产精品全国免费观看高清 | 亚洲高清中文字幕| 国产网站一区二区| 欧美性视频一区二区三区| 狠狠色综合播放一区二区| 亚洲欧洲综合另类| 26uuu另类欧美亚洲曰本| 91丨九色丨黑人外教| 久久爱另类一区二区小说| 成人欧美一区二区三区在线播放| 4438亚洲最大| 色综合久久99| 国产一区二区三区最好精华液| 亚洲激情一二三区| 国产亚洲欧洲997久久综合 | 久久亚洲综合av| 精品污污网站免费看| 大尺度一区二区| 精品在线你懂的| 一区二区三区在线免费观看| 久久久久久99精品| 欧美一级高清片| 在线观看一区二区精品视频| 国产成人av电影在线观看| 五月激情六月综合| 亚洲天堂久久久久久久| 精品伦理精品一区| 欧美日韩色一区| 一本色道**综合亚洲精品蜜桃冫| 国内国产精品久久| 免费观看在线综合色| 亚洲永久精品大片| 中文字幕制服丝袜成人av| 精品不卡在线视频| 9191国产精品| 欧美最猛性xxxxx直播| 成人高清视频免费观看| 国产精品一区久久久久| 国内一区二区在线| 美女在线视频一区| 午夜精品福利久久久| 伊人色综合久久天天人手人婷| 国产欧美一区二区精品忘忧草| 日韩视频免费观看高清完整版在线观看 | 国产在线一区二区| 久久99在线观看| 麻豆久久一区二区| 蓝色福利精品导航| 日韩不卡一区二区三区|