dd 9 månader sedan
förälder
incheckning
dfc84a12eb

+ 1 - 1
MDK-ARM/QD007A_CTL_APP.uvprojx

@@ -81,7 +81,7 @@
             <RunUserProg1>1</RunUserProg1>
             <RunUserProg2>1</RunUserProg2>
             <UserProg1Name>C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bincombined  --output ./bin/QD007A_CTL_APP.bin ./QD007A_CTL_APP/QD007A_CTL_APP.axf</UserProg1Name>
-            <UserProg2Name>D:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_APP\QD007E_CTRL_APP\MDK-ARM\crc_gen_keil.bat</UserProg2Name>
+            <UserProg2Name>E:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_APP\QD007E_CTRL_APP\MDK-ARM\crc_gen_keil.bat</UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
             <nStopA1X>0</nStopA1X>

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 2449 - 2449
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 8 - 7
MDK-ARM/startup_stm32f103xb.lst

@@ -516,18 +516,19 @@ ARM Macro Assembler    Page 8
   334 00000004         
   335 00000004         
   336 00000004                 END
-Command Line: --debug --xref --cpu=Cortex-M3 --apcs=interwork --depend=.\qd007a
-_ctl_app\startup_stm32f103xb.d -o.\qd007a_ctl_app\startup_stm32f103xb.o -ID:\So
+Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
+ork --depend=.\qd007a_ctl_app\startup_stm32f103xb.d -o.\qd007a_ctl_app\startup_
 
 
 
 ARM Macro Assembler    Page 9 
 
 
-ftDesign\20190311_QD007A_CTL\QD007E_CTRL_APP\QD007E_CTRL_APP\MDK-ARM\RTE -IC:\K
-eil_v5\ARM\PACK\ARM\CMSIS\4.1.0\CMSIS\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F
-1xx_DFP\1.0.4\Device\Include --predefine="__MICROLIB SETA 1" --list=startup_stm
-32f103xb.lst startup_stm32f103xb.s
+stm32f103xb.o -IE:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_APP\QD007E_CTRL_A
+PP\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.3.0\CMSIS\Include -IC:\Keil_v5
+\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__MICROLIB SETA 
+1" --predefine="__UVISION_VERSION SETA 515" --predefine="_RTE_ SETA 1" --predef
+ine="STM32F10X_MD SETA 1" --list=startup_stm32f103xb.lst startup_stm32f103xb.s
 
 
 
@@ -1257,4 +1258,4 @@ Symbol: __main
       At line 152 in file startup_stm32f103xb.s
 Comment: __main used once
 2 symbols
-405 symbols in table
+408 symbols in table

+ 15 - 8
MDK-ARM/stm32f1xx_stucpuregsaddressing.lst

@@ -121,13 +121,20 @@ ARM Macro Assembler    Page 2
                                                             ler
    98 00000096                 ENDP
    99 00000096                 END
-Command Line: --debug --xref --cpu=Cortex-M3 --apcs=interwork --depend=.\qd007a
-_ctl_app\stm32f1xx_stucpuregsaddressing.d -o.\qd007a_ctl_app\stm32f1xx_stucpure
-gsaddressing.o -ID:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_APP\QD007E_CTRL_
-APP\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.1.0\CMSIS\Include -IC:\Keil_v
-5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.4\Device\Include --predefine="__MICROLIB SETA
- 1" --list=stm32f1xx_stucpuregsaddressing.lst ..\SelfTestUser\src_specific\stm3
-2f1xx_STUCpuRegsAddressing.s
+Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
+ork --depend=.\qd007a_ctl_app\stm32f1xx_stucpuregsaddressing.d -o.\qd007a_ctl_a
+pp\stm32f1xx_stucpuregsaddressing.o -IE:\SoftDesign\20190311_QD007A_CTL\QD007E_
+CTRL_APP\QD007E_CTRL_APP\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.3.0\CMSI
+S\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include --prede
+fine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 515" --predefine="
+_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --list=stm32f1xx_stucpuregsaddr
+
+
+
+ARM Macro Assembler    Page 3 
+
+
+essing.lst ..\SelfTestUser\src_specific\stm32f1xx_STUCpuRegsAddressing.s
 
 
 
@@ -239,4 +246,4 @@ ssing.s
 ssing.s
 Comment: FailSafePOR used once
 3 symbols
-338 symbols in table
+341 symbols in table

+ 9 - 8
MDK-ARM/stm32f1xx_stucpuwalkpatkeil.lst

@@ -1591,13 +1591,14 @@ ARM Macro Assembler    Page 25
  1170 000006D0         
  1171 000006D0         
  1172 000006D0                 END
