| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- #ifndef __BOARD_CONFIG_H_
- #define __BOARD_CONFIG_H_
- //============================== UVW PWM define start ==============================
- #define PWM_TIM TIM1
- #define PWM_TIM_CLOCK 168000000
- #define PWM_TIM_FREQ 10000
- #define PWM_TIM_PULSE (PWM_TIM_CLOCK/(2*PWM_TIM_FREQ))
- #define PWM_TIM_PULSE_TPWM (PWM_TIM_CLOCK/(PWM_TIM_FREQ))
- #define FOC_PERIOD 0.0001F
- #define DEAD_TIME_NS 200
- #define PWM_DEAD_TIME (uint16_t)(((uint64_t)DEAD_TIME_NS * PWM_TIM_CLOCK) / 1000000000ULL)
- #define PWM_TIM_CLK RCC_APB2Periph_TIM1
- // PWM引脚定义(保持不变)
- #define PWM_AH_PIN GPIO_Pin_8
- #define PWM_AH_GPIO_PORT GPIOA
- #define PWM_AH_GPIO_CLK RCC_AHB1Periph_GPIOA
- #define PWM_AH_SOURCE GPIO_PinSource8
- #define PWM_AH_AF GPIO_AF_TIM1
- #define PWM_AL_PIN GPIO_Pin_13
- #define PWM_AL_GPIO_PORT GPIOB
- #define PWM_AL_GPIO_CLK RCC_AHB1Periph_GPIOB
- #define PWM_AL_SOURCE GPIO_PinSource13
- #define PWM_AL_AF GPIO_AF_TIM1
- #define PWM_BH_PIN GPIO_Pin_9
- #define PWM_BH_GPIO_PORT GPIOA
- #define PWM_BH_GPIO_CLK RCC_AHB1Periph_GPIOA
- #define PWM_BH_SOURCE GPIO_PinSource9
- #define PWM_BH_AF GPIO_AF_TIM1
- #define PWM_BL_PIN GPIO_Pin_14
- #define PWM_BL_GPIO_PORT GPIOB
- #define PWM_BL_GPIO_CLK RCC_AHB1Periph_GPIOB
- #define PWM_BL_SOURCE GPIO_PinSource14
- #define PWM_BL_AF GPIO_AF_TIM1
- #define PWM_CH_PIN GPIO_Pin_10
- #define PWM_CH_GPIO_PORT GPIOA
- #define PWM_CH_GPIO_CLK RCC_AHB1Periph_GPIOA
- #define PWM_CH_SOURCE GPIO_PinSource10
- #define PWM_CH_AF GPIO_AF_TIM1
- #define PWM_CL_PIN GPIO_Pin_15
- #define PWM_CL_GPIO_PORT GPIOB
- #define PWM_CL_GPIO_CLK RCC_AHB1Periph_GPIOB
- #define PWM_CL_SOURCE GPIO_PinSource15
- #define PWM_CL_AF GPIO_AF_TIM1
- //============================== UVW PWM define end ==============================
- //============================== DMA define start ==============================
- #define DMA2_CLK RCC_AHB1Periph_DMA2
- #define DMA_CHANNEL2 DMA_Channel_2
- #define DMA2_STREAM1 DMA2_Stream1
- //============================== DMA define end ==============================
- //============================== ADC sample define start ==============================
- // ADC数据寄存器地址
- #define ADC1_DR_ADDRESS ((uint32_t)&ADC1->DR)
- #define ADC2_DR_ADDRESS ((uint32_t)&ADC2->DR)
- #define ADC3_DR_ADDRESS ((uint32_t)&ADC3->DR)
- // ADC配置
- #define SAMPLE_ADC1 ADC1
- #define SAMPLE_ADC1_CLK RCC_APB2Periph_ADC1
- #define SAMPLE_ADC2 ADC2
- #define SAMPLE_ADC2_CLK RCC_APB2Periph_ADC2
- #define SAMPLE_ADC3 ADC3
- #define SAMPLE_ADC3_CLK RCC_APB2Periph_ADC3
- // 三相电流配置(注入组)
- // A相电流 - PB0, ADC1_IN8
- #define A_CURRENT_ADC_PIN GPIO_Pin_0
- #define A_CURRENT_ADC_GPIO_PORT GPIOB
- #define A_CURRENT_ADC_GPIO_CLK RCC_AHB1Periph_GPIOB
- #define A_CURRENT_ADC_SOURCE GPIO_PinSource0
- #define A_CURRENT_ADC_CHANNEL ADC_Channel_8
- // B相电流 - PA6, ADC2_IN6
- #define B_CURRENT_ADC_PIN GPIO_Pin_6
- #define B_CURRENT_ADC_GPIO_PORT GPIOA
- #define B_CURRENT_ADC_GPIO_CLK RCC_AHB1Periph_GPIOA
- #define B_CURRENT_ADC_SOURCE GPIO_PinSource6
- #define B_CURRENT_ADC_CHANNEL ADC_Channel_6
- // C相电流 - PA3, ADC3_IN3
- #define C_CURRENT_ADC_PIN GPIO_Pin_3
- #define C_CURRENT_ADC_GPIO_PORT GPIOA
- #define C_CURRENT_ADC_GPIO_CLK RCC_AHB1Periph_GPIOA
- #define C_CURRENT_ADC_SOURCE GPIO_PinSource3
- #define C_CURRENT_ADC_CHANNEL ADC_Channel_3
- // 其他采样(规则组,ADC3)
- // 母线电压 - PB1, ADC3_IN9
- #define VBUS_ADC_PIN GPIO_Pin_1
- #define VBUS_ADC_GPIO_PORT GPIOB
- #define VBUS_ADC_GPIO_CLK RCC_AHB1Periph_GPIOB
- #define VBUS_ADC_SOURCE GPIO_PinSource1
- #define VBUS_ADC_CHANNEL ADC_Channel_9
- // 温度采集 - PA0, ADC3_IN0
- #define TEMPERATURE_ADC_PIN GPIO_Pin_0
- #define TEMPERATURE_ADC_GPIO_PORT GPIOA
- #define TEMPERATURE_ADC_GPIO_CLK RCC_AHB1Periph_GPIOA
- #define TEMPERATURE_ADC_SOURCE GPIO_PinSource0
- #define TEMPERATURE_ADC_CHANNEL ADC_Channel_0
- // U端电压 - PF7, ADC3_IN5
- #define U_VOLT_ADC_PIN GPIO_Pin_7
- #define U_VOLT_ADC_GPIO_PORT GPIOF
- #define U_VOLT_ADC_GPIO_CLK RCC_AHB1Periph_GPIOF
- #define U_VOLT_ADC_SOURCE GPIO_PinSource7
- #define U_VOLT_ADC_CHANNEL ADC_Channel_5
- // V端电压 - PF8, ADC3_IN6
- #define V_VOLT_ADC_PIN GPIO_Pin_8
- #define V_VOLT_ADC_GPIO_PORT GPIOF
- #define V_VOLT_ADC_GPIO_CLK RCC_AHB1Periph_GPIOF
- #define V_VOLT_ADC_SOURCE GPIO_PinSource8
- #define V_VOLT_ADC_CHANNEL ADC_Channel_6
- // W端电压 - PF9, ADC3_IN7
- #define W_VOLT_ADC_PIN GPIO_Pin_9
- #define W_VOLT_ADC_GPIO_PORT GPIOF
- #define W_VOLT_ADC_GPIO_CLK RCC_AHB1Periph_GPIOF
- #define W_VOLT_ADC_SOURCE GPIO_PinSource9
- #define W_VOLT_ADC_CHANNEL ADC_Channel_7
- // ADC3 DMA缓冲区索引
- #define ADC3_U_VOLT_INDEX 0
- #define ADC3_V_VOLT_INDEX 1
- #define ADC3_W_VOLT_INDEX 2
- #define ADC3_TEMP_INDEX 3
- #define ADC3_VBUS_INDEX 4
- #define ADC3_DMA_BUFFER_SIZE 5
- // 三相电流通过中断读取,不需要全局数组
- //============================== ADC sample define end ==============================
- //============================== communication task timer define start ==============================
- #define COMMUNICATION_TASK_TIM_CLOCK 84000000
- #define COMMUNICATION_TASK_TIM_PRESCALER 839
- #define COMMUNICATION_TASK_FREQ 10
- #define COMMUNICATION_TASK_TIM TIM4
- #define COMMUNICATION_TASK_TIM_CLK RCC_APB1Periph_TIM4
- #define COM_TASK_TIM_IRQn TIM4_IRQn
- #define COM_TASK_TIM_IRQHandler TIM4_IRQHandler
- #define COM_TASK_TIM_PERIOD (COMMUNICATION_TASK_TIM_CLOCK \
- / (COMMUNICATION_TASK_TIM_PRESCALER + 1) \
- / COMMUNICATION_TASK_FREQ)
- //============================== communication task timer define end ==============================
- //============================== hall sensor define start ==============================
- #define HALL_TIM TIM5
- #define HALL_TIM_CLK RCC_APB1Periph_TIM5
- #define HALL_CH1_PIN GPIO_Pin_10
- #define HALL_CH1_GPIO_PORT GPIOH
- #define HALL_CH1_GPIO_CLK RCC_AHB1Periph_GPIOH
- #define HALL_CH1_SOURCE GPIO_PinSource10
- #define HALL_CH1_AF GPIO_AF_TIM5
- #define HALL_CH2_PIN GPIO_Pin_11
- #define HALL_CH2_GPIO_PORT GPIOH
- #define HALL_CH2_GPIO_CLK RCC_AHB1Periph_GPIOH
- #define HALL_CH2_SOURCE GPIO_PinSource11
- #define HALL_CH2_AF GPIO_AF_TIM5
- #define HALL_CH3_PIN GPIO_Pin_12
- #define HALL_CH3_GPIO_PORT GPIOH
- #define HALL_CH3_GPIO_CLK RCC_AHB1Periph_GPIOH
- #define HALL_CH3_SOURCE GPIO_PinSource12
- #define HALL_CH3_AF GPIO_AF_TIM5
- //============================== hall sensor define end ==============================
- //============================== USER LED define start ==============================
- #define USER_LED1_PIN GPIO_Pin_0
- #define USER_LED1_GPIO_PORT GPIOE
- #define USER_LED1_GPIO_CLK RCC_AHB1Periph_GPIOE
- #define USER_LED1_SOURCE GPIO_PinSource0
- #define USER_LED2_PIN GPIO_Pin_1
- #define USER_LED2_GPIO_PORT GPIOE
- #define USER_LED2_GPIO_CLK RCC_AHB1Periph_GPIOE
- #define USER_LED2_SOURCE GPIO_PinSource1
- //============================== USER LED define end ==============================
- //============================== KEY define start ==============================
- #define KEY_1_PIN GPIO_Pin_2
- #define KEY_1_GPIO_PORT GPIOE
- #define KEY_1_GPIO_CLK RCC_AHB1Periph_GPIOE
- #define KEY_1_EXTI_GPIO_PORT EXTI_PortSourceGPIOE
- #define KEY_1_EXTI_SOURCE EXTI_PinSource2
- #define KEY_1_EXTI_LINE EXTI_Line2
- #define KEY_2_PIN GPIO_Pin_3
- #define KEY_2_GPIO_PORT GPIOE
- #define KEY_2_GPIO_CLK RCC_AHB1Periph_GPIOE
- #define KEY_2_EXTI_GPIO_PORT EXTI_PortSourceGPIOE
- #define KEY_2_EXTI_SOURCE EXTI_PinSource3
- #define KEY_2_EXTI_LINE EXTI_Line3
- #define KEY_3_PIN GPIO_Pin_4
- #define KEY_3_GPIO_PORT GPIOE
- #define KEY_3_GPIO_CLK RCC_AHB1Periph_GPIOE
- #define KEY_3_EXTI_GPIO_PORT EXTI_PortSourceGPIOE
- #define KEY_3_EXTI_SOURCE EXTI_PinSource4
- #define KEY_3_EXTI_LINE EXTI_Line4
- //============================== KEY define end ==============================
- //============================== EN PIN define start ==============================
- #define USER_EN_PIN GPIO_Pin_10
- #define USER_EN_GPIO_PORT GPIOF
- #define USER_EN_GPIO_CLK RCC_AHB1Periph_GPIOF
- #define USER_EN_SOURCE GPIO_PinSource10
- #define SHUTDOWN_EN() GPIO_SetBits(USER_EN_GPIO_PORT,USER_EN_PIN)
- #define SHUTDOWN_OFF() GPIO_ResetBits(USER_EN_GPIO_PORT,USER_EN_PIN)
- //============================== EN PIN define end ==============================
- extern void hard_init(void);
- #endif /* __BOARD_CONFIG_H_ */
|