# Application **Repository Path**: gitLJC/application ## Basic Information - **Project Name**: Application - **Description**: 这个库是用于现有芯片的电路板的板级支持包 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-17 - **Last Updated**: 2026-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Application Application 是所有电机控制应用的根目录. 每个子目录对应一款具体的 PCB 板, 包含绑定到该板 MCU 型号的工程文件以及 `main.c` 入口. 上层所有库 (MCAL / CPL / MCL / PSL) 均通过 BSP 层集成到最终固件中. ## 目录结构 ``` application/ ├── BDN5720_PC04/ # 板型: BDN5720_PC04 ├── GD32G553VE/ # 板型: GD32G553VE ├── GD32H737VG/ # 板型: GD32H737VG ├── N32G435CB/ # 板型: N32G435CB ├── STM32F407VE/ # 板型: STM32F407VE │ ├── MCAL/ # Microcontroller Abstraction Layer │ ├── gd32g553/ │ ├── gd32h737/ │ ├── n32g435/ │ ├── stm32f405/ │ └── stm32f407/ │ ├── CPL/ # Communication Protocol Library ├── MCL/ # Motor Control Library └── PSL/ # Parameter Save Library ``` --- ## 子库说明 ### MCAL - Microcontroller Abstraction Layer 微控制器抽象层. 由 MCU 厂商提供的底层驱动库组成, 负责屏蔽不同芯片的寄存器差异, 向上层提供统一的外设访问接口 (GPIO / UART / SPI / CAN / Timer / ADC 等). 目前支持的 MCU 平台: | 目录 | 芯片系列 | |---|---| | `gd32g553/` | GigaDevice GD32G553 | | `gd32h737/` | GigaDevice GD32H737 | | `n32g435/` | Nations N32G435 | | `stm32f405/` | ST STM32F405 | | `stm32f407/` | ST STM32F407 | --- ### CPL - Communication Protocol Library 工业通信协议库. 封装多种工业现场总线与串行通信协议栈, 对上层应用提供统一的收发接口, 对下层依赖 MCAL 提供的外设驱动. 包含的协议: - **Modbus** - Modbus RTU / TCP 协议栈 - **CANopen** - 基于 CAN 总线的 CANopen 协议栈 (含 CiA402 驱动状态机) - **EtherCAT** - EtherCAT 实时以太网协议栈 --- ### MCL - Motor Control Library 电机控制算法与系统管理库. 同一套库兼容步进电机、无刷直流电机 (BLDC)、交流伺服等多种电机类型, 统一管理控制算法、运动规划和系统故障. 主要功能模块: - **控制算法** - FOC 矢量控制、梯形/S 曲线速度规划、位置环/速度环/电流环 PID - **多电机兼容** - 步进 (Stepper) / 无刷 (BLDC) / 伺服 (Servo) 统一接口 - **系统管理** - 初始化调度、实时任务分配 - **故障管理** - 过流、过压、欠压、堵转、通信超时等故障检测与处理 --- ### PSL - Parameter Save Library 参数保存库. 负责将电机控制参数持久化到非易失存储介质 (Flash / EEPROM), 并在上电时恢复参数; 同时内置多种电机类型的默认参数配置. 主要功能: - **参数持久化** - 将运行参数写入 Flash / EEPROM, 掉电后自动恢复 - **默认配置** - 内置步进、无刷、伺服电机的出厂默认参数表 - **参数校验** - CRC / 魔数校验, 防止存储损坏导致参数异常 --- ## 新增板型指引 1. 在 `bsp/` 下新建以板型命名的目录 (例如 `GD32F450ZI/`). 2. 在该目录下创建 `main.c`, 包含 `main.h` 并实现 `main()` 入口. 3. 在 `MCAL/` 下新增对应的 MCU 驱动子目录, 实现 MCAL 标准接口. 4. 在工程配置中将 MCAL / CPL / MCL / PSL 加入编译路径.