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

📄 vfmrasti.asm

📁 本程序来自TI公司网站原程序,其功能是通过传统的V/F控制算法并加上对电机的转子速度辨识即无速度传感器控制来实现对感应电机的控制,控制程序可以采用.asm也可以采用.C。程序的具体算法和介绍在软件压缩
💻 ASM
字号:
*******************************************************
* TMS320C24xx ANSI C Codegen Version 7.02       
*******************************************************
;	dspac -i../../../../rtmon/ -i../include -i../../../../lib/dmclib/clib/include -i../../../../lib/drvlib/clib/include -v2xx -iC:/t
;	dspopt NOT RUN
;	dspcg -o -v2xx -o C:\WINDOWS\TEMP\vfmrasti.if C:\WINDOWS\TEMP\vfmrasti.asm C:\WINDOWS\TEMP\vfmrasti.tmp 
	.port
	.file	"vfmrasti.c"
	.file	"../../../../lib/dmclib/clib/include\Vhzprof.h"

	.stag	.fake0,128
	.member	_freq,0,4,8,16
	.member	_fl,16,4,8,16
	.member	_fh,32,4,8,16
	.member	_slope,48,4,8,16
	.member	_vmax,64,4,8,16
	.member	_vmin,80,4,8,16
	.member	_vout,96,4,8,16
	.member	_calc,112,148,8,16
	.eos
	.sym	_VHZPROFILE,0,8,13,128,.fake0
	.globl	_Vhz_Profile_Calculate
	.file	"../../../../lib/dmclib/clib/include\svgen.h"

	.stag	.fake1,144
	.member	_gain,0,4,8,16
	.member	_freq,16,4,8,16
	.member	_freq_max,32,4,8,16
	.member	_alpha,48,4,8,16
	.member	_sector,64,4,8,16
	.member	_va,80,4,8,16
	.member	_vb,96,4,8,16
	.member	_vc,112,4,8,16
	.member	_calc,128,148,8,16
	.eos
	.sym	_SVGENMF,0,8,13,144,.fake1
	.sym	_SVGENMF_handle,0,24,13,16,.fake1

	.stag	.fake2,96
	.member	_d,0,4,8,16
	.member	_q,16,4,8,16
	.member	_va,32,4,8,16
	.member	_vb,48,4,8,16
	.member	_vc,64,4,8,16
	.member	_calc,80,148,8,16
	.eos
	.sym	_SVGENDQ,0,8,13,96,.fake2
	.sym	_SVGENDQ_handle,0,24,13,16,.fake2
	.globl	_svgenmf_calc
	.globl	_svgendq_calc
	.file	"../../../../lib/dmclib/clib/include\volt_cal.h"

	.stag	.fake3,160
	.member	_DC_bus,0,4,8,16
	.member	_Mfunc_V1,16,4,8,16
	.member	_Mfunc_V2,32,4,8,16
	.member	_Mfunc_V3,48,4,8,16
	.member	_Vphase_A,64,4,8,16
	.member	_Vphase_B,80,4,8,16
	.member	_Vphase_C,96,4,8,16
	.member	_Vdirect,112,4,8,16
	.member	_Vquadra,128,4,8,16
	.member	_calc,144,148,8,16
	.eos
	.sym	_PHASEVOLTAGE,0,8,13,160,.fake3
	.globl	_phase_voltage_calc
	.file	"../../../../lib/dmclib/clib/include\pid_reg1.h"

	.stag	.fake4,192
	.member	_pid_ref_reg1,0,4,8,16
	.member	_pid_fb_reg1,16,4,8,16
	.member	_Kp_reg1,32,4,8,16
	.member	_Ki_high_reg1,48,4,8,16
	.member	_Ki_low_reg1,64,4,8,16
	.member	_Kd_reg1,80,4,8,16
	.member	_pid_out_max,96,4,8,16
	.member	_pid_out_min,112,4,8,16
	.member	_pid_e1_reg1,128,4,8,16
	.member	_pid_e2_reg1,144,4,8,16
	.member	_pid_out_reg1,160,4,8,16
	.member	_calc,176,148,8,16
	.eos
	.sym	_PIDREG1,0,8,13,192,.fake4
	.globl	_pid_reg1_calc
	.file	"../../../../lib/dmclib/clib/include\aci_mras.h"

	.stag	.fake5,528
	.member	_ualfa_mras,0,4,8,16
	.member	_ubeta_mras,16,4,8,16
	.member	_ialfa_mras,32,4,8,16
	.member	_ibeta_mras,48,4,8,16
	.member	_ialfa_old,64,4,8,16
	.member	_ibeta_old,80,4,8,16
	.member	_imalfa_old_high,96,4,8,16
	.member	_imalfa_old_low,112,4,8,16
	.member	_imbeta_old_high,128,4,8,16
	.member	_imbeta_old_low,144,4,8,16
	.member	_imalfa_high,160,4,8,16
	.member	_imalfa_low,176,4,8,16
	.member	_imbeta_high,192,4,8,16
	.member	_imbeta_low,208,4,8,16
	.member	_ealfa,224,4,8,16
	.member	_ebeta,240,4,8,16
	.member	_q,256,4,8,16
	.member	_q_hat,272,4,8,16
	.member	_error,288,4,8,16
	.member	_K1,304,4,8,16
	.member	_K2,320,4,8,16
	.member	_K3,336,4,8,16
	.member	_K4,352,4,8,16
	.member	_K5,368,4,8,16
	.member	_K6,384,4,8,16
	.member	_K7,400,4,8,16
	.member	_Kp,416,4,8,16
	.member	_Ki_high,432,4,8,16
	.member	_Ki_low,448,4,8,16
	.member	_base_rpm,464,4,8,16
	.member	_wr_hat_mras,480,4,8,16
	.member	_wr_hat_rpm_mras,496,4,8,16
	.member	_calc,512,148,8,16
	.eos
	.sym	_ACIMRAS,0,8,13,528,.fake5
	.globl	_aci_mras_calc
	.file	"../../../../lib/dmclib/clib/include\box_car.h"

	.stag	.fake6,1104
	.member	_BC_IN,0,4,8,16
	.member	_BC_PTR,16,4,8,16
	.member	_BC_BUFFER,32,52,8,1024,,64
	.member	_BC_OUT,1056,4,8,16
	.member	_bc_scaler,1072,4,8,16
	.member	_calc,1088,148,8,16
	.eos
	.sym	_BOXCAR,0,8,13,1104,.fake6
	.globl	_bc_calc
	.file	"../../../../lib/dmclib/clib/include\rmp_cntl.h"

	.stag	.fake7,128
	.member	_target_value,0,4,8,16
	.member	_rmp_dly_max,16,4,8,16
	.member	_rmp_lo_limit,32,4,8,16
	.member	_rmp_hi_limit,48,4,8,16
	.member	_rmp_delay_cntl,64,4,8,16
	.member	_setpt_value,80,4,8,16
	.member	_s_eq_t_flg,96,4,8,16
	.member	_calc,112,148,8,16
	.eos
	.sym	_RMPCNTL,0,8,13,128,.fake7
	.globl	_rmp_cntl_calc
	.file	"../include\vfmrasti.h"

	.stag	.fake8,48
	.member	_a,0,4,8,16
	.member	_b,16,4,8,16
	.member	_c,32,4,8,16
	.eos
	.sym	_triad,0,8,13,48,.fake8

	.stag	.fake9,32
	.member	_d,0,4,8,16
	.member	_q,16,4,8,16
	.eos
	.sym	_dq,0,8,13,32,.fake9

	.stag	.fake10,2624
	.member	_GPR0,0,4,8,16
	.member	_GPR1,16,4,8,16
	.member	_GPR2,32,4,8,16
	.member	_freq_testing,48,4,8,16
	.member	_freq_testing_rpm,64,4,8,16
	.member	_speed_ref,80,4,8,16
	.member	_speed_ref_rpm,96,4,8,16
	.member	_syn_speed,112,4,8,16
	.member	_cl_flag,128,4,8,16
	.member	_Vbus,144,4,8,16
	.member	_current_abc,160,8,8,48,.fake8
	.member	_current_dq,208,8,8,32,.fake9
	.member	_vhzprof,240,8,8,128,.fake0
	.member	_svgen,368,8,8,144,.fake1
	.member	_volt,512,8,8,160,.fake3
	.member	_pid,672,8,8,192,.fake4
	.member	_mras,864,8,8,528,.fake5
	.member	_bc,1392,8,8,1104,.fake6
	.member	_rmpc,2496,8,8,128,.fake7
	.eos
	.sym	_VFMRAS_TI,0,8,13,2624,.fake10
	.sym	_VFMRAS_TI_handle,0,24,13,16,.fake10
	.globl	_VFMRAS_TI_Init
	.globl	_VFMRAS_TI_Run
	.globl	_mul_q
	.file	"vfmrasti.c"
	.text

	.sym	_VFMRAS_TI_Init,_VFMRAS_TI_Init,32,2,0
	.globl	_VFMRAS_TI_Init

	.func	32
