Data_ESpeed.h 2.23 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
#ifndef _Data_Espeed_H_
#define _Data_Espeed_H_

#include "common.h"

/******************************************************************************
发动机转速
******************************************************************************/

/*** 参数设置 ***/
#define   DATA_ENGINE_RUNNING_THRESHOLD     400  //发动机运转阈值    
#define   DATA_ENGINE_STOP_THRESHOLD        300  //发动机停止阈值

#define   DATA_ESPEED_DAMPING_FACTOR        4    //阻尼系数
#define   DATA_ESPEED_INC_STEP              10   //速度增加时慢加速速度变化步长
#define   DATA_ESPEED_DEC_STEP              20   //方向改变时急减速速度变化步长
#define   DATA_ESPEED_APPR_SPEED_MIN        10   //最小逼近速度
#define   DATA_ESPEED_HYSTERESIS            80   //回差    

/*** 控制结构 ***/
typedef struct
{
    uint16_t  Buffer[5];
    uint8_t   Cnt;
} DataESpeedSamplerStruct;            //转速采样结构

typedef struct
{
    uint16_t  Speed;
    uint16_t  Delta;
    uint8_t   Dir;
} DataESPeedDampingStruct;            //转速阻尼结构

typedef struct
{
    uint16_t  ESpeedBackup;
    uint16_t  Timer;
    uint8_t   Mode;
} DataESpeedIdleStruct;               //怠速处理结构

/******************************************************************************
函数名:Data_Engine_Speed_KL30_Wakeup_Init
功  能:发动机转速初始化函数
参  数:无
返回值:无
******************************************************************************
注  意:该函数KL30初始化/Wakeup初始化被调用一次
******************************************************************************/
void Data_Engine_Speed_KL30_Wakeup_Init (void);

/******************************************************************************
函数名:Data_Engine_Speed_Processing_Service
功  能:发动机转速数据处理函数
参  数:无
返回值:无
******************************************************************************
注  意:该函数必须每20ms被调用一次
******************************************************************************/
void Data_Engine_Speed_Processing_Service ( void );

uint8_t Get_EngineValid(void);

uint16_t Get_ActualEngineSpeed(void);

uint16_t Get_DispEngineSpeed(void);

#endif