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

📄 bldc_ti.asm

📁 无刷直流电机的无传感器控制TI程序
💻 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 D:\DOCUME~1\Jason\LOCALS~1\Temp\bldc_ti.if D:\DOCUME~1\Jason\LOCALS~1\Temp\bldc_ti.asm D:\DOCUME~1\Jason\LOCALS~1\Temp\bldc_ti.tmp 
	.port
	.file	"bldc_ti.c"
	.file	"../../../../lib/dmclib/clib/include\mod6.h"

	.stag	.fake0,48
	.member	_trig_in,0,4,8,16
	.member	_cntr,16,4,8,16
	.member	_calc,32,148,8,16
	.eos
	.sym	_MOD6CNT,0,8,13,48,.fake0
	.sym	_MOD6CNT_handle,0,24,13,16,.fake0
	.globl	_mod6cnt_calc
	.file	"../../../../lib/dmclib/clib/include\pid2.h"

	.stag	.fake1,208
	.member	_fb_reg2,0,4,8,16
	.member	_ref_reg2,16,4,8,16
	.member	_k0_reg2,32,4,8,16
	.member	_k1_reg2,48,4,8,16
	.member	_kc_reg2,64,4,8,16
	.member	_un_reg2,80,4,8,16
	.member	_en0_reg2,96,4,8,16
	.member	_upi_reg2,112,4,8,16
	.member	_epi_reg2,128,4,8,16
	.member	_max_reg2,144,4,8,16
	.member	_min_reg2,160,4,8,16
	.member	_out_reg2,176,4,8,16
	.member	_calc,192,148,8,16
	.eos
	.sym	_PID2,0,8,13,208,.fake1
	.sym	_PID2_handle,0,24,13,16,.fake1
	.globl	_pid2_calc
	.file	"../../../../lib/dmclib/clib/include\impl.h"

	.stag	.fake2,64
	.member	_period,0,4,8,16
	.member	_out,16,4,8,16
	.member	_skpcnt,32,4,8,16
	.member	_calc,48,148,8,16
	.eos
	.sym	_IMPULSE,0,8,13,64,.fake2
	.sym	_IMPULSE_handle,0,24,13,16,.fake2
	.globl	_impulse_calc
	.file	"../../../../lib/dmclib/clib/include\rmp2.h"

	.stag	.fake3,112
	.member	_max,0,4,8,16
	.member	_min,16,4,8,16
	.member	_dly,32,4,8,16
	.member	_delay_cntr,48,4,8,16
	.member	_desired,64,4,8,16
	.member	_out,80,4,8,16
	.member	_calc,96,148,8,16
	.eos
	.sym	_RMP2,0,8,13,112,.fake3
	.sym	_RMP2_handle,0,24,13,16,.fake3
	.globl	_rmp2_calc
	.file	"../../../../lib/dmclib/clib/include\rmp3.h"

	.stag	.fake4,112
	.member	_desired,0,4,8,16
	.member	_dly,16,4,8,16
	.member	_dly_cntr,32,4,8,16
	.member	_min,48,4,8,16
	.member	_out,64,4,8,16
	.member	_done_flg,80,4,8,16
	.member	_calc,96,148,8,16
	.eos
	.sym	_RMP3,0,8,13,112,.fake4
	.sym	_RMP3_handle,0,24,13,16,.fake4
	.globl	_rmp3_calc
	.file	"../../../../lib/dmclib/clib/include\cmtn.h"

	.stag	.fake5,304
	.member	_trig,0,4,8,16
	.member	_va,16,4,8,16
	.member	_vb,32,4,8,16
	.member	_vc,48,4,8,16
	.member	_zc_trig,64,4,8,16
	.member	_ptr_ct,80,4,8,16
	.member	_debug_Bemf,96,4,8,16
	.member	_noise_windowCntr,112,4,8,16
	.member	_d30_doneFlg,128,4,8,16
	.member	_time_stampNew,144,4,8,16
	.member	_time_stampOld,160,4,8,16
	.member	_v_timer,176,4,8,16
	.member	_delay,192,4,8,16
	.member	_dt_taskFlg,208,4,8,16
	.member	_noise_windowMax,224,4,8,16
	.member	_delay_cntr,240,4,8,16
	.member	_cdnw_delta,256,4,8,16
	.member	_nw_dynThold,272,4,8,16
	.member	_calc,288,148,8,16
	.eos
	.sym	_CMTN,0,8,13,304,.fake5
	.sym	_CMTN_handle,0,24,13,16,.fake5
	.globl	_cmtn_trig_calc
	.file	"../include\bldc_ti.h"

	.stag	.fake6,976
	.member	_cmtn_period_target,0,4,8,16
	.member	_cmtn_period_setpt,16,4,8,16
	.member	_ramp_delay,32,4,8,16
	.member	_I_loop_flg,48,4,8,16
	.member	_D_func_desired,64,4,8,16
	.member	_sp_up_done_flg,80,4,8,16
	.member	_current_set,96,4,8,16
	.member	_align_flag,112,4,8,16
	.member	_impl,128,8,8,64,.fake2
	.member	_mod6,192,8,8,48,.fake0
	.member	_rmp3,240,8,8,112,.fake4
	.member	_cmtn,352,8,8,304,.fake5
	.member	_pid2,656,8,8,208,.fake1
	.member	_rmp2,864,8,8,112,.fake3
	.eos
	.sym	_BLDC_TI,0,8,13,976,.fake6
	.sym	_BLDC_TI_handle,0,24,13,16,.fake6
	.globl	_BLDC_TI_Init
	.globl	_BLDC_TI_Run
	.file	"bldc_ti.c"
	.text

	.sym	_BLDC_TI_Init,_BLDC_TI_Init,32,2,0
	.globl	_BLDC_TI_Init

	.func	44
