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

📄 def_att7022.h

📁 Att7022 (power meter chip) driver for Philips LPC213X
💻 H
字号:
#ifndef __ATT7022_H__
#define __ATT7022_H__

/////////////////////////////////////////////////////////////////
#define NORMAL_MODE 	0x01
#define BASE_FREQ_MODE 	0x02
#define HARMONIC_MODE 	0x03

#define U1U2READYTIME   13		// 13 seconds, U1U2 to get ready
#define MODE_SWITCH_Dly 1500	// 800 ms delay after mode switch

/////////////////////////////////////////////////////////////////
////  define consant ////////////////////////////////////////////
#define Data_Iregion1			0x000000
#define Data_Iregion2			0x000000
#define Data_Iregion3			0x000000
#define Data_Iregion4			0x000000

#define Data_Iregchg			0x000000
												// Io=0.4%*Vi=0.004*0.1=0.0004
												// Istartup=G*Io=0.648*0.0004=0.0002592
												// Istartup=0.0002592*2^23=2174=87EH
//#define Data_Istartup			0x00087e
#define Data_Istartup			0x000000
//#define Data_HFConst			0x22			//5760000000*0.648*0.648*0.5*0.1/(220*5*3200)=34=0x22
#define Data_HFConst			0x10			//default
#define Data_FailVoltage		0x068000		//
#define Data_EnergyAddMode		0x000000

//////////////////////////////////////////////////
///////  define the data registers in ATT7022(A/B) 
//////////////////////////////////////////////////
#define rPa			0x01
#define rPb			0x02
#define rPc			0x03
#define rPt			0x04

#define rQa			0x05
#define rQb			0x06
#define rQc			0x07
#define rQt			0x08

#define rSa			0x09
#define rSb			0x0A
#define rSc			0x0B
#define rSt			0x0C

#define rUa			0x0D
#define rUb			0x0E
#define rUc			0x0F

#define rIa			0x10
#define rIb			0x11
#define rIc			0x12
#define rIt			0x13

#define rPfa		0x14
#define rPfb		0x15
#define rPfc		0x16
#define rPft		0x17

#define rPga		0x18
#define rPgb		0x19
#define rPgc		0x1a
#define rPgt		0x1b

#define rFreq		0x1c

#define rEpa		0x1e
#define rEpb		0x1f
#define rEpc		0x20
#define rEpt		0x21

#define rEqa		0x22
#define rEqb		0x23
#define rEqc		0x24
#define rEqt		0x25

#define rRSPIData	0x28	//ATT7022A/B
#define rRmsADC7	0x29	//ATT7022B
#define rTempD		0x2a	//ATT7022B
#define rURmst		0x2b	//ATT7022A/B

#define rS_Flag		0x2c
#define rWSPIData1	0x2d
#define rWSPIData2	0x2e
#define rE_Flag		0x30

#define rEpa2		0x31
#define rEpb2		0x32
#define rEpc2		0x33
#define rEpt2		0x34

#define rEqa2		0x35
#define rEqb2		0x36
#define rEqc2		0x37
#define rEqt2		0x38

#define rLEFlag		0x3c	//ATT7022B
#define rPFlag		0x3d	//ATT7022A
#define rChkSum1	0x3e	//ATT7022A
#define rInstADC7	0x3f	//ATT7022B

#define rPosEpa		0x40
#define rPosEpb		0x41
#define rPosEpc		0x42
#define rPosEpt		0x43

#define rNegEpa		0x44
#define rNegEpb		0x45
#define rNegEpc		0x46
#define rNegEpt		0x47

#define rPosEqa		0x48
#define rPosEqb		0x49
#define rPosEqc		0x4a
#define rPosEqt		0x4b

#define rNegEqa		0x4c
#define rNegEqb		0x4d
#define rNegEqc		0x4e
#define rNegEqt		0x4f

#define rLineEpa	0x50	//ATT7022B
#define rLineEpb	0x51	//ATT7022B
#define rLineEpc	0x52	//ATT7022B
#define rLineEpt	0x53	//ATT7022B

