123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414 |
- /************************************************************************
- Project: Welling Motor Control Paltform
- Filename: syspar.h
- Partner Filename: Null
- Description: System parameters
- Complier: IAR Embedded Workbench for ARM 7.80, IAR Systems.
- CPU TYPE : Cortex-M4
- *************************************************************************
- Copyright (c) 2019 Welling Motor Technology(Shanghai) Co. Ltd.
- All rights reserved.
- *************************************************************************
- *************************************************************************
- Revising History (ECL of this file):
- ************************************************************************/
- #ifndef SYSPAR_H
- #define SYSPAR_H
- /************************************************************************
- Compiler Directives
- *************************************************************************/
- /************************************************************************
- Definitions & Macros
- *************************************************************************/
- /*======================================================================*
- Update Time
- 2020-2-13 11:22:19
- *=======================================================================*/
- /*======================================================================*
- Bike Riding Parameter Config
- *=======================================================================*/
- #define IPM_POWER_250W_6G 0x0
- #define IPM_POWER_350W_6G 0x01
- #define IPM_POWER_350W_9G 0x02
- #define IPM_POWER_500W_9G 0x03
- #define IPM_POWER_500W_12G 0x04
- #define IPM_POWER_750W_12G 0x05
- #define IPM_POWER_750W_MINI_12G 0x06
- #define IPM_POWER_1000W_12G 0x07
- #define IPM_POWER_1000W_MINI_12G 0x08
- #define IPM_POWER_350W_MINI_12G 0x09
- #define IPM_POWER_SEL IPM_POWER_250W_6G// IPM_POWER_250W_6G// IPM_POWER_250W_6G// IPM_POWER_250W_6G//IPM_POWER_350W_MINI_12G
- #define IPM_VOLTAGE_36V 0x0
- #define IPM_VOLTAGE_48V 0x1
- #define IPM_VOLTAGE_SEL IPM_VOLTAGE_36V
- #define BIKE_TYPE_R219 0x0
- #define BIKE_TYPE_R168 0x01
- #define BIKE_TYPE_R224 0x02
- #define BIKE_TYPE_R191 0x03
- #define BIKE_TYPE_SEL BIKE_TYPE_R219
- #define BIKE_SPEED_LIMIT_25 0x0
- #define BIKE_SPEED_LIMIT_32 0x1
- #define BIKE_SPEED_LIMIT_45 0x2
- #define BIKE_SPEED_LIMIT_SEL BIKE_SPEED_LIMIT_32
- #define BIKE_THROTTLE_SPEED_LIMIT_25 0x0
- #define BIKE_THROTTLE_SPEED_LIMIT_32 0x1
- #define BIKE_THROTTLE_SPEED_LIMIT_45 0x2
- #define BIKE_THROTTLE_SPEED_LIMIT_SEL BIKE_THROTTLE_SPEED_LIMIT_32
- /*======================================================================*
- uart2关闭与打开
- 0-打开LED12V电源 1- 关闭LED12V电源 ,可以进行仿真
- *=======================================================================*/
- #define SIMULATION 1
- /*======================================================================*
- //仪表协议选择
- // //0-5s,1-锂电2号,2-概念智慧, 3-八方,4-澜风2.6,无适配仪表,暂未使用, 5-J协议,6-澜风9.0
- //只区分ID==3,需要更新波特率,八方,其余协议可以直接解析
- *=======================================================================*/
- #define UART_ID 0
- /*======================================================================*
- IntelligenCadGear
- //0-关闭智能踏频 1-打开,车速跟随脚踩频率变化而变化,需要知道牙盘齿轮数
- *=======================================================================*/
- #define INTELLIGENCADGEAR_EN 0
- /*======================================================================*
- IntelligenCadGear
- //0-关闭功率模式智能踏频 1-打开,车速跟随脚踩频率变化而变化
- * 牙盘齿轮比自适应,
- * 每个档位限制速度都一样,档位用功率区分
- * 1档 20%开始限功率,
- * 2档 30% 开始限功率
- * 3档 50% 开始限功率
- * 4档 60%不限功率
- * 5档 最大速度前不限功率
- *=======================================================================*/
- #define POWER_INTELLIGENCADGEAR_EN 0
- /*======================================================================*
- oxford fun Selection
- //0-关闭Oxford ,1-开启。oxfoed功能无仪表,开机默认smart档位,上电固定开前后灯
- *=======================================================================*/
- #define BIKE_OXFORD_EN 0
- /*======================================================================*
- 力矩模式限速 Gear Limit MAX speed Fun
- //0-关闭力矩的档位限速功能,1-开启。力矩传感器不同档位限速,1档-48%,2档-60%,3档-72%,4档-84%,5档-100%,
- *=======================================================================*/
- #define BIKE_TORQUESPDLIMIT_EN 0
- /*======================================================================*
- 力矩模式下不同档的最大扭矩比 ,鑫宝专用
- //0-关闭 ,1-开启。 力矩传感器不同档位限制最大输出,1档-35%,2档-50%,3档-70%,4档-85%,5档-100%,
- *=======================================================================*/
- #define BIKE_TORGEARMAX 0
- /*======================================================================*
- NOT ZERO Ssart
- //1-速度非零起动,速度大于3KM/H,转把才有效 ;0-车速为零可以转把启动
- *=======================================================================*/
- #define STARTRUNATSPEED 0
- /*======================================================================*
- 巡航Bike Cruise
- //指拨巡航功能 0-无,1-指拨维持不动维持8秒,进入巡航功能,仪表出线巡航图标,刹车,0档,有助力踏频,重新调速,有故障会退出
- *=======================================================================*/
- //#define THOTTLECRUISE_EN 0
- #define IPM_FUN_EN 0// 0xaa //默认状态 0xaa-开启巡航,其他关闭
- /*======================================================================*
- 指拨档位
- 不同档位,指拨的最大速度有区分。1档-48%,2档-60%,3档-72%,4档-84%,5档-100%,
- *=======================================================================*/
- #define THROTTLEGEAR 0
- /*======================================================================*
- 踏频 档位限速
- 不同档位,踏频的最大速度有区分。1档-48%,2档-60%,3档-72%,4档-84%,5档-100%,
- *=======================================================================*/
- #define CADASSISTGEAR 0
- /*======================================================================*
- 指拨加速度跟助力加速度分开
- 1-分开 0-共用KP值
- *=======================================================================*/
- #define THROTTLEACCELER 0
- /*======================================================================*
- 不同档位做不同电流限制 GEAR_POWERCURLIMIT_EN
- 1档-最大限流的13%
- 2档-最大限流的33%
- 3档-最大限流的53%
- 4档-最大限流的73%
- 5档-最大限流的100%
- *=======================================================================*/
- #define GEAR_POWERCURLIMIT_EN 0
- //-----
- #define GEAR_CUR_NORMOL 0
- #define GEAR_CURVALUT_ONE 13
- #define GEAR_CURVALUT_TWO 33
- #define GEAR_CURVALUT_THR 53
- #define GEAR_CURVALUT_FOR 73
- #define GEAR_CURVALUT_FIV 100
- //-----
- #define GEAR_CUR_UART5S 0
- /*======================================================================*
- DCDC12/6V电压端口配置 DCDC_12S6V_SEL_EN
- 0-DC to DC端口 固定使能打开
- 1-DC to DC端口 前后灯12/6V用PWM控制
- *=======================================================================*/
- #define DCDC_12S6V_SEL_EN 1
- /*======================================================================*
- 1-第3版本 2- 第4版本 3-第5版本
- 硬件版本选择
- 3版本的过流基准值试外部器件,
- 4版本过流用内部的参考电压1.2V
- 5版本,在4版本基础上,电源自锁IO由PF6改为PB3, PF6功能作为12V电源输出使能
- *=======================================================================*/
- #define HARDWAREV30 3
- /*======================================================================*
- 采样方式修改 COMBINATION DOUBLERESISTANCE
- *=======================================================================*/
- #define SampleModelSelect DOUBLERESISTANCE//COMBINATION
- /*======================================================================*
- JSCOPE 数据示波器 0-关闭 ,1-打开
- *=======================================================================*/
- #define JSCOPE_EN 0
- /*======================================================================*
- EMC deal EMC抗干扰处理,0-无 ,1-有
- *=======================================================================*/
- #define EMCDEAL_EN 0
- /*======================================================================*
- MCU Model Number
- *=======================================================================*/
- #define HARDWARE_STM4_64PIN 0
- #define HARDWARE_STM4_32PIN 1
- #define HARDWARE_VERSION HARDWARE_STM4_32PIN
- /*======================================================================*
- MCU Frequency
- *=======================================================================*/
- #define CLK_CORE_KHZ 72000
- #define CLK_PWM_KHZ 72000
- #define CLK_ADC_KHZ 36000
- #define CLK_AHB_KHZ 72000
- #define CLK_APB1_KHZ 36000
- #define CLK_APB2_KHZ 72000
- #define CLK_TIM0_KHZ 72000
- #define CLK_TIM1_KHZ 72000
- /*======================================================================*
- Control Frequency
- *=======================================================================*/
- #define FPWM_HZ 16000
- #define FTBC_HZ 8000
- #define FTBS_HZ 4000 //4000
- #define FSYSTICK_HZ 1000
- #define PWM_PERIOD_CNT 4500
- #define PWM_PERIOD_US 625
- #define TBC_PERIOD_US 1250
- #define TBS_PERIOD_US 5000
- #define EVENT_1MS_HZ 1000
- /*======================================================================*
- ADC
- *=======================================================================*/
- #define ADC_RESOLUTION_BIT 12
- #define ADC_CALIB_INDEX 12
- #define ADC_SMPL_PERIOD 7POINT5
- #define ADC_CONV_PERIOD 12POINT5
- #define ADC_INSERTED_CH_NUM 1
- #define ADC_REGULAR_CH_NUM 5
- #define ADC_UABC_LPF_COMP 20430
- /*======================================================================*
- ADC Maximum Value
- *=======================================================================*/
- #if ((IPM_POWER_SEL == IPM_POWER_250W_6G)||(IPM_POWER_SEL == IPM_POWER_350W_6G)||(IPM_POWER_SEL == IPM_POWER_500W_6G))
- #define ADC_IPHASE_CUR_MAX_AP 16500//10200//5500 //unit:0.01A, double resistance
- #define ADC_IDC_CUR_AVG_MAX_AP 11000//19335//11420//13750 //unit:0.01A,idc average
- #define ADC_IDC_CUR_MAX_AP 11000//19335//11420//13750 //15216 //unit:0.01A,idc
- #define ADC_VDC_MAX_VT 690//641// 693//723 //643 //unit:0.1V,vdc
- #define RMOSOFFSETVLAUE 3000//unit:0.001
- #elif (IPM_POWER_SEL == IPM_POWER_350W_9G)
- #define ADC_IPHASE_CUR_MAX_AP 16500//10200//5500 //unit:0.01A, double resistance
- #define ADC_IDC_CUR_AVG_MAX_AP 18600//19335//11420//13750 //unit:0.01A,idc average
- #define ADC_IDC_CUR_MAX_AP 18600//19335//11420//13750 //15216 //unit:0.01A,idc
- #define ADC_VDC_MAX_VT 690//641// 693//723 //643 //unit:0.1V,vdc
- #define RMOSOFFSETVLAUE 3000//unit:0.001
- #elif (IPM_POWER_SEL == IPM_POWER_500W_9G)
- #define ADC_IPHASE_CUR_MAX_AP 16500//10200//5500 //unit:0.01A, double resistance
- #define ADC_IDC_CUR_AVG_MAX_AP 18600//19335//11420//13750 //unit:0.01A,idc average
- #define ADC_IDC_CUR_MAX_AP 18600//19335//11420//13750 //15216 //unit:0.01A,idc
- #define ADC_VDC_MAX_VT 690//641// 693//723 //643 //unit:0.1V,vdc
- #define RMOSOFFSETVLAUE 3000//unit:0.001
- #elif ((IPM_POWER_SEL == IPM_POWER_500W_12G) ||(IPM_POWER_SEL ==IPM_POWER_750W_MINI_12G))
- #define ADC_IPHASE_CUR_MAX_AP 16900//10200//5500 //unit:0.01A, double resistance
- #define ADC_IDC_CUR_AVG_MAX_AP 18600//19335//11420//13750 //unit:0.01A,idc average
- #define ADC_IDC_CUR_MAX_AP 18600//19335//11420//13750 //15216 //unit:0.01A,idc
- #define ADC_VDC_MAX_VT 690//641// 693//723 //643 //unit:0.1V,vdc
- #define RMOSOFFSETVLAUE 3000//unit:0.001
- #elif (IPM_POWER_SEL ==IPM_POWER_350W_MINI_12G)
- #define ADC_IPHASE_CUR_MAX_AP 16900//10200//5500 //unit:0.01A, double resistance
- #define ADC_IDC_CUR_AVG_MAX_AP 18600//19335//11420//13750 //unit:0.01A,idc average
- #define ADC_IDC_CUR_MAX_AP 18600//19335//11420//13750 //15216 //unit:0.01A,idc
- #define ADC_VDC_MAX_VT 690//641// 693//723 //643 //unit:0.1V,vdc
- #define RMOSOFFSETVLAUE 3000//unit:0.001
- #elif (IPM_POWER_SEL == IPM_POWER_750W_12G)
- #define ADC_IPHASE_CUR_MAX_AP 16900//10200//5500 //unit:0.01A, double resistance
- #define ADC_IDC_CUR_AVG_MAX_AP 18600//19335//11420//13750 //unit:0.01A,idc average
- #define ADC_IDC_CUR_MAX_AP 18600//19335//11420//13750 //15216 //unit:0.01A,idc
- #define ADC_VDC_MAX_VT 690//641// 693//723 //643 //unit:0.1V,vdc
- #define RMOSOFFSETVLAUE 3000//unit:0.001
- #elif ((IPM_POWER_SEL == IPM_POWER_1000W_12G) ||(IPM_POWER_SEL ==IPM_POWER_1000W_MINI_12G))
- #define ADC_IPHASE_CUR_MAX_AP 16900// 16500//10200//5500 //unit:0.01A, double resistance
- #define ADC_IDC_CUR_AVG_MAX_AP 18600//19335//11420//13750 //unit:0.01A,idc average
- #define ADC_IDC_CUR_MAX_AP 18600//19335//11420//13750 //15216 //unit:0.01A,idc
- #define ADC_VDC_MAX_VT 690//641// 693//723 //643 //unit:0.1V,vdc
- #define RMOSOFFSETVLAUE 3000//unit:0.001
- #else
- #define ADC_IPHASE_CUR_MAX_AP 16500//10200//5500 //unit:0.01A, double resistance
- #define ADC_IDC_CUR_AVG_MAX_AP 18600//19335//11420//13750 //unit:0.01A,idc average
- #define ADC_IDC_CUR_MAX_AP 18600//19335//11420//13750 //15216 //unit:0.01A,idc
- #define ADC_VDC_MAX_VT 690//641// 693//723 //643 //unit:0.1V,vdc
- #define RMOSOFFSETVLAUE 3000//unit:0.001
- #endif
- /*======================================================================*
- IPM Paremeters
- *=======================================================================*/
- #define IPM_TURN_ON_TM_NS 300 // 86 // unit:ns
- #define IPM_TURN_OFF_TM_NS 300 // 105 // unit:ns
- #define IPM_DEAD_TM_NS 1000 // unit:ns
- #define IPM_HVIC_CHRG_TM 20 // unit: ms,Bootstrap capacitor charge time
- #define ADC_UABC_MAX_VT 495
- #define ADC_DISPLAY_MAX_VT 188
- #define ADC_LIGHT_MAX_VT 188
- #define ADC_SPDSENSOR_MAX_VT 188
- #define ADC_UMotorTemp_MAX_VT 0
- #define ADC_UPcbTemp_MAX_VT 33
- /*======================================================================*
- Base value
- *=======================================================================*/
- #define VBASE 480 // 0.1V 100mv
- #define IBASE 6000 // 0.01A
- #define FBASE 1400 // Hz
- #define TORQUEBASE 900 // 0.1Nm wzy
- /*======================================================================*
- Control cycle
- *=======================================================================*/
- #define TBC_TM (((ULONG)FBASE << 10) / FTBC_HZ)
- #define TBS_TM (((ULONG)FBASE << 10) / FTBS_HZ)
- /*=======================================================================
- TBC real value to count function define
- =======================================================================*/
- #define TBC_US2CT(x) ((ULONG)(x)*FTBC_HZ / 1000000)
- #define TBC_MS2CT(x) ((ULONG)(x)*FTBC_HZ / 1000)
- #define TBC_S2CT(x) ((ULONG)(x)*FTBC_HZ)
- #define EVENT1MS_MS2CT(x) ((ULONG)(x)*EVENT_1MS_HZ / 1000)
- #define EVENT1MS_S2CT(x) ((ULONG)(x)*EVENT_1MS_HZ)
- /*=======================================================================
- TBS real value to count function define
- =======================================================================*/
- #define TBS_US2CT(x) ((ULONG)(x)*FTBS_HZ / 1000000)
- #define TBS_MS2CT(x) ((ULONG)(x)*FTBS_HZ / 1000)
- #define TBS_S2CT(x) ((ULONG)(x)*FTBS_HZ)
- #define TBS_MIN2CT(x) ((ULONG)(x)*FTBS_HZ * 60)
- /*=======================================================================
- SysTick real value to count function define
- =======================================================================*/
- #define TBT_MS2CT(x) ((ULONG)(x)*FSYSTICK_HZ / 1000)
- #define TBT_S2CT(x) ((ULONG)(x)*FSYSTICK_HZ)
- #define TBT_MIN2CT(x) ((ULONG)(x)*FSYSTICK_HZ * 60)
- /*=======================================================================
- Speed real value to pu value function define
- =======================================================================*/
- #define MOTOR_PAIRS M_POLE_PAIRS
- #define SPD_RPM2PU(x) (((SLONG)(x) << 15) / 60 * MOTOR_PAIRS / FBASE) /* rpm to Pu(Q15) */
- #define SPD_HZ2PU(x) (((SLONG)(x) << 15) / FBASE) /* Hz(Electric) to Pu(Q15) */
- #define SPD_ACC_RPM2PU(x) (((SLONG)SPD_RPM2PU(x) << 14) / FTBS_HZ) /* rpm/s to Pu(Q29) */
- /*=======================================================================
- Voltage real value to pu value function define
- =======================================================================*/
- #define VLT_VT2PU(x) (((ULONG)(x) << 14) / VBASE)
- /*=======================================================================
- Current real value to pu value function define
- =======================================================================*/
- #define CUR_AP2PU(x) (((ULONG)(x) << 14) / IBASE)
- /*=======================================================================
- Angle real value to pu value function define
- =======================================================================*/
- #define ANG_DEG2PU(x) (((SLONG)(x) << 15) / 360)
- /*=======================================================================
- Bandwidth real value to pu value function define
- =======================================================================*/
- #define BW_HZ2PU(x) (((ULONG)(x) << 15) / FBASE)
- /************************************************************************
- Constant Table
- *************************************************************************/
- /************************************************************************
- TypeDefs & Structure defines
- *************************************************************************/
- /************************************************************************
- Exported Variables:
- *************************************************************************/
- /************************************************************************
- RAM ALLOCATION:
- *************************************************************************/
- /************************************************************************
- Exported Function Call Prototypes (N/A)
- *************************************************************************/
- /************************************************************************
- Local Function Call Prototypes (N/A)
- *************************************************************************/
- /************************************************************************
- Head files (N/A)
- *************************************************************************/
- /************************************************************************
- Flag Define (N/A)
- *************************************************************************/
- #endif
- /*************************************************************************
- Copyright (c) 2019 Welling Motor Technology(Shanghai) Co. Ltd.
- All rights reserved.
- *************************************************************************
- End of this File (EOF)!
- Do not put anything after this part!
- *************************************************************************/
|