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

📄 mc_pwm_1shunt_prm.h

📁 ARM_CORTEX-M3应用实例开发详解光盘
💻 H
字号:
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name          : MC_pwm_1shunt_prm.h
* Author             : IMS Systems Lab  
* Date First Issued  : Mar/07
* Description        : Contains the list of project specific parameters related
*                      to the single-shunt current reading.
********************************************************************************
* History:
* Mar/07 v1.0
* 29/05/08 v2.0
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* THIS SOURCE CODE IS PROTECTED BY A LICENSE.
* FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
* IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
*******************************************************************************/

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MC_PWM_1SHUNT_PRM_H
#define __MC_PWM_1SHUNT_PRM_H

/////////////////////// PWM Peripheral Input clock ////////////////////////////
#define CKTIM	((u32)72000000uL) 	/* Silicon running at 72MHz Resolution: 1Hz */

////////////////////// PWM Frequency ///////////////////////////////////

/****	 Pattern type is center aligned  ****/

	#define PWM_PRSC ((u8)0)

        /* Resolution: 1Hz */                            
	#define PWM_PERIOD ((u16) (CKTIM / (u32)(2 * PWM_FREQ *(PWM_PRSC+1)))) 
        
////////////////////////////// Deadtime Value /////////////////////////////////
	#define DEADTIME  (u16)((unsigned long long)CKTIM/2 \
          *(unsigned long long)DEADTIME_NS/1000000000uL) 

///////////////////////////// Current reading parameters //////////////////////

#define PHASE_A_ADC_CHANNEL     ADC_Channel_11
#define PHASE_A_GPIO_PORT       GPIOC
#define PHASE_A_GPIO_PIN        GPIO_Pin_1

//这里的B相等于总电流BUS_SHUNT
#define PHASE_B_ADC_CHANNEL     ADC_Channel_15
#define PHASE_B_GPIO_PORT       GPIOC
#define PHASE_B_GPIO_PIN        GPIO_Pin_5

#define PHASE_C_ADC_CHANNEL     ADC_Channel_6
#define PHASE_C_GPIO_PORT       GPIOA
#define PHASE_C_GPIO_PIN        GPIO_Pin_6

/****************** Control related define ***************************/
#define CURRENT_COMPENSATION // Enable the current compensation

//#define SAMPLING_TIME_NS   200  //200ns
#define SAMPLING_TIME_NS   700  //700ns
//#define SAMPLING_TIME_NS  1200  //1.2us
//#define SAMPLING_TIME_NS  2450  //2.45us

#if (SAMPLING_TIME_NS == 200)
#define SAMPLING_TIME_CK  ADC_SampleTime_1Cycles5
#elif (SAMPLING_TIME_NS == 700)
#define SAMPLING_TIME_CK  ADC_SampleTime_7Cycles5
#elif (SAMPLING_TIME_NS == 1200)
#define SAMPLING_TIME_CK  ADC_SampleTime_13Cycles5
#elif (SAMPLING_TIME_NS == 2450)
#define SAMPLING_TIME_CK  ADC_SampleTime_28Cycles5
#else
#warning "Sampling time is not a possible value"
#endif

#define TRISE_NS 1550     //2.55usec

#define SAMPLING_TIME (u16)(((u16)(SAMPLING_TIME_NS) * 72uL)/1000uL) 
#define TRISE (u16)((((u16)(TRISE_NS)) * 72uL)/1000uL)
#define TDEAD (u16)((DEADTIME_NS * 72uL)/1000uL)

#define TMIN (((u16)(((DEADTIME_NS+((u16)(TRISE_NS))+((u16)(SAMPLING_TIME_NS)))*72uL)/1000ul))+1)
#define HTMIN (u16)(TMIN >> 1)
#define TSAMPLE SAMPLING_TIME
#define TAFTER ((u16)(((DEADTIME_NS+((u16)(TRISE_NS)))*72ul)/1000ul))
#define TBEFORE (((u16)(((((u16)(SAMPLING_TIME_NS)))*72ul)/1000ul))+1)

#if (TRISE_NS > SAMPLING_TIME_NS)
  #define MAX_TRTS (2 * TRISE)
#else
  #define MAX_TRTS (2 * SAMPLING_TIME)
#endif

/////////////////  Power Stage management Conversions setting ////////////////////////

#define TEMP_FDBK_CHANNEL                 ADC_Channel_13
#define TEMP_FDBK_CHANNEL_GPIO_PORT       GPIOC
#define TEMP_FDBK_CHANNEL_GPIO_PIN        GPIO_Pin_3

#define BUS_VOLT_FDBK_CHANNEL             ADC_Channel_14
#define BUS_VOLT_FDBK_CHANNEL_GPIO_PORT   GPIOC
#define BUS_VOLT_FDBK_CHANNEL_GPIO_PIN    GPIO_Pin_4

#define BUS_SHUNT_CURR_CHANNEL             ADC_Channel_15
#define BUS_SHUNT_CURR_CHANNEL_GPIO_PORT   GPIOC
#define BUS_SHUNT_CURR_CHANNEL_GPIO_PIN    GPIO_Pin_5

#define POT1_VOLT_FDBK_CHANNEL             ADC_Channel_12
#define POT1_VOLT_FDBK_CHANNEL_GPIO_PORT   GPIOC
#define POT1_VOLT_FDBK_CHANNEL_GPIO_PIN    GPIO_Pin_2

#define AIN0_VOLT_FDBK_CHANNEL             ADC_Channel_8
#define AIN0_VOLT_FDBK_CHANNEL_GPIO_PORT   GPIOB
#define AIN0_VOLT_FDBK_CHANNEL_GPIO_PIN    GPIO_Pin_0

#define AIN1_VOLT_FDBK_CHANNEL             ADC_Channel_9
#define AIN1_VOLT_FDBK_CHANNEL_GPIO_PORT   GPIOB
#define AIN1_VOLT_FDBK_CHANNEL_GPIO_PIN    GPIO_Pin_1

#define BRK_SHUNT_CURR_CHANNEL             ADC_Channel_7
#define BRK_SHUNT_CURR_CHANNEL_GPIO_PORT   GPIOA
#define BRK_SHUNT_CURR_CHANNEL_GPIO_PIN    GPIO_Pin_7



#endif  /*__MC_PWM_1SHUNT_PRM_H*/
/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/

⌨️ 快捷键说明

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