2272e6ab76b4607513b4f414f06607319bb0ad7e
GbTModuleEV
Модуль EV (Electric Vehicle) для зарядки по протоколу GB/T (Китайский стандарт зарядки электромобилей). Реализует сторону транспортного средства (EV) при взаимодействии с зарядной станцией (EVSE).
Платформа
- МК: STM32F107VCTx (Cortex-M3)
- Среда: STM32CubeIDE
- Стек: HAL, CAN, EDCAN (внутренний CAN-протокол)
Назначение
- Ожидание и приём пакетов от EVSE (CHM, CRM, CML, CRO, CST, CSD и др.)
- Ответные пакеты EV: BHM, BRM, BCP, BRO, BCL, BCS, BSM, BSD
- Управление контактором и линией контроля (CC) через модуль коннектора
- Обмен с верхним уровнем по EDCAN
Состояния (стейты) сессии GB/T (EV)
| Стейт | Описание |
|---|---|
GBT_EV_CONNECTING |
Ожидание CHM от EVSE → ответ BHM |
GBT_EV_SEND_BHM_WAIT_CRM |
Постоянно шлём BHM, ждём CRM(0x00) |
GBT_EV_HANDSHAKE |
Пропуск изотеста, переход к обмену параметрами |
GBT_EV_RECOGNITION |
Шлём BRM, ждём CRM(0xAA) |
GBT_EV_CHARGING_PARAMETERS |
Шлём BCP, ждём CML → BRO(0x00), BRO(0xAA) |
GBT_EV_BMS_INIT |
Пауза 1.5 с (инициализация зарядника) |
GBT_EV_WAIT_CHARGER_READY |
Ждём CRO(0xAA) или 500 мс → шлём BCL |
GBT_EV_CHARGING |
Режим зарядки: BCL, BCS, BSM, контактор включён |
GBT_STOP / GBT_STOP_CSD |
Остановка и ожидание CSD от EVSE |
GBT_ERROR / GBT_COMPLETE |
Ошибка или завершение сессии |
В фазах «SEND_X_WAIT_Y» пакет отправляется постоянно; при получении ожидаемого пакета выполняется переход в следующий стейт и начинается отправка следующего пакета.
Структура проекта
- Core/Src — основной код:
charger_gbt.c(стейт-машина GB/T),connector.c,j1939.c,gbt_packet.c,edcan_handler_user.c,board.c - Core/Inc — заголовки и конфигурация
- Drivers — STM32 HAL и CMSIS
- Сборка и отладка — через STM32CubeIDE (папка Debug)
Зависимости
- Библиотека EDCAN (edcan_config.h, edcan.h) для обмена с главным контроллером
- Конфигурация коннектора и пинов в
board.c/connector.c
Сборка
Открыть проект в STM32CubeIDE и выполнить Build (Ctrl+B). Исполняемый образ: Debug/GbTModuleEV.elf (и .hex, .bin при включённой пост-сборке).
Репозиторий
- Remote:
https://git.141922.ru/achamaikin/GbTModuleEV.git - Ветка по умолчанию:
main
Languages
C
87.6%
AGS Script
11.9%
Makefile
0.3%
Assembly
0.2%