#define rLineEqa	0x54	//ATT7022B
#define rLineEqb	0x55	//ATT7022B
#define rLineEqc	0x56	//ATT7022B
#define rLineEqt	0x57	//ATT7022B

#define rYUaUb		0x5c	//ATT7022A/B
#define rYUaUc		0x5d	//ATT7022A/B
#define rYUbUc		0x5e	//ATT7022A/B

#define rChkSum2	0x5f	//ATT7022A/B

#define rPosEpa2	0x60
#define rPosEpb2	0x61
#define rPosEpc2	0x62
#define rPosEpt2	0x63

#define rNegEpa2	0x64
#define rNegEpb2	0x65
#define rNegEpc2	0x66
#define rNegEpt2	0x67

#define rPosEqa2	0x68
#define rPosEqb2	0x69
#define rPosEqc2	0x6a
#define rPosEqt2	0x6b

#define rNegEqa2	0x6c
#define rNegEqb2	0x6d
#define rNegEqc2	0x6e
#define rNegEqt2	0x6f

#define rLineEpa2	0x70	//ATT7022B
#define rLineEpb2	0x71	//ATT7022B
#define rLineEpc2	0x72	//ATT7022B
#define rLineEpt2	0x73	//ATT7022B

#define rLineEqa2	0x74	//ATT7022B
#define rLineEqb2	0x75	//ATT7022B
#define rLineEqc2	0x76	//ATT7022B
#define rLineEqt2	0x77	//ATT7022B

#ifndef U1_ATT7022B
	#define rEndAddr	0x70			//old version ( ATT7022/A )
	#define TempAddr	0x70			//old version ( ATT7022/A )
#else
	#define rEndAddr	0x78	//end of data registers
	#define TempAddr	0x78	//temperature Data buffer address
#endif

#define Att7022DataBuffSize		0x78	//Data buffer size
#define ELECTRIC_PARAMETER_END_ADDRESS  0x500 //[0-0x500] including harmonic and base_frequence parameters
//////////////////////////////////////////////////////////////
////  define the configuration registers in ATT7022(A/B)
//////////////////////////////////////////////////////////////
#define Iregion1		0x02
#define Iregion2		0x03
#define Iregion3		0x04
#define Iregion4		0x05

#define PgainA0			0x06
#define PgainB0			0x07
#define PgainC0			0x08

#define PgainA1			0x09
#define PgainB1			0x0a
#define PgainC1			0x0b

#define PhsregA0		0x0c
#define PhsregA1		0x0d
#define PhsregA2		0x0e
#define PhsregA3		0x0f
#define PhsregA4		0x10

#define PhsregB0		0x11
#define PhsregB1		0x12
#define PhsregB2		0x13
#define PhsregB3		0x14
#define PhsregB4		0x15

#define PhsregC0		0x16
#define PhsregC1		0x17
#define PhsregC2		0x18
#define PhsregC3		0x19
#define PhsregC4		0x1a

#define UgainA			0x1b
#define UgainB			0x1c
#define UgainC			0x1d

#define Iregchg			0x1e
#define Istartup		0x1f
#define HFConst			0x20

#define IgainA			0x26
#define IgainB			0x27
#define IgainC			0x28

#define FailVoltage		0x29
#define EnergyAddMode	0x2a

////////  only for ATT7022A/B  /////////////////
#define GainAdc7		0x2b	//ATT7022B
#define GCtrlT7Adc		0x2c	//ATT7022B	//OK
#define EnLineFreq		0x2d	//ATT7022B
#define EnUAngle		0x2e	//ATT7022A/B
#define SelectPQSU		0x2f	//ATT7022B
#define EnDtIorder		0x30	//ATT7022A/B
#define LineFreqPg		0x31	//ATT7022B

#define EnHarmonic		0x3c	//ATT7022B
#define HFDouble		0x3e	//ATT7022A/B
#define UADCPga			0x3f	//ATT7022A/B

#endif

⌨️ 快捷键说明

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