# 集控协议转换模块项目

> **项目目标**: 让智步集控系统无缝接入 DALI / DMX512 专业照明生态

---

## 📋 项目概述

### 核心设计理念

```
┌─────────────────────────────────────────────────────────────┐
│                     模块化可插拔设计                          │
│                                                              │
│   智步集控主机 ──UART──▶ [DALI模块] ──▶ DALI 总线          │
│                    │                                         │
│                    └──▶ [DMX512模块] ──▶ DMX512 总线       │
│                                                              │
│   优势：通过更换模块，同一主机支持不同协议生态                │
└─────────────────────────────────────────────────────────────┘
```

### 两种工作模式

| 模式 | 说明 | 应用场景 |
|------|------|----------|
| **单节点模式** | 一个物理设备作为单个控制节点 | 简单统一控制 |
| **虚拟节点模式** | 一个物理设备虚拟出多个独立节点 | 精细化单灯控制 |

---

## 📁 项目文件结构

```
集控协议转换模块/
├── README.md                          # 本文件
├── 技术架构设计_v1.0.md               # 完整技术架构文档
│
├── 硬件设计/
│   ├── DALI_Module_Schematic.md       # DALI 模块硬件设计
│   └── DMX512_Module_Schematic.md     # DMX512 模块硬件设计
│
└── 固件代码/
    ├── DALI_Module_Firmware/          # DALI 模块固件
    │   ├── main.c                     # 主程序
    │   ├── dali_driver.h              # DALI 驱动头文件
    │   ├── dali_driver.c              # DALI 驱动实现
    │   └── host_protocol.h            # 主机通信协议
    │
    └── DMX512_Module_Firmware/        # DMX512 模块固件
        ├── main.c                     # 主程序
        ├── dmx512_driver.h            # DMX512 驱动头文件
        ├── dmx512_driver.c            # DMX512 驱动实现
        └── host_protocol.h            # 主机通信协议
```

---

## 🔌 DALI 模块

### 硬件规格

| 参数 | 规格 |
|------|------|
| MCU | STM32G030F6P6 (ARM Cortex-M0+) |
| DALI 收发器 | L6571 / BP5011 |
| 电源 | 5V 输入 → 3.3V 稳压 |
| 接口 | UART (主机) + DALI 总线 |
| 尺寸 | 40mm × 30mm |

### 支持功能

- ✅ DALI-2 标准指令
- ✅ 直接调光 (0-254)
- ✅ DT8 色温控制 (2700K-6500K)
- ✅ DT8 RGBW 控制
- ✅ 组控制 (16组)
- ✅ 场景调用 (16场景)
- ✅ 自动地址分配
- ✅ 设备状态查询

---

## 🎨 DMX512 模块

### 硬件规格

| 参数 | 规格 |
|------|------|
| MCU | STM32G030F6P6 (ARM Cortex-M0+) |
| RS-485 收发器 | MAX485 / SP3485 |
| 电源 | 5V 输入 → 3.3V 稳压 |
| 接口 | UART (主机) + DMX512 总线 |
| 尺寸 | 40mm × 35mm (含XLR) |

### 支持功能

- ✅ 标准 DMX512 输出 (44Hz)
- ✅ 1-512 通道控制
- ✅ RGB/RGBW/RGBWA 设备个性
- ✅ 双色温 (CCT) 控制
- ✅ 虚拟节点映射
- ✅ 设备管理

---

## 🔧 主机串口协议

### 物理层
- 波特率: 115200 bps
- 数据位: 8
- 停止位: 1
- 校验: 无

### 数据帧格式

```c
// 帧头(2) + 命令(1) + 节点ID(2) + 数据长度(1) + 数据(N) + 校验(1) + 帧尾(2)
typedef struct {
    uint16_t head;          // 0xAA55
    uint8_t  cmd;           // 命令码
    uint16_t node_id;       // 节点ID
    uint8_t  data_len;      // 数据长度
    uint8_t  data[64];      // 数据载荷
    uint8_t  checksum;      // 校验和
    uint16_t tail;          // 0x55AA
} Host_Frame_t;
```

