bsp.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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_TRIG_CONV_LATENCY_CYCLES 12.5f
  21. #define ADC_SAMPLING_CYCLES 13.5f
  22. #ifdef GD32_FOC_DEMO
  23. #include "bsp/board_gd32demo.h"
  24. #elif defined (YUANQU_HW_V1)
  25. #include "bsp/board_yuanqu.h"
  26. #elif defined (MC100_HW_V1)
  27. #include "bsp/gd32/board_mc100_v1.h"
  28. #define CONFIG_BOARD_MCXXX
  29. #define CONFIG_BOARD_NAME "MC100"
  30. #define CONFIG_MC105_HW_VERSION 2
  31. #elif defined (MC105_HW_V3)
  32. #include "bsp/gd32/board_mc105_v3.h"
  33. #define CONFIG_BOARD_MCXXX
  34. #ifdef CONFIG_SERVO_MOTOR
  35. #define CONFIG_BOARD_NAME "MC105_SERVO"
  36. #else
  37. #define CONFIG_BOARD_NAME "MC105"
  38. #endif
  39. #define CONFIG_MC105_HW_VERSION 3
  40. #endif
  41. #endif /* __BSP_GD32_H__ */