# DMX512 转接模块 - 硬件设计文档

## 系统框图

```
┌─────────────────────────────────────────────────────────────────┐
│                     DMX512 转接模块                              │
│                                                                  │
│   ┌─────────────┐    ┌─────────────┐    ┌─────────────────┐    │
│   │   电源输入   │    │   STM32G0   │    │   RS-485 收发器  │    │
│   │   5V/3.3V   │───▶│   主控MCU   │───▶│    MAX485       │    │
│   │             │    │             │    │                 │    │
│   │  来自主机   │    │  UART_RX    │    │  DMX_D+         │───┬┤
│   │  或外部电源 │    │  UART_TX    │    │  DMX_D-         │───┼┤
│   │             │    │  SWD调试    │    │                 │   ││
│   └─────────────┘    └─────────────┘    └─────────────────┘   ││
│          │                  │                                      │
│          ▼                  ▼                                      │
│   ┌─────────────┐    ┌─────────────┐                              │
│   │  电源管理    │    │  状态指示    │                              │
│   │  AMS1117    │    │  LED x2     │                              │
│   │  5V→3.3V    │    │  运行/通信   │                              │
│   └─────────────┘    └─────────────┘                              │
└─────────────────────────────────────────────────────────────────┘
```

## 详细电路设计

### 1. 主控 MCU (STM32G030F6P6)

```
                    ┌─────────────────┐
            VDD ────┤1  VDD      PA14 ├── SWCLK (调试)
                    │                 │
           PA0 ─────┤2  PA0      PA13 ├── SWDIO (调试)
     (ADC/INT)      │     STM32G0     │
                    │                 │
           PA1 ─────┤3  PA1      PA10 ├── UART_RX (来自主机)
     (预留)         │                 │
                    │                 │
           PA2 ─────┤4  PA2       PA9 ├── UART_TX (到主机)
     (预留)         │                 │
                    │                 │
           PA3 ─────┤5  PA3       PB1 ├── LED_RUN (运行灯)
     (预留)         │                 │
                    │                 │
           PA4 ─────┤6  PA4       PA8 ├── LED_COMM (通信灯)
     (预留)         │                 │
                    │                 │
           PA5 ─────┤7  PA5       PB0 ├── MAX485_DE (发送使能)
     (预留)         │                 │
                    │                 │
           PA6 ─────┤8  PA6      NRST ├── 复位
     (预留)         │                 │
                    │                 │
           PA7 ─────┤9  PA7      PB7 ├── I2C_SDA (预留)
     (预留)         │                 │
                    │                 │
           PB6 ─────┤10 PB6      PB8 ├── I2C_SCL (预留)
     (预留)         │                 │
                    │                 │
           GND ─────┤11 GND      GND ├── GND
                    └─────────────────┘
                         TSSOP-20
```

**引脚分配表**:

| 引脚 | 功能 | 说明 |
|------|------|------|
| PA9 | UART_TX | 发送到主机 |
| PA10 | UART_RX | 接收自主机 |
| PA0 | USART1_TX | 发送到 DMX 总线 |
| PA1 | USART1_RX | 接收自 DMX 总线 (RDM) |
| PB0 | MAX485_DE | RS-485 方向控制 |
| PA13 | SWDIO | 调试接口 |
| PA14 | SWCLK | 调试接口 |
| PB1 | LED_RUN | 运行状态 LED |
| PA8 | LED_COMM | 通信状态 LED |

### 2. RS-485 收发器电路 (MAX485)

```
                         ┌─────────────────┐
    MCU_TX (PA0) ────────┤1  DI            │
                         │                 │
    MCU_RX (PA1) ────────┤2  RO   MAX485   │
                         │                 │
    MCU_DE (PB0) ────────┤3  DE/RE         │
    3.3V ────────────────┤4  VCC           │
    GND ─────────────────┤5  GND           │
    DMX_D+ ──────────────┤6  A             │
    DMX_D- ──────────────┤7  B             │
              NC ────────┤8  NC            │
                         └─────────────────┘
                              SO-8
```

**DMX512 总线接口保护**:

