bsp.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef __BSP_H__
  2. #define __BSP_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. #include "bsp/gpio.h"
  9. #include "bsp/gd32_bkp.h"
  10. #include "bsp/gd32_rtc.h"
  11. #include "bsp/can.h"
  12. #include "bsp/i2c.h"
  13. #include "bsp/fmc_flash.h"
  14. #include "bsp/can.h"
  15. #define SYSTEM_CLOCK (120000000u) //system clk 120M Hz
  16. #define TIM_CLOCK (SYSTEM_CLOCK) /*SystemClock_Config��TIM1��clk��sys PLL �������̶�2����PLLƵ��*/
  17. #define TIM_CLOCK_MHz (120u)
  18. #define ADC_CLOCK (30000000u)
  19. #define ADC_CLOCK_MHz (30u)
  20. #define NS_PER_TCLK (8u) /* (1/120000000 * 1000000000) */
  21. #define NS_2_TCLK(ns) (((ns)/NS_PER_TCLK) + 1u) //ns תΪpwmʹ�õ��Ǹ�TIM��clk count
  22. #define FOC_PWM_FS (16000u)
  23. #define FOC_PWM_period (TIM_CLOCK/FOC_PWM_FS)
  24. #define FOC_PWM_Half_Period (FOC_PWM_period/2)
  25. #define FOC_CTRL_US (1.0f/(float)FOC_PWM_FS)
  26. #define ADC_REGCHAN_SAMPLE_TIME ADC_SAMPLETIME_55POINT5
  27. #define ADC_TRIG_CONV_LATENCY_CYCLES 12.5f
  28. #define ADC_SAMPLING_CYCLES 13.5f
  29. #define TIMER_UP_IRQ_PRIORITY 0
  30. #define ADC_IRQ_PRIORITY 1
  31. #define HALL_IRQ_PRIORITY 2
  32. #define SCHED_TIMER_IRQ_PRIORITY 3
  33. #define EBREAK_IRQ_PRIORITY 2
  34. #define CAN_IRQ_PRIORITY 6
  35. #define RTC_IRQ_PRIORITY 7
  36. #define UART_IRQ_PRIORITY 6
  37. #define ENC_TIMER_IRQ_PRIORITY 2
  38. #define ENC_PWM_IRQ_PRIORITY 2
  39. #define ENC_I_EXIT_IRQ_PRIORITY 2
  40. #define ENC_OTHER_IRQ_PRIORITY 8
  41. #define THREE_SHUNTS_SAMPLE 1
  42. #define ONE_SHUNT_SAMPLE 2
  43. #define GPIO_HIGH_BRK_MODE 1
  44. #define GPIO_LOW_BRK_MODE 2
  45. #define ENCODER_MPS 1
  46. #define ENCODER_MT 2
  47. #ifdef GD32_FOC_DEMO
  48. #include "bsp/board_gd32demo.h"
  49. #elif defined (YUANQU_HW_V1)
  50. #include "bsp/board_yuanqu.h"
  51. #elif defined (MC100_HW_V1)
  52. #include "bsp/board_mc100_v1.h"
  53. #endif
  54. void bsp_init(void);
  55. void wdog_reload(void);
  56. void system_reboot(void);
  57. int wdog_set_timeout(int wdog_time);
  58. void systick_open(void);
  59. #endif /* __BSP_H__ */