Parcourir la source

整理板子类型硬件版本相关代码

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui il y a 2 ans
Parent
commit
5275e352e2

+ 2 - 2
Applications/bsp/at32/adc.c

@@ -6,7 +6,7 @@
 
 
 #ifdef CONFIG_BOARD_MCXXX
-#if (CONFIG_HW_VERSION==2)
+#if (CONFIG_MC105_HW_VERSION==2)
 #define ADC01_NUM (8)
 #define ADC2_NUM 4
 
@@ -23,7 +23,7 @@
 #define THROTTLE_BUFF_IDX 10
 #define MOTOR_TEMP_BUFF_IDX 11
 
-#elif (CONFIG_HW_VERSION==3)
+#elif (CONFIG_MC105_HW_VERSION==3)
 #define ADC1_NUM 9
 #define ADC2_NUM 9
 

+ 0 - 4
Applications/bsp/at32/board_at_mc105_v3.h

@@ -347,10 +347,6 @@
 #define BOOT_PIN_1_GROUP GPIOC 
 #define BOOT_PIN_1_PIN   GPIO_PINS_7
 
-#define BOARD_105_VERSION_3 2
-#define BOARD_105_VERSION_4 1
-
-
 #define ENC_MAX_interpolation 1.0F
 
 #define ENC_FILTER_NR          15

+ 2 - 2
Applications/bsp/at32/bsp.h

@@ -25,11 +25,11 @@
 #include "bsp/at32/board_mc100_v1.h"
 #define CONFIG_BOARD_MCXXX
 #define CONFIG_BOARD_NAME "MC100AT"
-#define CONFIG_HW_VERSION 2
+#define CONFIG_MC105_HW_VERSION 2
 #elif defined (MC105_HW_V3)
 #include "bsp/at32/board_at_mc105_v3.h"
 #define CONFIG_BOARD_MCXXX
 #define CONFIG_BOARD_NAME "MC105AT"
-#define CONFIG_HW_VERSION 3
+#define CONFIG_MC105_HW_VERSION 3
 #endif
 #endif /* __BSP_AT32_H__ */

+ 3 - 3
Applications/bsp/at32/gpio.c

