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

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

?? soft_svpwm.asm

?? f2407:電機控制
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;--------------------------------------------------------------------------------------------------------
; 重慶大學――美國德州儀器數字信號處理方案實驗室
; 函數名:void soft_svpwm(softsvpwm *p, int u_alfa, int u_beta)
; 函數功能:本函數根據給定電壓量,計算生成空間矢量PWM所需的占空比,
;	最終利用TMS320LF2407內部的全比較模塊輸出給定電壓。
;	該給定電壓由u_alfa、u_beta表示。
; 函數參數:
;	softsvpwm *p; //softsvpwm結構體類型指針,指向輸出結構體
;	int u_alfa;   //Q12,給定參考電壓alfa分量
;	int u_beta;   //Q12,給定參考電壓beta分量
; 輸出結構體:	
;	typedef struct
;		{ int Vdcinvt; //Q0,占空比飽和系數
;		  int PWMPRD;  //Q0,周期寄存器TxPR的值
;		  int va;      //Q0,比較寄存器CMPR4的值
;		  int vb;      //Q0,比較寄存器CMPR5的值
;		  int vc;      //Q0,比較寄存器CMPR6的值
;		}softsvpw
; 相關系數的確定:
; 	Vdcinvt=SQRT3(Vb*T_pwm)/Vdc,其中,T_pwm為計數器
;	周期寄存器值,Vdc為逆變器母線電壓,Vb為待輸出相電
;	壓峰值,SQRT3*Vb為待輸出線電壓峰值,故可以設SQRT3*Vb/Vdc=k,
;	則Vdcinvt=k*T_pwm,故占空比飽和時可以認為以下關系成立:
;		(t1+t2)*Vdcinvt>T_pwm
;	即:	(t1+t2)*k*T_pwm>T_pwm
;	其中,t1,t2代表基本矢量作用時間對應的占空比,k=<1
; 本子程序的函數聲明和機構體的定義都包含在softsvpwm_c.h文件中,用戶
;	使用時只需要使用#include指令將該文件包含到project中即可。
; 在調用本子程序前,用戶還需要對輸出結構體中的變量Vdeinvt和PWMPRD
;	進行初始化。

; 2002.7.8.
;--------------------------------------------------------------------------------------------------------
		.def _soft_svpwm
		.global _soft_svpwm
SQRT32	.set 6edah				;(sqrt3)/2 (Q15)
_soft_svpwm_frame .set 4h
		.text                                               
_soft_svpwm  
		POPD	*+
		SAR		AR0,*+
		SAR		AR1,*
		LAR		AR0,#_soft_svpwm_frame
		LAR		AR0,*0+,AR0
		LAR		AR2,*,AR2			;C COMPATIBLE
									;STACK:u_beta/u_alfa/ *p/address/AR0/AR1
									;ARP:AR2, AR0:AR1, AR2:AR1
		SETC	SXM					;SIGN EXTENSION MODE ENABLE
		SBRK	#3
		LAR		AR3,*-,AR0			;ARP:AR0, AR0:AR1, AR2:u_alfa, AR3:Vdcinvt
;----------------------------------------------------------------------------------------
;calculate vref1, -vref2 and -vref3
;----------------------------------------------------------------------------------------
		LACC	#SQRT32
		SACL	*					;STACK:u_beta/u_alfa/ *p/address/AR0/0x6EDA
		LT		*,AR2               ;0x6EDA-->TREG
									;ARP:AR2, AR0:0x6EDA, AR2:u_alfa, AR3:Vdcinvt
		MPY		*-					;0x6EDA*u_alfa
									;ARP:AR2, AR0:0x6EDA, AR2:u_beta, AR3:Vdcinvt
		LACC	*,14,AR0			;u_beta/2-->ACC
									;ARP:AR0, AR0:0x6EDA, AR2:u_beta, AR3:Vdcinvt  
		NEG
		SACH	*+,2				;STACK:u_beta/u_alfa/ *p/address/AR0/-vref1/unknow 
									;ARP:AR0, AR0:unknow, AR2:u_beta, AR3:Vdcinvt
		APAC	                    
		NEG                         ;u_beta/2-0x6EDA*u_alfa
		SACH	*+,1,AR2			;STACK:u_beta/u_alfa/ *p/address/AR0/-vref1/-vref2/unknow 
									;ARP:AR2, AR0:unknow, AR2:u_beta, AR3:Vdcinvt
		LACC	*,14,AR0    		;u_beta/2-->ACC 
		APAC						;u_alfa*0x6eda+u_beta/2
		SACH	*,1,AR3				;STACK:u_beta/u_alfa/ *p/address/AR0/-vref1/-vref2/-vref3 
									;ARP:AR3, AR0:-vref3, AR2:u_beta, AR3:Vdcinvt
