多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

TinyCAD实战指南:从轻量原理图绘制到网表导出的完整流程

TinyCAD实战指南:从轻量原理图绘制到网表导出的完整流程 1. TinyCAD到底能干什么先搞清楚它是画原理图的不是画板子的前段时间一个朋友找我帮忙梳理课程设计的电路他的选题很简单——单片机温度采集原理图满打满算三十个元件不到。结果他跟我说为了画这张图装了个几个G的完整EDA套件电脑卡得风扇狂转光学习界面就花了两天。我说你这种情况用TinyCAD半小时就能上手他半信半疑试了一下最后给我发消息说原来画电路图可以这么轻量。TinyCAD是一款免费开源的电路原理图绘制软件专业说法叫schematic capture由Matt Pyne开发并一直维护至今。它解决的问题非常聚焦把一张电路原理图画清楚并且把这张图的连接关系完整地交给下游工具。它不做PCB布局布线不搞仿真不处理封装库和走线但画原理图这一件事它做得足够轻、足够快。很多人第一次听说TinyCAD是冲着免费来的但实际用下来你会发现它的真正价值在于启动快、操作简洁、输出格式明确特别适合我就想画张能看、能交作业、能导出网表的场景。搞清楚定位之后再谈选型。现在工程师圈子里提到PCB设计第一反应不是Altium DesignerAD就是嘉立创EDA再加上一部分用KiCad、Allegro或Cadence的。我整理了一个对比表大家感受一下差距能力维度TinyCAD嘉立创EDAAltium DesignerKiCad安装包体积几MB几百MB数GB几百MB原理图绘制支持支持支持支持PCB布局布线不支持支持支持支持仿真能力需导出后外接部分支持支持支持BOM/网表输出支持多种格式支持支持支持学习成本极低中等偏高中等价格免费免费部分功能收费昂贵免费所以TinyCAD的适用场景其实非常清晰课程设计、毕设原理图、创客项目电路记录、写技术文档配图、教学演示以及配合FreePCB、PCB Wizard这类轻量布线工具做简单的双面板。如果你需要做四层板、高速信号、仿真验证那它确实不擅长这一点我在后面会展开讲。2. 第一次上手TinyCAD从安装到画出一张能用的原理图2.1 安装与启动轻量到几乎没有存在感TinyCAD的下载渠道主要是SourceForge直接搜TinyCAD就能找到官方项目页。它对操作系统非常宽容Windows XP到Windows 11我都在不同机器上跑过从来没遇到过兼容性问题。安装包只有几兆装完启动也是秒开老笔记本、虚拟机里跑都毫无压力。这一点对还在上学、手头电脑配置不高的朋友非常友好。启动后你会看到几块主要区域顶部是菜单和工具栏左边或浮动窗口是元件库浏览器中间是绘图区底部是状态栏。整个界面是英文的但词汇量很少常用的无非是File、Edit、Place、Library、Tools这几个菜单用半天基本就熟悉了。说实话跟那些需要看三天教程的EDA工具相比TinyCAD的界面几乎不需要学习成本。2.2 核心操作放置元件、连线、改属性画图的第一步是放元件。在元件库浏览器里按照分类找比如电阻电容在Discrete类逻辑门在74系列或CMOS类电源和地符号在Power类。找到后双击或者拖拽到绘图区即可。放上去之后可以右键旋转、镜像调整方向。双击元件会弹出属性框在这里改参考编号比如R1、C2、U1和元件值比如10k、100nF。放好元件之后开始连线。选择工具栏的Wire工具从一个元件的引脚端点上点击拖动到另一个引脚端点再点击结束。这里有一个新手最容易踩的坑连线一定要从引脚端点开始也要在引脚端点结束。TinyCAD的引脚端点是一个小方点如果线只是画到元件符号的边框上而没有触到引脚看起来连上了实际电气上根本没连通。这种错误在屏幕上很难发现但导出网表后就会暴露出来——某些引脚在PCB工具里显示为悬空。还有一个容易忽略的点网格。TinyCAD默认有网格对齐画图时建议把网格吸附打开可以按快捷键G切换。引脚对齐网格连线才能准确地落在端点上。很多看起来歪歪扭扭的图最后检查连接关系时一堆报错就是因为没有用网格对齐。2.3 电源、地和总线三个必须养成的习惯第一个习惯电源和地必须用专用符号不要手动画一根线然后贴上文字标签。在TinyCAD的库里有明确的VCC、VDD、GND符号把它们放在图纸上连到引脚即可。这样做的原因很重要网表导出时软件会根据这些符号识别电源网络后续PCB工具拿到网表才能正确处理电源和地。第二个习惯对电源和地网络显式命名。比如电路里有5V、3.3V两个电源域就应该在放置电源符号后双击它并把网络名改成5V或3.3V。同时多个同样名称的电源符号在网表里是同一网络这一点非常关键。我见过有人画了一个LDO电路输入输出两侧的电源符号都叫VCC结果导出网表后发现3.3V和5V被短路在了一起原理图上看着没问题PCB上必然出大问题。第三个习惯总线只在真正需要时使用。TinyCAD支持Bus绘制适合处理数据总线、地址总线这类成组信号。但新手建议先别用因为Bus和Wire的连接点如果放错位置网表会缺信号。我个人的做法是只有在信号超过4根一组时考虑Bus其他情况一根一根Wire连过去图稍微长一点但绝对不出错。这三条习惯每一个都对应着我实际踩过的坑。说起来都是小细节但工程里所谓原理图画得清楚指的就是这些细节全部到位。3. 真正决定PCB能不能转成功的是网表不是图3.1 网络名的威力同名相连异名不相连很多初学者有一个根深蒂固的误解原理图转PCB就是把这张图翻译成板子。但实际情况是EDA工具之间传递的核心信息不是那张图而是一张网表Netlist。网表的内容可以理解为一张清单哪些元件、每个元件的哪些引脚、这些引脚属于哪些网络。比如U1的Pin3连接到名为SPI_CLK的网络这个网络同时连着Flash芯片的Pin6和上拉电阻R2的Pin1。PCB工具拿到这张网表之后才知道要把哪些焊盘用铜箔连起来。这里就能看出TinyCAD的价值了它虽然不画板子但它生成的网表质量直接决定了后面PCB工具的工作是否顺利。而网表质量的核心就是我前面说的网络名机制。在TinyCAD里两条导线只要画在一起电气上就是连通的但如果两条导线没有物理连接你却想让它们逻辑上属于同一网络就必须给它们标上同一个网络名。反过来如果一条导线上标了网络名A另一条断开的导线标了网络名B即使它们看起来挨得很近网表里也是两个完全独立的网络。我建议每画完一段电路都主动双击导线检查一下网络名。尤其是一些靠近放置但不相连的引脚视觉上很容易产生应该是连着的的错觉。用网络名做一次逻辑自检比肉眼盯着线条靠谱得多。3.2 ERC电气规则检查画完图先别急着导网表TinyCAD自带的电气规则检查Electrical Rules Check一般直接叫ERC是很容易被忽略的功能但它非常值得养成画完必查的习惯。在Tools菜单下可以找到运行后软件会扫描图纸上的连接关系报告悬空引脚、输出引脚短路、电源网络未连接等电气问题。实操经验第一次跑ERC如果报了一大堆错别慌。TinyCAD的报错信息会指出具体位置和引脚你回到图纸上双击对应的引脚或导线大部分问题一目了然。最常见的两类错误一类是连线没连到引脚端点就是我前面说的那个坑另一类是元件的某个引脚悬空没处理。悬空引脚如果是确实不用的要在该引脚上放置一个No Connect标记明确告诉工具这里是故意不连的否则每次查都会报。跑过ERC并且报错清零之后导出的网表在大多数情况下是干净的。我自己的习惯是先ERC再手动检查一遍电源网络的网络名最后才导出网表。三步做完后面PCB环节基本上不会因为原理图的问题卡壳。3.3 导出网表的格式选择与下游衔接TinyCAD的File菜单里可以导出网表支持的格式包括TinyCAD自身的格式、Protel格式以及部分版本支持的SPICE格式。不同下游工具需要吃不同的格式如果你打算把网表导入FreePCB这类轻量PCB工具通常选Protel格式兼容性最好如果你想把电路拿去仿真SPICE格式导出的文件可以直接给LTspice这类软件用。关于AD原理图怎么生成PCB这个高频热搜问题其实所有EDA通用逻辑是一样的原理图生成网表PCB工具读入网表再配合封装库把元件放进板框内完成布局。AD、嘉立创EDA、KiCad这些一体化工具把这一步集成得很顺滑你不需要手动导出导入但如果你用的是TinyCAD就需要手动做过桥。实操步骤是导出网表文件打开目标PCB工具选择导入网表然后把每个元件手动对应到封装。这个过程多一步但反过来也让你理解了原理图到PCB之间的本质。这里有一个人人都会踩的坑在TinyCAD里导出网表之前一定要把每个元件的参考编号和Value值改好。很多人在原理图上画得潦草元件值随便填或者不填等网表导入PCB工具想生成BOM表时要么元件编号重复要么阻容值全是空白那个返工量足够让你怀疑人生。TinyCAD不管这些它原样把属性写进网表所以源头属性的质量完全靠你自己把关。4. 元件库是TinyCAD的命门内置库、自定义符号与封装意识4.1 内置库的范围和局限TinyCAD自带了不少元件库基础的无源器件电阻、电容、电感、二极管、三极管、常用的逻辑门、运放、稳压器、电源符号、连接器、开关等等都能找到。对于学生项目、创客原型、常见小电路来说内置库基本够用。但它的库有明显的时代感很多近几年的新型号芯片、特定封装的传感器、电源管理芯片内置库里大概率没有。这时候有两个选择一是去它的HTTP库在线下载别人做好的符号二就是自己画符号。我实际用下来在线库的符号质量参差不齐有的引脚排列混乱放到原理图上连起来很别扭所以更多的场景下自制符号反而更靠谱。4.2 手把手自制一个元件符号自制符号在TinyCAD里不算复杂核心步骤包括新建库文件、打开符号编辑器、绘制外形、添加引脚、设置属性。我以画一个常见的四引脚稳压芯片为例说明在File菜单里新建一个元件库文件保存到自己的库目录。在库管理器中添加新符号进入符号编辑器。用绘图工具画出元件外形记得放在网格上这样后续引脚对齐方便。添加引脚。每个引脚要设置三样东西序号Pin Number、名称Pin Name、电气类型Pin Type。比如稳压器的输入脚设序号1、名称VIN、类型Input输出脚设序号3、名称VOUT、类型Output接地脚设序号2、名称GND、类型Power。电气类型会影响后面的ERC检查如果全部设成Passive很多连接错误就查不出来。保存并在主界面刷新库新符号就可以像内置元件一样放置了。这里有两条经验。第一引脚一定要落在网格点上。我刚开始画符号时有个引脚放偏了半格结果每次连线都提示连不上排查半天才发现是引脚坐标问题。第二引脚序号必须和真实芯片引脚顺序一致。TCI的符号画得再漂亮引脚序号错了网表导出去之后整个元件在PCB工具里全是乱的。这是一个看着小、后果大的坑。4.3 从原理图符号到PCB封装螺丝孔、邮票孔那类东西的归属这大概是原理图新人最容易混淆的概念。原理图符号是一个逻辑表示它只描述这个元件有哪些引脚、引脚之间是什么关系不描述这个元件在PCB上长什么样。而PCB封装是物理信息它描述焊盘位置、尺寸、外形以及机械孔等要素。在TinyCAD里你能控制的是前者。你在元件属性里填写的Footprint字段只是一个文字标注TinyCAD本身不携带封装库导出的网表把这个元件用了什么封装名告诉下游PCB工具由PCB工具根据封装名去它的封装库找实际封装。所以如果你在TinyCAD里画了一个元件却忘了填Footprint字段那到PCB工具里这个元件将无法放置。至于PCB怎么画螺丝孔PCB邮票孔设计规范这类热搜问题它们本质上属于PCB布局布线阶段的工作在原理图阶段不需要画。螺丝孔一般通过PCB工具中的非金属化孔NPTH加机械层标注来实现邮票孔则是一排位于板边的金属化半孔需要在PCB工具里用专门的半孔设计方式处理或者由板厂配合工艺文件制作。你在TinyCAD里能做的事情是给这些机械要素相关的结构件比如连接器的固定脚预留正确的引脚和封装标注把它们在网表里表现出来就足够了。5. 一个SPI通信小板的真实流程TinyCAD绘制思维如何影响后续PCB5.1 从功能需求到器件树拿一个非常典型的案例来说单片机通过SPI接口外接一个Flash存储芯片外加一个LDO供电整体做一张小板。这是很多人的第一个实际项目我在TinyCAD里完整画过一遍。画图之前先列器件树这一步虽然不在软件里做但它决定了原理图的结构主控MCU需要SPI外设引脚、电源引脚、复位引脚SPI Flash芯片例如W25Q系列包含电源、SPI四线CLK、MISO、MOSI、CSLDO稳压芯片输入电压转3.3V去耦电容每个IC的电源引脚旁放一个0.1uF上拉电阻CS、复位等信号线按需上拉连接器烧录接口、外部接口这个清单对应到原理图上就是几个功能模块电源模块、MCU模块、Flash模块、接口模块。TinyCAD画图时按模块分区域画而不是把所有元件堆在一起这是我在这个案例里最大的心得。模块化布局对后续PCB布局和排查问题帮助极大。5.2 原理图环节就要做的布局预判很多人觉得原理图只是画逻辑和PCB布局没关系。实际上原理图阶段你的很多决策都会直接影响后面布线的难度。举一个最典型的例子SPI Flash的去耦电容。在原理图上这个电容的一端接Flash电源引脚附近另一端接地。很多人画原理图时随手把电容放在了Flash旁边但导出到PCB工具后发现电容离芯片电源引脚隔了很远走线绕来绕去电源纹波完全压不住。正确的做法是画原理图时就意识到这个电容在PCB上必须紧贴芯片电源引脚两者之间的连线越短越好。带着这个意识你画的时候就会主动把电容放在Flash电源引脚同一侧并且给这一小段网络起一个单独的名字方便后续在PCB工具里定位。还有一个经典问题是PCB布局布线思路怎么建立。我的经验是原理图画完先不看板子而是看着原理图在脑子里过一遍电流和数据流。电源从LDO进来分给MCU和FlashSPI信号从MCU出来到Flash中间经过上拉电阻。这几次流动就是布局的骨架电源放输入侧MCU放中间Flash放另一侧连接器靠边去耦电容跟着每个IC。这个思路不是PCB阶段才有的画原理图时就要想清楚。5.3 网表输出后的PCB阶段布局、走线与层叠思路基于上面那块SPI小板网表导入PCB工具后的工作流程是这样的首先做布局分区。把MCU放在板子中心附近Flash放一侧保持SPI连线短连接器放板边LDO放电源输入区域。原则是信号流决定布局方向电源流决定滤波路径。布局阶段多花时间反复调整位置比后面拉线时再移元件高效得多。然后是走线要求。对SPI这类同步串行接口核心要求是时钟线尽量短、少打过孔四根信号线尽量保持在同一层、走线宽度一致。如果板子空间允许给SPI_CLK包一圈地上下左右铺地打一排地孔能明显降低串扰。走线拐角用45度或圆弧不要用90度直角这是老生常谈但确实影响信号质量。关于层叠PCB层叠厚度是另一个高频热搜词。双层板就是顶层走信号、底层铺地简单项目完全够用如果板子密度大、信号复杂就要考虑四层板。四层板的经典叠层结构是信号层-地层-电源层-信号层中间完整的地平面和电源平面能提供很好的回路但厚度参数要跟板厂确认不同板厂的叠层厚度和阻抗控制能力不一样。我的建议是做四层板之前先和板厂沟通叠层方案不要自己拍脑袋定厚度。还有机械要素。转完板子第一件事在板边放好螺丝孔。螺丝孔直径要适配螺丝规格孔边到板边的距离要留够否则螺丝拧上去板边容易裂。如果板子要拼板或者做模组邮票孔设计要提前跟板厂确认半孔工艺能力别画进去结果板厂做不了。6. TinyCAD的局限和我最后的工具选择建议6.1 哪些事情它做不了把TinyCAD用熟了之后你会更清楚地意识到它的边界。它做不了的基本都是画板子和验证电路这两类事情没有PCB布局布线功能这是最核心的局限没有SPICE仿真想验证电路行为必须导出网表给其他仿真工具没有自动布线、DRC、阻抗计算没有3D预览和外壳联动设计元件库以基础器件为主新型IC基本靠自制没有团队协作、云端同步、版本管理这类现代功能所以如果你要做的是一个完整的、要投板生产的产品TinyCAD不是一个完整的解决方案它只是流程的前半段。这个定位必须清楚。6.2 我什么时候继续用TinyCAD什么时候换全套EDA我自己使用TinyCAD的场景很固定画电路示意图、写技术文档配图、给学生讲课展示连接关系、快速记录一个还没成型的电路想法。这些场景下要我打开一个全功能的EDA软件反而嫌重TinyCAD的轻和快是真实优势。尤其是写文档这件事TinyCAD导出PNG图片非常方便放在Word或Markdown里都很清晰这是很多大型EDA反而做不好的。但一旦项目确定要投板或者需要多层板、仿真验证、频繁修改我会直接换用一体化工具。目前开源圈最顺手的全套方案是KiCad国内工程师则大量使用嘉立创EDA——后者原理图库和封装库打通、自动生成PCB的链路很顺畅还能直接对接国产板厂。也有人从AD转到立创EDA这里面的核心就是前面反复说的网表和封装对应关系原理图再怎么复杂走到PCB那一步靠的还是元件-封装-网络三张表的正确映射。6.3 给同样从画原理图入门的人几条经验回头看我自己画过的一堆板子真正导致返工的大问题几乎都出在原理图阶段而不是布线阶段。某条信号网络名标错了、某个元件引脚没连上、某颗电容忘记加这些错误到了PCB阶段就会变成明晃晃的飞线、短路和功能失效。TinyCAD这种只画原理图的工具反而逼着你把图纸本身的逻辑关系整理清楚——因为它没有那么多自动化和辅助手段替你兜底。如果你正好在网上搜到这篇文章说明你多半也在为原理图、PCB转换、布局布线这些事挠头。给你三条很实在的建议第一画原理图时把网络名当作代码里的变量名来管理规范、唯一、可读第二每次画完先过一遍ERC再导出网表形成肌肉记忆第三从TinyCAD这类轻工具入手理解原理图绘制的本质之后再切换到任何完整EDA都会快得多。工具会换但把原理图画清楚这个能力永远值钱。
返回列表