📄 cs5463.h
字号:
/*Copyright(C) 2007,Huaruijie Co.Ltd.
文件名: cs5463.h
版权:华瑞杰公司 2007
作者: 开发部 zhw
描述: 提供三片CS5463、一片CS5460A 电压数据采集和标定、温度和直流量的AD接口
文件记录:
1. 2007-01-24 zhw <Create> 在cs5460.c的基础上建立此文件
*/
#ifndef _ADC_CS5463H_
#define _ADC_CS5463H_
#include "basetype.h"
//#include "HRJ803.h"
#ifdef _CS5463_GLOBE_
# define _CS5463_USE_
#else
# define _CS5463_USE_ extern
#endif
typedef struct
{
DWORD dwVACOffset;//电压通道AC OFFSET系数
DWORD dwVACGain; //电压通道AC GAIN系数
DWORD dwVDCOffset; //电压通道DC OFFSET系数
DWORD dwIACOffset;
DWORD dwIACGain;
DWORD dwIDCOffset;
DWORD dwPowerOffset;
INT32 iPhaseOffset; //Configuration Register PC[6:0] BIT6是符号位
DWORD dwPulseRateE;
}SADCoef;//标定结构
typedef struct
{
//以下用于温度传感器的测量
INT32 dw100Value; //100欧姆电阻对应的AD值
INT32 dw200Value; //200欧姆电阻对应的AD值
DWORD dw100Real; //100欧姆电阻的精确值,
DWORD dw200Real; //200欧姆电阻的精确值,
//以下用于直流量的测量
INT32 dw0Value;
INT32 dw5Value;
}SCs5460Coef;//温度、直流量的AD标定结构
_CS5463_USE_ INT32 g_iAdcUpdateFlag; //有效值数据更新标识,在中断内置位。请外部程序在使用后请清除,以便下次识别。
_CS5463_USE_ INT32 g_iAdcWaveUpdateFlag; //波形数据更新标识,在中断内置位。请外部程序在使用后请清除,以便下次识别。
_CS5463_USE_ INT32 g_iAdcPulseUpdateFlag; //脉冲计数标识,在中断内置位。请外部程序在使用后请清除,以便下次识别。
_CS5463_USE_ BYTE byStartWaveSample; //是否开始进行波形采样
//_CS5463_USE_ SCs5460Coef sCs5460Coef; //温度、直流量的标定系数
//**********************************接口函数************************************
void InitAdc(SADCoef *pADCoef,INT32 iChipSum); //pADCoef==NULL时,gain及offset采用CS5460A硬件复位时的默认参数
BOOL AdcVoltCal(SADCoef *pADCoef,INT32 iChipSum);//pADCoef==NULL时,gain及offset采用CS5460A硬件复位时的默认参数
BOOL IsMainPowerOff(void);//5V电源是否掉电
void InitAdc_cs5460(void); //初始化温度传感器、直流量的AD
void GetAdcValue_cs5460(DWORD *pdwValue); //获得直流量、温度的原始值
//*********************宏定义,外部函数不需要使用************
#define ADRST P10 //P0.10
#define ADCSA P11 //P0.11
#define ADCSB P12 //P0.12
#define ADCSC P13 //P0.13
#define ADCSO P14 //P0.14
#define ADRSTU5 P10 //P4.10
#define ADINT P11 //p2.11 EINT1
#define PFMON_INT P12 //P2.12 EINT2
//*****************cs5460的寄存器地址**开始******************
#define CONFR 0 //配置
#define IDCOFF 1 //电流通道DC偏移
#define IGN 2 //电流通道增益
#define VDCOFF 3 //电压通道DC偏移
#define VGN 4 //电压通道增益
#define CYCCONT 5 //一个计算周期的A/D转换数
#define PULRATE 6 //
#define IR 7//瞬时电流
#define VR 8//瞬时电压
#define PR 9//瞬时功率
#define ER 10
#define IRMSR 11//电流有效值
#define VRMSR 12 //电压有效值
#define TBCR 13
#define POFFR 14 //功率偏移量
#define STATUSR 15 //状态
#define IACOFFR 16 //电流通道AC偏移
#define VACOFFR 17 //电压通道AC偏移
#define MASKR 26 //中断屏蔽
#define CTRLR 28 //控制
//*****************cs5460A的寄存器地址 **结束********************
//*****************cs5463的寄存器地址 **开始********************
//寄存器0页
#define CONFR 0 //配置
#define IDCOFF 1 //电流通道DC偏移
#define IGN 2 //电流通道增益
#define VDCOFF 3 //电压通道DC偏移
#define VGN 4 //电压通道增益
#define CYCCONT 5 //一个计算周期的A/D转换数
#define PULRATE 6 //设置E1、E2、E3的能量-脉冲速率****
#define IR 7 //瞬时电流
#define VR 8 //瞬时电压
#define PR 9 //瞬时功率
#define Pactive 10 //有功功率*****
#define IRMSR 11 //电流有效值
#define VRMSR 12 //电压有效值
#define FrequencyR 13 //电网周期****
#define POFFR 14 //功率偏移量
#define STATUSR 15 //状态
#define IACOFFR 16 //电流通道AC偏移
#define VACOFFR 17 //电压通道AC偏移
#define MODER 18 //操作模式
#define TR 19 //温度
#define Qavg 20 //平均无功功率(90°移相)
#define QR 21 //瞬时无功功率(90°移相)
#define Ipeak 22 //峰值电流
#define Vpeak 23 //峰值电压
#define Qtrig 24 //用功率三角形计算出的无功功率
#define PF 25 //功率因数
#define MASKR 26 //中断屏蔽
#define SR 27 //视在功率
#define CTRLR 28 //控制
#define PhR 29 //谐波有功功率
#define PfR 30 //基波有功功率
#define QfR 31 //基波无功功率
//寄存器1页
#define Tgain 2 //温度传感器增益
#define Toff 3 //温度传感器偏移
//寄存器2页
#define VSAGcycle 6 //电压下跌持续时间
#define VSAGlevel 7 //电压下跌电平
#define ISAGcycle 10 //电流下跌持续时间
#define ISAGlevle 11 //电流下跌电平
//**************cs5463的寄存器地址 **结束*********************//
//****************命令开始*************************//
#define STARTC 0XE8 // continus computation cycle command
#define STARTS 0XE0 // single computation cycle command
#define SYNC0 0XFE //结束串口重新初始化
#define SYNC1 0XFF //开始串口重新初始化
#define RESET 0XA0 //软件复位
#define STANDBY 0XA1 //暂停并进入等待模式,这种模式允许快速上电
#define SLEEP 0xA2 //暂停并进入睡眠模式,这种模式要求一个较长的上电时间
#define RESERVE 0xA3 //保留
//****************命令结束*************************//
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -