
做智能车竞赛的同学十有八九是在嘉立创EDA里画完最后一版PCB才想起来还有两件事没处理板卡上的CIVC前缀二维码和要提交的板卡文档。这两件事看着简单实际上翻车率极高。我帮好几个队伍做过赛前检查见过二维码打出来扫不动、丝印层没有码、文档压缩包缺少BOM表、文件命名不带队号。今年嘉立创EDA的智能车竞赛通道对板卡信息提交卡得很细这篇就把二维码设置和文档提交的完整流程梳理一遍。内容主要基于往年赛事的通行做法和我在嘉立创EDA里的实测具体规则以你们当届组委会的正式通知为准。1. 为什么智能车板卡要单独扣一个“CIVC前缀二维码”1.1 竞赛评审是怎么用这个码的很多第一次参赛的同学会觉得二维码是给流水线扫码用的自己手工焊接几块板子没必要搞这套。实际正好相反。智能车竞赛里板卡上的二维码承担的是“身份凭证”功能评审拿到板卡后先扫CIVC前缀二维码确认板卡编号再对照你提交的板卡文档、工程源文件、BOM表判断这块板是不是你们队自己设计、自己焊接的。它也是后续故障追溯的入口——如果调试过程中板卡损坏厂商或组委会可以根据这个编号快速定位到对应版本的设计文件。二维码不是装饰更不是“加上去显得专业”的彩蛋。我在实际检查中遇到过一种典型情况某队把二维码放在板子角落结果打样回来后发现丝印层根本没有显示出来因为导出Gerber时丝印层被勾掉了。这种问题在现场非常尴尬评审只能手动在文档里翻编号效率低印象也差。所以QR码和文档提交其实是同一件事的两面板卡上能扫出编号文档里能找到对应设计二者对上才算完整。1.2 CIVC前缀的编码格式与设计建议CIVC前缀的完整编码规则通常由赛事官方在参赛手册里给出。如果手册只要求“使用CIVC前缀作为板卡标识”没有规定后面的格式我建议按这种结构设计字段示例说明赛事标识CIVC固定前缀统一大写年度2025方便区分不同赛季队伍编号A05使用官方分配的队伍号板卡名称MAIN如主控板、驱动板、电源板区分单板角色组合起来推荐格式是CIVC-2025-A05-MAIN。如果组委会要求的是其他格式以官方为准但有几条通用原则基本不会错全部使用大写字母和数字分隔符用短横线不要用空格、下划线、中文或特殊符号。原因很简单二维码对文本的容量有限中文和空格会让编码长度明显增加模块变密同样尺寸下更难扫下划线和特殊符号在某些扫码软件里会被解析成异常字符造成前后端编号对不上。还要注意一点二维码内容要和提交文档的主文件名保持一致。我见过一队的二维码内容是CIVC-2025-A05-MAIN但压缩包文件名写成了A05_final_v2评审手动输入编号时对着半天最后只能靠队伍名去找。这种低级不一致直接反映的是项目管理粗心没有额外分数只有减分可能。2. 在嘉立创EDA里设置CIVC前缀二维码完整操作拆解2.1 先用可靠方式生成二维码图片在嘉立创EDA里放二维码本质上不是“直接画个二维码”而是把一张二维码图片导入到PCB的丝印层。所以第一步最关键的反而是生成图片。你要保证生成的二维码是黑白纯色、没有渐变、没有圆角、没有中间的Logo否则丝印出来就是一团黑。我推荐用Python的qrcode库生成可控性最强。先安装依赖pip install qrcode[pil]然后跑这段代码import qrcode data CIVC-2025-A05-MAIN qr qrcode.QRCode( versionNone, error_correctionqrcode.constants.ERROR_CORRECT_Q, box_size10, border4, ) qr.add_data(data) qr.make(fitTrue) img qr.make_image(fill_colorblack, back_colorwhite) img.save(CIVC-2025-A05-MAIN.png)参数不用多但有几个必须提。error_correction建议用Q档也就是约25%容错。竞赛板卡会经历运输、焊接、贴片丝印可能被轻微刮花容错高一点更保险。border4表示二维码四周留4个模块宽度的白边这是扫码识别的基本要求很多人做错就是少了这个白边。box_size只影响输出图片的像素密度和PCB上的最终物理尺寸没有直接关系我习惯设为10然后让图片以300dpi保存。如果你不会Python用在线二维码生成器也行。但注意两点第一不要选用带“艺术效果”“彩色渐变”“自定义Logo”的模板丝印层只能输出单色艺术效果会被简化成无法识别的噪点第二生成后检查二维码周围是否有白边没有的话需要手动加白边或者用画图工具扩一圈白色像素。2.2 嘉立创EDA中把图片放到丝印层的正确路径打开你的PCB工程在PCB编辑器里找到菜单栏的“放置”Place选择“图片”Image然后选中刚才生成的PNG文件。放置后图片会跟着鼠标走点击一个空旷位置放下再在右侧属性面板里设置所在层。这里的关键是图片默认可能放在顶层铜箔层或者顶层丝印层。竞赛板卡需要在丝印层显示二维码所以你应该把图层手动切换到“顶层丝印层”TopSilkLayer。如果板卡背面也要放就选“底层丝印层”BottomSilkLayer。设置完成后建议把二维码图片锁定防止后续拖动元件时不小心把它挪走。我实测的情况是嘉立创EDA标准版和专业版都可以走这个流程只是菜单名称略有区别。部分版本在“扩展”或“插件”市场里提供了二维码生成工具可以直接输入文本生成二维码并插入PCB。有插件当然更方便但如果没有插件用图片导入的方式也完全可行效果是一样的。核心逻辑没有变图片必须清晰、放在丝印层、尺寸够大。导入时如果发现图片带白色背景会显示为一个白底矩形这在丝印层上是正常的因为丝印本身是白色。但如果你希望二维码区域只有黑白图案没有整块白色底可以先用图片处理软件把白色背景去掉做成透明背景PNG。否则最终板子上二维码周围会有一块白色丝印区虽然不是致命问题但看起来不够干净。2.3 尺寸、位置、镜像的实用建议二维码的物理尺寸是最影响扫码成功率的因素。绝大多数车载摄像头和手机扫码器能够稳定识别的最小二维码模块宽度在0.4到0.5毫米左右。一个内容较短、版本为1的二维码是21×21个模块如果每个模块0.4毫米整码尺寸大约是8.4×8.4毫米加上白边约11毫米。这已经是比较极限的尺寸我建议10毫米以上更稳妥。二维码内容长度建议最小丝印尺寸说明短文本如 CIVC-2025-A0510×10 mm模块密度低容易扫中等文本含完整网址14×14 mm 以上模块变密需要更大面积长文本 网址 参数建议拆分为两个二维码单一码过密丝印容易糊位置方面不要放在板子边缘、螺丝孔旁边、V割拼板线附近。板边在分板时容易被切到螺丝孔附近经常要打螺丝二维码如果被压在铜柱下面等于没有。我见过最惨的情况是把二维码放在了电源指示灯旁边结果焊完灯珠二维码被灯珠本体挡掉了一半数据位缺失扫描直接失败。所以放位置前先在3D预览里确认一下二维码上方有没有元件会覆盖它周围有没有大电流走线从下面穿过。镜像问题更隐蔽。二维码放在顶层丝印层时从板卡正面看是正向的扫码没问题。如果放在底层丝印层从底层看也是正向的但如果你把板子翻到正面透过环氧板想瞄一眼看到的二维码是镜像的这时候去扫大概率扫不出来。嘉立创EDA中选中图片后属性面板里有“水平镜像”选项。我的建议是只要允许优先把二维码放在顶层丝印层这样最直观如果必须放在底层则在文档的板卡照片里额外拍一张底层照片让评审知道码在哪个面。不要指望评审会主动把板子翻过来找码尽量降低对方的操作成本。3. 板卡文档提交不只是把Gerber传上去3.1 提交清单少一个文件就可能被扣分关于智能车竞赛需要提交哪些板卡文档不同赛事略有差别但核心文件基本稳定。这里我按自己的项目经验整理了一份通用清单可以根据你们当届的要求增删。文件类别具体文件为什么需要工程源文件嘉立创EDA工程含原理图和PCB评审需要核对你的设计源文件确认不是套用别人的板原理图PDF格式快速阅读电路结构评审不可能打开工程一个个点PCB版图PDF格式包含各层打印查看布局布线、丝印、二维码位置制造文件Gerber文件 钻孔文件核对投板文件部分赛事要求提供工厂审核用的原始文件BOM表Excel/CSV含位号、封装、参数核对元件清单排除虚焊、错焊风险板卡照片正面、背面高清照片确认实物与设计文件一致二维码是否清晰二维码信息二维码原图 内容文本与板卡丝印对应便于手动输入编号我见过好几个队只交Gerber和原理图等到赛事方要求补交BOM时手忙脚乱。BOM表不是可选项它是评审判断你焊接工艺和元件选型是否合理的重要依据。尤其涉及电源板、驱动板这类大电流板卡评审会直接在BOM里核对电容耐压值和MOS管电流缺一个关键参数就会影响评分。3.2 导出操作嘉立创EDA里每一项都在哪在嘉立创EDA里我习惯按以下路径导出文件具体菜单名称以你当前版本为准原理图PDF在原理图编辑器里选择“文件” → “导出” → “PDF”或者通过打印功能选择PDF虚拟打印机。PCB PDF在PCB编辑器里通过打印功能勾选需要显示的层。这里要特别注意默认打印可能只显示顶层你要手动勾选“顶层丝印层”“底层丝印层”等否则打印出来的PDF里看不到二维码。Gerber文件在PCB编辑器里选择“制造” → “PCB制版文件Gerber”在弹出的设置里确认勾选了“包含钻孔文件”“包含丝印层”“包含阻焊层”“包含助焊层”。BOM表在原理图编辑器或PCB编辑器里选择“工具” → “BOM表”或“制造” → “BOM”导出为CSV或Excel。导出后花两分钟检查一下“位号”“封装”“参数”三列是否完整很多默认导出会把参数列空着必须人工补。导出Gerber是重灾区。Gerber本质是一组描述每一层图形的文件二维码如果在丝印层但没有勾选丝印层生成的Gerber里就不会有二维码。更坑的是在嘉立创EDA的PCB画面上看二维码还在只是导出时被丢了。我通常在导出后立刻用一个Gerber在线查看器把上传的压缩包打开逐层检查。重点看顶层丝印层里二维码那几毫米的区域是否有黑白图形。没有就倒回去重新勾选导出。3.3 命名与打包别让文件名把评分项丢了文件内容和文件命名一样重要。赛事方每天面对几十个队伍压缩包文件名如果写得不清楚评审根本不想跟你玩猜谜游戏。推荐命名规则是CIVC-2025-A05-MAIN_V1.0_20250520.zip含义依次是CIVC前缀、年度、队伍编号、板卡名称、版本号、日期。这个命名和二维码内容保持了完全统一评审看到压缩包名就能知道里面是哪块板、哪个版本。压缩包内部我也建议分目录管理不要一股脑把几十个文件全扔在根目录。我常用的一种结构是这样的CIVC-2025-A05-MAIN/ ├── 00_README.txt ├── 01_Design_Source/ │ ├── CIVC-2025-A05-MAIN.epro │ └── CIVC-2025-A05-MAIN.pdf ├── 02_Manufacturing/ │ ├── Gerber/ │ └── BOM/ ├── 03_Images/ │ ├── front.jpg │ └── back.jpg └── 04_QRcode/ ├── QR_raw.png └── QR_content.txt压缩包建议用zip格式不要用rar。zip在Windows、macOS、Linux下都能直接解压rar在非Windows环境经常缺解压工具评审现场如果打不开第一反应不是怪自己电脑而是觉得你提交的文件有问题。另外别把压缩包再套一层同名文件夹比如“A05.zip”解压出来又是“A05”文件夹里面再套一层评委点进去很烦躁。4. 二维码扫不出来、文档被拒这回我把排查顺序写清楚4.1 二维码扫码失败的现场排查链路二维码扫不出来不要慌按顺序排查。我总结了一套排查链路可以帮你快速定位问题出在生成端还是制板端。先扫原始图片。拿出手机对着工程里的二维码图片扫描如果能正常扫出文本说明内容和编码没有问题问题出在PCB丝印环节。如果连原始图片都扫不出来那就要回头看内容了文本里是不是混入了不可见字符或者生成时容错率设得太低、白边被裁剪。再看打印测试。把二维码图片打印在普通A4纸上尺寸调到和丝印尺寸差不多用手机扫。打印的目的是模拟低分辨率下的识别效果如果打印纸上的二维码扫不出来说明模块密度太高或者尺寸太小。解决方案很简单加大物理尺寸或者缩短编码内容。此时还在电脑阶段改起来很快不要等到板子回来了再发现。最后打样回来后用手机在自然光下扫描实物。如果实物扫不出来但打印纸能扫出来重点检查三件事第一丝印层是否被设计规则过滤第二二维码区域是否有阻焊颜色干扰深色阻焊和白色丝印对比度是否足够第三是否放反了面或者二维码被元件遮挡。检查顺序从“最显眼”到“最隐蔽”走能节省不少时间。4.2 文档提交被驳回的几种典型理由我整理过组委会退回文档的常见理由这里列出来对照检查驳回理由问题本质对策缺少钻孔文件Gerber导出时没勾选钻孔选项导出时勾选“包含钻孔文件”检查压缩包中是否有.drl文件BOM表与PCB位号不一致导出BOM后没有重新核对用嘉立创EDA导出后逐项核对位号是否匹配压缩包内文件版本混乱同一工程出现多个版本文件删除多余文件只保留最终版二维码内容与文件名不匹配板卡编号未统一设定统一的CIVC编号文件名、二维码内容、文档三者保持一致原理图PDF打印不全打印时未选择全部图纸打印预览里确认所有页面都在Gerber中看不到二维码丝印层未勾选导出用Gerber在线预览检查丝印层其中“版本混乱”是我遇到最多的。很多同学画线路板时今天是V1.0明天改个电阻就另存为V1.1提交前没有清理目录导致压缩包里既有main_v1.0.sch又有main_v1.1.sch。评审打开一看不知道哪个是最终版只能按文件名猜。通常文件名里带_final、_new、_last、_最终版这类后缀的都不是好习惯。正确做法是用日期区分版本比如V1.0_20250520提交前把旧版本移到archive目录或者直接删掉。4.3 我赛前半小时的验收清单这块是纯经验。我每次在提交前会强制走一遍下面的验收清单虽然多花半小时但能避免在截止时间前手忙脚乱在嘉立创EDA里打开最终工程确认PCB封装库路径没有红色报错原理图和PCB能正常同步。用3D预览旋转板卡从正面和背面各看一遍确认二维码没有被元件遮挡丝印文字没有和二维码重叠。导出Gerber后立刻用在线Gerber预览器打开顶层丝印层放大看二维码区域确认图形显示完整白边没有被裁掉。把BOM表打开对照原理图里用到的所有位号逐项确认没有遗漏。重点检查电阻电容的封装名字是不是有拼写不一致。拿手机对着电脑屏幕上的二维码原图扫一次确认内容正确。如果不方便至少把二维码图片拖到浏览器地址栏直接打开肉眼确认不是损坏图片。最后把压缩包下载到另一个文件夹双击解压按照参赛规则逐项核对文件是否齐全。不要只在自己电脑上解压因为有些压缩软件做了特殊处理换个环境就出错。这套流程跑完基本不会出现“提交后第二天被驳回”的情况。5. 二维码内容别再只放一串网址了5.1 文本型前缀码是竞赛场景最稳的方案做二维码时很多人第一反应是放一个网址比如队伍主页、项目文档链接。但在竞赛板卡这个场景下我强烈建议把纯文本的CIVC前缀码作为主码网址码作为辅助。方案优点缺点纯文本 CIVC-2025-A05-MAIN离线可扫、稳定、和文档编号一一对应不能展示额外信息网址可以跳转到在线文档内容更新灵活评审现场可能没有网络或服务不可用文本 网址组合信息量最大二维码密度变大丝印更容易糊评审扫码的诉求很简单最快速度知道这块板是谁的、是哪个版本。纯文本二维码完美满足这个诉求不需要联网不需要加载页面哪怕评审用的扫码软件非常老旧也能正确解析。如果评审确实需要查看在线文档你可以把网址放在文档的README里或者在板卡另一侧放一个辅助二维码。但不要用网址码替代CIVC前缀码否则一旦现场网络不稳定整个验证流程就断了。这里还要补充一个细节二维码内容不要带中文。虽然二维码支持中文编码但中文会让二维码尺寸增大而且部分扫码软件默认解码方式不同可能出现乱码。CIVC前缀本身是英文后续字段也是数字和短横线是最稳妥的编码内容。5.2 一个二维码同时带文本和网址可以但要小心有些队伍想通过一个二维码既显示文本又跳转链接做法是在内容里用换行符或分号隔开比如CIVC-2025-A05-MAIN;https://your-team-page.example.com/civc-2025-a05-main这个方案在技术上是可行的但实际效果取决于扫码软件。有的扫码APP会把整个内容当成纯文本显示有的会识别到链接并显示可点击的按钮有的可能因为内容里同时存在文本和URL出现解析冲突只显示链接部分。评审现场用什么软件扫你是没法控制的。所以稳妥起见主码只放纯文本辅助码如果需要再放URL。如果没有辅助码的空间宁可不放网址也不要强行塞进同一个码里。两码并排时注意两个二维码之间要留出足够的间隔。我的经验是两个码间距至少在3毫米以上中间不要走丝印文字。不然手机取景框同时框住两个码卡在识别边界哪个都扫不出来。5.3 板卡、二维码、在线文档三者怎么联动既然二维码内容做了统一文档管理也应当围绕这个统一编号展开。我的习惯是在队伍自己的资料平台里用CIVC编号作为唯一索引。比如在公开的项目说明页中写“板卡型号CIVC-2025-A05-MAIN扫描板卡丝印二维码可获得该编号在资料平台搜索此编号可查看原理图、BOM和调试日志。”这样评审扫码后拿到编号去资料平台检索就能看到完整的板卡档案。看似多绕了一步实际上是有意为之二维码里放网址网址失效就什么都没有二维码里放编号编码永远有效。你可以在文档侧不断更新链接内容而不需要重新打板。我甚至建议队伍在工程目录里维护一个QR_codes文件夹把每次生成的二维码原图和对应文本都存在一起。这样如果评审要求提供“二维码信息截图”你不需要重新生成直接拿原图上传。这个文件夹本身也天然是板卡信息登记表的一部分方便队伍内部分工协作和后期追溯。如果你也正在准备智能车竞赛我建议把二维码和文档提交放在投板之前处理而不是等板子回来再补。画好PCB后花一个小时把二维码生成好、放到丝印层、导出Gerber、顺手把文档压缩包做出来后面会轻松非常多。打样回来后第一时间扫码验证确认丝印清晰度和位置没问题再进行焊接。别等到赛前才发现二维码扫不出那时候只能拿一块光板去现场解释再多也不如一个能扫的码有说服力。