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

📄 hd_mcu_cfg.h

📁 新能源燃料电池小车系统
💻 H
字号:
 /************************************************************************/
 /************    predefine constant for hardware             ************/
 /************    including config and pin assemble           ************/
 /************    created by matiancai 2008/04/12             ************/
 /************    used for water cooling system only          ************/ 
 /************************************************************************/
 
  #ifndef _HD_CFG_H
  #define _HD_CFG_H
  
  #include <hidef.h>            /* common defines and macros */
  #include <mc9s12dp256.h>      /* derivative information */
 
  /****************Hardware config*******************/
  /****************Pins for Drivers******************/
  #define Drsg0	    PORTA_BIT0			     //DriverEnable port
  #define Drsg1	    PORTA_BIT1		       //Hydrogen in EV
  #define Drsg2	    PORTA_BIT2		       //Hydrogen out EV
  #define Drsg3	    PORTA_BIT3		       //Compressor MC
  #define Drsg4	    PORTA_BIT4		       //Stack MC
  #define Drsg5	    PORTA_BIT5		       //Cooling Fan1
  #define Drsg6	    PORTA_BIT6		       //Cooling Fan2
  #define Drsg7	    PORTA_BIT7		       //Cooling pump
  #define Drsg8	    PTP_PTP7		         //Water separator drain valve
  #define Drsg9	    PTP_PTP6		         //TBD1
  #define Drsg10	  PTP_PTP5		         //TBD2
  #define Drsg11	  PTP_PTP4		         //TBD3
  /****************Pins for Signals input***********/
  #define CMPFt	    PORTB_BIT0            //fault signal of compressor
  #define WPSIN	    PORTB_BIT2            //signal for water tank
  /****************Pins for DA Control*************/ 
  #define DASS	    PTH_PTH3              //SPIDA enable Pin
 
    /****************action macro define*************/
  #define DriverEnable                    Drsg0=0;SetFlgDrv  
  #define DriverDisable                   Drsg0=1;ClcFlgDrv
    
  #define ACT_SUPPLY_HYDROGEN             Drsg1=1;SetFlgHEV2    //supply hydrogen to satck
  #define STP_SUPPLY_HYDROGEN             Drsg1=0;ClcFlgHEV2
  
  #define ACT_DRAIN_HYDROGEN              Drsg2=1;SetFlgHEV3
  #define STP_DRAIN_HYDROGEN              Drsg2=0;ClcFlgHEV3
  
  #define ACT_CMPCNT                      Drsg3=1;SetFlgCMP
  #define STP_CMPCNT                      Drsg3=0;ClcFlgCMP;flgDAINI=0
  
  #define ACT_STCNT                       Drsg4=1;SetFlgCNT
  #define STP_STCNT                       Drsg4=0;ClcFlgCNT 
  
  #define ACT_FAN1                        Drsg5=1;SetFlgFAN1
  #define STP_FAN1                        Drsg5=0;ClcFlgFAN1
  
  #define ACT_FAN2                        Drsg6=1;SetFlgFAN2
  #define STP_FAN2                        Drsg6=0;ClcFlgFAN2
  
  #define ACT_CWP                         Drsg7=1;SetFlgCWP
  #define STP_CWP                         Drsg7=0;ClcFlgCWP
  
  #define ACT_DRAIN_WATER                 Drsg8=1;SetFlgWEV1
  #define STP_DRAIN_WATER                 Drsg8=0;ClcFlgWEV1 
 
  #define ACT_TBD1                        Drsg9=1;//SetFlgCWP
  #define STP_TBD1                        Drsg9=0;//ClcFlgCWP  
 
  #define ACT_TBD2                        Drsg10=1;//SetFlgCWP
  #define STP_TBD2                        Drsg10=0;//ClcFlgCWP
  
  #define ACT_TBD3                        Drsg11=1;//SetFlgCWP
  #define STP_TBD3                        Drsg11=0;//ClcFlgCWP 
  
  #define SPIDAEnable                     DASS=0
  #define SPIDADisable                    DASS=1 
 
  
  /*******Hardware related Varibles predefine**************/
 
  /**************Flag bits of StateDevice**********/
  #define StatusofActs  StateDevice.Bits
  #define sysFlgDrv     StateDevice.StateFlags.flagDrv
  #define sysFlgHEV1    StateDevice.StateFlags.flagHEV1
  #define sysFlgHEV2    StateDevice.StateFlags.flagHEV2
  #define sysFlgHEV3    StateDevice.StateFlags.flagHEV3
  #define sysFlgWEV1    StateDevice.StateFlags.flagWEV1
  #define sysFlgWEV2    StateDevice.StateFlags.flagWEV2
  #define sysFlgDIP     StateDevice.StateFlags.flagDIP
  #define sysFlgCNT     StateDevice.StateFlags.flagCNT
  #define sysFlgCMP     StateDevice.StateFlags.flagCMP 
  #define sysFlgHRP     StateDevice.StateFlags.flagHRP
  #define sysFlgFAN1    StateDevice.StateFlags.flagFAN1 
  #define sysFlgFAN2    StateDevice.StateFlags.flagFAN2 
  #define sysFlgCWP     StateDevice.StateFlags.flagCWP
  #define ErrFlgWPS     StateDevice.StateFlags.flagEWPS
  #define ErrFlgCMP     StateDevice.StateFlags.flagFCMP
  
  #define SetFlgDrv 		sysFlgDrv =1
  #define ClcFlgDrv 		sysFlgDrv =0
  #define SetFlgHEV1 		sysFlgHEV1=1
  #define ClcFlgHEV1 		sysFlgHEV1=0
  #define SetFlgHEV2 		sysFlgHEV2=1
  #define ClcFlgHEV2 		sysFlgHEV2=0  
  #define SetFlgHEV3 		sysFlgHEV3=1
  #define ClcFlgHEV3 		sysFlgHEV3=0
  #define SetFlgWEV1 		sysFlgWEV1=1
  #define ClcFlgWEV1 		sysFlgWEV1=0
  #define SetFlgWEV2 		sysFlgWEV2=1
  #define ClcFlgWEV2 		sysFlgWEV2=0
  #define SetFlgDIP 		sysFlgDIP =1
  #define ClcFlgDIP 		sysFlgDIP =0
  #define SetFlgCNT 		sysFlgCNT =1
  #define ClcFlgCNT 		sysFlgCNT =0
  #define SetFlgCMP 		sysFlgCMP =1
  #define ClcFlgCMP 		sysFlgCMP =0 
  #define SetFlgHRP 		sysFlgHRP =1
  #define ClcFlgHRP 		sysFlgHRP =0
  #define SetFlgFAN1 		sysFlgFAN1=1
  #define ClcFlgFAN1 		sysFlgFAN1=0
  #define SetFlgFAN2 		sysFlgFAN2=1
  #define ClcFlgFAN2 		sysFlgFAN2=0
  #define SetFlgCWP 		sysFlgCWP =1
  #define ClcFlgCWP 		sysFlgCWP =0
  #define SetFlgEWPS 		ErrFlgWPS =1
  #define ClcFlgEWPS 		ErrFlgWPS =0 
  #define SetFlgFCMP 		ErrFlgCMP =1
  #define ClcFlgFCMP 		ErrFlgCMP =0
