55 lines
3.1 KiB
Markdown
Executable File
55 lines
3.1 KiB
Markdown
Executable File
# 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`
|