bsp.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #ifndef __BSP_GD32_H__
  2. #define __BSP_GD32_H__
  3. #if defined (GD32F30X_HD) || defined (GD32F30X_XD) || defined (GD32F30X_CL)
  4. #include "gd32f30x.h"
  5. #elif defined GD32E10x
  6. #include "gd32e10x.h"
  7. #endif
  8. #define SYSTEM_CLOCK (120000000u) //system clk 120M Hz
  9. #define TIM_CLOCK (SYSTEM_CLOCK) /*SystemClock_Config��TIM1��clk��sys PLL �������̶�2����PLLƵ��*/
  10. #define TIM_CLOCK_MHz (120u)
  11. #define ADC_CLOCK (30000000u)
  12. #define ADC_CLOCK_MHz (30u)
  13. #define NS_PER_TCLK (8u) /* (1/120000000 * 1000000000) */
  14. #define NS_2_TCLK(ns) (((ns)/NS_PER_TCLK) + 1u) //ns תΪpwmʹ�õ��Ǹ�TIM��clk count
  15. #define FOC_PWM_FS (16000u)
  16. #define FOC_PWM_period (TIM_CLOCK/FOC_PWM_FS)
  17. #define FOC_PWM_Half_Period (FOC_PWM_period/2)
  18. #define FOC_CTRL_US (1.0f/(float)FOC_PWM_FS)
  19. #define ADC_REGCHAN_SAMPLE_TIME ADC_SAMPLETIME_71POINT5
  20. #define ADC_REGCHAN_MOT_IND_SAMPLE_TIME ADC_SAMPLETIME_13POINT5
  21. #define ADC_TRIG_CONV_LATENCY_CYCLES 12.5f
  22. #define ADC_SAMPLING_CYCLES 13.5f
  23. #ifdef GD32_FOC_DEMO
  24. #include "bsp/board_gd32demo.h"
  25. #elif defined (YUANQU_HW_V1)
  26. #include "bsp/board_yuanqu.h"
  27. #elif defined (MC100_HW_V1)
  28. #define CONFIG_CURRENT_SENSOR_CEOF 0.32F
  29. #define CONFIG_BOARD_MAX_VOLTAGE 120.0f
  30. #define CONFIG_BOARD_MIN_VOLTAGE 50.0f
  31. #include "bsp/gd32/board_mc100_v1.h"
  32. #define CONFIG_BOARD_MCXXX
  33. #define CONFIG_BOARD_NAME "MC100"
  34. #define CONFIG_MC105_HW_VERSION 2
  35. #elif defined (CONFIG_MC105_HW_V3)
  36. #define CONFIG_VBUS_I_POSITIVE 1
  37. #define CONFIG_CURRENT_SENSOR_CEOF 0.303F
  38. #define CONFIG_BOARD_MAX_VOLTAGE 120.0f
  39. #define CONFIG_BOARD_MIN_VOLTAGE 50.0f
  40. #define PHASE_VOL_R (40*1000.0f)
  41. #define PHASE_VOL_R1 (1*1000.0f)
  42. #define PHASE_VOL_C1 (10e-9f) //10nF
  43. #include "bsp/gd32/board_mc105_v3.h"
  44. #define CONFIG_BOARD_MCXXX
  45. #define CONFIG_BOARD_NAME "MC105"
  46. #define CONFIG_MC105_HW_VERSION 3
  47. #define CONFIG_MOT_IND_USE_PHASE_SAMPLE 0 //电机参数离线识别使用采集的相电压
  48. #elif defined (CONFIG_BOARD_MC124)
  49. #define CONFIG_CURRENT_SENSOR_CEOF 0.313F
  50. #define CONFIG_BOARD_MAX_VOLTAGE 90.0f
  51. #define CONFIG_BOARD_MIN_VOLTAGE 40.0f
  52. #define PHASE_VOL_R (40*1000.0f)
  53. #define PHASE_VOL_R1 (1*1000.0f)
  54. #define PHASE_VOL_C1 (470e-9f) //470nF
  55. #include "bsp/gd32/board_mc105_v3.h"
  56. #define CONFIG_BOARD_MCXXX
  57. #define CONFIG_BOARD_NAME "MCXXX"
  58. #define CONFIG_MC105_HW_VERSION 3
  59. #define CONFIG_MOT_IND_USE_PHASE_SAMPLE 1 //电机参数离线识别使用采集的相电压
  60. #endif
  61. #endif /* __BSP_GD32_H__ */