```
    DMX_D+ ────┬──[R1 120Ω]──┬──┬──[R3 10Ω]──┬── To MAX485 Pin6
               │             │  │            │
               │          ┌──┴──┴──┐         │
               │          │  TVS   │         │
               │          │  PESD  │         │
               │          │  7V    │         │
               │          └──┬──┬──┘         │
               │             │  │            │
    DMX_D- ────┴──[R2 120Ω]──┴──┴──[R4 10Ω]──┴── To MAX485 Pin7
               
               R1, R2: 终端电阻 120Ω (仅在总线末端需要)
               TVS: 双向瞬态抑制二极管 7V (保护RS-485芯片)
               R3, R4: 限流电阻 10Ω
               
    GND ───────┬──[R5 100kΩ]──┬── To 机壳地 (可选)
               │               │
               └──[C1 100nF]───┘
               
               R5, C1: 共模滤波，防止EMI
```

### 3. XLR-3 接口 (可选)

```
    ┌─────────────────────────┐
    │      XLR-3 母座         │
    │                         │
    │   Pin 1 ──── GND        │
    │   Pin 2 ──── DMX_D-     │
    │   Pin 3 ──── DMX_D+     │
    │                         │
    └─────────────────────────┘
    
    注意: DMX512 标准使用 XLR-3 或 XLR-5
          Pin 2 = Data- (B)
          Pin 3 = Data+ (A)
          某些厂商可能反接，需注意
```

### 4. 电源电路

```
    VIN (5V) ────┬────────────────────────────────────┬── VCC_5V
                 │                                    │
              ┌──┴──┐                              ┌──┴──┐
              │ C1  │                              │ C3  │
              │10uF │                              │10uF │
              └──┬──┘                              └──┬──┘
                 │                                    │
                 ├──────┬─────────────────────────────┤
                        │
                   ┌────┴────┐
                   │ AMS1117 │
                   │ 5V→3.3V │
                   │  SOT-89 │
                   └────┬────┘
                        │
                     ┌──┴──┐
                     │ C2  │
                     │10uF │
                     └──┬──┘
                        │
    GND ────────────────┴─────────────────────────────── GND
```

**电源参数**:

| 参数 | 值 | 说明 |
|------|-----|------|
| 输入电压 | 5V ±5% | 来自主机或外部适配器 |
| 输出电压 | 3.3V ±3% | MCU 和 MAX485 供电 |
| 最大电流 | 500mA | 满足系统需求 |
| 纹波 | <50mV | 保证通信稳定性 |

### 5. 状态指示电路

```
    3.3V ────┬──────────────────────────────┬── VCC_3V3
             │                              │
          ┌──┴──┐                        ┌──┴──┐
          │ R3  │                        │ R4  │
          │ 1kΩ │                        │ 1kΩ │
          └──┬──┘                        └──┬──┘
             │                              │
             ├────►|────┐                   ├────►|────┐
             │  LED1   │                   │  LED2   │
             │ (绿色)  │                   │ (黄色)  │
             │  运行   │                   │  通信   │
             │         │                   │         │
             └─────────┴───┐               └─────────┴───┐
                           │                             │
    MCU_PB1 ───────────────┘        MCU_PA8 ─────────────┘
```

### 6. 调试接口

```
    ┌─────────────────────────┐
    │      SWD 调试接口        │
    │                         │
    │   1  VCC ──────── 3.3V  │
    │   2  SWDIO ────── PA13  │
    │   3  GND ──────── GND   │
    │   4  SWCLK ────── PA14  │
    │                         │
    └─────────────────────────┘
         2.54mm 4Pin 排针
```

### 7. 主机接口

```
    ┌─────────────────────────┐
    │      主机通信接口        │
    │                         │
    │   1  VCC ──────── 5V    │
    │   2  GND ──────── GND   │
    │   3  TX  ──────── PA10  │
    │   4  RX  ──────── PA9   │
    │                         │
    └─────────────────────────┘
         2.54mm 4Pin 排针
```

## BOM 清单

