84 lines
2.2 KiB
C
84 lines
2.2 KiB
C
|
/**
|
|||
|
******************************************************************************
|
|||
|
* @file lvd.h
|
|||
|
* @author (C)2015, Qindao ieslab Co., Ltd
|
|||
|
* @version V1.0
|
|||
|
* @date 2015-12-25
|
|||
|
* @brief the function of the entity of system processor
|
|||
|
******************************************************************************
|
|||
|
*/
|
|||
|
|
|||
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
|||
|
|
|||
|
#ifndef __UWater_CLKTRIM_DRIVER_H
|
|||
|
#define __UWater_CLKTRIM_DRIVER_H
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C"
|
|||
|
{
|
|||
|
#endif
|
|||
|
|
|||
|
#include "ddl.h"
|
|||
|
#include "type.h"
|
|||
|
|
|||
|
#define TRIM_DONE 0xFF //У<D0A3>ɹ<EFBFBD>
|
|||
|
#define TRIM_OVERFLOW 0xEE //<2F><>Уʱ<D7BC>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define REF_CON (32768u) //<2F>ο<EFBFBD>ʱ<EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>32768hz<68><7A>3277ԼΪ100ms<6D><73>
|
|||
|
#define CAL_CON_TARGET (4000000u)//3840u //<2F><>Уʱ<D7BC>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>ֵ<EFBFBD><D6B5>38400hz<68><7A>3840Ϊ100ms<6D><73>
|
|||
|
#define ERROR_RANGE 19u //<2F><>Уʱ<D7BC><CAB1><EFBFBD><EFBFBD><EFBFBD>Χֵ<CEA7><D6B5>3840*0.005<EFBFBD><EFBFBD>Լ0.5%<25><>
|
|||
|
|
|||
|
#define TRIM_MAX_NUM 60 //Уģ<D7BC><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<D0A3><D7BC><EFBFBD><EFBFBD>
|
|||
|
#define EVERYDAY_TRIM_MAX_NUM 50 //Уģ<D7BC><C4A3>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<D0A3><D7BC><EFBFBD><EFBFBD>
|
|||
|
/*<2A>¶Ȳ<C2B6>ֵ <20><>λ<EFBFBD><CEBB><EFBFBD>϶<EFBFBD>*/
|
|||
|
#define TEMPERTURE_DIFF 5.0f
|
|||
|
enum clktrim_adjust_direction
|
|||
|
{
|
|||
|
DIRECTIONLESS = 0,
|
|||
|
UPWARD,
|
|||
|
DOWNWARD
|
|||
|
};
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
u8 adjust_direction_flg; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>־
|
|||
|
u32 diff_value; //<2F><>ֵ
|
|||
|
}CLKTRIM_INFO;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
enum clktrim_machine_state_num //ʱ<><CAB1>У״̬<D7B4><CCAC>״̬<D7B4><CCAC>
|
|||
|
{
|
|||
|
CLKTRIM_MACHINE_S0 = 0,
|
|||
|
CLKTRIM_MACHINE_S1,
|
|||
|
CLKTRIM_MACHINE_S2,
|
|||
|
CLKTRIM_MACHINE_S3
|
|||
|
};
|
|||
|
|
|||
|
/* MACRO Define---------------------------------------------------------------*/
|
|||
|
#define SYS_FREQ 4000000
|
|||
|
|
|||
|
#if(SYS_FREQ == 4000000)
|
|||
|
#define SYSCTRL_FREQ SysctrlRchFreq4MHz
|
|||
|
#elif(SYS_FREQ == 8000000)
|
|||
|
#define SYSCTRL_FREQ SysctrlRchFreq8MHz
|
|||
|
#elif(SYS_FREQ == 16000000)
|
|||
|
#define SYSCTRL_FREQ SysctrlRchFreq16MHz
|
|||
|
#elif(SYS_FREQ == 24000000)
|
|||
|
#define SYSCTRL_FREQ SysctrlRchFreq24MHz
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
/* variables Define---------------------------------------------------------------*/
|
|||
|
|
|||
|
|
|||
|
/* Function Declare------------------------------------------------------------*/
|
|||
|
extern void ClkTrimInit(void);
|
|||
|
u8 ClkTrimIfIdle(void);
|
|||
|
void ClktrimMainMachine(void);
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif /* __UWater_UART_DRIVER_H */
|