;---------------------------------------------------------------------------------------------
;calculate X, Y and Z
;---------------------------------------------------------------------------------------------
		SPM		2					;PREG LEFT SHIFT 4
		LT		*+,AR0
		MPY		*					;Y=Vdcinvt*(-vref3)
		SPH		*-					;STACK:u_beta/u_alfa/ *p/address/AR0/-vref1/-vref2/Y 
									;ARP:AR0, AR0:-vref2, AR2:u_beta, AR3:PWMPRD
		MPY		*                   ;Z=Vdcinvt*(-vref2)
		SPH		*-,AR2				;STACK:u_beta/u_alfa/ *p/address/AR0/-vref1/Z/Y 
									;ARP:AR2, AR0:-vref1, AR2:u_beta, AR3:PWMPRD
		MPY		*                   ;X=Vdcinvt*(vref1)
		SPH		*,AR0				;STACK:X/u_alfa/ *p/address/AR0/-vref1/Z/Y 
									;ARP:AR0, AR0:-vref1, AR2:X, AR3:PWMPRD		
		SPM		1
;---------------------------------------------------------------------------------
;calculate sector
;---------------------------------------------------------------------------------		
		LACC	#0					
		BIT		*+,0				
		BCND	softsvpwm1,NTC
		ADD		#1					;if vref1>0, then sector=sector+1
softsvpwm1
		BIT		*+,0
		BCND	softsvpwm2,NTC
		ADD		#2 					;if vref2>0, then sector=sector+2
softsvpwm2                                                            
		BIT		*+,0
		BCND	softsvpwm3,NTC
		ADD		#4  				;if vref3>0, then sector=sector+4
									;STACK:X/u_alfa/ *p/address/AR0/-vref1/Z/Y/unknow 
	                           		;ARP:AR0, AR0:unknow, AR2:X, AR3:PWMPRD 
softsvpwm3
		ADD		#sectable
		TBLR	*
		LACC	*-					;STACK:X/u_alfa/ *p/address/AR0/-vref1/Z/Y/sector_srx 
									;ARP:AR0, AR0:Y, AR2:X, AR3:PWMPRD
		BACC 
;--------------------------------------------------------------------------------------
;duty ratio calculation
;--------------------------------------------------------------------------------------
mute
		LACC	#0
		MAR		*,AR3				;ARP:AR3, AR0:Y, AR2:X, AR3:PWMPRD
		MAR		*+
		SACL	*+
		SACL	*+
		SACL	*,AR1				;va=0, vb=0, vc=0
									;ARP:AR1, AR0:Y, AR2:X, AR3:vc
		B		softsvpwm_end				