### 命令码

| 命令 | 码值 | 说明 |
|------|------|------|
| OFF | 0x00 | 关闭 |
| SET_DIM | 0x01 | 设置亮度 |
| SET_CCT | 0x02 | 设置色温 |
| SET_COLOR | 0x03 | 设置颜色 |
| SCENE | 0x04 | 调用场景 |
| DISCOVER | 0x05 | 节点发现 |
| CONFIG | 0x06 | 节点配置 |
| SET_MODE | 0x08 | 设置工作模式 |

---

## 📊 应用场景

### 场景1: 智能酒店

```
┌─────────────────────────────────────────────────────────┐
│  酒店客房控制系统                                        │
│  ├─ 床头灯 (DALI 双色温)                                │
│  ├─ 阅读灯 (DALI 调光)                                  │
│  ├─ 氛围灯带 (DMX512 RGBW)                              │
│  └─ 窗帘电机 (DALI 继电器)                              │
│                                                          │
│  智步主机 ──DALI模块──▶ DALI 总线                       │
│         ──DMX模块───▶ DMX512 总线                       │
└─────────────────────────────────────────────────────────┘
```

### 场景2: 商业空间

```
┌─────────────────────────────────────────────────────────┐
│  商场/展厅照明系统                                       │
│  ├─ 主照明 (DALI 双色温，统一控制)                       │
│  ├─ 展柜灯带 (DMX512 RGBW，单灯独立控制)                 │
│  └─ 氛围灯 (DMX512 彩色，场景联动)                       │
│                                                          │
│  虚拟节点模式: 1条灯带 = 30个独立控制点                  │
└─────────────────────────────────────────────────────────┘
```

---

## 🚀 开发计划

### 第一阶段: 基础验证 (2-3周)

- [ ] 搭建 DALI 测试板
- [ ] 实现基本指令收发
- [ ] 对接 DALI 驱动器测试
- [ ] 搭建 DMX512 测试板
- [ ] 实现 DMX 帧发送
- [ ] 对接舞台灯测试

### 第二阶段: 协议整合 (2-3周)

- [ ] 主机端串口协议扩展
- [ ] 虚拟节点管理实现
- [ ] 配置界面开发
- [ ] 地址分配流程完善
- [ ] 状态反馈机制

### 第三阶段: 产品化 (2-3周)

- [ ] PCB 设计优化
- [ ] 外壳结构设计
- [ ] 生产测试流程
- [ ] 稳定性测试
- [ ] OTA 升级支持

---

## 💡 关键技术点

### 1. DALI 曼彻斯特编码

```
数据 '1':   ┌──┐    前半低，后半高
            │  │
         ──┘  └──

数据 '0':   ┌──┐    前半高，后半低
            │  │
         ──┘  └──
```

### 2. DMX512 帧结构

```
Break (≥88μs) ── MAB (≥8μs) ── Start Code (0x00) ── Data (1-512 bytes)
```

### 3. 虚拟节点映射

```
物理设备: 30灯灯带
├─ 虚拟节点 0 → DALI地址 10 或 DMX通道 1-4
├─ 虚拟节点 1 → DALI地址 11 或 DMX通道 5-8
├─ ...
└─ 虚拟节点 29 → DALI地址 39 或 DMX通道 117-120
```

---

## 📚 参考标准

| 标准 | 说明 |
|------|------|
| IEC 62386 | DALI 国际标准 |
| ANSI E1.11 | DMX512 标准 |
| ANSI E1.20 | RDM (远程设备管理) |

---

## 🛠️ 开发工具

- **IDE**: STM32CubeIDE / Keil MDK
- **调试器**: ST-Link V2
- **测试设备**: DALI 驱动器、DMX512 控制器
- **总线分析**: 逻辑分析仪

---

## 📞 技术支持

如有问题，请联系微智电子研发团队。

---

*文档版本: v1.0*  
*最后更新: 2026-06-11*  
*设计: 微智电子智能助手*
