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

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

?? i2vd_drv.asm

?? 無刷直流電機的無傳感器控制TI程序
?? ASM
字號:
;===========================================================================
; File Name:	i2vd_drv.asm
;
; Module Name:  ILEG2_DCBUS_DRV
;
; Initialization Routine: ILEG2_DCBUS_DRV_INIT
;
; Originator:	Digital Control Systems Group
;			Texas Instruments
;
; Description:  Measure two line currents Ia and Ib. The line current Ic
;		        is calculated basing on the measured Ia and Ib. The DC-bus 
;  				voltage Vdc in the inverter is also measured.  	
;
;
;				    |~~~~~~~~~~~~~~~~~~~~~~|
;	 Ch_sel  	o---------->|  			   |
;	 Imeas_a_gain	o---------->|Q13   	   	   |
;	 Imeas_b_gain  	o---------->|Q13  		Q15|----->o Imeas_a
;	 Vdc_meas_gain	o---------->|Q13 ILEG2_DCBUS_DRV Q15|----->o Imeas_b
;	 Imeas_a_offset	o---------->|Q15 		Q15|----->o Imeas_c
;	 Imeas_b_offset	o---------->|Q15 		Q15|----->o Vdc_meas  
;	 Vdc_meas_offseto---------->|Q15 		   |
;				    |______________________|
;
; Notes: - The Ia and Ib are the bipolar signals (i.e., alternating signals)  
;          while the Vdc is the unipolar signal (i.e., direct signal). 
; 	   	 - The signals are converted to Q15 variables by means of 
;           * For Ia and Ib (bipolar case), XOR #8000h 
;           * For Vdc (unipolar case), SFR and AND #7FFFh
;		 - The raw ADC digitized data is 10-bit length but it is left 
;          justified in the 16-bit result register.    
;        - All ADC input signals are expected to be
;          	* For x24x,  0->5.0 volt 
;			* For x2407, 0->3.3 volt 
;
; Configuration info:
;		1. Imeas_x_gain/Vdc_meas_gain has range of -3.999999 --> +3.99999 (i.e. Q13)
;		2. Imeas_x_offset/Vdc_meas_offset has range of -0.999999 --> +0.99999 (i.e. Q15)
;		3. Imeas_x/Vdc_meas has range of -0.999999 --> +0.99999 (i.e. Q15)
;		   with:
;			1.0 x (VrefHi - VrefLo) = +0.999999 (7FFFh)
;			0.5 x (VrefHi - VrefLo) =  0        (0000/FFFFh)
;			0.0 x (VrefHi - VrefLo) = -0.999999 (8000h)
;	
;	Ch_sel HEX values vs Channels selected configuration as below 
;	_______________________________________________________________________
;	| Not used	| Vdc_meas selected	| Imeas_b selected | Imeas_a selected  | 
;	-----------------------------------------------------------------------
;	|   4 bit 	|       4 bit		|        4 bit 	   |      4 bit		   | 
;	-----------------------------------------------------------------------
;
;	For x240
;		Imeas_a/Vdc_meas select:	0,1,2...7	-->	Ch0,1,2,...7
;		Imeas_b			 select:	0,1,2...7	-->	Ch8,9,10,...15
;
;	For x243
;		Imeas_x/Vdc_meas select:	0,1,2...7	-->	Ch0,1,2,...7
;
;	For x2407
;		Imeas_x/Vdc_meas select:	0,1,2...F	-->	Ch0,1,2,...15
;
;	Default channels are configured as shown below:
;		Imeas_a		Channel 2
;		Imeas_b		Channel 3
;		Vdc_meas	Channel 13   
;		Not used	Channel 0
;		Ch_sel = 0D32h [Not used|Vdc_meas|Imeas_b|Imeas_a] 
;
; Note: the channel selection can be reconfigured at ILEG2_DCBUS_DRV_INIT
;
; Target dependency:	C2xx core only
;
;
;=====================================================================================
; History:       
;-------------------------------------------------------------------------------------
; 9-15-2000	Release	Rev 1.0
; (Caution !!) This mudule is tested only on x2407 (x24x does not work yet).
;===========================================================================
;(To use this Module, copy this section to main system file)
;		.ref	ILEG2_DCBUS_DRV, ILEG2_DCBUS_DRV_INIT		;function call	
;		.ref	Ch_sel, Imeas_a_gain, Imeas_b_gain, Vdc_meas_gain   	;Inputs
;		.ref	Imeas_a_offset, Imeas_b_offset, Vdc_meas_offset         ;Inputs
;		.ref	Imeas_a, Imeas_b, Imeas_c, Vdc_meas			;Outputs
;===========================================================================
;Module definitions for external reference.
		.def	ILEG2_DCBUS_DRV, ILEG2_DCBUS_DRV_INIT		;function call	
		.def	Ch_sel, Imeas_a_gain, Imeas_b_gain, Vdc_meas_gain   	;Inputs
		.def	Imeas_a_offset, Imeas_b_offset, Vdc_meas_offset         ;Inputs
		.def	Imeas_a, Imeas_b, Imeas_c, Vdc_meas			;Outputs
