ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

用AI画电路板实战:CELUS生成WiFi收音机原理图全流程

用AI画电路板实战:CELUS生成WiFi收音机原理图全流程 用AI画电路板这事我一开始是持怀疑态度的。做了这么多年硬件原理图、PCB都是一个个引脚连出来的AI怎么可能理解我要做什么直到我拿CELUS试了一把用自然语言描述了一个WiFi收音机它真的在几分钟内给我生成了一整套可以往下走的电路方案包括器件选型和原理图。这篇文章我把整个流程拆开讲清楚如果你想试试AI EDA这波新东西可以少走不少弯路。先说明一下背景CELUS这个平台做的事情简单说就是把“我要做一个什么东西”转化成“电路应该怎么搭”。它跟传统的立创EDA这类工具不是一个思路后者是给你一张画布让你自己画前者是让AI先帮你把草图画出来你再在这个基础上改。它面向的是硬件工程师也面向那些懂产品逻辑但画板子经验不多的开发者。而WiFi收音机恰好是一个复杂度适中的项目既有无线射频的部分也有音频功放、电源管理、人机交互能比较完整地考验AI EDA的真实水平。1. AI EDA到底在解决什么问题传统EDA走到今天画板工具已经很成熟了但有一个一直被诟病的环节从需求到原理图的转换仍然高度依赖人的经验。你打开立创EDA新建一个工程放一个MCU拉电源接晶振连下载口这些动作本身没多少技术含量却要花掉大量时间。问题在于这种“重复经验”没法被工具自动化每个工程师都得从头再做一遍。AI EDA想做的事情其实就是把这层重复劳动替换掉。CELUS的做法是把电路设计拆解成若干“需求块”比如主控、电源、通信、音频然后根据你输入的功能描述从云端庞大的参考电路库中匹配最合适的拓扑。它生成的不是一张随机的网表而是基于真实产品逻辑的候选方案。这就像写代码的时候不再从空文件开始而是让AI根据需求先生成一个带完整依赖的脚手架。这种思路和“自动布线”完全不同。自动布线解决的是“线怎么走最合理”AI EDA解决的是“电路应该由哪些模块构成、各个模块之间怎么连接”。一个是执行层一个是架构层。CELUS的推荐系统背后是大量已验证的电路模块而不是凭空生成原理图所以在安全性和可制造性上比大多数人想象中靠谱得多。对我来说最直观的痛点是这样的以前做一个带WiFi、音频输出、按键控制的小板子最快也要一整天画完原理图。用CELUS我把需求描述清楚十分钟内拿到了第一版方案。后面我做的事情并不是从零开始画而是在它的骨架上做修饰和优化。1.1 CELUS的核心流程CELUS的官方流程看着简单实际操作有几处需要适应。你进入工作台后先要创建一个“产品”级别的项目不是直接画原理图。它把设计分为几个阶段产品需求输入你用文字描述设备功能、供电方式、接口、环境要求候选方案生成AI根据描述匹配电路拓扑生成一组候选方案方案选择与细化你对比候选方案的芯片选型、成本、尺寸选定一路继续原理图生成与编辑CELUS生成树状的原理图结构可以查看每个模块的连接关系导出与后续PCB设计导出网表和原理图文件进入传统EDA布局布线这套流程里最容易让老工程师困惑的是第二阶段。它不像传统工具那样让你看到一块画布而是让你做选择题两个相近的方案一个用ESP32-S3做主控另一个用ESP32-C3CELUS会把它们并排罗列包括各自的外设资源余量、参考设计复杂度、预计的物料成本。我第一次用时有点不适后来发现这个设计其实很符合硬件工程师真实的工作习惯选型本来就是设计的一部分只是以前这步发生在画原理图之前现在被工具明确地摆出来了。1.2 为什么选WiFi收音机来试水选WiFi收音机做测试不是拍脑袋。这个项目有几个非常适合评估AI EDA的特点。第一它有一个明确的无线信号链WiFi接收网络音频流、I2S数字音频输出、功放驱动喇叭。这条路要求电路设计充分考虑数字地与模拟地的分割、I2S信号完整性、功放的电源纹波。如果AI生成的原理图在这些地方有明显的低级错误说明工具还远不到可用状态。第二它的物料相对标准。主控常见、音频解码芯片常见、功放芯片常见这意味着CELUS的参考库里大概率有成熟的模块组件测试的重点就能放在“模块与模块之间的连接质量”而非某个冷门芯片的可用性上。第三功能验证直观。固件烧进去手机扫码配网播放网络电台声音出来就算成功。整个验证链不需要频谱仪、示波器这类专业仪器普通开发者用万用表和耳听就能判断大致是否正常。这三个特性加在一起让WiFi收音机成为验证AI EDA的“黄金测试项目”。如果这种复杂度都能在AI辅助下顺利跑通说明这套方法论是成立的。2. 开始之前账号、工作台与项目初始化CELUS的入口是网页端不需要装客户端软件浏览器就能跑。注册用的是工作邮箱个人开发者可以注册免费档。要注意的是免费档和付费档在可导出的设计数量、工程版本数量上有区别。我一开始用的免费档做完了整个WiFi收音机的评估其实已经够用。如果你只是想知道AI EDA是什么水平免费档完全值得一试。进入工作台之后界面风格和主流云端协作工具类似左侧是设计树中间是画布区右侧是属性面板。虽然它会把原理图以一种“块状”的方式展示出来整体的交互基点还是传统的分层结构熟悉立创EDA或者Altium Designer的人上手没有障碍。真正需要花点时间适应的是它强调“设计方案”这个概念而不是一上来就面对一张A4大小的图纸。2.1 新建项目时的几个关键设置创建新项目时有几项设置别跳过直接影响生成方案的质量。首先是项目名称和描述。我建的项目描述写的是“A WiFi radio that streams internet audio stations, powered by USB-C, with a built-in speaker driver for a 3W speaker, physical buttons for volume control, and an OLED display to show the current station.”尽量具体CELUS就是靠这些文字信息匹配拓扑的。其次是供电需求和环境约束。这个项目我选了USB-C 5V供电没有选电池因为第一版测试不想引入充电管理电路的复杂度。CELUS会基于电压域自动计算各级电源方案比如是否要升压、稳压器的LDO类型、纹波要求这些决定它会去选择哪些电源管理芯片。最后是接口偏好。WiFi收音机需要I2S音频输出、GPIO按键输入、I2C OLED显示接口。我在接口配置里把这些外设需求都勾选上了。这一步很像写代码之前先定义函数签名签名越明确AI生成的电路越贴近你的预期。2.2 第一次生成方案时的心理预期第一次点击“Generate Solutions”之前我心里是没底的。生成之后CELUS给出了三套候选方案并告诉你每一套的芯片数量、预计BOM成本、PCB面积。有趣的是它甚至给出了每个方案的可维护性评分这个角度传统EDA工具里完全见不到。不过别指望第一版就能直接用。CELUS生成的方案更接近“一个经验丰富的工程师凭经验快速画出的一版草图”结构上没有问题但细节上需要你亲自检查。比如它给音频功放选的型号可能是I2S输入的D类功放直接把I2S信号转换成模拟输出去推喇叭省掉了独立的DAC芯片。这种集成路数很合理但如果你手里已经有熟悉的DAC芯片或者想用耳机输出就得手动替换。这一步我的建议是放平心态。把它看作一个能力很强但还不了解你项目全部背景的同事先给出方案然后你们一起改。3. 把“WiFi收音机”翻译成AI能懂的规格AI EDA和其他AI工具一样输入质量决定输出质量。你要是只写“做个收音机”CELUS大概率给你一个经典FM收音机方案因为它的参考库会优先匹配字面最接近的历史方案。WiFi收音机和传统FM收音机完全不同一个是网络协议栈接音频解码一个是模拟射频解调。所以描述必须包含足够多的技术约束。这里有个很重要的思维转换你并不是在跟AI聊天而是在填写一份结构化的需求规格书只不过用自然语言写出来。我在CELUS里用的是一段相对完整的描述把功能、供电、输出、交互、显示都写进去了。实践下来效果最好的描述结构是核心功能、输入条件、输出目标、边界约束。不需要写成严格格式按顺序写一段话就够了。3.1 关键描述词的决定性影响有几个描述词建议特别注意。第一是“streaming internet audio”这个词组让AI明确这是网络流媒体场景不是本地播放也不是FM接收。第二是“built-in speaker driver”这决定了音频输出级是推喇叭而不是Line Out。第三是“physical buttons”这会影响按键消抖、GPIO分配方案。每一个描述词都对应参考库里一类特定的电路模块描述越精准匹配越准确。我特意对比过一次把项目描述里的“speaker driver”去掉之后CELUS生成的方案变成了以耳机放大为核心的音频输出链路跟我的目标差了十万八千里。这说明它确实是在做语义匹配而不是随便拉一套模板。3.2 候选方案对比的具体维度CELUS生成的候选方案可以通过几个维度做筛选。我拿到三套方案时首先看的是主控选型。第一套用的ESP32-S3带8MB Flash适合后续扩展更多网络功能第二套用的ESP32-C3对WiFi收音机来说性能富余但价格更低第三套甚至用了非乐鑫方案的WiFi模组集成度更高、外围元器件更少但生态我不熟直接排除。其次看电源方案的复杂度。续航类产品看重功耗但这个项目用USB-C供电我对电源效率要求不高反而更关注供电方案的简洁程度。其中一个方案的电源树多达四级5V到3.3V到1.8V再到1.2V虽然每级都是高效DC-DC但板子面积和BOM成本都上去了。另一个方案直接把3.3V、1.8V、1.2V都由一颗多路输出的PMIC统一搞定外围器件明显减少可靠性反而更高。最后看外设接口的连接方式。因为音频数据流是本项目的核心链路我重点看了I2S接口是直接连到功放还是经过DAC再模拟连功放。直接I2S到功放要少一级转换链路更短潜在噪声源更少我会倾向这种方案。综合下来我选了第二套方案ESP32-C3加上一颗集成了I2S输入的D类功放。这套方案用料最省功能完全覆盖电表测下来静态功耗也在可接受范围。更适合作为第一版验证。4. 从框图到原理图AI生成的电路怎么读、怎么改CELUS生成原理图的方式跟传统工具不太一样。它默认展示的是层次化的模块视图顶层是一个个功能块点开功能块才能看到里面的具体连接。这种组织方式在阅读时会比传统“一张大图铺到底”的原理图舒服得多尤其是模块数量超过20个之后传统原理图的连线交叉会让人崩溃。我拿到生成的原理图之后没有急着导出去画PCB而是做了一轮人工审查。顺序是固定的先看电源树再看信号主链最后看每个模块的配置细节。4.1 电源树整个设计的承重墙电源树是原理图里最不能出错的部分。CELUS生成的供电方案是USB-C 5V进来经过一颗LDO降到3.3V给ESP32-C3供电3.3V再经过电源滤波网络分给OLED和功放。这看起来简单问题在于功放峰值电流可能到1A以上一颗LDO在这种负载下压降和发热都不可忽略。更合理的做法是5V直接给功放供电3.3V通过LDO从5V降压后只给数字部分供电。模拟与数字电源彻底分开避免功放大动态电流拉垮主控电源电压。我在CELUS生成的方案上手动加了这一路改动功放VDD接到5V主电源主控和OLED在3.3V域。改起来不麻烦但它反映了AI EDA的一个边界它会按参考模块的典型接法连接但不会主动去优化大动态负载的供电拓扑。这需要设计者的经验介入。这个改动带来的效果很明显功放音量开到最大时OLED显示不再抖动WiFi连接也更稳定了。电源问题在原理图阶段不发现到PCB实测阶段会非常被动。4.2 芯片选型的合理性与替换思路CELUS给ESP32-C3配了一颗I2S输入的数字功放型号是MAX98357A最大输出3.2W。这颗芯片确实经典外围电路极其简单只需几个去耦电容和电感。I2S数据、位时钟、左右声道时钟三根线直接从ESP32-C3引出逻辑非常简单。关于音频输入源CELUS选择让ESP32-C3直接从网络获取音频流并解码成I2S输出。这意味着省掉一颗独立音频解码芯片用代码实现软件解码。这么做成本最低但占用主控CPU资源。实测中ESP32-C3跑MP3解码加WiFi协议栈在48kHz采样率下CPU占用率还能接受不会出现爆音。如果你想用FLAC这类更高码率的格式建议换ESP32-S3或者加一颗独立音频解码芯片。这就是选型阶段的取舍。CELUS在方案生成时不会知道你后续固件要跑多重的解码算法你需要根据自己的需求调整。4.3 从CELUS导出到本地EDA的迁移坑原理图阶段确认无误后就到了导出环节。CELUS支持导出ODB格式和网表文件也支持导出Altium Designer格式或KiCad格式具体看你用的是哪个后续工具。我后续PCB设计用的立创EDA专业版导出网表再导入时遇到过一个典型的坑部分器件的封装名和立创EDA的封装库名称对不上导致封装丢失需要手动重新分配。这个问题的根因是两边的封装命名规范不一样。CELUS用的是国际化标准封装名比如0805、SOT-23-5但立创EDA的封装库有自己的一套扩展名特别是在焊盘形状和丝印图层上略有差异。解决办法是导入后在封装管理器里批量替换选一个引脚间距、焊盘尺寸兼容的替代封装。这个操作不难但如果项目器件多会有点繁琐。另外CELUS导出的PCB板框默认是空白矩形不会自动帮你把异形板框带过来。如果你的外壳有异形结构要求在立创EDA里要重新画板框。这一点和从其他EDA工具导入的情况类似可以在立创EDA里用“导入异性板框”的方式把DXF文件导入。具体操作文件菜单里选择导入DXF勾选“作为板框导入”再调整原点坐标和单位即可。这里容易踩的坑是DXF里的单位如果导出时用了mil导入时按mm解析整个板框就大了25.4倍一定要确认单位设置。5. PCB布局布线的“AI味”常见问题与人工介入点到了PCB阶段CELUS能帮的忙就不多了。它主要解决原理图架构和选型物理布局布线还是得靠传统EDA。这就像AI帮你写好了函数实现但整个工程的代码风格、内存管理、错误处理还得你自己把控。我把立创EDA里摆完元器件后第一件事是检查电源和地平面的规划。CELUS生成的引脚连接里去耦电容的位置逻辑是对的但没有考虑物理摆放后的回流路径。实际布局时我尽量把ESP32-C3的电源引脚周围一圈摆满10uF和100nF去耦电容走线先过电容再到IC电源脚而不是直接把电源线拉过去再分叉。这个细节对WiFi模块的射频稳定性影响很大。5.1 天线区域AI最容易忽视的地方WiFi模块的天线区域是人工经验最不能省的部分。CELUS生成的PCB布局偏向“把所有器件放在同一面、尽量紧凑”的策略这种布局在数字电路里没问题但到了射频区域它不会主动帮你划出天线的净空区。我画板子时在靠近ESP32-C3天线馈点的一端专门划定了一个禁布区所有铜箔、走线、器件都绕开顶层和底层都留空。天线下方不铺地铜PCB的边缘走线也要注意避免平行。这个操作如果靠自动布局大概率会被忽略最后导致WiFi信号强度下降、连接不稳定。另外天线匹配网络的位置也很关键。ESP32-C3模组出厂一般已经有匹配电路但如果你的产品外壳是金属材质天线频偏可能需要预留π型匹配网络的位置。我在原理图里预留了0欧串联、空焊盘并联的占位打样测试后再根据实测驻波比调整。实测这一步很重要不用频谱仪也可以在校准时持续观察连接稳定性但最好还是到有网分的环境量一下。5.2 信号完整性的几个注意点WiFi收音机的信号链里I2S是最需要注意完整性的信号。I2S时钟频率不高在短距离内不会出大问题但仍要避免让I2S走线跨过电源噪声区域。我在布局时把功放尽量靠近扬声器接口把I2S走线控制在20mm以内且不与电源线平行长距离同行。OLED的I2C也是一样两条线在布局上尽量短加2.2k上拉电阻到3.3V。I2C对噪声容忍度不如SPI但这么短的线不会出问题。唯一要注意的是OLED屏的排线如果过长建议加缓冲器或者用屏蔽线但我们的结构设计上屏紧贴主板不存在这个问题。还有一个容易踩坑的点是晶振位置。ESP32-C3模组自带晶振不用外接这省了一件事。如果你的项目主控需要外部晶振一定要把晶振放在IC的XTAL引脚附近两条负载电容也要尽量贴近晶振走线等长。CELUS的原理图会画出版级网络但不会提醒你物理布局上晶振要走短走直这类规则需要设计者心里有数。5.3 立创EDA导入后的板框与封装修正前面提到过从CELUS导出网表到立创EDA专业版封装名是对不齐的。我的做法是在导入后先跑一次DRC把“封装缺失”的器件标出来然后逐个在封装库搜索替代。ESP32-C3模组的封装立创EDA里有现成的SMD模组封装直接替换即可。MAX98357A的封装也很好找QFN-16封装在立创EDA库里有两个版本一个带中部散热焊盘一个不带记得选带散热焊盘的。功放芯片工作起来发热量不小散热焊盘要接大面积的铺铜帮助散热。板框的问题也值得单独说。项目的外壳是3D打印的有一个异形槽位要给Type-C接口留位置所以板框不能直接用矩形。我在立创EDA里导入DXF文件后先把它转换成板框对象再用“导线连接”功能把断开的线条连接成闭环。这里有一个经验DXF导入后如果线条是散的不要一条条去对直接全选后用“连接端点”功能批量处理快很多。还有一个偏差问题是CELUS的原理图导出的网络名带了它自己的命名规则比如“NET_0721”这种。导入立创EDA后这些网络名会保留但如果你习惯看信号名找网络会有点痛苦。我的处理方式是先用“重命名网络”功能把关键信号改成可读的名称比如I2S_BCLK、I2S_LRCK、I2S_DIN、SPK_OUT_P、SPK_OUT_N这样后续DRC和调试时看网络一目了然。6. 打完样才发现的问题从BOM到焊接调试的教训板子发出去打样等待的几天里我开始准备BOM采购。CELUS生成方案时会附带一份预估BOM但那是参考价格跟国内市场的实际价格和货源情况差异不小。我拿着BOM去查料发现MAX98357A在国内现货价格比参考价高出一截好在立创商城有货凑单一起买了。焊接调试阶段我按之前做硬件的一贯顺序先目检再量电源然后烧固件最后跑功能。这个顺序看着简单但每一步都有值得说的细节。6.1 焊接完成后的上电顺序拿到板子焊接完后第一件事千万是目检别急着上电。重点看有没有连锡、空焊、极性装反。CELUS生成的原理图中电解电容极性标得很清楚但焊接时还是容易把C1和C4装反。我这次没有这个问题但旁边的电源指示灯一个不亮查了半天发现是限流电阻焊错位了一颗10K被看成了100K亮度完全起不来。这种低级错误在打样阶段经常出现不用慌按电路逻辑逐段排查很快能找到。确认没有短路后先用万用表量3.3V对地阻抗正常应该在几百欧以上如果接近0说明有短路。没问题就上电量3.3V、5V、1.8V各路电压是否正常。我这里5V是从Type-C直接过来的3.3V由LDO输出都在预期范围内。6.2 固件烧录与第一声响固件这块我用的ESP-IDF通过USB转串口模块烧录。ESP32-C3模组这里有一个坑它默认是从UART0启动的但如果你用的模组把UART0的TX/RX复用到了下载引脚需要确认BOOT引脚上拉到GND再上电进入下载模式。用乐鑫官方的开发板不会遇到这个问题但自己画的板子很容易在这卡住。我的解决办法是从ESP32-C3的GPIO9拉一个10K电阻到GND实现了BOOT按钮功能。固件烧进之后配网连WiFi用VLC或者在线电台串流I2S输出音频。第一次出声时声音是有了但音质明显偏干人声有金属感。检查后发现是I2S位深配置错了MAX98357A支持16bit和32bit我用16bit采样时没有把高位补0的选项关掉导致数据错位。改为统一32bit格式后音质立刻正常了。这个坑在数据手册里有写但很多人会忽略建议直接翻到I2S接口时序表看一下格式要求。6.3 网络干扰问题一个意外出现的“幽灵”还有一个比较隐蔽的问题是在播放过程中音量突然降低了一下然后恢复。排查下来发现是WiFi模块的TX/RX突发大电流拉低了LDO的输出电压一瞬间导致功放供电跟着抖动。这个问题的根源还是电源架构我给功放供电用的是5V直连但功放的使能引脚接在了3.3V域使能引脚的电压波动会稍微影响功放启动阈值导致输出功率轻微瞬变。解决办法很简单功放使能引脚直接接5V不再挂在3.3V域上。改完再试问题消失。这个现象如果不用示波器抓很难定位。也给了一个教训原理图阶段看起来没问题的连接在物理世界会有各种耦合路径。AI EDA的方案是合理的参考但“合不合理”终究要用实测来说话。7. 实测效果与AI EDA的真实评价板子正常出声后我做了连续48小时的老化测试。WiFi连接稳定没有掉线播放过程中没有出现爆音或卡顿。整机功耗在中等音量下大约1.2W待机时0.4W左右。作为USB供电的桌面小台机这个表现符合预期。CELUS这个工具的真实定位我现在大致有个判断它是一个高效的方案评估器和原理图脚手架能快速帮你从“要不要做”走到“怎么做第一版”但在“做成什么样才够好”这个层面还是需要大量人工经验介入。就像AI写代码能给你框架和实现但代码的健壮性、可维护性、性能优化还是得靠人。如果你现在还在犹豫要不要用AI EDA我的建议是把它当成“高年级实习生”来合作它做出来的东西七成可以直接信三成需要你核查。核查的方向基本集中在电源架构、高频信号处理、器件可替代性这三个方面。把这三关把住AI EDA的产出效率提升是实打实的。关于CELUS和立创EDA的配合我再多提一句CELUS负责原理图架构立创EDA负责PCB实现是目前比较顺手的组合。如果你不习惯CELUS的逻辑也完全可以把它生成的方案当作参考再在立创EDA里手工从零画一遍——至少选型思路和模块划分已经给你打好了底子画板效率依然高于完全从零开始。最后分享一个我在这个项目中练出来的小技巧无论是哪个AI EDA工具生成的东西不要直接信任它的“默认选项”而是重点检查那些“看起来太简单”的部分。往往跌跤的地方不在复杂的射频链路而在电源、地、使能引脚这些基础连接上。硬件是实打实的物理世界AI再怎么辅助按下打样按钮的仍然是你自己。
返回列表