-Command Line: --debug --xref --cpu=Cortex-M3 --apcs=interwork --depend=.\qd007a
-_ctl_app\stm32f1xx_stucpuwalkpatkeil.d -o.\qd007a_ctl_app\stm32f1xx_stucpuwalkp
-atkeil.o -ID:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_APP\QD007E_CTRL_APP\MD
-K-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.1.0\CMSIS\Include -IC:\Keil_v5\ARM\
-PACK\Keil\STM32F1xx_DFP\1.0.4\Device\Include --predefine="__MICROLIB SETA 1" --
-list=stm32f1xx_stucpuwalkpatkeil.lst ..\SelfTestUser\src_specific\stm32f1xx_STU
-CpuWalkpatKEIL.s
+Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
+ork --depend=.\qd007a_ctl_app\stm32f1xx_stucpuwalkpatkeil.d -o.\qd007a_ctl_app\
+stm32f1xx_stucpuwalkpatkeil.o -IE:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_A
+PP\QD007E_CTRL_APP\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.3.0\CMSIS\Incl
+ude -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="
+__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 515" --predefine="_RTE_ 
+SETA 1" --predefine="STM32F10X_MD SETA 1" --list=stm32f1xx_stucpuwalkpatkeil.ls
+t ..\SelfTestUser\src_specific\stm32f1xx_STUCpuWalkpatKEIL.s
 
 
 
@@ -2665,4 +2666,4 @@ KEIL.s
 KEIL.s
 
 1 symbol
-398 symbols in table
+401 symbols in table

+ 9 - 8
MDK-ARM/stm32f1xx_sturamwalkpatkeil.lst

@@ -428,13 +428,14 @@ ARM Macro Assembler    Page 7
   329 000001F2                 ENDP
   330 000001F2         
   331 000001F2                 END
-Command Line: --debug --xref --cpu=Cortex-M3 --apcs=interwork --depend=.\qd007a
-_ctl_app\stm32f1xx_sturamwalkpatkeil.d -o.\qd007a_ctl_app\stm32f1xx_sturamwalkp
-atkeil.o -ID:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_APP\QD007E_CTRL_APP\MD
-K-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.1.0\CMSIS\Include -IC:\Keil_v5\ARM\
-PACK\Keil\STM32F1xx_DFP\1.0.4\Device\Include --predefine="__MICROLIB SETA 1" --
-list=stm32f1xx_sturamwalkpatkeil.lst ..\SelfTestUser\src_specific\stm32f1xx_STU
-RamWalkpatKEIL.s
+Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
+ork --depend=.\qd007a_ctl_app\stm32f1xx_sturamwalkpatkeil.d -o.\qd007a_ctl_app\
+stm32f1xx_sturamwalkpatkeil.o -IE:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_A
+PP\QD007E_CTRL_APP\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.3.0\CMSIS\Incl
+ude -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="
+__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 515" --predefine="_RTE_ 
+SETA 1" --predefine="STM32F10X_MD SETA 1" --list=stm32f1xx_sturamwalkpatkeil.ls
+t ..\SelfTestUser\src_specific\stm32f1xx_STURamWalkpatKEIL.s
 
 
 
@@ -811,4 +812,4 @@ IL.s
       None
 Comment: FailSafePOR unused
 1 symbol
-360 symbols in table
+363 symbols in table

+ 3 - 0
User/Inc/motor_control.h

@@ -36,6 +36,7 @@ typedef enum
 	MC_GearSt_Torque_NORM = 0x02,
 	MC_GearSt_Torque_SPORT = 0x03,
 	MC_GearSt_Torque_TURBO = 0x04,
+	MC_GearSt_Torque_BOOST = 0x05,
 	MC_GearSt_Cadence_ECO = 0x11,
 	MC_GearSt_Cadence_NORM = 0x12,
 	MC_GearSt_Cadence_SPORT = 0x13,
@@ -78,6 +79,8 @@ extern MC_CalParam_Struct_t MC_CalParam;
 extern MC_CalParam_Struct_t MC_CalParam_Back;
 extern uint8_t MC_CadenceLimit_K;
 extern FlagStatus MC_StarFlag;
+extern MC_GearSt_Struct_t Gear_BoostOld;
+extern uint32_t Gear_BoostDelayCnt;
 
 #define Update_MC_ControlCode_Back()    { MC_ControlCode_Back.GearSt = (MC_GearSt_Struct_t)~MC_ControlCode.GearSt;\
 		                                      MC_ControlCode_Back.LightSwitch = (MC_LightSwitch_Struct_t)~MC_ControlCode.LightSwitch; }

+ 1 - 0
User/Inc/var.h

@@ -499,6 +499,7 @@ typedef struct
 	nGearParam_Struct_t    Gear_SPORT;     //SPORT档控制参数,偏移地址 24
 	nGearParam_Struct_t    Gear_TURBO;     //TURBO档控制参数,偏移地址 36
 	nGearParam_Struct_t    Gear_SMART;     //SMART档控制参数,偏移地址 48
