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

📄 iir_bwt.asm

📁 此源码为用于电力电子变换器的DSP汇编源程序
💻 ASM
字号:
 ;===========================================================================
; File Name:	IIR_BWT.asm
;
; Module Name: 	IIR_BWT4					      
;
; Initialization Routine: IIR_BWT4_INIT
;
;
; Description:This is a four_order digital filter	
;
; Target dependency:	C2xx core only
;
;
;=====================================================================================
;		.ref		IIR_BWT4, IIR_BWT4_INIT		;function call
;		.ref		Xin_IIR										;Inputs
;		.ref		Yout_IIR									;Outputs 
;===========================================================================
;Module definitions for external reference.
		.def		IIR_BWT4, IIR_BWT4_INIT		;function call
		.def		Xin_IIR						;Inputs
		.def		Yout_IIR
		.def        WAY						;Outputs 
;===========================================================================
;Global vars    

FIRX				.usect	"FIR_D",127 

FIRY				.usect	"FIR_Q",127
Xin_IIR				.usect	"IIR_BWT0"	,1
Yout_IIR			.usect	"IIR_BWT0"	,1
WAY					.usect	"IIR_BWT0"	,1 
H0        .usect    "IIR_BWT4"    , 1 
H1        .usect    "IIR_BWT4"    , 1 
H2        .usect    "IIR_BWT4"    , 1 
H3        .usect    "IIR_BWT4"    , 1 
H4        .usect    "IIR_BWT4"    , 1 
XN_1        .usect    "IIR_BWT4"    , 1 
XN_2        .usect    "IIR_BWT4"    , 1 
YN_1        .usect    "IIR_BWT4"    , 1 
YN_2        .usect    "IIR_BWT4"    , 1 
XN_10        .usect    "IIR_BWT4"    , 1 
XN_20        .usect    "IIR_BWT4"    , 1 
YN_10        .usect    "IIR_BWT4"    , 1 
YN_20        .usect    "IIR_BWT4"    , 1
XN_100        .usect    "IIR_BWT4"    , 1 
XN_200        .usect    "IIR_BWT4"    , 1 
YN_100        .usect    "IIR_BWT4"    , 1 
YN_200        .usect    "IIR_BWT4"    , 1
;WAY        .usect    "IIR_BWT4"    , 1



;===============
IIR_BWT4_INIT:
;===============

 		LDP		#Xin_IIR
 		SPLK		#0,Xin_IIR
 		SPLK		#0,Yout_IIR
******fs=360Hz****** 
	  	SPLK    #912, H0
        SPLK    #1825, H1
        SPLK    #912, H2
        SPLK    #24173, H3
        SPLK    #46303, H4 
*****fs=400Hz******        
     ;   SPLK	#1100,H0
     ;   SPLK	#2200,H1
     ;   SPLK	#1100,H2
     ;   SPLK	#23249,H3
     ;   SPLK	#47406,H4
*****fS=500Hz*****
	;	SPLK	#1622,H0
    ;    SPLK	#3243,H1
    ;    SPLK	#1622,H2
    ;    SPLK	#20965,H3
    ;    SPLK	#49886,H4
*****fS=600Hz*****
	;	SPLK	#2210,H0
    ;    SPLK	#4421,H1
    ;    SPLK	#2210,H2
    ;    SPLK	#18727,H3
    ;    SPLK	#52009,H4  
*****fS=700Hz*****
	;	SPLK	#2857,H0
    ;    SPLK	#5713,H1
    ;    SPLK	#2857,H2
    ;    SPLK	#16530,H3
    ;    SPLK	#53817,H4
*******************
     	SPLK	#0,XN_1
		SPLK	#0,XN_2
		SPLK	#0,YN_1
		SPLK	#0,YN_2
		SPLK	#0,XN_10
		SPLK	#0,XN_20
		SPLK	#0,YN_10
		SPLK	#0,YN_20 
		SPLK	#0,XN_100
		SPLK	#0,XN_200
		SPLK	#0,YN_100
		SPLK	#0,YN_200
		SPLK	#0,WAY

        	RET

;===========================================================================
; Routine Name:  IIR_BWT4 
;===========================================================================
IIR_BWT4:
 		SETC			SXM           	; Sign extension mode
       		SETC		OVM             ; Overflow mode
     		SPM			1                	; SPM set for Q15 multiplication 	   
		;		SPM			0
		LDP		#Xin_IIR
		LACC		WAY
		BCND		IIR_1,GT
		LACC		#0
		LT		H0
		MPY		Xin_IIR
		LTA		H1
		MPY		XN_1
		LTA		H2
		MPY		XN_2
		LTA		H3
		MPY		YN_1 
		LTA		H3
		MPY		YN_1
		LTA		H4
		MPY		YN_2 
		APAC
		SACH		Yout_IIR
		BLDD		#XN_1,XN_2
		BLDD		#Xin_IIR,XN_1
		BLDD		#YN_1,YN_2
		BLDD		#Yout_IIR,YN_1
		LACC		WAY
		ADD		#1
		SACL		WAY
		B		IIR_3
IIR_1		NOP
		NOP  
		
		LACC		WAY 
		SUB			#1
		BCND		IIR_2,GT
		
		LACC		#0
		LT		H0
		MPY		Xin_IIR
		LTA		H1
		MPY		XN_10
		LTA		H2
		MPY		XN_20
		LTA		H3
		MPY		YN_10  
		LTA		H3
		MPY		YN_10
		LTA		H4
		MPY		YN_20 
		APAC
		SACH		Yout_IIR
		BLDD		#XN_10,XN_20
		BLDD		#Xin_IIR,XN_10
		BLDD		#YN_10,YN_20
		BLDD		#Yout_IIR,YN_10
		LACC		WAY
		ADD		#1
		SACL		WAY 
		B		IIR_3
		
IIR_2		NOP
		NOP
		LACC		#0
		LT		H0
		MPY		Xin_IIR
		LTA		H1
		MPY		XN_100
		LTA		H2
		MPY		XN_200
		LTA		H3
		MPY		YN_100  
		LTA		H3
		MPY		YN_100
		LTA		H4
		MPY		YN_200
		APAC
		SACH		Yout_IIR
		BLDD		#XN_100,XN_200
		BLDD		#Xin_IIR,XN_100
		BLDD		#YN_100,YN_200
		BLDD		#Yout_IIR,YN_100
		LACC		WAY
		SUB		#2
		SACL		WAY 
		
		
IIR_3		NOP
		NOP
      
        
        	RET                

⌨️ 快捷键说明

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