/**********************************************************/
/**************Timer related marco definition**************/
/**********************************************************/
  #define T0Enable        TIE_C0I=1
  #define T0Disable       TIE_C0I=0
  #define T1Enable        TIE_C1I=1
  #define T1Disable       TIE_C1I=0
  #define T2Enable        TIE_C2I=1
  #define T2Disable       TIE_C2I=0
  #define T3Enable        TIE_C3I=1
  #define T3Disable       TIE_C3I=0
  #define T4Enable        TIE_C4I=1
  #define T4Disable       TIE_C4I=0
  #define T5Enable        TIE_C5I=1
  #define T5Disable       TIE_C5I=0
  #define T6Enable        TIE_C6I=1
  #define T6Disable       TIE_C6I=0
  #define T7Enable        TIE_C7I=1
  #define T7Disable       TIE_C7I=0
 
  #define ALLTimerDisable TIE=0X00
  #define EnableHDrain    T0Enable
  #define DisableHDrain		T0Disable
  #define EnableStepWait  T1Enable
  #define DisableStepWait T1Disable
  #define EnableWDrain    T2Enable
  #define DisableWDrain   T2Disable
  #define EnableDAINI     T3Enable;TC3=TC3+0XF424;
  #define DisableDAINI    T3Disable;
  #define EnablePlmtCtrl  T4Enable
  #define DisablePlmtCtrl T4Disable
  #define EnableCANVMS    T7Enable;TC7=TC7+0X036B
  #define DisableCANVMS   T7Disable
  
  
  
  #define TimerEnable     CRGINT_RTIE=1
  #define TimerDisable    CRGINT_RTIE=0
  
   /**************Bits of FCEStatus************/
  #define SysStatus     FCEStatus.MergedBits.baseState
  #define SysErrRank		FCEStatus.MergedBits.ErrRank
  
  
  /**************Enum items for stepCtrl******/
  #define sysIdle       0
  #define sysECUReady   1
  #define sysStarting   2
  #define sysStartWait  3
  #define sysWaitReady  4
  #define sysReday	    5
  #define sysRunning    6
  #define sysAddPset    7
  #define sysDecPset    8
  #define sysStopWait   9
  #define sysStoping    10
  #define sysStopDrain  11
  /********************FceECUState***********************/
  #define ECU_Ready		      0				//Ready
  #define ECU_Enabled		    2				//Enabled 
  #define ECU_Powerup		    4				//PowerOn
  #define ECU_Error		      5				//Fault
  #define ECU_Calib         7				//Calibration and Dignosis
  /***Following code will be effective only when not Error***/
  #define ECU_Normal        0       //Run without error
  #define ECU_MinorFault    1       //MinorFault
  #define ECU_GeneralFault  2       //GeneralFault
  /***Following code will be effective only when Error***/
  #define ECU_LowError      1       //second rank error
  #define ECU_HighError     2       //high   rank error
  
  /********************FceCmd***********************/
  #define cmdEnable         2
  #define cmdDisable        1
  
  #define cmdShutDown       1
  #define cmdCancelShutDown 2
  
  #define sysNotReady   stepCtrl!=sysECUReady
  #define ReayCondOK    ((Vst>IniVstLmt)&&(CVmin>IniCVLmt))  
  #define StopCondOK    (PHin<=100) 
  /*******************System State macro**************************/
  #define SysSetRun         SysRun=1														 //set system to be running
  #define SysSetStop        SysRun=0														 //set system to be stopping
  #define SysSetEmg         SysEmgency=1												 //set system to be emgency stopping
  #define SysCancelEmg      SysEmgency=0												 //cancel emgency stopping
  #define SysRunUpdate      SysRunOld=SysRun								 //unpdate system run state
  #define SysEmgencyUpdate  SysEmgencyOld=SysEmgency				 //unpdate system emgency state
  #define SysStateUpdate    SysRunUpdate;SysEmgencyUpdate;
  
  #define ModeIdle          0
  #define ModeManual        1
  #define ModeFCEAuto       2
  #define ModeVMSAuto       4
  
  #define IsSysRun          (SysRun==1)												 //judge whether system is running
  #define IsSysEmg          (SysEmgency==1)										 //judge whether system is emgency stopping
  #define SysRunChanged     (SysRun!=SysRunOld)								 //judge whether runstate changed
  #define SysEmgencyChanged (SysEmgency!=SysEmgencyOld)				 //judge whether emgencystate changed
  #define SysEnable         (SysRunChanged&&IsSysRun)
  #define SysDisable        (SysRunChanged&&(!IsSysRun))
  #define SysFallEmg 				(SysEmgencyChanged&&IsSysEmg)
  #define SysFreeEmg 				(SysEmgencyChanged&&(!IsSysEmg))
  #define IsSysRunning      (!(SysRunChanged)&&(IsSysRun)) 
  
  #define IsIdleCtrl        (modeCtrl==ModeIdle)
  #define IsManualCtrl      (modeCtrl==ModeManual)
  #define IsFCEAutoCtrl     (modeCtrl==ModeFCEAuto)
  #define IsVMSAutoCtrl     (modeCtrl==ModeVMSAuto)
  
  #define flagErr           1
  #define flagNormal        0
  
   /*************Sensor config****************/
  #define IstRawDate      ATD0DR1
  #define IcpRawDate      ATD0DR2
  #define TBD1RawDate     ATD0DR3
  #define PHSRawDate      ATD0DR4
  #define PWinRawDate     ATD0DR5
  #define THinRawDate     ATD0DR6
  #define TWinRawDate     ATD0DR7
  
  #define VcpRawDate      ATD1DR1
  #define TBD2RawDate     ATD1DR2
  #define PAinRawDate     ATD1DR3
  #define PHinRawDate     ATD1DR4
  #define VstRawDate      ATD1DR5
  #define TAinRawDate     ATD1DR6
  #define TWoutRawDate    ATD1DR7
  
  #endif

⌨️ 快捷键说明

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