+	nGearParam_Struct_t    Gear_BOOST;     //BOOST档控制参数,偏移地址 60
 }MC_AssistParam_Struct_t;
 
 typedef struct

+ 7 - 2
User/Src/can_process.c

@@ -155,8 +155,13 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 					{
 						memcpy(&MC_ControlCode.GearSt, Data, DataLength);
 						Update_MC_ControlCode_Back();
-					}			
-		      		MC_RunInfo.GearSt = MC_ControlCode.GearSt;//뎠품燎제도貫뫘劤
+					}		
+          if(MC_ControlCode.GearSt == MC_GearSt_Torque_BOOST)	
+					{
+					  Gear_BoostOld = MC_GearSt_SMART;
+						Gear_BoostDelayCnt = HAL_GetTick();
+					}						
+		      MC_RunInfo.GearSt = MC_ControlCode.GearSt;//뎠품燎제도貫뫘劤
 					MC_RunInfo.LightSwitch = MC_ControlCode.LightSwitch;
 					SendData(ID_MC_BC, MODE_REPORT, 0x1020, (uint8_t*)&MC_RunInfo.BikeSpeed);
 					//PBU繫斤攣끽깃羚零貫

+ 26 - 2
User/Src/motor_control.c

@@ -32,6 +32,9 @@ MC_WalkProcess_Param_Struct_t MC_WalkProcess_Param = {FALSE, 0};
 FlagStatus MC_StarFlag = RESET;  
 //下降速度参数表
 uint8_t MC_CurrentDecTable[5] = {5, 7, 10, 14, 21};
+//Boost模式参数
+MC_GearSt_Struct_t Gear_BoostOld;
+uint32_t Gear_BoostDelayCnt;
 
 /*************************局部函数定义***********************/
 //设定值线性变化处理
