Files
GbTModuleEV/README.md

55 lines
3.1 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`