;>>>> 	void BLDC_TI_Init(BLDC_TI_handle v)
******************************************************
* FUNCTION DEF : _BLDC_TI_Init
******************************************************
_BLDC_TI_Init:

LF1	.set	0

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

	.sym	_v,-3+LF1,24,9,16,.fake6
	.line	2
	.line	3
;>>>> 	     v->cmtn_period_setpt=0x0500;
	LARK	AR2,-3+LF1
	MAR	*0+
	LAR	AR3,* ,AR3
	MAR	*+
	SPLK	#1280,* 
	.line	5
;>>>> 	     v->rmp2.out = ALIGN_DUTY;
	ADRK	58
	SPLK	#3072,* 
	.line	6
;>>>> 	     v->rmp2.dly = 0x0050;
	LACK	80
	SBRK	3
	SACL	* 
	.line	7
;>>>> 	     v->rmp2.max = 0x7ff0;
	SBRK	2
	SPLK	#32752,*+
	.line	8
;>>>> 	     v->rmp2.min = 0x000f;
	LACK	15
	SACL	* ,AR2
	.line	10
;>>>> 	     v->rmp3.desired = v->cmtn_period_target;
	LAR	AR4,* ,AR3
	SBRK	55
	LAC	* ,AR4
	ADRK	15
	SACL	* ,AR3
	.line	11
;>>>> 	     v->rmp3.dly = v->ramp_delay;
	ADRK	2
	LAC	*-,AR4
	MAR	*+
	SACL	* ,AR3
	.line	12
;>>>> 	     v->rmp3.out = v->cmtn_period_setpt;
	LAC	* ,AR4
	ADRK	3
	SACL	* ,AR3
	.line	13
;>>>> 	     v->rmp3.min = 0x0050;
	LACK	80
	ADRK	17
	SACL	* 
	.line	15
;>>>> 	     v->cmtn.nw_dynThold = 0x000f;
	LACK	15
	ADRK	21
	SACL	*-
	.line	16
