# 原理图设计规范与DRC

本文档基于嘉立创EDA教学视频知识提取，覆盖原理图绘制流程、命名规范、DRC检查和常见问题处理。

---

## 一、原理图绘制流程

### 1.1 器件查找与放置（三种方式）

**方式一：左侧常用库**
- 内置电阻、电容、二极管、晶体管等常用器件。
- 下拉可切换不同封装（如R0603/R0805）。
- 放置后在右侧属性面板查看参数。

**方式二：下方库搜索（快捷键S）**
- 支持"嘉立创EDA"和"立创商城"两种搜索引擎。
- 立创商城引擎搜索到的器件附带供应商编号、价格、数据手册链接等真实商城信息。
- 在右侧可查看符号/封装/实物图/3D预览，确认后点击"放置"。

**方式三：顶部放置→器件（Shift+F）**
- 同样支持两种搜索引擎。
- 支持按封装、类型、品牌等进行筛选（如"贴片电阻 + 0603"）。
- 列表中显示封装、编号、数据手册、库存信息，确认后放置。

### 1.2 网络/引脚连接方法

| 连接方式 | 快捷键 | 适用场景 |
|---------|--------|---------|
| 导线 | Alt+W | 距离近的引脚直连 |
| 网络标签 | Alt+N | 距离远、避免导线错综复杂。名称相同即代表连接关系 |
| 总线 | Alt+B | 成组信号，如PA[0..15]。挂标时系统自动递增 |
| 网络标识符（电源端口） | - | 电源网络：VCC、GND、5V等。空格键旋转，名称相同即连接 |
| 网络端口 | - | 复用模块/层次原理图中 |
| 跨页连接标识 | - | 多图页工程跨图页信号传递。名称相同即代表跨页连接 |
| 短接标识符 | - | 两个不同网络标签需要短接时使用，表示两者本质相连 |
| 非连接标识符（红叉） | - | 放置在不需要使用的引脚上，避免DRC报"引脚未使用" |
| 差分对标识 | - | 注明差分信号，系统自动根据命名规则在差分对管理器中生成差分对 |

### 1.3 网络标签与总线

- **网络标签**：名称完全一致即代表连接关系。配合跨页连接可实现多图页交互。命名建议使用有意义的功能名称（如`USB_D+`）。
- **总线**：命名格式如 `PA[0..15]`，挂载网络标签时系统自动递增。
- **差分对**：自动识别需遵循命名规则（_P/_N或_DP/_DN等）。自动生成后不可手动修改删除；手动添加的差分对可修改删除。
- **工程设置中可配置**："总线生成网络类"、"网络标签跨页连接"等选项。

### 1.4 图纸设置与模板

- **图纸尺寸**：默认新建A4，右侧属性面板可切换A5/A3/A2/A1等。
- **自定义图纸**：右键图纸→"编辑图纸"进入编辑界面。可新增/删除行、合并单元格。
- **动态参数**：内置参数（图页名称、板子名称、创建日期等）可CTRL+C/V移动到其他单元格，也可直接输入固定文本。左侧明细表新增参数→返回原理图在右侧属性面板动态输入。
- **跨工程复用**：修改仅对当前工程生效。复用方法：库→工程→找到图纸→右键→另存为至个人库，新工程中从个人库放置即可。

---

## 二、设计规范

### 2.1 模块化设计

- 大型工程建议右键新建多个图页，按功能分页绘制。
- 使用**跨页连接标识**实现图页间信号传递。
- 层次图/复用模块使用**网络端口**。
- 每页图纸功能独立、清晰标注。

### 2.2 命名规范

| 类型 | 规范 | 示例 |
|------|------|------|
| 差分对 | _P/_N 或 _DP/_DN 或 正/负 结尾 | USB_DP, USB_DN; TXD_P, TXD_N |
| 总线 | `NAME[起始..结束]` 格式 | PA[0..15], D[0..7] |
| 网络标签 | 有意义的英文功能名 | LED_R, BTN_OK, ADC_BAT |
| 电源网络 | 统一使用标准名称 | VCC, GND, +5V, +3V3, VBAT |
| 图页名称 | 功能模块名 | Power、MCU、Motor_Drive、Sensor |

### 2.3 注释与标注

- **非连接标识符（红叉）**：标注所有未使用的引脚，避免DRC误报。
- **差分对标识符**：注明差分信号对。
- **图纸信息栏**：填写项目名称、图页名称、版本、日期、设计者。
- **器件属性**：可添加自定义备注、数据手册链接、供应商编号等。

---

## 三、原理图DRC检查

### 3.1 常见DRC错误及修复

**错误（红色）——必须清零**：

