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

📄 varinit.h

📁 pwm 的代码 主要是用于基于FPGA的控制
💻 H
字号:
;==============================================================
variable_init	.macro
;---------------------------------------------------------------

		DataZero TEMP		;数据区清零
;==============================================================	        	
;一些变量的初始化赋值
;---------------------------------------------------------------
;硬件特性参数赋值
		ldp	#kia/128	;等价于#kia>>7
		splk	#kia_k,kia
                splk	#kib_k,kib
                splk	#ia_OFFSET_K,ia_offset
                splk	#ib_OFFSET_K,ib_offset
                
                		
                splk	#kvdc_k,kvdc

		SPLK	#DT_COM_k,DT_COM 
		                
                SPLK	#TC_k,TC
                ;sdp	TC,RC
                ;splk	#RC_k,RC
                
                ;sdp	RC,QEPCNT                
                ;splk	#QEP_num,QEPCNT
                
                ;ldp	#kuab/128
                ;splk	#kuab_k,kuab
                ;splk	#kubc_k,kubc
                ;splk	#uab_offset_k,uab_offset               
                ;splk	#ubc_offset_k,ubc_offset    
;---------------------------------------------------------------
;电机额定值赋值
		ldp	#wn/128		
		splk	wn_k,wn
		splk	vn_k,vn
;---------------------------------------------------------------
;参考值赋值	
		;LDP	#4
		;SPLK	#w_ref_k,SPDR_org
		;SPLK	#fluxr_ref_k,PRDR
		;isd_ref_cal	fluxr_ref_k,flux_sh,Lm,Lm_sh,isd_ref,i_sh
;---------------------------------------------------------------

;==============================================
;滤波时间常数赋值
;		ldp	#4
;		bldd	#Tr_invt,WC
;		splk	#WC1_k,WC1
;		splk	#WC2_k,WC2		
;		ldp	#5
;		splk	#wci_k,wci
;==============================================
;监控参数赋值
		ldp	#RunEnable/128
		SPLK	#1,RunEnable
				
		ldp	#tinc/128
		splk	#tinc_k,tinc
		splk	#tdec_k,tdec
		
		splk	#w_ref_k,w_opn_obj
		
		;ldp	#zd_method/128

;---------------------------------------------------------------
;============================================== 
;数据区清零     
;=====================================================================
DataZero	.MACRO TEMP

		LAR	AR2, #0200H			;AR2->B0 START ADDRESS
		MAR	*, AR2				;SET ARP=AR2
		ZAC					;SET (ACC)=0
		RPT	#0FFH				;SET REPEAT CNTR FOR 255+1 LOOPS
		SACL	*+				;WRITE ZEROS TO B0 RAM

		LAR	AR2, #0300H			;AR2->B1 START ADDRESSH
		RPT	#0FFH				;SET REPEAT CNTR FOR 255+1 LOOPS
		SACL	*+				;WRITE ZEROS TO B1 RAM

		LAR	AR2, #0060H			;AR2->B2 START ADDRESS
		RPT	#1FH				;SET REPEAT CNTR FOR 31+1 LOOPS
		SACL	*+				;WRITE ZEROS TO B2 RAM
		
		lar	AR2,#9120h
		LDP	#4
		splk	#(0ffffh-9120h),TEMP
		rpt	TEMP
		SACL	*+
;-----------------------------------------------------------------
		.ENDM

;频率设定变量赋值
		LDP	#5
		SPLK	#0780H,fo		;15hz,Q7
		SPLK	#0A00H,f1		;20hz,Q7
		SPLK	#0C80H,f2		;25hz,Q7
		SPLK	#0F00H,f3		;30hz,Q7
		SPLK	#1180H,f4		;35hz,Q7
		SPLK	#1400H,f5		;40hz,Q7
		SPLK	#1680H,f6		;45hz,Q7
		SPLK	#1900H,f7		;50hz,Q7
		SPLK	#776,ADATAMAX		;ADATAMAX为2.5v对应的776
		SPLK	#25600,fgiven		;fgiven为用户设定的最大模拟给定电压对应的频率,此处需附Q7的值,现在的数值为200*2^7=25600
		SPLK	#0F00H,f_OBJ	    	;假设f_OBJ=30/380*50*2^7
        SPLK	#780H,f_LAST	    	;假设f_LAST=20/380*50*2^7	
        SPLK	#80H,fvar		;每秒钟频率变化1Hz,用户可以根据自己的情况来设置,Q7


		.endm		

⌨️ 快捷键说明

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