Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
DC360_1drap3_xiaoju_V1
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
丁雨邯
DC360_1drap3_xiaoju_V1
Commits
de1188bb
提交
de1188bb
authored
4月 24, 2020
作者:
wysheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改一些错误
上级
077158e8
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
185 行增加
和
41 行删除
+185
-41
DcPillar.ewp
DcPillar/Projects/DcPillar.ewp
+22
-0
DcPillar.ewt
DcPillar/Projects/DcPillar.ewt
+15
-0
Drv_DcModule.h
DcPillar/Src/Drivers/Drv_DcModule.h
+34
-0
Drv_DcModuleIncre.c
DcPillar/Src/Drivers/Drv_DcModuleIncre.c
+0
-0
Drv_MCP2515.c
DcPillar/Src/Drivers/Drv_MCP2515.c
+1
-0
Drv_TCUComm.c
DcPillar/Src/Drivers/Drv_TCUComm.c
+28
-23
Drv_TCUComm.h
DcPillar/Src/Drivers/Drv_TCUComm.h
+1
-1
Drv_SmartAllocation.c
DcPillar/Src/SmartAllocation/Drv_SmartAllocation.c
+0
-0
Drv_SmartAllocation.h
DcPillar/Src/SmartAllocation/Drv_SmartAllocation.h
+44
-0
SmartAllocation_B_ChgRun.c
DcPillar/Src/SmartAllocation/SmartAllocation_B_ChgRun.c
+0
-0
SmartAllocation_ChgRun.c
DcPillar/Src/SmartAllocation/SmartAllocation_ChgRun.c
+0
-0
Thd_Charge.c
DcPillar/Src/Thread/Thd_Charge.c
+5
-3
Thd_Charge_B.c
DcPillar/Src/Thread/Thd_Charge_B.c
+3
-2
Thd_TCU.c
DcPillar/Src/Thread/Thd_TCU.c
+28
-9
Thd_TCU.h
DcPillar/Src/Thread/Thd_TCU.h
+2
-1
main.c
DcPillar/Src/main.c
+2
-2
没有找到文件。
DcPillar/Projects/DcPillar.ewp
浏览文件 @
de1188bb
...
...
@@ -315,6 +315,7 @@
<state>
$PROJ_DIR$\..\Src\Drivers\W5500\Ethernet\W5500
</state>
<state>
$PROJ_DIR$\..\Src\Drivers\W5500\Ethernet
</state>
<state>
$PROJ_DIR$\..\Src\Drivers\W5500\Internet\DNS
</state>
<state>
$PROJ_DIR$\..\Src\SmartAllocation
</state>
</option>
<option>
<name>
CCStdIncCheck
</name>
...
...
@@ -2150,6 +2151,21 @@
</file>
</group>
<group>
<name>
SmartAllocation
</name>
<file>
<name>
$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.c
</name>
</file>
<file>
<name>
$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.h
</name>
</file>
<file>
<name>
$PROJ_DIR$\..\Src\SmartAllocation\SmartAllocation_B_ChgRun.c
</name>
</file>
<file>
<name>
$PROJ_DIR$\..\Src\SmartAllocation\SmartAllocation_ChgRun.c
</name>
</file>
</group>
<group>
<name>
Threads
</name>
<group>
<name>
Charge
</name>
...
...
@@ -2212,6 +2228,9 @@
</file>
<file>
<name>
$PROJ_DIR$\..\Src\Thread\Charge\ChgPro_ChgRun.c
</name>
<excluded>
<configuration>
Debug
</configuration>
</excluded>
</file>
<file>
<name>
$PROJ_DIR$\..\Src\Thread\Charge\ChgPro_ChgStart.c
</name>
...
...
@@ -2260,6 +2279,9 @@
</file>
<file>
<name>
$PROJ_DIR$\..\Src\Thread\Charge_B\ChgPro_B_ChgRun.c
</name>
<excluded>
<configuration>
Debug
</configuration>
</excluded>
</file>
<file>
<name>
$PROJ_DIR$\..\Src\Thread\Charge_B\ChgPro_B_ChgStart.c
</name>
...
...
DcPillar/Projects/DcPillar.ewt
浏览文件 @
de1188bb
...
...
@@ -419,6 +419,21 @@
</file>
</group>
<group>
<name>
SmartAllocation
</name>
<file>
<name>
$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.c
</name>
</file>
<file>
<name>
$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.h
</name>
</file>
<file>
<name>
$PROJ_DIR$\..\Src\SmartAllocation\SmartAllocation_B_ChgRun.c
</name>
</file>
<file>
<name>
$PROJ_DIR$\..\Src\SmartAllocation\SmartAllocation_ChgRun.c
</name>
</file>
</group>
<group>
<name>
Threads
</name>
<group>
<name>
Charge
</name>
...
...
DcPillar/Src/Drivers/Drv_DcModule.h
浏览文件 @
de1188bb
...
...
@@ -67,6 +67,40 @@ typedef struct
u16
ActualCurrt
;
//0.1A/Bit;
}
StructDcModuleCtrl
;
#define TemCtrlSwith 0//温控开关 1:打开,0:关闭
#if 1
#define DcModuleMaxVolt (7500)//750V
#define DcModuleMinVolt (2000)//200V
#define DcModuleMaxCurrt (100) //10A
#define DcModuleMinCurrt (5) //1A
#define DcModuleSinMaxCurrt (2000)
#else
#define DcModuleMaxVolt (5000)//750V
#define DcModuleMinVolt (2000)//250V
#define DcModuleMaxCurrt (150) //15A
#define DcModuleMinCurrt (10) //1A
#endif
typedef
enum
{
eSwSta_Low
=
0
,
eSwSta_High
,
}
EnumModuStatus
;
typedef
struct
{
u8
Id
;
u8
Temp
;
u16
Volt
;
//0.1V/Bit;
u16
Currt
;
//0.1A/Bit;
u16
State
;
u32
RecvTime
;
EnumModuStatus
ModStatus
;
}
StructDcModuleStatus
;
extern
StructDcModuleAbility
DcModuleAbility
;
extern
void
DcModuleCanInit_B
(
void
);
...
...
DcPillar/Src/Drivers/Drv_DcModuleIncre.c
浏览文件 @
de1188bb
差异被折叠。
点击展开。
DcPillar/Src/Drivers/Drv_MCP2515.c
浏览文件 @
de1188bb
...
...
@@ -443,6 +443,7 @@ void MCP2515_SetInt(pMCP2515IntHandle pIrqHandle, FunctionalState NewState)
/* Enable GPIOA clock */
RCC_AHB1PeriphClockCmd
(
MCP2515_INT_GPIO_CLK
,
ENABLE
);
RCC_AHB1PeriphClockCmd
(
RCC_AHB1Periph_GPIOA
,
ENABLE
);
/* Enable SYSCFG clock */
RCC_APB2PeriphClockCmd
(
RCC_APB2Periph_SYSCFG
,
ENABLE
);
...
...
DcPillar/Src/Drivers/Drv_TCUComm.c
浏览文件 @
de1188bb
...
...
@@ -264,10 +264,10 @@ void TCUCanInit(void)
MCP2515_B_WriteReg
(
CNF1
,
(
1
<<
BRP0
)
|
(
1
<<
BRP1
)
|
(
1
<<
BRP2
));
//125K
// 设置传播段 Prop Seg 为00,即1TQ,相位缓冲段 Phase Seg1的长度3TQ
MCP2515_B_WriteReg
(
CNF2
,
(
1
<<
BTLMODE
)
|
(
1
<<
PHSEG11
));
MCP2515_B_WriteReg
(
CNF2
,
(
1
<<
BTLMODE
)
|
(
0
<<
PHSEG11
));
// 设置 相位缓冲段 Phase Seg2为 3TQ , 禁用唤醒滤波器
MCP2515_B_WriteReg
(
CNF3
,
(
1
<<
PHSEG21
));
MCP2515_B_WriteReg
(
CNF3
,
(
0
<<
PHSEG21
));
// 设置MCP2515中断使能寄存器,使能接收缓冲器中断
MCP2515_B_WriteReg
(
CANINTE
,
(
1
<<
RX1IE
)
|
(
1
<<
RX0IE
));
...
...
@@ -326,7 +326,7 @@ u8 TCUCommInit(void)
TCUMsg
=
osMessageCreate
(
osMessageQ
(
TCUMsg
),
NULL
);
TCUCanInit
();
return
TRUE
;
}
...
...
@@ -411,8 +411,8 @@ StructTCUEM TCUChgContralTCUEM_B;
StructTCUCControl
TCUControlInfo
=
{
.
ChargingServiceFlag
=
2
,
.
version
=
0x01
1
0
,
.
ChargingServiceFlag
=
1
,
.
version
=
0x01
0
0
,
.
ChargeNum
=
{
0
,
0
,
0
,
0
...
...
@@ -1420,7 +1420,7 @@ void TCUHeartBeat_A(void)
};
static
u8
CountNum
;
//最大255
Data
[
0
]
=
0x0
1
;
Data
[
0
]
=
0x0
0
;
Data
[
1
]
=
CountNum
++
;
Data
[
2
]
=
TCUCommuStatus
.
ConnectFlag
;
Data
[
3
]
=
TCUControlInfo
.
ChargingServiceFlag
;
...
...
@@ -1457,17 +1457,10 @@ void AckTCUHeartBeat(StructTCUSend * pPgnRecv)
TCUCommuStatus
.
HeartBeatRecvTime_B
=
GetSystemTick
();
}
if
(
pPgnRecv
->
Data
[
2
]
==
0x00
)
{
TCUCommuStatus
.
ConnectFlag
=
1
;
//tcu检测控制器心跳状态
TCUCommuStatus
.
HeartBeatVaild
=
1
;
//控制器检测tcu心跳状态
}
else
{
TCUCommuStatus
.
ConnectFlag
=
0
;
TCUCommuStatus
.
HeartBeatVaild
=
0
;
memset
(
&
TCUCommuStatus
,
0
,
sizeof
(
TCUCommuStatus
));
//通讯失败通讯初始化
}
TCUCommuStatus
.
ConnectFlag
=
CONNECT_NORMAL
;
//tcu检测控制器心跳状态
TCUCommuStatus
.
HeartBeatVaild
=
CONNECT_NORMAL
;
//控制器检测tcu心跳状态
}
...
...
@@ -1499,7 +1492,10 @@ void TCUtimeSet(StructTCUSend * pPgnRecv)
void
TCUtimeSetAck
(
void
)
{
u8
Data
[
8
];
u8
Data
[
8
]
=
{
0
};
StructTime
Time
;
cp56time2a
*
time
=
NULL
;
...
...
@@ -1540,7 +1536,10 @@ void TCUVersionCheck(StructTCUSend * pPgnRecv)
void
TCUVersionCheckSent
(
void
)
{
u8
Data
[
8
];
u8
Data
[
8
]
=
{
0
};
Data
[
0
]
=
TCUCommuStatus
.
ChgNum
;
Data
[
1
]
=
TCUControlInfo
.
version
;
...
...
@@ -1562,10 +1561,10 @@ void TCUParam(StructTCUSend * pPgnRecv)
void
TCUParamAck
(
void
)
{
u8
Data
[
8
];
memset
(
Data
,
0
,
8
);
Data
[
0
]
=
TCUCommuStatus
.
ChgNum
;
if
((
TCUCommuStatus
.
VerChkVaild
==
0
)
||
(
TCUCommuStatus
.
ConnectFlag
==
0
))
if
((
TCUCommuStatus
.
VerChkVaild
==
0
)
||
(
TCUCommuStatus
.
ConnectFlag
==
CONNECT_TIMEOUT
))
{
TCUCommuStatus
.
ParamVaild
=
0
;
Data
[
1
]
=
01
;
//失败
...
...
@@ -1615,7 +1614,10 @@ void SerConAckAnalysis(StructTCUSend * pPgnRecv)
void
SerConAck
(
void
)
{
u8
Data
[
8
];
u8
Data
[
8
]
=
{
0
};
Data
[
0
]
=
TCUCommuStatus
.
ChgNum
;
Data
[
1
]
=
TCUCommuStatus
.
ChargingServiceSetValue
;
...
...
@@ -1683,7 +1685,10 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
void
ElectControlAck
(
void
)
{
u8
Data
[
8
];
u8
Data
[
8
]
=
{
0
};
Data
[
0
]
=
TCUCommuStatus
.
ChgNum
;
Data
[
1
]
=
TCUCommuStatus
.
ElectLockSetValue
;
...
...
DcPillar/Src/Drivers/Drv_TCUComm.h
浏览文件 @
de1188bb
...
...
@@ -218,7 +218,7 @@ typedef struct
}
StructVerificationInformain
;
#define TCU1939Addr (0x8A)
#define ChargerCont1939Addr (0x
F6
)
#define ChargerCont1939Addr (0x
E0
)
typedef
enum
{
eCmd_start
=
0x000100
,
// 充电启动帧
...
...
DcPillar/Src/SmartAllocation/Drv_SmartAllocation.c
0 → 100644
浏览文件 @
de1188bb
差异被折叠。
点击展开。
DcPillar/Src/SmartAllocation/Drv_SmartAllocation.h
0 → 100644
浏览文件 @
de1188bb
#ifndef __DRV_SMARTALLOCATION_H__
#define __DRV_SMARTALLOCATION_H__
#include "Global.h"
typedef
enum
{
Invalid
=
0
,
//无效
Valid
=
1
,
//有效且空闲
Hold_A
=
2
,
//A枪占用
Hold_B
=
3
,
//B枪占用
}
StructDcModuleUsedStatus
;
typedef
struct
{
u8
addr
;
u8
status
;
u32
Voltage
;
u32
Current
;
}
StructDcModule
;
typedef
struct
{
u8
num
;
u8
ValidNum
;
StructDcModule
modules
[
2
];
StructDcModuleUsedStatus
status
;
u32
Voltage
;
u32
Current
;
}
StructDcModuleGroup
;
typedef
struct
{
u8
num
;
u16
NeedVolt
;
//0.1V/Bit;
u16
NeedCurrt
;
//0.1A/Bit;
u16
ActualVolt
;
//0.1V/Bit;
u16
ActualCurrt
;
//0.1A/Bit;
}
StructDcModuleGroupCtrl
;
extern
StructDcModuleGroup
DcModuleGroup
[];
extern
StructDcModuleManage
DcModuleManage_A
;
#endif
/*__DRV_SMARTALLOCATION_H__*/
DcPillar/Src/SmartAllocation/SmartAllocation_B_ChgRun.c
0 → 100644
浏览文件 @
de1188bb
差异被折叠。
点击展开。
DcPillar/Src/SmartAllocation/SmartAllocation_ChgRun.c
0 → 100644
浏览文件 @
de1188bb
差异被折叠。
点击展开。
DcPillar/Src/Thread/Thd_Charge.c
浏览文件 @
de1188bb
...
...
@@ -62,6 +62,8 @@ extern void ChgProCommBeak_AB(StructChargeCtrl *pChargeCtrl);
extern
void
ChgProCommError_AB
(
StructChargeCtrl
*
pChargeCtrl
);
extern
void
ChgProChgBreak_AB
(
StructChargeCtrl
*
pChargeCtrl
);
extern
void
SmartAllocation_ChgProChgRun
(
StructChargeCtrl
*
pChargeCtrl
);
const
pChargeCtrlHandle
ChargeCtrlHandle
[]
=
{
ChgProChgIdle
,
...
...
@@ -75,7 +77,7 @@ const pChargeCtrlHandle ChargeCtrlHandle[] =
ChgProWaitBmsReady
,
ChgProWaitPillarReady
,
ChgProChgStart
,
ChgProChgRun
,
SmartAllocation_ChgProChgRun
,
//
ChgProChgRun,
ChgProWaitVoltChgRun
,
ChgProChgStop
,
ChgProCommBeak
,
...
...
@@ -150,8 +152,8 @@ void Thd_Charge(void const *parameter)
MemoryInit
();
DcModuleInit
();
//DcModuleInit_B();
MeterInit
();
DcOutInit_Uni
();
//
MeterInit();
//
DcOutInit_Uni();
DcOutInit
();
//DcOutInit_B();
FanInit
();
...
...
DcPillar/Src/Thread/Thd_Charge_B.c
浏览文件 @
de1188bb
...
...
@@ -39,6 +39,7 @@ extern void ChgProCommBeak_B(StructChargeCtrl_B *pChargeCtrl);
extern
void
ChgProCommError_B
(
StructChargeCtrl_B
*
pChargeCtrl
);
extern
void
ChgProChgBreak_B
(
StructChargeCtrl_B
*
pChargeCtrl
);
extern
void
SmartAllocation_ChgProChgRun_B
(
StructChargeCtrl_B
*
pChargeCtrl
);
const
pChargeCtrlHandle_B
ChargeCtrlHandle_B
[]
=
{
...
...
@@ -53,7 +54,7 @@ const pChargeCtrlHandle_B ChargeCtrlHandle_B[] =
ChgProWaitBmsReady_B
,
ChgProWaitPillarReady_B
,
ChgProChgStart_B
,
ChgProChgRun_B
,
SmartAllocation_ChgProChgRun_B
,
//
ChgProChgRun_B,
ChgProWaitVoltChgRun_B
,
ChgProChgStop_B
,
ChgProCommBeak_B
,
...
...
@@ -106,7 +107,7 @@ void ChargeTimeCountCtrl_B(void const *Param)
/* the system main thread */
void
Thd_Charge_B
(
void
const
*
parameter
)
{
DcModuleInit_B
();
//
DcModuleInit_B();
//MeterInit_B();
DcOutInit_B
();
DrainResistInit_B
();
...
...
DcPillar/Src/Thread/Thd_TCU.c
浏览文件 @
de1188bb
...
...
@@ -13,6 +13,8 @@
#include "FTP_Upgrade.h"
extern
void
TCUCanInit
(
void
);
StructTCUCommuStatus
TCUCommuStatus
=
{
.
ChgNum
=
0
,
...
...
@@ -104,6 +106,7 @@ void TCURecvProcess(void)
break
;
case
eCmd_TCUErroComm
:
// 计费单元错误帧
TCUErroCommAnalysis
(
&
pPgnRecv
);
break
;
default:
...
...
@@ -157,7 +160,7 @@ void DCMeasuring_A(void)
TCUCommuStatus
.
ConnectFlag
=
0
;
TCUCommuStatus
.
HeartBeatErrCnt
=
0
;
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
DcModuleCanInit_B
();
//can通讯接口初始化
TCUCanInit
();
//can通讯接口初始化
}
else
{
...
...
@@ -193,7 +196,7 @@ void DCMeasuring_B(void)
TCUCommuStatus
.
ConnectFlag
=
0
;
TCUCommuStatus
.
HeartBeatErrCnt
=
0
;
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
DcModuleCanInit_B
();
TCUCanInit
();
}
else
{
...
...
@@ -335,7 +338,7 @@ void TCUPillarHeartBeat(void)
{
u32
SendTick
;
if
(
TCUCommuStatus
.
HeartBeatVaild
==
0
)
if
(
TCUCommuStatus
.
HeartBeatVaild
!=
CONNECT_NORMAL
)
return
;
if
(
0
==
TCUCommuStatus
.
HeartBeatRecvTime
)
//初始12s一次
...
...
@@ -350,7 +353,7 @@ void TCUPillarHeartBeat(void)
TCUCommuStatus
.
ConnectFlag
=
0
;
TCUCommuStatus
.
HeartBeatErrCnt
=
0
;
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
DcModuleCanInit_B
();
TCUCanInit
();
}
else
{
...
...
@@ -378,7 +381,7 @@ void TCUPillarHeartBeat_B(void)
{
u32
SendTick
;
if
(
TCUCommuStatus
.
HeartBeatVaild
==
0
)
if
(
TCUCommuStatus
.
HeartBeatVaild
!=
CONNECT_NORMAL
)
return
;
if
(
0
==
TCUCommuStatus
.
HeartBeatRecvTime_B
)
//初始12s一次
...
...
@@ -392,7 +395,7 @@ void TCUPillarHeartBeat_B(void)
TCUCommuStatus
.
ConnectFlag
=
0
;
TCUCommuStatus
.
HeartBeatErrCnt_B
=
0
;
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
DcModuleCanInit_B
();
TCUCanInit
();
}
else
{
...
...
@@ -825,7 +828,7 @@ void TCUWorkProcess(void)
void
TCULinkProcess
(
void
)
//心跳帧处理
{
TCUPillarHeartBeat
();
//心跳处理
TCUPillarHeartBeat_B
();
//心跳处理
//
TCUPillarHeartBeat_B(); //心跳处理
CommutionConfigurationStage
();
//配置阶段
CommutionRunStage
();
//运行阶段
ConEMSend
();
//ab超时发送逻辑
...
...
@@ -836,12 +839,13 @@ void TCULinkProcess(void) //心跳帧处理
void
TCUComm
(
void
const
*
argument
)
{
osDelay
(
6000
);
TCUCommInit
();
//DcModuleCanInit_B();
/**/
osDelay
(
6000
);
for
(;
;
)
{
#if 1
TCURecvProcess
();
//帧接收
TCUWorkProcess
();
//遥测遥信息处理
TCULinkProcess
();
//心跳包处理配置信息
...
...
@@ -849,6 +853,21 @@ void TCUComm(void const * argument)
// TCUCodeDone();//告警故障处理
// TCUSaveEventDone();
#endif
#if 0
static u8 StatusGetCnt = 0;
StatusGetCnt++;
if(StatusGetCnt > 255)
StatusGetCnt = 0;
u8 Data[8] ={0};
Data[0] = StatusGetCnt;
TCUSinglePackSendMsg(Data, 8, eCmd_stopAck, 4);
#endif
osDelay
(
100
);
}
}
...
...
DcPillar/Src/Thread/Thd_TCU.h
浏览文件 @
de1188bb
...
...
@@ -5,7 +5,8 @@
#include "Drv_TCUComm.h"
#include "Thd_TcuControl.h"
#define CONNECT_NORMAL 0
#define CONNECT_TIMEOUT 1
typedef
enum
{
...
...
DcPillar/Src/main.c
浏览文件 @
de1188bb
...
...
@@ -128,7 +128,7 @@ int main(void)
osThreadDef
(
Thd_TCUControl
,
Thd_TCUControl
,
osPriorityNormal
,
0
,
2
*
configMINIMAL_STACK_SIZE
);
osThreadCreate
(
osThread
(
Thd_TCUControl
),
NULL
);
//osThreadDef(Internet, Internet, osPriorityNormal, 0, 2*configMINIMAL_STACK_SIZE);
//
osThreadCreate(osThread(Internet), NULL);
//
osThreadCreate(osThread(Internet), NULL);
osThreadDef
(
TCUComm
,
TCUComm
,
osPriorityNormal
,
0
,
2
*
configMINIMAL_STACK_SIZE
);
osThreadCreate
(
osThread
(
TCUComm
),
NULL
);
...
...
@@ -136,7 +136,7 @@ int main(void)
}
DBGMCU_Config
(
DBGMCU_IWDG_STOP
,
ENABLE
);
WdgInit
();
//
WdgInit();
/* Start scheduler */
osKernelStart
();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论