| 位号 | 器件 | 型号 | 封装 | 数量 | 备注 |
|------|------|------|------|------|------|
| U1 | MCU | STM32G030F6P6 | TSSOP-20 | 1 | 主控 |
| U2 | RS-485收发器 | MAX485ESA | SO-8 | 1 | 或 SP3485 |
| U3 | LDO | AMS1117-3.3 | SOT-89 | 1 | 3.3V稳压 |
| D1 | TVS | PESD7V0S1UB | SOD-523 | 1 | 总线保护 |
| R1,R2 | 电阻 | 120Ω | 0805 | 2 | 终端电阻 |
| R3,R4 | 电阻 | 10Ω | 0805 | 2 | 限流 |
| R5 | 电阻 | 100kΩ | 0805 | 1 | 共模滤波 |
| R6,R7 | 电阻 | 1kΩ | 0805 | 2 | LED限流 |
| C1,C3 | 电容 | 10uF/16V | 0805 | 2 | 电源滤波 |
| C2 | 电容 | 10uF/10V | 0805 | 1 | LDO输出 |
| C4 | 电容 | 100nF | 0805 | 1 | 共模滤波 |
| LED1 | LED | 绿色 0805 | 0805 | 1 | 运行指示 |
| LED2 | LED | 黄色 0805 | 0805 | 1 | 通信指示 |
| J1 | 排针 | 2.54mm 4P | 直插 | 1 | 主机接口 |
| J2 | 排针 | 2.54mm 4P | 直插 | 1 | 调试接口 |
| J3 | 接线端子 | 3.81mm 3P | 插拔式 | 1 | DMX总线 |
| J4 | XLR-3 | XLR-3F | 面板安装 | 1 | 可选标准接口 |

## PCB 布局建议

```
┌─────────────────────────────────────────────────────────────┐
│  ┌─────────┐                                    ┌─────────┐ │
│  │  电源    │                                    │  DMX    │ │
│  │  输入    │                                    │  接口   │ │
│  │  (J1)   │                                    │  (J3)   │ │
│  └────┬────┘                                    └────┬────┘ │
│       │                                              │      │
│       ▼                                              ▼      │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                                                     │   │
│  │                    STM32G0                          │   │
│  │                                                     │   │
│  │  ┌─────────┐              ┌─────────┐              │   │
│  │  │ MAX485  │              │ AMS1117│              │   │
│  │  └─────────┘              └─────────┘              │   │
│  │                                                     │   │
│  └─────────────────────────────────────────────────────┘   │
│       ▲                                              ▲      │
│       │                                              │      │
│  ┌────┴────┐                                    ┌────┴────┐ │
│  │  调试    │                                    │  状态   │ │
│  │  接口    │                                    │  LED    │ │
│  │  (J2)   │                                    │         │ │
│  └─────────┘                                    └─────────┘ │
└─────────────────────────────────────────────────────────────┘

尺寸建议: 40mm x 35mm (双层板，含XLR接口)
         35mm x 30mm (不含XLR，仅用接线端子)
```

## 关键设计要点

### 1. RS-485 总线设计
- 总线拓扑：手拉手菊花链，避免星型
- 终端电阻：只在总线两端各加 120Ω
- 分支长度：尽量短，<0.3m
- 最大节点：32个标准负载（可用中继器扩展）

### 2. DMX512 信号完整性
- 使用双绞线（Cat5/Cat6 也可）
- D+ 和 D- 严格等长
- 远离强干扰源

### 3. RDM 支持 (可选)
- 需要双向通信
- MAX485 的 DE/RE 由 MCU 控制
- 发送时 DE=1，接收时 DE=0

### 4. 热设计
- MAX485 静态功耗低
- 高速切换时注意散热

### 5. 可制造性
- 全贴片器件，适合 SMT
- 双面布局，紧凑设计
- 预留测试点

## DMX512 与 RDM 的区别

| 特性 | DMX512 | RDM |
|------|--------|-----|
| 方向 | 单向 (主机→设备) | 双向 |
| 起始码 | 0x00 | 0xCC |
| 发现 | 不支持 | 支持 |
| 配置 | 手动设置地址 | 远程配置 |
| 状态 | 无反馈 | 可读取状态 |

**建议**: 基础版本只做 DMX512 发送，高级版本可扩展 RDM。