sector_sr1
		LACC	*-                  ;sector=1, t1=Z, t2=Y
		ADD		*-
		SACL	*+,AR3				;STACK:X/u_alfa/ *p/address/AR0/t1+t2/t1/t2/sector_srx 
									;ARP:AR3, AR0:t1, AR2:X, AR3:PWMPRD
		SUB		*,AR0 				;sector=1, t1=Z, t2=Y, t1+t2-PWMPRD
									;ARP:AR0, AR0:t1, AR2:X, AR3:PWMPRD
		BCND	softsvpwm4,LEQ
		MAR		*-,AR3				;ARP:AR3, AR0:t1+t2, AR2:X, AR3:PWMPRD 
        LACC	*,15,AR0	 	  	;SATURATION
        							;ARP:AR0 
        RPT		#15
        SUBC	*					;CALCULATE PWMPRD/t1+t2, Q15
        SACL	* 				    ;STACK:X/u_alfa/ *p/address/AR0/(PWMPRD/t1+t2)/t1/t2/sector_srx 
									;ARP:AR0, AR0:(PWMPRD/t1+t2), AR2:X, AR3:PWMPRD        
        LT		*+               	;(PWMPRD/t1+t2)-->TREG
        							;ARP:AR0, AR0:t1, AR2:X, AR3:PWMPRD
        MPY		*					;AR0:t1  					
        SPH		*+					;t1=t1*T_pwm/(t1+t2)
							        ;STACK:X/u_alfa/ *p/address/AR0/(PWMPRD/t1+t2)/t1/t2/sector_srx 
									;ARP:AR0, AR0:t2, AR2:X, AR3:PWMPRD
        MPY		*
        SPH		*-               	;t2=t2*T_pwm/(t1+t2)
        							;STACK:X/u_alfa/ *p/address/AR0/(PWMPRD/t1+t2)/t1/t2/sector_srx 
									;ARP:AR3, AR0:t1, AR2:X, AR3:PWMPRD 
softsvpwm4
		LACC	*+,15				
		ADD		*-,15,AR3
		SUB		*+,15				
		NEG			                ;taon=PWMPRD-t1-t2 
									;ARP:AR3, AR0:t1, AR2:X, AR3:va
		MAR		*+					;AR3:vb
		SACH	*-,AR0				;vb=taon=(PWMPRD-t1-t2)/2
									;ARP:AR0, AR0:t1, AR2:X, AR3:va
		ADD		*+,16,AR3			;va=tbon=taon+t1	
		SACH	*+					;ARP:AR3, AR0:t2, AR2:X, AR3:vb
		MAR		*+,AR0				;ARP:AR0, AR0:t2, AR3:vc
		ADD		*,16,AR3
		SACH	*,AR1				;vc=tcon=tbon+t2
									;ARP:AR1, AR0:t2, AR3:vc
		B		softsvpwm_end

sector_sr2              			
		LACC	*+,AR2 				;sector=2, t1=Y, t2=-X
									;STACK:-t2/u_alfa/ *p/address/AR0/-vref1/Z/t1/sector_srx 
									;ARP:AR2, AR0:sector_srx, AR2:-t2, AR3:PWMPRD 
		SUB		*,AR0               ;t1-(-t2)
		SACL	*-,AR3			   	;STACK:-t2/u_alfa/ *p/address/AR0/-vref1/Z/t1/t1+t2 
									;ARP:AR3, AR0:t1, AR2:-t2, AR3:PWMPRD
		SUB		*,AR0				;t1+t2-PWMPRD							
		BCND	softsvpwm5,LEQ
		MAR		*+,AR3				;ARP:AR3, AR0:t1+t2, AR2:-t2, AR3:PWMPRD 
        LACC	*,15,AR0	 	  	;SATURATION
        							;ARP:AR0 
        RPT		#15
        SUBC	*					;CALCULATE PWMPRD/t1+t2, Q15
        SACL	* 				    ;STACK:-t2/u_alfa/ *p/address/AR0/-vref1/Z/t1/(PWMPRD/t1+t2) 
									;ARP:AR0, AR0:(PWMPRD/t1+t2), AR2:-t2, AR3:PWMPRD        
        LT		*-               	;(PWMPRD/t1+t2)-->TREG
        							;ARP:AR0, AR0:t1, AR2:-t2, AR3:PWMPRD
        MPY		*					;AR0:t1  					
		SPH		*,AR2		        ;STACK:-t2/u_alfa/ *p/address/AR0/-vref1/t1/Y/(PWMPRD/t1+t2) 
									;ARP:AR2, AR0:t1, AR2:-t2, AR3:PWMPRD
        MPY		*
        SPH		*,AR0		       	;t2=t2*PWMPRD/(t1+t2)
        							;STACK:-t2/u_alfa/ *p/address/AR0/(PWMPRD/t1+t2)/t1/Y/sector_srx 
									;ARP:AR0, AR0:t1, AR2:-t2, AR3:PWMPRD