;===========================================================================
;CH_SEL_		.set		0D32h		; for ch_sel (EVM2407) 
CH_SEL_		.set		0710h		; for ch_sel  (eZdsp2407)

			.include	x24x_app.h
            
Ch_sel  		.usect	"i2vd_drv",1
Imeas_a_gain	.usect	"i2vd_drv",1
Imeas_b_gain	.usect	"i2vd_drv",1
Vdc_meas_gain  	.usect	"i2vd_drv",1
Imeas_a_offset	.usect	"i2vd_drv",1
Imeas_b_offset	.usect	"i2vd_drv",1
Vdc_meas_offset	.usect	"i2vd_drv",1
Imeas_a			.usect	"i2vd_drv",1
Imeas_b			.usect	"i2vd_drv",1
Imeas_c			.usect	"i2vd_drv",1
Vdc_meas		.usect	"i2vd_drv",1
GPR0adc			.usect	"i2vd_drv",1
GPR1adc			.usect	"i2vd_drv",1

;=========================
ILEG2_DCBUS_DRV_INIT:
;=========================
		LDP		#Ch_sel				 
		SPLK	#CH_SEL_,Ch_sel		;three default channels to Ch 13,3,2
		SPLK	#1FFFh, Imeas_a_gain		;Init with gain of 1
		SPLK	#1FFFh, Imeas_b_gain		;Init with gain of 1
		SPLK	#1FFFh, Vdc_meas_gain		;Init with gain of 1
		SPLK	#0h, Imeas_a_offset			;Init with no offset
		SPLK	#0h, Imeas_b_offset			;Init with no offset
		SPLK	#0h, Vdc_meas_offset		;Init with no offset


		LDP		#GPTCON>>7			; Set T1 underflow (EVA) as ADC trigger 
		LACC	GPTCON
		AND		#0FE7Fh
		OR		#0080h
		SACL	GPTCON

;---target dependancy---------------
	.if (x240|x243)	;target dependancy

        LDP		#Ch_sel
        LACC	Ch_sel,1
        AND		#000Eh
        SACL	GPR0adc
        LACC	Ch_sel
        AND		#0070h
        OR		GPR0adc
        OR		#1111100100000000b
			    ;!!!!||||!!!!||||
			    ;5432109876543210        
		LDP		#ADC_CNTL1>>7
		SACL 	ADC_CNTL1			;Ch0 (Imeas_a) & Ch1 (Imeas_b)
		
	; ADC_CNTL2 need to be checked with x243
		LDP		#ADC_CNTL2>>7
				;5432109876543210
				;!!!!||||!!!!||||
		SPLK	#0000000000000010b, ADC_CNTL2	; 	
            
	.endif
