
智能车竞赛的板卡提交阶段很多人以为画好PCB、能跑起来就完事了。结果到了提交资料这天CIVC前缀二维码扫不出来、板卡文档命名不对、Gerber文件缺层被组委会打回来重新整理白白浪费一整晚。我这些年帮学生队伍审过不少板卡资料发现CIVC二维码和板卡文档这一块确实是翻车重灾区。不是大家不会画板子而是不知道评审老师到底用什么方式核对板卡信息也不清楚二维码从生成到最终扫描验证中间有多少细节会出问题。这篇文章就围绕嘉立创EDA里的CIVC前缀二维码设置以及板卡文档提交的完整流程把每个容易踩坑的环节都摊开讲清楚。从二维码的前缀编码规则、容错级别、丝印层放置到导出Gerber、整理BOM、打包命名一步不落。1. CIVC前缀二维码到底在干什么1.1 二维码不是装饰是板卡的身份证很多同学把CIVC二维码理解为“随便生成一个二维码贴上去就行”这是最大的误解。CIVC竞赛体系里每块参赛板卡都需要有一个能够被快速识别、追溯的唯一编码。评审环节会通过扫码枪或者手机扫码工具直接扫描板卡上的二维码读取里面的CIVC前缀编码然后对照提交系统里的板卡登记信息确认“这块板子确实是这支队伍提交的那块板子”。换句话说二维码承载的是一个标准的机器可读标识它的作用是让板卡和线上登记信息一一对应起来。这就要求二维码里的内容必须是规范化的CIVC编码文本而不是随便一个网址链接、一串无规则字符或者微信名片。我见过最典型的翻车案例有人用草料二维码生成器把队伍名字和学校缩写塞进去生成一个花里胡哨的彩色二维码还加了个LOGO。好看是好看了但扫码读出来的内容跟CIVC标准编码规则完全对不上评审直接判定资料不合格。1.2 前缀编码规则是硬标准CIVC前缀的核心在于“前缀”两个字。它不是一个自由填写的内容格式而是规定了编码必须以CIVC开头后面跟随特定的队伍编号、板卡类型、版本号等信息。具体规则每个赛季的官方技术文档会明确给出常见格式类似CIVC-队伍编号-板卡类型代码-版本号比如CIVC-S042-IMU-02这个编码解析出来就是CIVC赛事、S042队伍、IMU传感器板卡、第二版本。需要注意的是这个编码字符串里的所有字符包括连接符、字母大小写都必须严格遵循官方规范。二维码生成软件不会帮你校验内容它只是忠实地把你输入的字符串编码成二维码图形。所以内容一旦错了后面做再多补救工作都没有意义。我建议的做法是先在官方规则文档里找到编码示例按照示例格式逐字对照填写。不要自己发明格式更不要为了好看在编码里加空格。空格在部分扫码软件的解析结果里会变成%20之类的转义字符导致校验失败。1.3 二维码的参数选择影响能不能扫出来确定了编码文本之后还要考虑二维码本身的生成参数。这里面有三个关键点版本Version、纠错级别Error Correction Level和尺寸。版本二维码版本决定了它能承载多少数据。CIVC编码一般只有二三十个字符属于比较短的内容用Version 1到Version 3就绰绰有余了。没有必要为了“看着更密集更高级”去调高版本版本越高、模块越密对打印和扫描的要求也越高。纠错级别我强烈建议选M或Q级别。L级别纠错能力太弱板卡在加工、运输、焊接过程中丝印层被轻微刮花或者沾上助焊剂就有可能导致扫码失败。Q级别虽然冗余数据多一些但胜在皮实。尺寸这个要结合板卡实际面积来定。二维码不是越大越好但绝对不能小于某个安全阈值。在正常板卡上我一般建议二维码的边长不要小于10mm如果是贴片元件密集的板子至少也要8mm。纠错级别和尺寸的关系要特别提一下。同一个编码内容选Q级别生成的二维码模块数量会比L级别多视觉上更“密”。如果你把两块不同纠错级别的二维码打印成同样尺寸模块密度高的那个单个模块的物理尺寸会更小对丝印精度要求也更高。所以我的建议是用M级别或Q级别然后额外留出尺寸余量。宁可二维码大一点也不要追求小而精美。2. 在嘉立创EDA里正确放置CIVC二维码2.1 不要直接用图片导入嘉立创EDA的丝印层是支持放置图片的很多人的第一反应是“那我直接把生成好的二维码PNG图片拖进画布不就行了”从功能上说这确实能实现。但从工程角度说我不推荐这么做。原因是图片导入到PCB丝印层之后本质上是被打散成了一段一段的矢量线段或者被当作一个位图对象处理。这时候你面临三个问题第一图片的分辨率如果不够丝印层显示出来会发虚、边缘有锯齿加工出来后扫不出来。第二位图对象在Gerber导出时有时会出现不可预期的图层归属问题你明明放在丝印层导出后却跑到了别的层。第三图片的缩放比例不好控制拖进画布后随意拉一下实际尺寸就变了打印到板子上可能只有5mm。正确的方式是先用二维码生成工具生成标准的矢量二维码再用“图形”方式放置和定位。2.2 从生成到置入的完整路径这里以常见的实操路径为例假设你已经用本地工具或者在线工具生成了二维码图片。第一步确认二维码图片是PNG格式且分辨率足够。我一般生成时直接把尺寸定在200x200像素以上如果工具支持矢量导出如SVG优先用SVG。第二步在嘉立创EDA中打开你的PCB文件确认当前处于顶层丝印层Top Silkscreen或者底层丝印层Bottom Silkscreen。智能车竞赛板卡通常把二维码放在顶层丝印方便评审时快速扫描。第三步通过“放置-图片”功能选中你生成好的二维码文件。放入画布后先不要急着拖到目标位置先看一下属性面板里显示的宽高数值。第四步把宽度和高度改成实际需要的物理尺寸。比如你需要12mm x 12mm就直接输入12嘉立创EDA会自动把图片缩放到精确尺寸。这一步非常关键手工拖动是无法保证精度到0.1mm级别的。第五步将二维码移动到板卡空白区域确保周围1mm范围内没有其他丝印文字、过孔或焊盘。这里需要再补充一个细节。有些版本的操作路径是通过“封装管理器”把二维码图片和封装绑在一起这样在复查时不容易误删。但对于竞赛板卡来说我的建议是直接作为独立的图形元素放在丝印层不要和任何封装绑定。因为封装是结构件和焊盘的整体概念绑在一起之后挪动封装时二维码也会跟着跑反而增加误操作概率。2.3 丝印层的颜色和对比度不是小事二维码能否被扫出来除了编码正确、尺寸达标之外还有一个经常被忽视的因素丝印和板底的颜色对比度。PCB默认的丝印是白色板底是绿色这个组合扫码没有问题。但有些板子为了视觉效果把板卡做成了蓝色、黑色或者红色阻焊丝印还是白色对比度依然足够。真正的问题是丝印颜色和阻焊颜色接近的情况比如黑色阻焊板配了黑色丝印或者白色阻焊板配了白色丝印——虽然实际加工中这两种组合比较少见但如果你的板子要选特殊颜色一定要在提交打样前跟厂家确认丝印颜色。此外二维码放置区域下面如果有走线或者覆铜丝印层覆盖在上面扫码时扫描设备的红外光会被铜皮反射干扰。虽然不是必然导致失败但为了提高成功率我建议二维码正下方的内层或者其他层不要铺设大面积的实心铜皮。如果板子上正好有电源层这个区域也要做挖空处理或者干脆把二维码放在完全空白的板边区域。3. 板卡文档提交的完整流程3.1 需要准备哪些文件经过这些年的大小比赛我总结出一份通用的板卡提交资料清单。具体到CIVC赛事核心文件大致包括以下几类Gerber文件这是PCB厂家生产的标准文件也是评审时核对板卡物理设计的主要依据。BOM表元件清单用来核对板卡元器件的使用是否符合规则要求。位号图标注了每个元件位号的装配图方便评委在实体板卡上快速找到对应元件。原理图PDF评审技术方案时用的记得导出成PDF而不是源工程文件。板卡信息登记表包含队伍编号、板卡类型、CIVC编码、版本号等核心信息。CIVC二维码截图有些赛事会要求单独提交一张清晰的二维码截图用于线上存档和核对。如果你是第一次提交我的建议是在画板子阶段就把这套文件清单列出来每完成一项就勾一项。不要等到提交前一个晚上才开始导文件、整理BOM那时候你大概率会发现原件缺货、位号重复对不上、原理图和PCB版本不一致等一系列连锁问题。3.2 嘉立创EDA导出Gerber的标准操作嘉立创EDA导出Gerber的入口在“制造”菜单下选择“PCB制板文件Gerber”。导出前有几件事必须检查。第一确认板卡的所有层都已经设置正确。正常双面板至少要包含顶层、底层、顶层丝印、底层丝印、顶层阻焊、底层阻焊如果你的设计里用了中间层也要确保它们出现在了导出列表里。第二导出前先跑一遍DRC设计规则检查。这一步不是可选项是强制项。因为Gerber文件是直接给PCB厂生产的如果里面存在短路、间距不足等问题生产出来的板子就是废板。DRC报告会在导出前给出风险提示比如未连接的导线、间距违规等。我建议把DRC检查结果截图保存连同Gerber文件一起归档万一后面评审提出疑问你能快速定位问题。第三导出选项里如果有“包含钻孔文件”务必勾选。钻孔文件是PCB加工时打孔用的坐标数据没有它过孔和插件焊盘都做不出来。有些同学只导出了Gerber图形文件漏掉了钻孔文件提交后被厂家打回就又耽误两三天。导出完成后把整个输出文件夹打包文件夹命名建议使用“队伍编号_板卡类型_版本号_Gerber”的格式。比如S042_IMU_V02_Gerber.zip3.3 BOM表和位号图要交叉核对BOM表这块的常见问题是元件位号和PCB上的位号对不上。比如原理图里叫R1、R2、R3PCB上也应该是R1、R2、R3但如果你中途调整过原理图、重新标注过位号PCB却还没有同步更新那BOM表里就会凭空多出一些“幽灵位号”或者缺失实际存在的元件。我踩过的最深刻的一次坑是在复赛前整理BOM时发现少了三个电容。仔细排查后发现我在原理图里把C7、C8、C9删掉重画了一遍位号变成了C20、C21、C22但PCB文件没有刷新封装还是按旧位号生成的贴片坐标。好在是赛前发现了花了一个晚上重新同步才没在提交时翻车。所以提交BOM表前请务必执行以下核对步骤在嘉立创EDA里打开PCB文件用“设计-校验”功能检查原理图和PCB是否完全同步。导出BOM表后用Excel打开检查位号列是否有重复值或明显跳跃。把位号图导出来和BOM表的位号列表逐一对照数量一致才算通过。BOM表的格式也值得留意。一般赛事要求包含位号、元件名称、封装、数量、供应商编号等列。嘉立创EDA导出的BOM表默认格式基本满足要求但有时候会把“元件名称”和“封装”列的顺序调换或者多出一列“库编号”我建议导出后手动整理一遍删掉冗余列保持干净的三到五列结构。3.4 文档打包和命名规范文件整理齐了最后一个容易扣分的地方就是命名和打包。多数赛事对提交文件名有明确要求比如“CIVC_S042_IMU_硬件设计说明”。没有明确要求的我也建议统一采用“队伍编号-板卡类型-版本号-文件类型”的命名规范。整个压缩包的结构可以参考如下CIVC_S042_IMU_V02/ ├── CIVC_S042_IMU_V02_Gerber.zip ├── CIVC_S042_IMU_V02_BOM.xlsx ├── CIVC_S042_IMU_V02_位号图.pdf ├── CIVC_S042_IMU_V02_原理图.pdf ├── CIVC_S042_IMU_V02_板卡信息登记表.xlsx ├── CIVC_S042_IMU_V02_二维码.png └── CIVC_S042_IMU_V02_设计说明.pdf压缩包外层文件夹命名和内部文件前缀保持一致的逻辑评审老师解压后一眼就能看出来这份资料是谁提交的、对应哪块板子体验会好很多。别小看这个细节一天审上百支队伍的评委看到命名混乱的压缩包在印象分上很难不给低分。4. 二维码在板卡实体上的验证与排查4.1 打样回来后第一件事扫码板卡打样回来焊完元件装上车跑之前我强烈建议你先把所有CIVC二维码都扫一遍。为什么是“所有”因为有些队伍做了一套板子的多个版本比如IMU板、驱动板、主控板。每块板的二维码编码不同放置位置也不同。你不能假设驱动板上的二维码能扫出来主控板上的也能扫出来。丝印质量受加工批次影响不同批次的板子二维码边缘清晰度差别很大必须逐一验证。扫码工具我建议准备两个以上一个用手机自带相机直接扫另一个用专业的条码扫描App比如条码扫描器或者微信的“扫一扫”。原因是不同扫码算法对模糊图像的容错能力差异很大。手机自带相机如果直接扫不出来不代表二维码本身有问题可能只是边缘有点模糊。这时候换一个带增强解码的App再扫一次往往就能读出来了。如果两个工具都扫不出来先别急着重新制版按照以下顺序排查检查尺寸二维码实际边长是多少如果小于8mm大概率是尺寸不够模块间距过小导致无法识别。检查对比度丝印颜色和板底颜色是否对比明显如果板底是深色阻焊丝印是白色一般没问题。如果是半透明阻焊或者特殊颜色就要提高警惕。检查内容用读码软件把二维码内容完整读出来和官方规则里的CIVC编码格式比对。如果内容缺失了开头几个字符可能是生成时编码文本输入错误。检查表面覆盖二维码区域是否有走线、覆铜或者大块丝印文字经过有的话即使能扫出来可靠性也会受影响。4.2 丝印被阻焊覆盖的经典问题这里专门讲一个我在审核中反复遇到的问题二维码被阻焊层覆盖或者丝印开窗过小导致二维码显示不完整。在嘉立创EDA里放置二维码时软件默认会把它放在丝印层。丝印层的图形会被阻焊层限制在特定区域。如果你在二维码位置附近放置过孔或者焊盘并且这些区域的阻焊开窗范围过大就有可能在加工时把丝印的一部分“吃掉”。解决办法是在画板子阶段确认二维码周围没有临近的焊盘或过孔。如果你觉得布局无法避免也可以手动在阻焊层画一块矩形开窗确保二维码区域是完整的阻焊覆盖不要让铜皮直接裸露。还有一种情况是二维码正下方是铺铜区域丝印印在阻焊上颜色正常但扫描时因为铜皮的漫反射扫码设备偶尔会出现首次识别失败、需要调整角度才能扫出来的情况。解决办法我刚才提到过就是让二维码正下方的内层铜皮挖空或者把二维码放在没有任何铜皮的板边。4.3 导出二维码截图时的分辨率陷阱单独提交的CIVC二维码截图同样有要求。如果你直接把PCB文件里那个二维码元件截图下来分辨率通常是不够的。PCB设计界面里的二维码图形是矢量数据屏幕截图是位图两者清晰度完全不同。评审打印核对时模糊的截图会直接影响扫码成功率。我建议单独用二维码生成工具生成一张高清版本分辨率设置在600x600像素以上格式PNG背景白色。把它和PCB丝印上的二维码放在一起对比确保两者内容一致然后作为独立文件提交。导出的高清二维码截图不要做任何美化处理不要加圆角、不要加阴影、不要换背景色。这些看似美观的操作会让扫码软件在解码时产生歧义特别是加了背景纹理的二维码轨道图案和定位图案被干扰误码率直线上升。5. 实战检查清单与资料自查表5.1 提交前24小时逐项自查我建议把下面这份清单打印出来提交前按照顺序逐项打勾[ ] CIVC编码文本与官方规则完全一致字母大小写无误[ ] 二维码生成时选择了M或Q级纠错[ ] PCB上二维码边长为10mm以上[ ] 二维码放置在顶层丝印层且周围1mm无其他对象[ ] 二维码正下方无铜皮走线干扰[ ] 嘉立创EDA中已完成DRC检查无未解决错误[ ] Gerber文件包含所有层及钻孔文件[ ] 原理图和PCB同步校验通过[ ] BOM表位号与PCB位号一一对应[ ] 二维码截图分辨率大于600x600像素[ ] 压缩包内文件命名统一无乱码或重复[ ] 用手机扫描实体板卡上的二维码能正确读出CIVC编码每一行看起来都不是什么大工程但全部完成的队伍在提交环节基本都能一次过。怕就怕在最后一天赶工漏掉其中一两项自己还没意识到。5.2 常见问题速查表为了方便现场排查我把最常见的几类问题和对应处理方式整理成一张速查表。问题现象可能原因处理方式新板子扫码完全没反应二维码尺寸太小或图片导入后分辨率不足重新生成矢量二维码确认边长不低于10mm扫码读出的编码多出或缺少字符生成二维码时编码文本输入错误打开二维码原图对照官方规则逐字符检查丝印区域有模糊毛刺图片导入PCB时分辨率不足改用高清PNG或SVG重新放置部分角度扫码失败二维码下方有铜皮反射干扰调整布局将二维码放置在空白板边区域提交时Gerber文件缺层导出时没有勾选全部层检查钻孔文件、阻焊层、丝印层是否都在导出范围内BOM表位号对不上电路板原理图更新后PCB未同步刷新使用嘉立创EDA的校验功能重新同步再导出BOM5.3 提交前的小技巧做一次“模拟打分”如果你想让提交一次过我还有一个建议提交前自己先当一回评委。具体做法是把你的压缩包发给不看你们项目的队友或者同学让他根据文件名和文档内容尝试回答以下几个问题这份板卡属于哪支队伍是什么类型的板卡当前版本号是多少CIVC编码是什么如果对方能在两分钟内从压缩包里找到所有答案说明你的资料结构清晰。如果对方翻了一分钟还没找到继续优化命名和目录结构。这个方法听起来简单但非常有效。因为评审老师每天要看几十份资料不会有耐心在一堆“新建文档(2).zip”里帮你找关键信息。资料结构清晰度其实是参赛文档最容易拿分也最容易扣分的地方。写在最后的一点个人体会智能车竞赛比到最后拼的其实不是谁的板子画得花哨而是谁能在规则框架里把每一步都走稳。CIVC二维码和板卡文档说大不大说小不小但它直接决定了评审能不能快速准确地认识你的板子。我带过的队伍里凡是能提前三天把文档资料整理好的比赛现场心态都会稳很多。凡是拖到最后一晚才急匆匆导Gerber、填登记表的基本都是手忙脚乱、错漏百出。二维码这种一次性生成的东西每次调试完板子之后还要再扫一遍确认它没被后续的修改影响这个习惯养成之后能帮你省掉很多提交时的惊吓。最后分享一个小技巧在嘉立创EDA里放二维码的时候顺手在二维码旁边丝印区域加一行同样的CIVC纯文本编码。万一某个角度扫描失败评委还能用肉眼直接核对编码字符串纯文本丝印不占体积沟通成本却低很多。