# CoreLib **Repository Path**: charging-system/CoreLib ## Basic Information - **Project Name**: CoreLib - **Description**: Open Chaoji - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://standard.cec.org.cn/openchaoji/git/OpenChaoJi/CoreLib - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-25 - **Last Updated**: 2025-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ![OpenChaoJi](./docs/assets/OpenChaoJi_h_s.svg) --- [![License](./docs/assets/license_apache.svg)](LICENSE) **中国首个电动汽车充电国家标准开源实施项目** | [English Version](README_EN.md) | [标准原文](https://std.samr.gov.cn/gb/search/gbDetailed?id=053404E3EF398F91E06397BE0A0A9209) 📖 --- ## 📌 项目背景 根据GB/T 18487.1-2023与GB/T 27930-2023最新国家标准要求,由[中国电力企业联合会](https://www.cec.org.cn)主导发起的**标准实施开源项目**。通过开源协作实现: - 📐 标准条款的技术化解读 - 🧩 基础代码参考实现 - 🔄 标准-技术-产业的正向循环 - 🌍 兼容国际主流充电协议(CCS/CHAdeMO等) --- ## 🏭 发展历程 ```mermaid gantt title OpenChaoJi项目进展情况 dateFormat YYYY-MM section 核心库工作组 筹备 :done, 2023-09, 2024-03 确认组织架构 :done, 2023-12, 2024-01 工作组启动 :active, 2024-03, 2024-04 架构设计:done, 2024-04, 2024-07 主要代码开发:active, 2024-07, 2024-12 B类系统线下联调: done, 2024-11, 2024-12 A类系统线下联调: done, 2024-12, 2025-01 参考设计实现: active, 2024-12, 2025-03 第一版本发布: active, 2025-03, 2025-04 ``` --- ## 💼组织架构 ```mermaid graph TD OpenChaoJi开源项目管理委员会-->主任 subgraph 工作组 主任-->核心库工作组 主任-->标准工作组 主任-->合规工作组 end subgraph 组长 核心库工作组-->核心库组长 标准工作组-->标准组长 合规工作组-->合规组长 标准组长-.联络.-核心库组长 标准组长-.联络.-合规组长 end ``` --- ## 🏅参与单位与核心成员 | **单位名称** | **核心成员** | **联系方式** | **主要职责** | | ------------------------ | -------- | ------------------------------ | ---------------------------------------------- | | 国网电力科学研究院有限公司 | 李旭玲 | lixuling@sgepri.sgcc.com.cn | **牵头**, 标准解读 | | 厦门银河龙芯科技有限公司 | 陈兵 | chenbing@iocharger.com | **组长**, 架构设计, x86模拟实现 | | 国网电力科学研究院有限公司 | 耿群锋 | gengqunfeng@sgepri.sgcc.com.cn | 标准解读 | | 领充新能源科技有限公司 | 赵绿化 | zhaolh@linkcharging.com | 传输层和会话层, B类系统自检模块 | | 山东鲁软数字科技有限公司 | 刘邦义 | liubangliuyi@163.com | 数据管理, B类系统鉴权,预充和能量传输, 停充模块 | | 长园深瑞能源技术有限公司 | 陈敏康 | chenmk@cyg.com | B类系统HAL实现, B类系统服务统计模块 | | 国网智慧车联网技术有限公司 | 赵建喜 | zhjx11@139.com | A类系统实现 | | 洛阳嘉盛电源科技有限公司 | 毕冉星 | biranxing@grasen.cn | A类系统HAL实现, B类系统功能协商和参数配置模块 | | 星星充电 | 王炫炫 | xuanxuan.wang@wbstar.com | 链路层实现, B类系统结束模块 | | 特来电新能源股份有限公司 | 张康乐 | zhangkangl@teld.cn | 导引层实现, B类系统导引模块 | | 山东鲁软数字科技有限公司 | 李祖友 | lizy3210@163.com | B类系统预充和能量传输 | | 洛阳嘉盛电源科技有限公司 | 李文龙 | liwenlong@grasen.cn | A类系统HAL实现 | | 领充新能源科技有限公司 | 王志豪 | wangzh@linkcharging.com | B类系统自检模块 | > 其他参与本项目的成员还包括 朱福(zhufu@cyg.com, 长园深瑞能源技术有限公司), 罗光盛(luogs@cyg.com, 长园深瑞能源技术有限公司), 胡超(gyhuchao@gmail.com, 山东鲁软数字科技有限公司), 何源(heyuan@teld.cn, 特来电新能源股份有限公司)等 --- ## 🏗️ 架构设计原则 ### 分层架构实现 ![分层架构](./docs/assets/architecture_osi.png "osi architecture") ### 核心设计特性 | 原则 | 技术实现方案 | 优势 | | -------------------- | ------------------- | ------------------------- | | **硬件无关性** | 硬件抽象层(HAL)设计 | 支持ARM/RISC-V/x86等架构 | | **系统无关性** | 无操作系统依赖 | 兼容裸机/RTOS/Linux等 | | **协议兼容性** | 模块化协议栈 | 同时支持CCS1/CCS2/CHAdeMO | | **可移植性** | ANSI C99核心实现 | 嵌入式平台友好 | | **可验证性** | 配套标准测试用例 | 确保实施一致性 | --- ## 🛠️ 核心组件 ### 分层实现库 ![软件模块架构](./docs/assets/architecture_swmodule.png "sw module architecture") ### [架构设计详细说明](./docs/README_Architecture.md) --- ## 📁 目录结构 ``` . ├── docs # 项目设计文档和使用说明等 ├── evcc | ├── app # evcc的主入口 | ├── gbt27930 # evcc的gtb27930协议实现 | ├── include # evcc的app/hal/context等头文件 | └── utility # evcc的链路层, 导引层, 会话层实现 ├── secc | ├── app # secc的主入口 | ├── gbt27930 # secc的gtb27930协议实现 | ├── include # secc的app/hal/context等头文件 | └── utility # secc的链路层, 导引层, 会话层实现 ├── shared | ├── include # evcc和secc通用的配置和声明等头文件 | └── src # evcc和secc通用的定义,编解码, 数据缓冲区和传输层实现 ├── todo # 项目中发现的待处理问题 └── x86 # x86模拟实现 ``` --- ## 📜 标准实施要点 ### 代码使用示例 ```c int main() { secc_app_init(); // 通过定时触发service服务来驱动整个系统的活动 // 厂家可以通过线程,中断,死循环等各种方式实现, 只需要保证频度足够 // 但是本方法需要保证不能阻塞 while (1) { secc_app_service(); usleep(2000); } secc_app_term(); return 0; } void secc_app_init() { OpenChaoJi_os_memeory_init(); // 设置默认的打印级别, 后续运行时App可以根据实际情况调用此方法修改打印级别以获得不同程度的调试信息 OpenChaoJi_debug_set_log_level(DEFAULT_DBG_LEVEL // | DBGL_INFO // | DBGL_DEBUG ); for (int idx = 0; idx < HAL_SIMU_CONNECTOR_NUM; idx++) { // 厂家首先需要初始化HAL层 secc_hal_one_init(idx); // 创建上下文, 上下文将是后续所有模块通信的唯一句柄 secc_app_one_init(idx); s_secc_context[idx] = OpenChaoJi_secc_create_context(&s_secc_create_info[idx]); if (s_secc_context[idx] == NULL) { continue; } } } void secc_app_service() { // 运行时实时修改打印级别 secc_app_check_dbg_level(); secc_app_check_dgb_module(); for (int idx = 0; idx < HAL_SIMU_CONNECTOR_NUM; idx++) { if (s_secc_context[idx] != NULL) { secc_hal_one_service(idx); // 检查启动停止 if (secc_app_one_check_start(idx)) { s_secc_context[idx]->secc_gbt27930_system->app_start_func(s_secc_context[idx], &s_secc_app_parameter[idx]); } if (secc_app_one_check_stop(idx)) { s_secc_context[idx]->secc_gbt27930_system->app_stop_func(s_secc_context[idx]); } // 更新实时状态 s_secc_context[idx]->secc_gbt27930_system->app_get_status_func(s_secc_context[idx], &s_secc_app_status[idx]); // 执行serivce OpenChaoJi_secc_service(s_secc_context[idx]); } } } ``` ### 🚀 快速接入 ```c # x86编译示例 $ git clone https://standard.cec.org.cn/openchaoji/git $ cd openchaoji $ make -j4 ``` ### 📚 集成使用说明 #### [HAL集成说明](./docs/README_Hal.md) #### [App集成说明](./docs/README_App.md) #### [x86模拟使用说明](./x86/readme.md) #### [常见问题](./docs/README_FAQ.md) --- ## 🌐 生态建设 ### 产业协作模式 ```mermaid graph LR 标准工作组-->|发布|参考实现 参考实现-->|适配|车企 参考实现-->|适配|充电桩厂商 车企-->|反馈|标准迭代 充电桩厂商-->|反馈|标准迭代 标准工作组-->|更新|参考实现 ``` ### 参与机构 | 机构类型 | 主要贡献 | | ---------- | ---------------- | | 检测机构 | 标准测试用例开发 | | 车企 | 实车验证场景提供 | | 充电运营商 | 现场部署经验反馈 | | 芯片厂商 | HAL层参考实现 | --- ## 📬 加入工作组 **标准共建流程**: 1. 申请报名并审核通过 2. 参与双周技术例会 3. 认领标准开发任务 4. 提交代码/文档PR **联络方式**: - 工作组邮箱: - 标准化论坛: ![标准化进程](./docs/assets/state-orange.svg) --- **注**:本项目的三大使命: 1. 建立标准实施的"参考系" 2. 打造产业协作的"连接器" 3. 构建技术演进的"试验田"