;-----------------------------------

;---target dependancy---------------
	.if (x2407)	;target dependancy

		LDP		#CALIBRATION>>7
		SPLK	#0, CALIBRATION			;Zero the Cal reg.
		SPLK	#0100000000000000b,ADCL_CNTL1	;Reset entire Module
;		SPLK	#0010000000010000b,ADCL_CNTL1 ;Acq = 2 x Clks (CPS=0)
		SPLK	#0010000100010000b,ADCL_CNTL1 ;Acq = 4 x Clks (CPS=0)
;		SPLK	#0010001000010000b,ADCL_CNTL1 ;Acq = 6 x Clks (CPS=0)
;		SPLK	#0010001100010000b,ADCL_CNTL1 ;Acq = 8 x Clks (CPS=0)
				;||||!!!!||||!!!!			;Cascaded mode	
				;5432109876543210

;		SPLK	#0010000000000010b,ADCL_CNTL2 ;Allow Software to start conversion
		SPLK	#0000001100000010b,ADCL_CNTL2 ;Allow EVA to start conversion
				;||||!!!!||||!!!!				
				;5432109876543210

		SPLK	#2, MAXCONV				;Setup for 3 conversions
        BLDD	#Ch_sel,CHSELSEQ1       ;Configure channel select
		
	.endif
		
		RET

;-----------------------------------

;=========================
ILEG2_DCBUS_DRV:
;========================= 
;---target dependancy---------------
	.if (x240|x243)			;target dependancy      
	
		SETC	SXM			; Sign extension mode on
		SETC	OVM         ; Set overflow mode
		SPM		0           ; Reset product mode
		
		LDP		#ADC_CNTL1>>7
WAIT
		BIT		ADC_CNTL1,BIT7	; Check ADCEOC bit
		BCND	WAIT,TC			;

	;Read 1st converted value
	;Read ADC1 (Imeas_a)
		LACC	ADC_FIFO1		;Ch0 (default) is for Imeas_a (i.e. Phase U)
		XOR		#8000h			;Convert to Q15 (Bipolar signal)
		LDP		#Imeas_a
		SACL	Imeas_a
        LT		Imeas_a_gain		;Imeas_a_gain in Q13
 		MPY		Imeas_a				;Q13 x Q15 = Q28
 		PAC
 		ADD		Imeas_a_offset,13	;add offset in Q28
		NEG							;Positive direction, current flows to motor 
		SACH	Imeas_a,3			;convert final result to Q15  		        
	
	;Read 2nd converted value        
	;Read ADC2 (Imeas_b)
		LDP		#ADC_FIFO2>>7	
		LACC	ADC_FIFO2		;Ch1 (default) is for Imeas_b (i.e. Phase V)
		XOR		#8000h			;Convert to Q15 (Bipolar signal)
		LDP		#Imeas_b
		SACL	Imeas_b
        LT		Imeas_b_gain		;Imeas_b_gain in Q13
 		MPY		Imeas_b				;Q13 x Q15 = Q28
 		PAC
 		ADD		Imeas_b_offset,13	;add offset in Q28
		NEG							;Positive direction, current flows to motor
		SACH	Imeas_b,3			;convert final result to Q15          
                
	;Calculate Imeas_c
 		LACC	Imeas_a			;Calculated value for Imeas_c (i.e. Phase W)
		ADD		Imeas_b 		;ACC = Imeas_a + Imeas_b
		NEG						;ACC = - (Imeas_a + Imeas_b)
		SACL	Imeas_c 		;Imeas_c = - (Imeas_a + Imeas_b)

		CLRC	SXM             ; Sign extension mode off
			
	;Read 3rd converted value
	;Read ADC1 (Vdc_meas)
		LDP		#ADC_FIFO1>>7
		LACC	ADC_FIFO1		;Ch2 (default) is for DC_bus voltage 
		SFR						;Q15 conversion for Vdc_meas (Unipolar signal)
		LDP		#Vdc_meas          
		SACL	Vdc_meas            
        LT		Vdc_meas_gain		;Vdc_meas_gain in Q13
 		MPY		Vdc_meas				;Q13 x Q15 = Q28
 		PAC
 		ADD		Vdc_meas_offset,13	;add offset in Q28
		SACH	Vdc_meas,3			;convert final result to Q15  
		
	; Reconfigure channel select (Imeas_a and Imeas_b)