@@ -624,7 +627,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
 	}
 	else if(GasMode_Param.Mode_bit.PowerLimitFlag == 0) //不根据挡位限制功率,按照Turbo参数
 	{
-	    //控制输入给定加速斜率
+	  //控制输入给定加速斜率
 		TorqueAccStep = (MC_AssisParam.Gear_SMART.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_SMART.AccCnt;
 		//控制输入给定减速斜率
 		TorqueDecStep = MC_AssisParam.Gear_TURBO.DecCnt;	
@@ -1192,6 +1195,27 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 				PID_IMax.wUpper_Limit_Integral = 0; // 放大1024
 				break;
 			}
+			case MC_GearSt_Torque_BOOST:
+			{
+			  //控制输入给定加速斜率
+				TorqueAccStep = (MC_AssisParam.Gear_BOOST.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_BOOST.AccCnt;
+				//控制输入给定减速斜率
+				TorqueDecStep = MC_AssisParam.Gear_BOOST.DecCnt;
+				//随力矩输入调节助力比
+				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(MC_AssisParam.Gear_BOOST.Gain_K >> 1, MC_AssisParam.Gear_BOOST.Gain_K, MC_AssisParam.Gear_BOOST.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
+				//给定下限
+				Torque_Temp = (Torque_Temp < MC_AssisParam.Gear_BOOST.Lower_Iq) ? MC_AssisParam.Gear_BOOST.Lower_Iq : Torque_Temp;
+				//给定上限
+				Torque_Temp = (Torque_Temp > MC_AssisParam.Gear_BOOST.Upper_Iq) ? MC_AssisParam.Gear_BOOST.Upper_Iq : Torque_Temp;
+				//限流参数设置
+				CurrentLimitSet = (uint32_t)(MC_AssisParam.Gear_BOOST.CurrentMax_K * MC_ConfigParam1.CurrentLimit * 1000 >> 17) * MC_CadenceLimit_K;
+				CurrentLimitPresent = MC_DataSet_Linear_Process(CurrentLimitSet, CurrentLimitPresent, 5 ,1);
+				PID_IMax.hLower_Limit_Output = -(MC_AssisParam.Gear_BOOST.Upper_Iq);   //Lower Limit for Output limitation
+				PID_IMax.hUpper_Limit_Output = 0; //Upper Limit for Output limitation
+				PID_IMax.wLower_Limit_Integral = -(MC_AssisParam.Gear_TURBO.Upper_Iq << 10); // 放大1024
+				PID_IMax.wUpper_Limit_Integral = 0; // 放大1024
+				break;
+			}
 			case MC_GearSt_SMART:
 			{
 				//控制输入给定加速斜率
@@ -1239,7 +1263,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 		//随车速调节助力比
 		Torque_Temp = (uint16_t)((uint32_t)(Torque_Temp * Function_Linear_3Stage(speedLimitStart, 0, speedLimitStart, slewRate, MC_SpeedSensorData.Speed_Data)) >> 10);
 			
-        //助力输出		
+    //助力输出		
 		MC_TorqueProcess_Param.TorqueRef = Torque_Temp;
 		if(MC_TorqueProcess_Param.TorqueRef <= 0)
 		{

+ 30 - 1
User/Src/var.c

@@ -36,7 +36,7 @@ MC_TE_SensorStatus_Struct_t MC_TE_SensorStatus;           //TE
 MC_TE_SensorData_Struct_t MC_TE_SensorData;               //发给TE传感器结果
 uint16_t MC_TE_SyncClockFreqScan;                         //TE同步时钟频率
 TrueOrFalse_Flag_Struct_t TE_MCU_DataRefreshFlag = FALSE; //TE MCU数据更新标志
-MC_AssistParam_Struct_t MC_AssisParam;		              //助力输出计算参数
+MC_AssistParam_Struct_t MC_AssisParam;		                //助力输出计算参数
 uint8_t MC_WalkMode_Persent = 100;                        //推行模式最高转速百分比设置
 ComOK_Check_Struct_t IsComOK_TE =  {FALSE, 0};            //TE通信状态标志
 ComOK_Check_Struct_t IsComOK_PBU = {FALSE, 0};            //PBU通信状态标志
@@ -392,6 +392,18 @@ const nGearParam_Struct_t GearParam_Default_SMART_Volans =
 	(uint16_t)1024
 };
 
+//BOOST档位助力参数
+const nGearParam_Struct_t GearParam_Default_BOOST_Volans =
+{
+  (uint16_t)2356,
+	(uint16_t)840,
+	(uint16_t)100,
+	(uint16_t)2400,
+	(uint8_t)7,
+	(uint8_t)1,
+	(uint16_t)1228
+};
+
 /************Volans Plus助力参数************/
 //ECO档位助力参数
 const nGearParam_Struct_t GearParam_Default_ECO_Volans_Plus =
@@ -453,6 +465,18 @@ const nGearParam_Struct_t GearParam_Default_SMART_Volans_Plus =
 	(uint16_t)1024
 };
 
+//BOOST档位助力参数
+const nGearParam_Struct_t GearParam_Default_BOOST_Volans_Plus =
+{
+  (uint16_t)2824,
+	(uint16_t)840,
+	(uint16_t)100,
+	(uint16_t)2400,
+	(uint8_t)7,
+	(uint8_t)1,
+	(uint16_t)1228
+};
+
 /************Pegasi助力参数************/
 //ECO档位助力参数
 const nGearParam_Struct_t GearParam_Default_ECO_Pegasi =
@@ -758,6 +782,7 @@ void UpdateGearParam(uint8_t SerialNum)
 			memcpy((uint8_t*)&MC_AssisParam.Gear_SPORT.Gain_K, (uint8_t*)&GearParam_Default_SPORT_Volans.Gain_K, sizeof(nGearParam_Struct_t));
 			memcpy((uint8_t*)&MC_AssisParam.Gear_TURBO.Gain_K, (uint8_t*)&GearParam_Default_TURBO_Volans.Gain_K, sizeof(nGearParam_Struct_t));
 			memcpy((uint8_t*)&MC_AssisParam.Gear_SMART.Gain_K, (uint8_t*)&GearParam_Default_SMART_Volans.Gain_K, sizeof(nGearParam_Struct_t));
+			memcpy((uint8_t*)&MC_AssisParam.Gear_BOOST.Gain_K, (uint8_t*)&GearParam_Default_BOOST_Volans.Gain_K, sizeof(nGearParam_Struct_t));
 			if(MC_TorqueCorrectParam.CalibrateEnableFlag == 0xAA)
 			{
 				MC_AssisParam.Gear_ECO.Gain_K = 627;
@@ -766,6 +791,8 @@ void UpdateGearParam(uint8_t SerialNum)
 				MC_AssisParam.Gear_SPORT.TorqueApp_TH = 560;
 				MC_AssisParam.Gear_TURBO.Gain_K = 2356;
 				MC_AssisParam.Gear_TURBO.TorqueApp_TH = 560;
+				MC_AssisParam.Gear_BOOST.Gain_K = 2827;
+        MC_AssisParam.Gear_BOOST.TorqueApp_TH = 560;
 			}
 			break;
 		}
@@ -785,6 +812,8 @@ void UpdateGearParam(uint8_t SerialNum)
 				MC_AssisParam.Gear_SPORT.TorqueApp_TH = 560;
 				MC_AssisParam.Gear_TURBO.Gain_K = 2862;
 				MC_AssisParam.Gear_TURBO.TorqueApp_TH = 560;
+				MC_AssisParam.Gear_BOOST.Gain_K = 3434;
+        MC_AssisParam.Gear_BOOST.TorqueApp_TH = 560;
 			}
 			break;
 		}

Vissa filer visades inte eftersom för många filer har ändrats