@@ -124,7 +124,7 @@ void gpio_board_id_init(void) {
 }
 
 u8  gpio_hw_board_id(void) {
-	u8 id = BOARD_105_VERSION_4;
+	u8 id = CONFIG_MC105_VER3_ID1;
 #ifdef BOOT_PIN_0_GROUP
 	u8 b0 = gpio_input_data_bit_read(BOOT_PIN_0_GROUP, BOOT_PIN_0_PIN);
 	u8 b1 = gpio_input_data_bit_read(BOOT_PIN_1_GROUP, BOOT_PIN_1_PIN);
@@ -133,7 +133,7 @@ u8  gpio_hw_board_id(void) {
 	return id;
 }
 
-static u8 _board_id = BOARD_105_VERSION_4;
+static u8 _board_id = CONFIG_MC105_VER3_ID1;
 void mc_gpio_init(void) {
 	gpio_mlock_init();
 	gpio_mc_brk_init();
@@ -145,7 +145,7 @@ void mc_gpio_init(void) {
 	do {
 		delay_ms(5);
 		_board_id = gpio_hw_board_id();
-		if (_board_id == BOARD_105_VERSION_3 || _board_id == BOARD_105_VERSION_4) {
+		if (_board_id == CONFIG_MC105_VER3_ID2 || _board_id == CONFIG_MC105_VER3_ID1) {
 			break;
 		}
 	}while(count-- > 0);

+ 2 - 2
Applications/bsp/bsp.h

@@ -30,8 +30,8 @@
 #define MOTOR_BLUESHARK_ZD_100  4//中动100码编码器电机样品
 #define MOTOR_BLUESHARK_A1      5
 
-#define BOARD_105_VERSION_3 2
-#define BOARD_105_VERSION_4 1
+#define CONFIG_MC105_VER3_ID2 2
+#define CONFIG_MC105_VER3_ID1 1
 
 #if defined (GD32F30X_HD) || defined (GD32F30X_XD) || defined (GD32F30X_CL)
 #include "bsp/gd32/bsp.h"

+ 13 - 35
Applications/bsp/gd32/adc.c

@@ -5,25 +5,12 @@
 #include "math/fast_math.h"
 
 
-#ifndef CONFIG_BOARD_MCXXX
-#define ADC01_NUM 7
-#define ADC2_NUM 0
-
-#define VBUS_V_BUFF_IDX 0
-#define THROTTLE_BUFF_IDX 1
-#define U_VOL_BUFF_IDX 2
-#define V_VOL_BUFF_IDX 3
-#define W_VOL_BUFF_IDX 4
-#define MOS_TEMP_BUFF_IDX 5
-#define MOTOR_TEMP_BUFF_IDX 6
-#define REG_CHAN_NUM (ADC01_NUM + ADC2_NUM)
-#define ADC_DUAL_MODE ADC_DAUL_INSERTED_PARALLEL
-#elif (CONFIG_HW_VERSION==2)
+#if (CONFIG_MC105_HW_VERSION==2)
 #define ADC01_NUM (8)
 #define ADC2_NUM 4
 
 #define MOS_TEMP_BUFF_IDX 0
-#define VREF5v_BUFF_IDX 1
+#define VREF5v_BUFF_IDX 1  //需要跳线修改mos的第二路温感采集模拟5v
 #define VBUS_I_BUFF_IDX 2
 #define U_VOL_BUFF_IDX 3
 #define V_VOL_BUFF_IDX 4
@@ -36,7 +23,7 @@
 #define MOTOR_TEMP_BUFF_IDX 11
 #define REG_CHAN_NUM (ADC01_NUM + ADC2_NUM)
 #define ADC_DUAL_MODE ADC_DAUL_INSERTED_PARALLEL
-#elif (CONFIG_HW_VERSION==3)
+#elif (CONFIG_MC105_HW_VERSION==3)
 #define ADC01_NUM (9)
 
 #define MOS_TEMP_BUFF_IDX 0
@@ -76,7 +63,7 @@ float vref_5v_adc = 2047.0f;
 
 #define VREF_ADC_DATA 1509.0F //1498, 1.21/3.3*4095
 
-#if (CONFIG_HW_VERSION==3)
+#if (CONFIG_MC105_HW_VERSION==3)
 static void adc01_dma_init(void)
 {
     dma_parameter_struct dma_init_struct;
@@ -122,7 +109,7 @@ static void adc01_dma_init(void)
 }
 #endif
 
-#if (CONFIG_HW_VERSION==3)
+#if (CONFIG_MC105_HW_VERSION==3)
 static void adc01_init(void) {
     /* config ADC clock */
     rcu_adc_clock_config(RCU_CKADC_CKAPB2_DIV4); //APB2 clk 120M, adc clk 30M
@@ -174,28 +161,19 @@ static void adc01_init(void) {
 
 	/* configure ADC inserted channel length */
 	adc_channel_length_config(ADC0, ADC_INSERTED_CHANNEL, INJ_CHAN_NUM);
-#if 1
 	adc_inserted_channel_config(ADC0, 0, V_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
 #if (INJ_CHAN_NUM==4)
 	adc_inserted_channel_config(ADC0, 1, W_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
 	adc_inserted_channel_config(ADC0, 2, V_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
 	adc_inserted_channel_config(ADC0, 3, W_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
 #endif
-#else
-	adc_update_insert_sample_time(ADC0, V_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
-	adc_update_insert_sample_time(ADC0, W_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
-#endif
+
 	adc_channel_length_config(ADC1, ADC_INSERTED_CHANNEL, INJ_CHAN_NUM);
-#if 1
 	adc_inserted_channel_config(ADC1, 0, W_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
 #if (INJ_CHAN_NUM==4)
 	adc_inserted_channel_config(ADC1, 1, V_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
 	adc_inserted_channel_config(ADC1, 2, W_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
 	adc_inserted_channel_config(ADC1, 3, V_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
-#endif
-#else
-	adc_update_insert_sample_time(ADC1, V_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
-	adc_update_insert_sample_time(ADC1, W_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
 #endif
 	adc_mode_config(ADC_DUAL_MODE);
 
@@ -277,7 +255,7 @@ static void adc0_init(void){
 	adc_regular_channel_config(ADC0, 4, W_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
 	adc_regular_channel_config(ADC0, 5, MOS_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
 	adc_regular_channel_config(ADC0, 6, MOTOR_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
-#elif (CONFIG_HW_VERSION==2)
+#elif (CONFIG_MC105_HW_VERSION==2)
 	adc_regular_channel_config(ADC0, 0, MOS_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
 	adc_regular_channel_config(ADC0, 1, MOS_TEMP1_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
 	adc_regular_channel_config(ADC0, 2, VBUS_I_CHAN, ADC_REGCHAN_SAMPLE_TIME);
@@ -447,7 +425,7 @@ static void adc_gpio_init(void) {
 void adc_init(void) {
 	adc_gpio_init();
 	adc01_dma_init();
-#if (CONFIG_HW_VERSION==3)
+#if (CONFIG_MC105_HW_VERSION==3)
 	adc01_init();
 #else
 	adc0_init();
@@ -513,14 +491,14 @@ u16 adc_get_ibus(void) {
 }
 
 u16 adc_get_throttle(void) {
-#if CONFIG_HW_VERSION==3
-	if (gpio_board_id() == BOARD_105_VERSION_3) { //v3 和 V4 adc 通道交换了一下
+#if CONFIG_MC105_HW_VERSION==3
+	if (gpio_board_id() == CONFIG_MC105_VER3_ID2) { //v3 和 V4 adc 通道交换了一下
 		return adc_buffer[THROTTLE_BUFF_IDX] * VREF_3V3_COMPESTION();
 	}else {
 		return adc_buffer[MOTOR_TEMP_BUFF_IDX] * VREF_3V3_COMPESTION();
 	}
 #else
-	return adc_buffer[THROTTLE_BUFF_IDX]
+	return adc_buffer[THROTTLE_BUFF_IDX] * VREF_3V3_COMPESTION();
 #endif
 }
 
@@ -559,8 +537,8 @@ u16 adc_get_mos_temp(void) {
 }
 
 u16 adc_get_motor_temp(void) {
-#if CONFIG_HW_VERSION==3
-	if (gpio_board_id() == BOARD_105_VERSION_3) {
+#if CONFIG_MC105_HW_VERSION==3
+	if (gpio_board_id() == CONFIG_MC105_VER3_ID2) {
 		return adc_buffer[MOTOR_TEMP_BUFF_IDX];
 	}else {
 		return adc_buffer[THROTTLE_BUFF_IDX];

+ 2 - 2
Applications/bsp/gd32/bsp.h

@@ -31,11 +31,11 @@
 #include "bsp/gd32/board_mc100_v1.h"
 #define CONFIG_BOARD_MCXXX
 #define CONFIG_BOARD_NAME "MC100"
-#define CONFIG_HW_VERSION 2
+#define CONFIG_MC105_HW_VERSION 2
 #elif defined (MC105_HW_V3)
 #include "bsp/gd32/board_mc105_v3.h"
 #define CONFIG_BOARD_MCXXX
 #define CONFIG_BOARD_NAME "MC105"
-#define CONFIG_HW_VERSION 3
+#define CONFIG_MC105_HW_VERSION 3
 #endif
 #endif /* __BSP_GD32_H__ */

+ 3 - 3
Applications/bsp/gd32/gpio.c

@@ -151,7 +151,7 @@ void gpio_board_id_init(void) {
 }
 
 u8  gpio_hw_board_id(void) {
-	u8 id = BOARD_105_VERSION_4;
+	u8 id = CONFIG_MC105_VER3_ID1;
 #ifdef BOOT_PIN_0_GROUP
 	u8 b0 = gpio_input_bit_get(BOOT_PIN_0_GROUP, BOOT_PIN_0_PIN);
 	u8 b1 = gpio_input_bit_get(BOOT_PIN_1_GROUP, BOOT_PIN_1_PIN);
@@ -165,7 +165,7 @@ void gpio_repear_key_init(void) {
 	gpio_init(REPEAR_IN_GROUP, REPEAR_IN_MODE, GPIO_OSPEED_50MHZ, REPEAR_IN_PIN);
 #endif
 }
-static u8 _board_id = BOARD_105_VERSION_4;
+static u8 _board_id = CONFIG_MC105_VER3_ID1;
 void mc_gpio_init(void) {
 	gpio_mlock_init();
 	gpio_mc_brk_init();
@@ -178,7 +178,7 @@ void mc_gpio_init(void) {
 	do {
 		delay_ms(5);
 		_board_id = gpio_hw_board_id();
-		if (_board_id == BOARD_105_VERSION_3 || _board_id == BOARD_105_VERSION_4) {
+		if (_board_id == CONFIG_MC105_VER3_ID2 || _board_id == CONFIG_MC105_VER3_ID1) {
 			break;
 		}
 	}while(count-- > 0);

+ 1 - 1
Applications/bsp/n32/adc.c

@@ -4,7 +4,7 @@
 #include "libs/logger.h"
 #include "math/fast_math.h"
 
-#if (CONFIG_HW_VERSION==3)
+#if (CONFIG_MC105_HW_VERSION==3)
 #define ADC01_NUM (8)
 
 #define VBUS_V_BUFF_IDX 0

+ 1 - 1
Applications/bsp/n32/bsp.h

@@ -33,7 +33,7 @@
 #include "bsp/n32/board_n32_mc105_v3.h"
 #define CONFIG_BOARD_MCXXX
 #define CONFIG_BOARD_NAME "MC105"
-#define CONFIG_HW_VERSION 3
+#define CONFIG_MC105_HW_VERSION 3
 #endif
 
 

+ 3 - 3
Applications/foc/motor/current_ics.c

@@ -141,9 +141,9 @@ void phase_current_get(float *iABC){
 
 	cs->adc_ib = (phase_current1 - cs->adc_offset_b);
 	cs->adc_ic = (phase_current2 - cs->adc_offset_c);
-#if (CONFIG_HW_VERSION==3)
+#if (CONFIG_MC105_HW_VERSION==3)
 #ifdef CONFIG_PWM_UV_SWAP
-	if (gpio_board_id() == BOARD_105_VERSION_3) {
+	if (gpio_board_id() == CONFIG_MC105_VER3_ID2) {
 		iABC[1] = -cs->adc_ib * ADC_TO_CURR_ceof1;
 		iABC[0] = -cs->adc_ic * ADC_TO_CURR_ceof2;
 		iABC[2] = -(iABC[1] + iABC[0]);
@@ -153,7 +153,7 @@ void phase_current_get(float *iABC){
 		iABC[1] = -(iABC[0] + iABC[2]);
 	}
 #else
-	if (gpio_board_id() == BOARD_105_VERSION_3) {
+	if (gpio_board_id() == CONFIG_MC105_VER3_ID2) {
 		iABC[1] = -cs->adc_ib * ADC_TO_CURR_ceof1;
 		iABC[2] = -cs->adc_ic * ADC_TO_CURR_ceof2;
 		iABC[0] = -(iABC[1] + iABC[2]);