softsvpwm5
		LACC	*,15,AR2
		SUB		*,15,AR3            ;t1-(-t2)
		SUB		*+,15				;taon=(PWMPRD-t1-t2)/2
									;ARP:AR3, AR0:t1, AR2:-t2, AR3:va  
		NEG
		SACH	*+,AR0				;va=taon
									;ARP:AR0, AR0:t1, AR2:-t2, AR3:vb
		ADD		*,16,AR3            ;tbon=taon+t1
		MAR     *+					;ARP:AR3, AR3:vc
		SACH	*-,AR2				;vc=tbon
									;AR3:vb
		SUB		*,16,AR3			;tcon=tbon-(-t2)
									;AR3:vb
		SACH	*,AR1				;vb=tcon
		B		softsvpwm_end               

sector_sr3

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产三级欧美三级| 欧美久久久久久久久久| 全国精品久久少妇| 伊人色综合久久天天人手人婷| 2014亚洲片线观看视频免费| 538在线一区二区精品国产| 欧美中文字幕亚洲一区二区va在线| 成人精品视频网站| 波多野结衣精品在线| 97精品久久久久中文字幕| 色综合色综合色综合| 欧美系列一区二区| 3d动漫精品啪啪一区二区竹菊| 69av一区二区三区| 精品少妇一区二区三区在线播放| www激情久久| 国产精品久久久99| 亚洲精品中文在线影院| 五月婷婷激情综合网| 国产在线视视频有精品| av一区二区三区四区| 在线中文字幕一区| 日韩欧美国产麻豆| 国产精品视频第一区| 亚洲无人区一区| 久久精品久久精品| 成人av影视在线观看| 欧美性做爰猛烈叫床潮| 精品理论电影在线| 亚洲欧美一区二区三区孕妇| 99国产欧美另类久久久精品 | 欧美精品高清视频| 2017欧美狠狠色| 一区二区三区精密机械公司| 日韩激情一二三区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 一区二区三区91| 久久精品国产亚洲aⅴ | 亚洲午夜久久久| 久久成人av少妇免费| 色综合色综合色综合色综合色综合 | 久久久久高清精品| 亚洲在线成人精品| 国产精品亚洲一区二区三区妖精 | 色婷婷久久综合| 日韩欧美国产不卡| 亚洲午夜精品在线| 成人高清av在线| 欧美sm极限捆绑bd| 亚洲福利电影网| 不卡的av网站| 久久综合色8888| 奇米四色…亚洲| 欧洲色大大久久| 综合婷婷亚洲小说| 国产成人亚洲综合a∨婷婷 | 中文字幕一区不卡| 久久精品国产99国产精品| 欧美天堂一区二区三区| 国产日韩欧美电影| 国产精品2024| 日韩欧美国产精品一区| 亚洲不卡av一区二区三区| 91麻豆免费视频| 国产精品国模大尺度视频| 精品一二线国产| 日韩一区二区在线播放| 日韩国产欧美视频| 欧美日韩精品欧美日韩精品一 | 福利一区在线观看| 久久伊99综合婷婷久久伊| 麻豆成人免费电影| 日韩一区二区视频在线观看| 午夜久久久影院| 亚洲精品乱码久久久久久| 国产精一区二区三区| 精品欧美黑人一区二区三区| 日本不卡高清视频| 日韩一级在线观看| 国产一区 二区 三区一级| wwww国产精品欧美| 国产精品一区二区在线播放| 精品国产91乱码一区二区三区| 精品在线免费视频| 国产视频一区二区在线| 国产精品亚洲综合一区在线观看| 国产视频视频一区| 91网站视频在线观看| 亚洲宅男天堂在线观看无病毒| 欧美日韩在线一区二区| 日韩av在线免费观看不卡| 日韩一区和二区| 丰满白嫩尤物一区二区| 中文字幕亚洲区| 欧美日韩中文字幕精品| 美女www一区二区| 日本一区二区视频在线| 色婷婷av一区二区| 青青草成人在线观看| 久久久777精品电影网影网| 成人av网站在线观看免费| 一区二区不卡在线播放 | 粉嫩高潮美女一区二区三区| 国产精品国产成人国产三级| 在线视频一区二区三| 免费久久99精品国产| 国产精品欧美一级免费| 欧美三级在线看| 韩国三级中文字幕hd久久精品| 中文字幕乱码久久午夜不卡 | 国产精品传媒在线| 精品视频999| 国产.精品.日韩.另类.中文.在线.播放| 亚洲欧洲三级电影| 精品免费国产二区三区| 91女厕偷拍女厕偷拍高清| 美女网站视频久久| 亚洲精品福利视频网站| 精品三级av在线| 欧美性感一类影片在线播放| 国产高清不卡一区二区| 亚洲国产视频在线| 中文字幕乱码日本亚洲一区二区 | 亚洲欧美色一区| 欧美电影免费观看高清完整版 | 欧美日韩精品一区二区三区| 国产毛片精品一区| 日韩经典一区二区| 一区二区三区在线视频免费| 国产欧美日韩中文久久| 日韩视频一区二区| 欧美色网一区二区| 91亚洲国产成人精品一区二三| 国产一区二区三区久久悠悠色av| 亚洲一区二区中文在线| 亚洲免费av高清| 国产精品久久久久影院老司 | 亚洲人成精品久久久久久| 久久综合色一综合色88| 欧美一区二区三区性视频| 欧美性感一类影片在线播放| thepron国产精品| www.亚洲激情.com| 国产精一品亚洲二区在线视频| 天天射综合影视| 爽好久久久欧美精品| 午夜激情一区二区| 青青草原综合久久大伊人精品 | 国产91精品露脸国语对白| 精品一区二区在线看| 美腿丝袜亚洲色图| 久久91精品国产91久久小草| 久久精品免费观看| 国产乱码精品一区二区三区av | 日本午夜一本久久久综合| 亚洲午夜在线电影| 亚洲成人av在线电影| 亚洲v中文字幕| 麻豆免费精品视频| 精品一区二区三区影院在线午夜 | 92精品国产成人观看免费| 成人动漫中文字幕| 91欧美激情一区二区三区成人| 91最新地址在线播放| 欧美色图片你懂的| 欧美一级日韩免费不卡| 精品国产91九色蝌蚪| 国产精品美女久久久久高潮| 日韩美女视频一区| voyeur盗摄精品| 欧美中文字幕久久| 日韩一区二区三区精品视频| 久久综合给合久久狠狠狠97色69| 国产精品美女一区二区三区| 亚洲精品老司机| 麻豆精品国产传媒mv男同| 国产黄人亚洲片| 91社区在线播放| 欧美午夜精品免费| 337p日本欧洲亚洲大胆色噜噜| 国产精品美女久久久久av爽李琼| 亚洲一区二区三区国产| 久久国产免费看| 一本久久精品一区二区| 日韩三级伦理片妻子的秘密按摩| 国产午夜一区二区三区| 亚洲综合一区二区三区| 蜜臀av亚洲一区中文字幕| 成人丝袜视频网| 欧美日韩成人综合天天影院| 日本一区二区免费在线| 亚洲成人在线网站| 国产河南妇女毛片精品久久久| 欧美吻胸吃奶大尺度电影| 久久久午夜电影| 日本aⅴ免费视频一区二区三区| 成人性生交大片免费看在线播放| 欧美视频在线一区| 国产精品国产三级国产aⅴ入口| 亚洲一区二区三区四区不卡|