三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

新手避坑指南:用立创EDA从零画一块STM32F103RCT6核心板(附完整原理图/PCB源文件)

新手避坑指南:用立创EDA从零画一块STM32F103RCT6核心板(附完整原理图/PCB源文件)

立创EDA实战:STM32F103RCT6核心板设计避坑手册

第一次用立创EDA画STM32核心板时,我在元器件库翻了半小时没找到STM32F103RCT6,后来才发现搜索要用"STM32F103RCT6"全称——这个国产EDA工具对英文大小写敏感得令人发指。作为从Altium Designer转战国产工具的老鸟,我决定把踩过的坑变成你的垫脚石。

1. 原理图设计:新手常犯的五个致命错误

1.1 元器件搜索的正确姿势

立创EDA的元件库就像个倔脾气的图书管理员:

  • 精确匹配原则:搜索"STM32F103"可能返回空结果,必须输入完整型号"STM32F103RCT6"
  • 中英文切换:尝试"电容"和"capacitor"可能得到不同结果
  • 封装筛选技巧:在属性面板勾选"贴片"或"直插"时,记得同时检查尺寸标注

提示:遇到冷门元件时,优先使用"用户贡献库",但下载后务必核对引脚定义

1.2 电源电路设计陷阱

我的第一版设计里,3.3V LDO发烫到能煎鸡蛋,问题出在:

[典型错误配置] 5V输入 → AMS1117-3.3 → 100μF电解电容(ESR过高) → 未加散热铜箔

修正后的方案:

参数推荐值替代方案
输入电容10μF X7R贴片22μF钽电容
输出电容4.7μF X5R贴片10μF MLCC
散热处理2oz铜厚+开窗添加散热过孔

1.3 晶振电路的玄学问题

那个让我熬夜调试的8MHz晶振不起振问题,最终发现是:

  • 负载电容计算错误(22pF≠实际需求18pF)
  • 布局距离MCU超过10mm
  • 未做包地处理

正确配置步骤

  1. 在晶振两侧放置NC引脚(方便更换负载电容)
  2. 使用0402封装的18pF电容(减小寄生参数)
  3. 绘制接地guard ring

1.4 下载接口的隐藏知识点

SWD接口看似简单,但:

  • 复位电路的上拉电阻值影响下载成功率(推荐10kΩ)
  • SWDIO需要4.7kΩ上拉(部分调试器内部已含)
  • 避免将SWCLK走线布置在高速信号附近

1.5 网络标签的灾难现场

新手最容易出现的原理图错误:

  1. 网络标签拼写不一致(如"3V3"和"3.3V")
  2. 未连接的隐藏引脚(STM32的VDDA/VSSA)
  3. 电源符号混用(数字/模拟地未区分)

2. PCB布局:从杂乱到优雅的进化之路

2.1 元件布局黄金法则

我的血泪教训总结出三条铁律:

  • 电源路径优先:LDO→滤波电容→MCU的路径要最短
  • 信号流向规划:按原理图功能模块分区布局
  • 散热考量:大电流路径预留铜箔开窗位

(左侧为新手常见错误布局,右侧为优化后的版本)

2.2 走线宽度计算秘籍

3.3V电源线应该多宽?记住这个速算公式:

# 铜厚1oz(35μm)时的最小线宽(mm) def calc_trace_width(current): return max(0.15, current / 2) # 经验系数

典型应用场景:

  • 数字IO线:0.2mm
  • 500mA电源:1mm
  • 1A电源:2mm(或使用铺铜替代)

2.3 过孔使用的时机与技巧

什么时候该打过孔?我的决策流程:

  1. 尝试绕线3次仍无法连通
  2. 检查是否违反3W原则(线间距≥3倍线宽)
  3. 评估是否影响阻抗控制(高速信号需谨慎)

注意:过孔直径与板厂工艺相关,立创默认0.3mm/0.6mm最经济

2.4 丝印设计的可读性优化

那些年我犯过的丝印错误:

  • 字符方向混乱(统一朝向板边)
  • 元件标号被过孔遮挡(DRC检查常忽略)
  • 极性标识不明确(二极管/电解电容)

推荐设置

  • 字体大小:0.8mm×1.2mm
  • 线宽:0.15mm
  • 与焊盘间距:≥0.3mm

3. 设计验证:那些DRC不会告诉你的问题

3.1 电气规则检查(ERC)的盲区

立创EDA的ERC可能漏检:

  • 未连接的隐藏电源引脚
  • 冲突的输出引脚(如两个IO短接)
  • 悬空的关键信号(BOOT0/1引脚)

手动检查清单

  1. 所有VDD/VSS引脚是否正确连接
  2. 复位电路时间常数(10kΩ+0.1μF≈1ms)
  3. 晶振负载电容匹配情况

3.2 信号完整性的简易评估

没有专业仿真工具时,可用土方法:

  • 用万用表测量关键路径阻抗
  • 观察信号边沿畸变(需要示波器)
  • 检查电源纹波(带宽≥100MHz的探头)

3.3 设计回查的五个维度

每次投板前我的必查项:

  1. 封装核对(特别是QFP与QFN区别)
  2. 安装孔位(与外壳匹配)
  3. 阻焊层开窗(需要焊接的测试点)
  4. 板边禁布区(V-cut位置)
  5. 版本标识(丝印添加日期/版本号)

4. 实战技巧:从工程文件中学不到的秘籍

4.1 立创EDA的隐藏功能

90%用户不知道的实用技巧:

  • 交叉选择模式:原理图与PCB联动高亮
  • 全局编辑:批量修改相同属性元件
  • 设计复用:将成熟模块保存为"片段"

4.2 打样前的最后确认

发给板厂前务必检查:

# 使用立创EDA的Gerber查看器检查各层 gerber-viewer -l TOP,BOTTOM,DRC -f gerber.zip

常见输出问题:

  • 钻孔文件缺失(.drl文件)
  • 阻焊层错误(不该开窗的位置)
  • 丝印层偏移(字符错位)

4.3 焊接调试的避坑指南

我的血泪焊接史:

  • QFN封装焊接:先涂助焊膏,用热风枪260℃环绕加热
  • 0402元件定位:用镊子轻压同时焊接两端
  • 芯片烧录失败:检查BOOT引脚电平状态

4.4 工程文件管理规范

建议的目录结构:

STM32F103RCT6_CoreBoard/ ├── Hardware/ │ ├── Schematic/ # 原理图版本存档 │ ├── PCB/ # PCB修改记录 │ └── Datasheet/ # 关键器件规格书 ├── Software/ # 配套测试代码 └── BOM/ # 物料清单(含替代料)

最后分享一个真实案例:有次板子死活不工作,最后发现是PCB上VDD和GND短路——原因竟是一根0.1mm的导线残留在过孔里。现在我的工作台上永远放着放大镜和强光手电。

← 返回列表