前言
作为电子信息工程专业的大二学生,这是我第一次接触 Altium Designer(AD21)这款专业 PCB 设计软件。从最初连 “库文件” 是什么都不知道,到跟着老师的节奏一步步进阶 —— 先练单管放大电路、再攻 51 单片机相关设计,最后独立完成 STM8S103F3 最小系统板,过程中踩了无数新手坑,但也收获了满满的实操经验。老师布置的作业环环相扣,上课讲解得面面俱到,遇到问题时的耐心指导更是让我少走了很多弯路。本文将以学生新手视角,详细记录 STM8S103F3 设计全流程心得,同时还原前期基础练习的衔接过程,适合和我一样刚入门的同学参考。
一、前期铺垫:环环相扣的练习,为 STM8 设计打牢基础
刚开始接触 AD 软件时,我完全是 “小白”—— 连元器件怎么放、导线怎么连都要对着教程一步步来。老师没有直接让我们挑战 STM8,而是安排了循序渐进的练习,每一步都在为核心项目铺路:
第一步是单管放大电路的学习:先画原理图,再做 PCB。这是我第一次完整接触 “从原理图到 PCB” 的流程,但刚上手就踩了坑 —— 原理图看起来所有连线都正确,导出 PCB 后却发现部分元器件缺失、网络错乱。后来老师耐心帮我排查,才发现是 “元器件没关联封装”,而且有几根导线看似连上了,实则没完全吸附到引脚焊盘,属于 “隐性断开”。这次经历让我记住了 “画原理图必核封装、必做电气检查” 的关键知识点。
紧接着我们学习了单管放大电路的 PCB 设计,熟悉了板框绘制、简单布局布线的基础操作。之后就过渡到了 51 单片机系列的练习:先学89C51 相关的板框设计及元器件布局,老师详细讲解了 “如何根据实际需求确定板框尺寸、定位孔位置”“布局时要遵循信号流向” 等原则;为了让后续设计更规范,老师还专门教了画图软件中常用规则的设置,比如线宽、间距、过孔大小的规范;最后带领我们一步步完成了85C51 和 89C51 的布线。在 85C51 布线时,我又遇到了新问题 ——PCB 中部分元器件之间的线连不上,老师仔细看了我的设计后,指出是 “布线规则设置过严,线宽和间距约束冲突”,调整规则后就顺利布通了。
正是这些环环相扣的练习,让我从 “连软件界面都陌生” 的小白,慢慢积累了原理图绘制、规则设置、布局布线的基础技能,等到老师布置 STM8S103F3 最小系统板的设计作业时,我才真正有了 “底气”。
二、STM8S103F3 设计全流程:新手的摸索与成长
2.1 新建工程项目:从 “混乱命名” 到 “规范分类”
刚开始练单管放大电路时,我直接新建文件就上手,结果后期文件多了,找不到原理图和 PCB 的对应关系,被老师批评了一顿。后来跟着老师学了规范的项目搭建方法,在 STM8 设计中就派上了用场:
- 打开 AD 软件,点击「File→New→Project→PCB Project」,命名为 “STM8S103F3 最小系统板.PrjPCB”(中文命名方便自己识别);
- 右键工程文件,选择「Add New to Project」,依次创建「Schematic(原理图)」「PCB(PCB 文件)」「Library(原理图库 / PCB 库)」,并统一命名(比如 “原理图.SchDoc”“PCB 文件.PcbDoc”);
- 老师提醒我们:一定要把所有文件放在同一个文件夹里,且文件夹路径不能有中文,否则后面库文件可能导入失败 —— 这也是前期练 51 单片机时,很多同学踩过的坑,老师特意反复强调。
这一步看似简单,但对新手来说,规范的项目结构能避免后期很多麻烦,比如不会出现 “找不到文件”“关联失败” 的问题。
2.2 库的制作与导入:最费时间但最关键的一步
STM8S103F3 芯片在 AD 的默认库中找不到对应的封装,老师让我们自己制作库文件,这也是我觉得最有挑战性的一步:
2.2.1 原理图库制作
- 打开新建的原理图库文件,点击「Place→Rectangle」,按照老师给的 TSSOP20 封装尺寸(宽度 4.4mm,高度 6.5mm)画芯片轮廓;
- 点击「Place→Pin」,添加 20 个引脚,按照 STM8S103F3 的 datasheet 标注引脚功能(比如 VDD、GND、PA1、PA2),引脚长度设为 10mil(老师说这个长度视觉上最协调);
- 双击芯片,在「Properties」里填写芯片型号 “STM8S103F3P6”,这样后面生成 BOM 清单时能直接识别。
2.2.2 PCB 库制作
- 打开 PCB 库文件,点击「Place→Pad」,添加焊盘,老师告诉我们新手就用默认的 “Through Hole” 类型,内径 0.6mm、外径 1.2mm,这个尺寸后期焊接方便 —— 这也是前期练 51 单片机时一直用的标准尺寸;
- 按照 TSSOP20 的封装要求,把 20 个焊盘分成两排,间距 0.65mm,两排中心距 4.4mm(老师让我们用 “栅格对齐” 功能,按 “G” 键切换栅格大小,避免焊盘歪歪扭扭,89C51 布局时就因为没对齐栅格,被老师要求重新调整过);
- 点击「Place→Track」,在 Top Overlay 层画丝印框,线条宽度 0.15mm,老师强调丝印不能挡住焊盘,否则焊接时看不到引脚 —— 这是单管放大电路 PCB 设计时,我因为丝印遮挡焊盘得到的教训。
2.2.3 库导入工程
把制作好的库文件添加到工程后,我又遇到了 “库识别不到” 的问题,老师帮我检查后发现是 “文件夹路径有中文”,改成英文路径后就好了。这也让我再次记住:AD 软件对中文路径 “很敏感”,一定要避开 —— 老师在讲 51 单片机设计时就提醒过,可惜我还是差点忘记。
2.3 原理图绘制:从 “连对就行” 到 “规范绘制”
画原理图是设计的基础,老师在单管放大电路和 51 单片机教学时,都反复强调 “电气连接正确是前提”,我的绘制过程分为三步:
- 放置元器件:先把 STM8S103F3 芯片放在原理图中心,再依次放置电源电路(10μF 电解电容、100nF 陶瓷电容)、时钟电路(8MHz 晶振、22pF 电容)、复位电路(10kΩ 电阻、0.1μF 电容)、SWD 下载接口(2x3 排针),老师让我们 “按模块集中放”,比如电源模块放一起,时钟模块放一起,这样后期布线更清晰 —— 这是 89C51 布局时老师重点强调的原则;
- 连接导线与设置网络标签:刚开始练单管放大电路时,我直接用导线把所有引脚连起来,结果画面很乱,还容易出错。后来老师教我们用 “网络标签” 替代长导线,比如把所有电源引脚标注 “VDD”,所有接地引脚标注 “GND”,在 85C51、89C51 的设计中一直用这个方法,这次 STM8 设计也不例外,原理图简洁了很多,出错率也降低了;
- 原理图编译:画完后点击「Project→Compile PCB Project」,编译后会出现错误提示,我第一次编译有 3 个错误,都是 “引脚未连接”,仔细检查后发现是晶振的两个引脚没接到芯片的 OSC1 和 OSC2 上,修正后编译通过。老师说编译时要重点看 “Error”,“Warning” 可以适当忽略 —— 这是贯穿所有练习的核心技巧。
2.4 PCB 规则设置:跟着老师学 “抄作业”
PCB 设计前必须先设置规则,否则布线时会出现 “线宽不够”“间距太小” 等问题。老师在教 85C51、89C51 布线前,就详细讲过常用规则设置,还给了我们一套新手通用规则,我直接照着设置,省去了很多摸索时间:
- 点击「Design→Rules」,设置「Clearance(最小间距)」为 0.3mm(老师说这是常规 PCB 工厂的最小工艺要求,新手按这个来不会错,从单管放大电路到 51 单片机,我们一直用这个参数);
- 设置「Width(线宽)」:电源地线设为 1.2mm,信号线设为 0.8mm(老师解释说电源要过电流,线宽太细容易发热,89C51 布线时我曾把电源线设成 0.8mm,被老师指出后改正了);
- 设置「Via(过孔)」:内径 0.6mm,外径 1.2mm,和 PCB 库的焊盘尺寸保持一致 —— 这也是前期练习的标准参数。
这一步我没有自己瞎摸索,完全跟着老师的规则来,后面布线时果然少出了很多问题,新手真的可以先 “抄作业”,熟练后再根据需求调整。
2.5 交互式布局布线:最考验耐心的环节
2.5.1 布局:“先大后小,先核心后外设”
把原理图导入 PCB 后,元器件都是杂乱无章堆在一起的,老师教我们布局的原则是 “先大后小,先核心后外设”,这和 89C51 布局的原则一致:
- 先把 STM8S103F3 芯片放在 PCB 板的中心,锁定(按 “Ctrl+L”),避免后面不小心移动;
- 把晶振、复位电路放在芯片旁边(距离不超过 5mm),老师说这样能减少信号干扰 ——89C51 布局时,晶振放太远导致时钟不稳定,后来调整后才解决;
- 电源接口、SWD 下载接口放在 PCB 的边缘,方便后期插拔;
- 电阻、电容等小元器件放在空隙处,注意丝印不能重叠,焊盘要留出足够的焊接空间。
第一次布局我花了 1 个多小时,反复调整了好几次,才达到老师要求的 “整洁、合理”—— 就像当初调整 89C51 布局一样,耐心真的很重要。
2.5.2 布线:“优先电源地线,避免绕弯”
布线是最费时间的,我前前后后改了 3 遍,老师教的技巧特别实用,这些技巧在 85C51、89C51 布线时也反复验证过:
- 先布电源地线:VDD 和 GND 要尽量粗,而且要走最短路径,老师让我们用 “星形接地”—— 所有 GND 都连到一个点上,避免地环路干扰,89C51 布线时因为接地方式不对,出现过信号干扰,这次特意注意了;
- 再布信号线:按 “信号流向” 布线,避免绕复杂的弯,遇到挡路的情况,按 “X” 键切换到底层布线,或者放一个过孔换层;
- 时钟线要特殊对待:STM8 的时钟线(连接晶振的两根线)要尽量短,不能和其他信号线平行,老师说这样能保证时钟稳定 —— 这是从 89C51 设计中总结的经验;
- 布线时按 “Shift+Space” 可以切换拐角模式,新手用 45° 拐角最容易上手,也符合设计规范。
期间我又遇到了熟悉的问题 ——“部分信号线连不上”,老师帮我检查后发现是 “线宽设置太大,空隙不够”,把信号线宽改成 0.6mm 后就顺利布通了。这和当初 85C51 布线时的问题很像,看来同类错误真的要多踩一次才能牢牢记住。
2.6 局部铺铜与过孔缝合:老师教的 “加分项”
老师说铺铜能增强 PCB 的稳定性和散热性,是设计的 “加分项”,在 51 单片机进阶练习时教过我们,这次 STM8 设计自然也用上了,步骤也很简单:
- 点击「Place→Fill」,选择顶层(Top Layer),框选整个 PCB 的接地区域,关联 “GND” 网络,设置铺铜与导线的间距为 0.3mm,勾选 “Remove Dead Copper”(移除死铜),这样铺铜不会出现没用的小块;
- 过孔缝合:在铺铜区域均匀放几个过孔,连接顶层和底层的铺铜,老师说这样能增强散热,还能让 PCB 更牢固。
刚开始我铺铜后出现 “死铜”,老师告诉我是 “铺铜框没闭合”,重新画闭合的铺铜框后就解决了 —— 这也是 51 单片机练习时遇到过的问题,这次很快就排查出来了。
2.7 规则检查与文件输出:最后一步不能马虎
2.7.1 DRC 规则检查
布完线后,一定要做规则检查,避免生产时出问题,这是所有练习都强调的步骤:
- 点击「Tools→Design Rule Check」,勾选所有规则,点击 “Run DRC”;
- 检查报告里的错误,我第一次检查有 2 个错误:一个是 “线宽不足”(电源地线不小心改成 0.8mm 了),一个是 “间距太小”(两个电阻焊盘靠太近),修正后再次检查,没有错误就可以了。
2.7.2 输出生产文件
老师说提交作业时,要输出 Gerber 文件、BOM 清单和钻孔文件,步骤和前期练习一致:
- 输出 Gerber 文件:点击「File→Fabrication Outputs→Gerber Files」,勾选需要的层(顶层、底层、丝印层、钻孔层),单位选 “Millimeters”,按默认设置导出就行;
- 输出 BOM 清单:点击「File→Assembly Outputs→Bill of Materials」,选择 Excel 格式,能直接看到所有元器件的型号、封装和数量,方便采购;
- 输出钻孔文件:点击「File→Fabrication Outputs→NC Drill Files」,按默认设置导出,交给 PCB 工厂就能用来钻孔。
三、新手避坑心得:这些错误千万别犯
- 原理图导出 PCB 后元器件缺失 / 网络错乱:大概率是 “元器件没关联封装” 或 “导线隐性断开”,一定要逐个核对元器件的「Footprint」属性,导出前做电气检查;
- PCB 中元器件之间线连不上:多是 “布线规则设置不合理”(线宽太大、间距约束太严),适当减小线宽(最小 0.6mm)或放宽间距(最小 0.3mm)即可 —— 这是我在 85C51 和 STM8 设计中都踩过的坑;
- 铺铜出现死铜:铺铜框必须闭合,而且要关联正确的网络(比如 GND);
- 文件导入失败:文件夹路径不能有中文,AD 软件对中文路径兼容性不好 —— 从 51 单片机到 STM8,很多同学都栽过这个坑;
- 时钟电路不稳定:晶振要靠近芯片放(距离≤5mm),负载电容按 datasheet 要求选(我用的 22pF)。
四、学习总结与感悟
第一次用 AD 软件完成 STM8S103F3 最小系统板的设计,从一无所知到能独立输出生产文件,真的离不开老师的耐心指导。回想整个学习过程,老师布置的作业环环相扣 —— 从单管放大电路到 51 单片机,再到 STM8,每一步练习都在巩固前序知识,又为后续学习铺垫,让我们这些新手避免了直接挑战复杂项目的挫败感。
上课的时候,老师讲解得面面俱到,从软件操作的具体步骤,到规则设置的原理,再到避坑技巧,都毫无保留地分享给我们。由于是初次接触 Altium Designer,我们有很多不懂的地方,完成作业的途中也出现了许许多多的小问题,但不管是课堂上还是课后,老师都很有耐心,一遍遍地帮我们排查错误、讲解知识点。
过程中虽然踩了很多坑,但每解决一个问题,都能学到新的知识点 —— 比如 “封装关联”“规则设置”“铺铜技巧”,这些实操经验是课本上学不到的。现在我不仅熟练掌握了 AD 软件的基本操作,还明白了 PCB 设计的核心逻辑:“既要保证电气性能,又要兼顾实用性和工艺可行性”。
作为一名学生,这次实战让我对电子设计产生了更浓厚的兴趣。未来我还想跟着老师学习 STM8 的固件开发,把硬件和软件结合起来,让自己设计的开发板真正能用起来。如果有和我一样刚入门的同学,建议多跟着老师的步骤练手,遇到问题及时请教,相信大家都能顺利完成自己的第一个 PCB