Initial commit: CCU621_M firmware project with BLE debug link support.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-08 17:28:36 +08:00
commit 9ceb218f80
1597 changed files with 724159 additions and 0 deletions
+194
View File
@@ -0,0 +1,194 @@
# CCU621_M Pin Config Table
> 路径:`CCU621_M/BSP/pin_config_table.md`
> 说明:根据当前工程实际代码(`BSP/GPIO/gpio.h`、`BSP/sys_drv_init.h`)整理。
> 主索引:[README](../README.md)
> 若与硬件原理图/BOM有差异,以硬件文档为准。
## 1. DO输出(继电器/电子锁)
| 逻辑名 | 端口引脚 | 宏定义 | 用途 |
| --- | --- | --- | --- |
| DO1 | PG4 | `RELAY_K1_PORT/PIN` | 板载继电器 K1 |
| DO2 | PG5 | `RELAY_K2_PORT/PIN` | 板载继电器 K2 |
| DO3 | PG6 | `RELAY_K3_PORT/PIN` | 板载继电器 K3 |
| DO4 | PG7 | `RELAY_K4_PORT/PIN` | 板载继电器 K4 |
| DO5 | PG8 | `RELAY_K5_PORT/PIN` | 板载继电器 K5 |
| DO6 | PC8 | `RELAY_K6_PORT/PIN` | 板载继电器 K6 |
| DO7 | PC9 | `RELAY_K7_PORT/PIN` | 板载继电器 K7 |
| DO8 | PG9 | `RELAY_K8_PORT/PIN` | 板载继电器 K8 |
| DO9 | PG10 | `RELAY_K9_PORT/PIN` | 板载继电器 K9 |
| DO10 | PG11 | `RELAY_K10_PORT/PIN` | 板载继电器 K10 |
| ELOCK_A | PK1 | `ELOCK_A_PORT/PIN` | A枪电子锁控制 |
| ELOCK_B | PK2 | `ELOCK_B_PORT/PIN` | B枪电子锁控制 |
## 2. 绝缘检测相关DO
| 逻辑名 | 端口引脚 | 宏定义 | 用途 |
| --- | --- | --- | --- |
| INSA_CTL | PE4 | `INSA_GND_PORT/PIN` | A枪绝缘监测接地开关 |
| UNBALA_CTL | PE3 | `INSA_POS_PORT/PIN` | A枪绝缘监测正极回路开关 |
| INSB_CTL | PA5 | `INSB_GND_PORT/PIN` | B枪绝缘监测接地开关 |
| UNBALB_CTL | PE5 | `INSB_POS_PORT/PIN` | B枪绝缘监测正极回路开关 |
## 3. 其它控制DO
| 逻辑名 | 端口引脚 | 宏定义 | 用途 |
| --- | --- | --- | --- |
| H7_RUN | PG15 | `LED_RUN_PORT/PIN` | 运行指示灯 |
| CHK_CSA_CTL | PF8 | `CHK_CSA_PORT/PIN` | 连接确认模式选择 A |
| CHK_CSB_CTL | PF2 | `CHK_CSB_PORT/PIN` | 连接确认模式选择 B |
| WDO | PE2 | `WDO_PORT/PIN` | 看门狗翻转输出 |
| ESP8685_EN | PB7 | `ESP8685_EN_PORT/PIN` | ESP8685使能 |
| BLUE_EN | PE6 | `BLUE_EN_PORT/PIN` | 蓝牙/WiFi模块使能 |
| CIU_RST | PA10 | `CIU_RST_PORT/PIN` | 加密芯片复位 |
| 4G_POWER | PF3 | `PWR_4G_PORT/PIN` | 4G模块电源控制 |
| 4G_RST | PC13 | `RST_4G_PORT/PIN` | 4G模块复位控制 |
| TEMP_ADDR_A | PD10 | `TEMP_ADDR_A_PORT/PIN` | 温度采集地址A |
| TEMP_ADDR_B | PD13 | `TEMP_ADDR_B_PORT/PIN` | 温度采集地址B |
| TEMP_ADDR_C | PJ8 | `TEMP_ADDR_C_PORT/PIN` | 温度采集地址C |
## 4. DI输入(YX
| 逻辑名 | 端口引脚 | 宏定义 | 备注 |
| --- | --- | --- | --- |
| YX1 | PC0 | `YX1_PORT/PIN` | 系统DI |
| YX2 | PB0 | `YX2_PORT/PIN` | 系统DI |
| YX3 | PF14 | `YX3_PORT/PIN` | 系统DI |
| YX4 | PB1 | `YX4_PORT/PIN` | 系统DI |
| YX5 | PF15 | `YX5_PORT/PIN` | 系统DI |
| YX6 | PB2 | `YX6_PORT/PIN` | 系统DI |
| YX7 | PG0 | `YX7_PORT/PIN` | 系统DI |
| YX8 | PF11 | `YX8_PORT/PIN` | 系统DI |
| YX9 | PE11 | `YX9_PORT/PIN` | 系统DI |
| YX10 | PF12 | `YX10_PORT/PIN` | 系统DI |
| YX11 | PE15 | `YX11_PORT/PIN` | 系统DI |
| YX12 | PF13 | `YX12_PORT/PIN` | 系统DI |
## 5. 其它输入
| 逻辑名 | 端口引脚 | 宏定义 | 备注 |
| --- | --- | --- | --- |
| AUX_PADET | PG1 | `AUX_PADET_PORT/PIN` | A枪辅助电源检测 |
| AUX_PBDET | PB10 | `AUX_PBDT_PORT/PIN` | B枪辅助电源检测 |
| CHECKOUTA1 | PF10 | `CHECKOUTA1_PORT/PIN` | A枪连接确认输入 |
| CHECKOUTA2 | PF9 | `CHECKOUTA2_PORT/PIN` | A枪连接确认输入 |
| CHECKOUTB1 | PD3 | `CHECKOUTB1_PORT/PIN` | B枪连接确认输入 |
| CHECKOUTB2 | PA15 | `CHECKOUTB2_PORT/PIN` | B枪连接确认输入 |
## 6. 串口(USART/UART
| 外设 | TX | RX | 波特率 | 备注 |
| --- | --- | --- | --- | --- |
| USART0 | PF4 | PF5 | 115200 | 副板通信 `SubComm` |
| USART2 | PD8 | PD9 | 115200 | 通用串口 |
| UART3 | PC10 | PC11 | 2400 | 8E1 |
| UART4 | PC12 | PD2 | 2400 | 8E1 |
| USART5 | PC6 | PC7 | 115200 | 默认 `printf` 输出口 |
| UART6 | PB4 | PB3 | 115200 | 通用串口 |
| UART7 | PE1 | PE0 | 115200 | 通用串口 |
## 7. CAN
| 外设 | TX | RX | AF | 备注 |
| --- | --- | --- | --- | --- |
| CAN0 | PB9 | PB8 | AF9 | 250 kbps |
| CAN1 | PB6 | PB5 | AF9 | 250 kbps |
| CAN2 | PF7 | PF6 | AF2 | 125 kbps |
## 8. I2C / EEPROM
| 外设 | SCL | SDA | AF | 备注 |
| --- | --- | --- | --- | --- |
| I2C1 | PF1 | PF0 | AF4 | EEPROM / FM24CL16 |
## 9. SPI与模拟采集/存储
### 9.1 SPI1(预留安全芯片)
| 信号 | 引脚 | AF | 备注 |
| --- | --- | --- | --- |
| SPI1_NSS | PA8 | GPIO输出 | 软件片选 |
| SPI1_SCK | PA9 | AF5 | 时钟 |
| SPI1_MISO | PG2 | AF5 | 输入 |
| SPI1_MOSI | PG3 | AF5 | 输出 |
### 9.2 SPI3(绝缘/高压采样)
| 信号 | 引脚 | AF | 备注 |
| --- | --- | --- | --- |
| SPI3_CSA | PA4 | GPIO输出 | A枪片选 |
| SPI3_CSB | PA3 | GPIO输出 | B枪片选 |
| SPI3_SCK | PE12 | AF5 | 时钟 |
| SPI3_MISO | PE13 | AF5 | 输入 |
| SPI3_MOSI | PE14 | AF5 | 输出 |
### 9.3 SPI4(外部Flash
| 信号 | 引脚 | AF | 备注 |
| --- | --- | --- | --- |
| SPI4_CS | PJ9 | GPIO输出 | 外部Flash片选 |
| SPI4_SCK | PK0 | AF5 | 时钟 |
| SPI4_MOSI | PJ11 | AF5 | 输出 |
| SPI4_MISO | PJ10 | AF5 | 输入 |
### 9.4 SPI5(模拟量采集)
| 信号 | 引脚 | AF | 备注 |
| --- | --- | --- | --- |
| SPI5_CS | PG12 | GPIO输出 | 模拟采集芯片片选 |
| SPI5_SCK | PG13 | AF5 | 时钟 |
| SPI5_MISO | PA6 | AF8 | 输入 |
| SPI5_MOSI | PG14 | AF5 | 输出 |
## 10. NAND Flash / EXMC
| 信号 | 引脚 | AF | 备注 |
| --- | --- | --- | --- |
| EXMC_D0 | PD14 | AF12 | NAND数据线 |
| EXMC_D1 | PD15 | AF12 | NAND数据线 |
| EXMC_D2 | PD0 | AF12 | NAND数据线 |
| EXMC_D3 | PD1 | AF12 | NAND数据线 |
| EXMC_D4 | PE7 | AF12 | NAND数据线 |
| EXMC_D5 | PE8 | AF12 | NAND数据线 |
| EXMC_D6 | PE9 | AF12 | NAND数据线 |
| EXMC_D7 | PE10 | AF12 | NAND数据线 |
| EXMC_NCE | PD7 | AF12 | 片选 |
| EXMC_CLE | PD11 | AF12 | 命令锁存 |
| EXMC_ALE | PD12 | AF12 | 地址锁存 |
| EXMC_NWE | PD5 | AF12 | 写使能 |
| EXMC_NOE | PD4 | AF12 | 读使能 |
| EXMC_NWAIT | PD6 | AF12 | 等待输入 |
## 11. 以太网(ENET
> 当前工程代码中已配置 ENET 相关 GPIO;以下为代码里明确可见的 RMII/MII 相关引脚,实际使用模式以 `BSP/net_lwip/enet_PHY.c` 为准。
| 信号 | 引脚 | AF | 备注 |
| --- | --- | --- | --- |
| ENET_REF_CLK / RX_CLK | PA1 | AF11 | 以太网时钟相关 |
| ENET_MDIO | PA2 | AF11 | PHY管理 |
| ENET_CRS_DV / CRS | PA7 | AF11 | RMII/MII相关 |
| ENET_TXD3 / TX_EN相关 | PB8 | AF11 | 以太网数据 |
| ENET_RXD0 / RX_ER相关 | PB10 | AF11 | 以太网数据 |
| ENET_MDC / TXD0 / TXD1 / RXD0 / RXD1 | PC1 / PC2 / PC3 / PC4 / PC5 | AF11 | 以太网数据/管理 |
| ENET_TXD0/TXD1/TXD2/TXD3/COL/CRS/RXD2/RXD3/RX_ER/RX_DV | PH2 / PH3 / PH6 / PH7 / PH8 / PH9 / PH10 / PH11 / PH12 / PH13 / PH14 / PH15 | AF11/AF6 | 具体模式见源码 |
| ENET_TX_EN / RX_DV / RXD2 / RXD3 | PG11 / PG13 / PG14 / PG6 / PG9 / PG12 | AF11/AF6 | 具体模式见源码 |
## 12. IO电平约定(软件侧)
- `sys_drv_init.h` 中 DI 逻辑定义为:低电平导通、高电平断开(`DIx = DI_READ ? 0 : 1`)。
- `DOx` 宏当前约定:
- `DOx(0)`:断开
- `DOx(1)`:闭合
- `DO*_READ()` / `ELOCK_*_READ()` 返回GPIO引脚电平:`1=高电平``0=低电平`
## 13. 维护建议
- 变更任一引脚时,同步更新:
- `BSP/GPIO/gpio.h`
- `BSP/GPIO/gpio.c``v_outpin_config` / `v_inpin_config`
- `BSP/sys_drv_init.h`(宏映射)
- 外设驱动文件(如 `BSP/com/usart.c``BSP/can/can.c``BSP/eeprom/i2c1.c``BSP/adc/*.c``BSP/externalflash/*.c`
- 本文档
- 新增点位时建议增加“信号名/端口引脚/用途”三元信息,避免后续只看宏名难以定位硬件。