START_NXT
        LDP		#Ch_sel
        LACC	Ch_sel,1
        AND		#000Eh
        SACL	GPR0adc
        LACC	Ch_sel
        AND		#0070h
        OR		GPR0adc
        OR		#1111100100000000b
			    ;!!!!||||!!!!||||
			    ;5432109876543210        
		LDP		#ADC_CNTL1>>7
		SACL 	ADC_CNTL1			;Ch0 (Imeas_a) & Ch1 (Imeas_b)
 	
 	; Reconfigure channel select (Vdc_meas only)
        LDP		#Ch_sel
        LACC	Ch_sel,9
        AND		#000Eh,16
        SACL	GPR0adc
        LACC	Ch_sel,8
        AND		#0070h,16
        SACH	GPR1adc
        LACC	GPR1adc
        OR		GPR0adc      
        OR		#1111100100000000b
			    ;!!!!||||!!!!||||
			    ;5432109876543210        
		LDP		#ADC_CNTL1>>7
		SACL 	ADC_CNTL1			;Ch2 (Vdc_meas) & Ch0 (not used here)
            
	.endif
;-----------------------------------

;---target dependancy---------------
	.if (x2407)	;target dependancy

		SETC	SXM			; Sign extension mode on
		SETC	OVM         ; Set overflow mode
		SPM		0           ; Reset product mode
 		
 		LDP		#ADCL_CNTL2>>7		 
WAIT
		BIT		ADCL_CNTL2,BIT12	;  Check SEQ_BSY bit
		BCND	WAIT,TC		;

   	;Read 1st converted value  (Imeas_a)
		LACC	ADC_RESULT0			;Ch0 (default) is for Imeas_a (i.e. Phase U)
		XOR		#8000h				;Convert to Q15 (Bipolar signal)
		LDP		#Imeas_a
		SACL	Imeas_a
        LT		Imeas_a_gain		;Imeas_a_gain in Q13
 		MPY		Imeas_a				;Q13 x Q15 = Q28
 		PAC
 		ADD		Imeas_a_offset,13	;add offset in Q28
		NEG							;Positive direction, current flows to motor
		SACH	Imeas_a,3			;convert final result to Q15  	

	;Read 2nd converted value  (Imeas_b)
		LDP	#ADC_RESULT1>>7
		LACC	ADC_RESULT1  	;Ch1 (default) is for Imeas_b (i.e. Phase V)
		XOR		#8000h		;Convert to Q15 (Bipolar signal)
		LDP		#Imeas_b
		SACL	Imeas_b
        LT		Imeas_b_gain		;Imeas_a_gain in Q13
 		MPY		Imeas_b				;Q13 x Q15 = Q28
 		PAC
 		ADD		Imeas_b_offset,13	;add offset in Q28
		NEG							;Positive direction, current flows to motor	
		SACH	Imeas_b,3			;convert final result to Q15 

	;Calculate Imeas_c
 		LACC	Imeas_a			;Calculated value for Imeas_c (i.e. Phase W)
		ADD		Imeas_b 		;ACC = Imeas_a + Imeas_b
		NEG						;ACC = - (Imeas_a + Imeas_b)
		SACL	Imeas_c 		;Imeas_c = - (Imeas_a + Imeas_b)

	;Read 3rd converted value  (Vdc_meas)
		LDP		#ADC_RESULT2>>7
		LACC	ADC_RESULT2 	;Ch2 (default) is for DC_bus voltage
		SFR						;Convert to Q15 (Unipolar signal)		
		AND		#7FFFh			;Convert to Q15 (Unipolar signal) 
		LDP		#Vdc_meas          
		SACL	Vdc_meas     		
		LT		Vdc_meas_gain		;Vdc_meas_gain in Q13
 		MPY		Vdc_meas				;Q13 x Q15 = Q28
 		PAC
 		ADD		Vdc_meas_offset,13	;add offset in Q28
		SACH	Vdc_meas,3			;convert final result to Q15  

	; Reconfigure channel select
