2026-03-11 16:49:23 +03:00
2026-03-11 16:49:23 +03:00
2026-03-11 16:49:23 +03:00
2026-03-11 16:49:23 +03:00
2026-03-11 16:49:23 +03:00
2026-03-11 16:49:23 +03:00
2026-03-11 16:49:23 +03:00
2026-03-11 16:49:23 +03:00
2026-03-11 16:49:23 +03:00
2026-03-11 16:49:23 +03:00
2026-03-11 16:49:23 +03:00
2024-11-15 19:31:10 +03:00
2026-03-11 16:49:23 +03:00

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
Description
Прошивка модуля тестового стенда GBT EV
Readme MIT 3.1 MiB
Languages
C 87.6%
AGS Script 11.9%
Makefile 0.3%
Assembly 0.2%