;>>>> 	     v->cmtn.cdnw_delta = 0x0002;
	LACK	2
	SACL	* ,AR4
	.line	17
;>>>> 	     v->cmtn.noise_windowMax =
;>>>> 	     v->cmtn.nw_dynThold - v->cmtn.cdnw_delta;
	ADRK	20
	LAC	* ,AR3
	SUB	* 
	SBRK	2
	SACL	* 
	.line	20
;>>>> 	     v->pid2.max_reg2 = 0x7000;    /* Q15                           */
	ADRK	14
	SPLK	#28672,*+
	.line	21
;>>>> 	     v->pid2.min_reg2 = 0x0000;    /* Q15                           */
	LACK	0
	SACL	* 
	.line	22
;>>>> 	     v->pid2.k0_reg2  = 0x0080;    /* Q9                            */
	LACK	128
	SBRK	8
	SACL	*+
	.line	23
;>>>> 	     v->pid2.k1_reg2  = 0x0140;    /* Q13                           */
	SPLK	#320,*+
	.line	24
;>>>> 	     v->pid2.kc_reg2  = 0x0506;    /* Q13                           */
	SPLK	#1286,* ,AR1
EPI0_1:
	.line	25
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	68,000000000H,1

	.sym	_BLDC_TI_Run,_BLDC_TI_Run,32,2,0
	.globl	_BLDC_TI_Run

	.func	184
;>>>> 	void BLDC_TI_Run(BLDC_TI_handle v)
******************************************************
* FUNCTION DEF : _BLDC_TI_Run
******************************************************
_BLDC_TI_Run:

LF2	.set	0

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

	.sym	_v,-3+LF2,24,9,16,.fake6
	.line	2
	.line	6
;>>>> 	           (*v->rmp3.calc)(&v->rmp3);
	LARK	AR2,-3+LF2
	MAR	*0+
	LAC	* ,AR1
	ADDK	15
	SACL	*+,AR2
	LAR	AR3,* ,AR3
	ADRK	21
	LAC	* ,AR1
	CALA
	MAR	*-,AR2
	.line	7
;>>>> 	           v->cmtn_period_setpt = v->rmp3.out;
	LARK	AR2,-3+LF2
	MAR	*0+
	LAR	AR3,* 
	LAR	AR4,* ,AR3
	ADRK	19
	LAC	* ,AR4
	MAR	*+
	SACL	* ,AR3
	.line	9
;>>>> 	           v->impl.period = v->rmp3.out;
	LAC	* ,AR4
	ADRK	7
	SACL	* ,AR2
	.line	10
;>>>> 	           (*v->impl.calc)(&v->impl);
	LAC	* ,AR1
	ADDK	8
	SACL	*+,AR3
	SBRK	8
	LAC	* ,AR1
	CALA
	MAR	*-,AR2
	.line	12
;>>>> 	           v->mod6.trig_in = v->impl.out;
	LARK	AR2,-3+LF2
	MAR	*0+
	LAR	AR3,* 
	LAR	AR4,* ,AR3
	ADRK	9
	LAC	* ,AR4
	ADRK	12
	SACL	* ,AR2
	.line	13
;>>>> 	           (*v->mod6.calc)(&v->mod6);
	LAC	* ,AR1
	ADDK	12
	SACL	*+,AR3
	ADRK	5
	LAC	* ,AR1
	CALA
	MAR	*-,AR2
	.line	15
;>>>> 	           v->cmtn.ptr_ct = v->mod6.cntr;      /* Input to COMMUTATION_TRIGGER */
	LARK	AR2,-3+LF2
	MAR	*0+
	LAR	AR3,* 
	LAR	AR4,* ,AR3
	ADRK	13
	LAC	* ,AR4
	ADRK	27
	SACL	* ,AR1
EPI0_2:
	.line	16
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	199,000000000H,1
	.end

⌨️ 快捷键说明

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