START_NXT
		LDP		#CHSELSEQ1>>7
 		BLDD	#Ch_sel,CHSELSEQ1     ;Configure channel select
        
;  		SPLK	#0010000000000010b,ADCL_CNTL2 ;Allow Software to start conversion
				;||||!!!!||||!!!!				
				;5432109876543210
	.endif                      
		CLRC	SXM
		
		RET
;-----------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精选一区二区| 成人免费视频播放| 美女网站一区二区| 狠狠色丁香婷婷综合久久片| 久久精品国产亚洲aⅴ| 极品少妇xxxx精品少妇偷拍| 成人午夜视频免费看| 91福利区一区二区三区| 欧美日韩国产欧美日美国产精品| 91精品中文字幕一区二区三区| 色就色 综合激情| 精品视频资源站| 精品裸体舞一区二区三区| 亚洲国产精品99久久久久久久久| 一区二区三区欧美| 美女一区二区在线观看| 99久久精品国产精品久久| 欧美老女人在线| 中文字幕中文乱码欧美一区二区| 亚洲视频电影在线| 精品午夜久久福利影院| 在线免费观看日本一区| 国产精品国产自产拍高清av王其| 日韩电影一二三区| 在线视频欧美区| 中文字幕+乱码+中文字幕一区| 男人操女人的视频在线观看欧美| 波多野结衣中文字幕一区二区三区| 欧洲精品一区二区| 一区二区三区国产精华| 粉嫩av一区二区三区在线播放| 日韩精品中文字幕在线不卡尤物| 亚洲另类春色国产| 色综合天天综合网国产成人综合天| 久久久久久久国产精品影院| 免费在线观看不卡| 欧美精品一区二区在线播放 | 亚洲第四色夜色| 色综合亚洲欧洲| 亚洲一区二区综合| 欧美性猛片xxxx免费看久爱| 亚洲va欧美va天堂v国产综合| 色哟哟一区二区在线观看 | 久久97超碰色| 精品国产制服丝袜高跟| 黑人精品欧美一区二区蜜桃 | 美美哒免费高清在线观看视频一区二区| 在线免费观看日本欧美| 免费成人美女在线观看.| 欧美成人免费网站| 97se亚洲国产综合自在线| 亚洲精品国久久99热| 91精品国产91久久综合桃花| 美女看a上一区| 国产精品乱人伦| 在线亚洲人成电影网站色www| 日本欧美肥老太交大片| 国产欧美日韩另类一区| 欧美亚洲免费在线一区| 蜜桃av一区二区| 亚洲精品欧美激情| 久久亚洲一级片| 欧美日韩一区二区欧美激情| 国产一区二区伦理| 天堂成人国产精品一区| 国产精品色婷婷| 精品国产一区二区三区久久影院| 91伊人久久大香线蕉| 国产在线精品免费| 视频在线在亚洲| 亚洲欧美区自拍先锋| 日本一区二区免费在线| 精品电影一区二区三区| 欧美日韩国产大片| 色综合天天综合网国产成人综合天| 国产综合色精品一区二区三区| 亚洲成人免费视频| 夜夜操天天操亚洲| 亚洲特黄一级片| 亚洲视频一区在线| 亚洲视频资源在线| 亚洲男人的天堂网| 亚洲精品视频自拍| 亚洲一区二区四区蜜桃| 亚洲午夜久久久久久久久电影院 | 国产suv精品一区二区三区| 精品一区二区三区影院在线午夜| 伦理电影国产精品| 国产美女一区二区| 国产成人精品午夜视频免费| 国产成人av电影在线| 高清不卡在线观看| 色国产精品一区在线观看| 欧美日韩高清在线| 国产欧美一区二区精品性| 国产精品日产欧美久久久久| 亚洲免费观看视频| 蜜桃一区二区三区在线| 国产成人av一区二区三区在线| 99视频精品全部免费在线| 欧美在线免费视屏| 久久精品亚洲乱码伦伦中文| 亚洲国产精品传媒在线观看| 国产精品久久久久久妇女6080 | 成人国产一区二区三区精品| 久久69国产一区二区蜜臀| 国产在线不卡一区| 91亚洲午夜精品久久久久久| 欧美日韩国产另类一区| 久久精品人人做人人综合| 有码一区二区三区| 亚洲午夜精品17c| 久久av中文字幕片| 99精品欧美一区二区三区小说| 欧美三级电影一区| 国产校园另类小说区| 国产欧美日产一区| 亚洲成人免费影院| av高清不卡在线| 日韩欧美专区在线| 日韩一区在线看| 国产一区二区看久久| 5858s免费视频成人| 亚洲色图第一区| 久久se这里有精品| 精品视频全国免费看| 国产精品久久久久aaaa樱花| 日产国产高清一区二区三区| 91浏览器打开| 亚洲视频一二区| eeuss鲁片一区二区三区在线看| 精品国产区一区| 亚洲一区日韩精品中文字幕| 99re这里只有精品6| 日本一区二区免费在线观看视频| 亚洲综合色自拍一区| 在线亚洲人成电影网站色www| 综合中文字幕亚洲| 91国产免费看| 婷婷开心激情综合| 欧美日韩一级大片网址| 丝袜美腿一区二区三区| 91精品福利在线一区二区三区 | 国产在线观看一区二区| 久久久久久97三级| 99精品国产热久久91蜜凸| 亚洲精品综合在线| 欧美日韩你懂得| 亚洲一区二区三区在线看| 91成人免费在线| 精久久久久久久久久久| 亚洲国产精品99久久久久久久久 | av网站免费线看精品| 亚洲高清在线视频| 精品成人一区二区| 波波电影院一区二区三区| 一区二区三区毛片| 日韩午夜激情电影| 91麻豆免费视频| 日韩精品久久久久久| 日本一区二区免费在线观看视频| 欧美专区日韩专区| 国产成人亚洲综合a∨婷婷图片 | 男人的j进女人的j一区| 亚洲国产精品成人久久综合一区| 欧美色国产精品| 美女脱光内衣内裤视频久久网站| 国产亚洲欧洲997久久综合 | 欧洲视频一区二区| 国产精品69毛片高清亚洲| 亚洲一区二区三区激情| 亚洲国产精品精华液ab| 国产高清久久久久| 亚洲主播在线播放| ...xxx性欧美| 日韩精品在线一区二区| 91久久精品网| 色av成人天堂桃色av| 99视频精品在线| 极品美女销魂一区二区三区| 国产精品久久久久婷婷| 欧美国产精品中文字幕| 久久综合色天天久久综合图片| av激情成人网| 亚洲欧美自拍偷拍| 成人美女在线视频| 亚洲成av人片一区二区梦乃| 国产亚洲一区二区三区在线观看| 精品日产卡一卡二卡麻豆| 欧美精品一区二区三区高清aⅴ| 日韩一级完整毛片| 久久精品日韩一区二区三区| 欧洲一区在线观看| 欧美日韩中文字幕一区| 日韩精品一区二区三区中文不卡 | 久久久精品免费网站| 国产无一区二区| 亚洲国产成人一区二区三区| 亚洲免费观看高清在线观看| 午夜精品久久久久|