| 错误类型 | 原因 | 修复方法 |
|---------|------|---------|
| "该网络标签未连接任何引脚" | 标签为游离标签，未放在导线或引脚上（右下角白色十字未对准） | 将标签正确放置于导线/引脚上，确保十字准星对准 |
| "该网络连接不完整" | 一个网络仅连接了一个引脚（需≥2个引脚） | 如果是设计需求可忽略；否则补充连接 |
| "该导线存在多个网络标签" | 一根导线上放了VCC和GND等不同名网络标签，系统只取其中一个 | 删除多余的标签；涉及不同网络短接需用短接标识符 |
| "位号重复" | 两个器件使用了同一位号（如两个U2.1） | 使用设计→重新标注位号 |
| "不能组成完整多部件元件" | 多Part器件（如双运放）仅放置了部分未放全 | 补全所有Part或删除多余Part |
| "引脚悬空" | 引脚无任何连接 | 不用的引脚加非连接标识符（红叉）；需用的引脚补充连接 |
| "引脚未使用" | 引脚未连接且未放置非连接标识 | 放置非连接标识符 |

**警告（黄色）**：
- 需要根据提示语检查处理，一般不影响功能但建议修复。

**提醒**：
- 一般不影响设计，可自行判断是否处理。

### 3.2 特殊问题处理

**导线多重标签**：
- 同一导线存在多个网络标签时，更新转换PCB只能取其中一个网络名（后放的或随机的），另一个被忽略。
- 解决：删除多余的标签，仅保留一个。如需不同网络短接，必须使用**短接标识符**。

**网络标签未连接引脚（深层原因）**：
- 原因一：符号创建时引脚方向朝内（圆圈端在内部），导线无法实际跟随/建立有效连接。修复：编辑符号，确保引脚有圆圈的一端朝外。
- 原因二：在非符号编辑界面（如直接画布上用图形工具绘制）制作的"伪符号"，没有电气属性。修复：在符号编辑器中正式创建符号。

**引脚冲突检测**：
- 设计→设计规则中可调整参数：网络名最大255字符、引脚连接关系/冲突检测等。
- 引脚冲突检测（输入连输入、输出连输出等）需器件引脚属性设置正确，默认关闭。
- 一般保持默认设置即可。

### 3.3 DRC操作

- 设计→检查DRC（左下角快捷按钮），系统列出错误/警告/提醒数量。
- 点击报错项可定位到具体位置。
- 底部提示语说明具体错误原因。
- 处理后刷新（或重新检查DRC）可消除报错。

---

## 四、原理图→PCB转换

### 4.1 转换流程

1. 设计→更新/转换原理图到PCB（快捷键 **Alt+I**）。
2. 点击"应用修改"。
3. 勾选"包含设计规则"可将原理图中设置的差分对、网络类、等长网络组等规则一并导入PCB。
4. 被屏蔽的器件在转换时会被自动移除（PCB中对应器件消失）。

### 4.2 常见转换问题与技巧

- **转换后器件散乱** → 布局传递（Ctrl+Shift+X）：在原理图框选某区域器件，在PCB中自动选中对应器件。
- **快速查找** → 交叉选择（Shift+X）：在原理图选中器件，PCB中对应器件高亮但不选中。
- **快速布局** → 元件区域分布（Shift+P）：选中多个器件，画一个区域，器件在区域内部自动排布。

---

## 五、原理图常见设计模式

### 5.1 多图页工程结构

```
工程根目录
├── 首页（系统框图/目录）
├── Power（电源模块）
├── MCU（主控+外围）
├── Motor_Drive（电机驱动）
├── Sensor（传感器接口）
├── Display（显示模块）
└── IO（对外接口）
```

每页内用跨页连接标识传递信号，同一网络名在不同图页间自动连接。

### 5.2 层次图/复用模块

- 对于重复使用的电路（如4路相同的电机驱动），可创建层次图模块，绘制一次后多次实例化。
- 层次图对外接口通过**网络端口**定义。
- 修改层次图源文件，所有实例自动同步。

---

## 六、设计前检查清单

原理图设计完成、转入PCB前，逐项确认：

- [ ] DRC检查通过，红色错误清零。
- [ ] 所有未使用引脚已放置非连接标识符（红叉）。
- [ ] 差分对命名符合_P/_N规则，差分对管理器确认已自动生成。
- [ ] 电源网络使用标准名称（VCC、GND、+5V等）。
- [ ] 网络标签无游离状态（白色十字对准导线/引脚）。
- [ ] 无同一导线多网络标签冲突。
- [ ] 晶振型号已与MCU数据手册兼容性确认。
- [ ] 分图页工程的跨页连接标识已全部匹配。
- [ ] 图纸信息栏（项目名称、版本、日期）已填写。
- [ ] 所有器件已分配封装（footprint不为空）。
- [ ] I2C总线上拉电阻已确认（模块内置或外部添加）。