;>>>> 	void VFMRAS_TI_Init(VFMRAS_TI_handle v)
******************************************************
* FUNCTION DEF : _VFMRAS_TI_Init
******************************************************
_VFMRAS_TI_Init:

LF1	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR2

	.sym	_v,-3+LF1,24,9,16,.fake10
	.line	2
	.line	17
;>>>> 	    v->vhzprof.vmin = 6553;        
	LARK	AR2,-3+LF1
	MAR	*0+
	LAR	AR3,* ,AR3
	ADRK	20
	SPLK	#6553,*-
	.line	18
;>>>> 	    v->vhzprof.vmax = 31129;        
	SPLK	#31129,* 
	.line	19
;>>>> 	    v->vhzprof.fl   = 6553;        
	SBRK	3
	SPLK	#6553,*+
	.line	20
;>>>> 	    v->vhzprof.fh   = 16384;        
	SPLK	#16384,*+
	.line	21
;>>>> 	    v->vhzprof.slope= 10243; 
	SPLK	#10243,* ,AR1
EPI0_1:
	.line	23
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	54,000000000H,1

	.sym	_VFMRAS_TI_Run,_VFMRAS_TI_Run,32,2,0
	.globl	_VFMRAS_TI_Run

	.func	275
;>>>> 	void VFMRAS_TI_Run(VFMRAS_TI_handle v)
******************************************************
* FUNCTION DEF : _VFMRAS_TI_Run
******************************************************
_VFMRAS_TI_Run:

LF2	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR2

	.sym	_v,-3+LF2,24,9,16,.fake10
	.line	2
	.line	7
;>>>> 	    v->vhzprof.freq = v->freq_testing;  
	LARK	AR2,-3+LF2
	MAR	*0+
	LAR	AR3,* 
	LAR	AR4,* ,AR3
	ADRK	3
	LAC	* ,AR4
	ADRK	15
	SACL	* ,AR2
	.line	12
;>>>> 	    v->vhzprof.calc((void *)&v->vhzprof); 	/* Call VHZPROFILE compute function */
	LAC	* ,AR1
	ADDK	15
	SACL	*+,AR3
	ADRK	19
	LAC	* ,AR1
	CALA
	MAR	*-
EPI0_2:
	.line	14
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	288,000000000H,1
	.end

⌨️ 快捷键说明

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