简介:无线识别装置赛题资料面向准备电子设计竞赛的学生与指导教师,围绕阅读器、应答器与耦合线圈构成的无线识别系统展开,帮助读者理解无接触数据传输、编码识别与能量耦合的基本实现路径。包内仅含1个doc文档,压缩包约3.24MB,内容覆盖赛题任务、基本要求与发挥部分、设计报告要点、评分标准,以及空军工程大学获奖作品方案。文档中可看到MSP430超低功耗单片机、5.4MHz载波ASK调制、开关式谐振功率放大器、负载调制、线圈匹配和断电信息存储等关键设计,并附系统框图、电路与测试分析思路。已有127人学习,适合需要对照赛题搭建方案、梳理阅读器与应答器电路模块、理解低功耗无线识别实现并撰写设计报告的读者查阅。
1. 这道题在考什么:能量与数据两条链路,报告与实物两张卷子
无线识别装置这道题,表面是“阅读器认得出应答器”,真正的分水岭在两条链路上:一条是阅读器经耦合线圈把能量和指令送到应答器,发挥部分还要求应答器一颗电池都不用;另一条是应答器靠负载调制把预置编码和存储内容送回来。两条链路方向相反,指标互相拉扯,谁先把这笔来回账算清楚,谁就少走两周弯路。评分摆得直白:设计报告 50 分,其中理论分析与计算 9 分、电路与程序设计 19 分、测试与结果 8 分;实物部分基本要求 50 分,发挥部分 21+20+5+4=50 分。想拿分先盯死三个硬指标——识别正确率≥80%、响应时间≤5s、线圈间距 D≥5cm,再谈把 D 做到 20cm 以上。这道题适合能画原理图、能焊板子的人冲,也适合面试时要讲清“无源、低功耗、负载调制”三件事的人。面试官最想听的不是“我做成了”,而是“你凭什么这么选”。
2. 系统方案与线圈匹配:从 10μH 的线圈倒推频段和谐振拓扑
方案阶段最容易犯的错,是先选芯片再想线圈。这道题正好反过来——线圈的尺寸和匝数是题目写死的,电感量基本被锁在一个很小的区间里,频段、谐振电容、Q 值、甚至功放拓扑都被它牵着走。先把这颗线圈的电感测出来,方案就收敛了一半。
2.1 线圈参数先把方案锁死:6.6cm、10 圈、10μH 意味着什么
题目把线圈钉死了:圆形空心,直径(6.6±0.5)cm,密绕十圈,线径不大于 1mm,介质是空气,两个线圈最接近部分的间距记为 D。做法上最省事的是拿直径 6.6cm 左右的易拉罐当骨架,绕满十圈取下,用绝缘胶带固定,这样两个线圈的几何几乎一致,互感对称,调试时少一个变量。实测电感落点通常在 10~13μH,这个数字比任何框图都重要,因为谐振频率和它绑死在一起:f=1/(2π√(LC))。反算一下就知道手上的电容够不够用。
import math # 实测电感在 10~13uH 之间,反算谐振电容,判断器件库里有没有合适的值 L_list = [10e-6, 12.9e-6] for L in L_list: for f in (4e6, 5.4e6): # 中频段两个常用载频 C = 1 / ((2 * math.pi * f) ** 2 * L) # LC 谐振:f = 1/(2*pi*sqrt(LC)) print(f"L={L*1e6:.1f}uH, f={f/1e6:.1f}MHz -> C={C*1e12:.1f}pF")跑出来的结果:12.9μH 配 4MHz 约 123pF,10μH 配 5.4MHz 约 87pF,都在几十到一百多皮法的范围里,一颗固定电容加一颗 5/24pF 的可调电容就能覆盖,这就是为什么两个参赛队分别选 4MHz 和 5.4MHz 都成立。参数里唯一要留神的是“实测”两个字:万用表测的是低频电感,实际工作频率下线圈的分布电容会把谐振点往低处拉,所以微调电容不能省,调试时也要以回路真正谐振(波形幅度最大)为准,别迷信算出来的那个数字。
频段怎么论证才站得住?低频一百到几百千赫兹,要 mH 级电感才谐振,十圈 6.6cm 的空心线圈做不到;高频几百兆赫兹,谐振电容落到几皮法,和杂散电容同量级,根本调不准;中频几到十几兆赫兹,电容落在几十到几百皮法,普通器件能覆盖,作用距离几厘米到一米,正好把 D≥5cm 这个门槛包住。这段推演写进报告就是“理论分析与计算”的分数,答辩时口头讲一遍,比背公式有效得多。
距离这条线要提前有心理准备。线圈在轴线上距离 D 处的磁通密度,在 D 远大于线圈半径时近似按 1/D³ 衰减,D 从 10cm 挪到 20cm,磁场只剩八分之一。这就解释了为什么“再多 5cm”往往要多花一倍功率,也解释了为什么发挥部分第②项(功耗≤2W 还要尽量拉大 D)才是真正拉开差距的地方。
提示:线圈绕完先别急着焊,两个线圈叠在一起量一下电感,差值超过 10% 就重绕,不然后面所有对称性调试都是在跟玄学较劲。
2.2 匹配拓扑:串联谐振管发射,并联谐振管取电
两侧的谐振方式不一样,这是很多人第一次踩坑的地方。阅读器是发射端,信源阻抗低,用串联谐振更合适:回路电流大,磁场强,线圈上跑的是大电流而不是高电压,功放管的负担小。应答器是接收端,要的是“整流前拿到尽可能高的电压”,所以用并联谐振,谐振时回路两端电压最大,桥式整流再把这个电压变成直流。两边的电容计算公式一样,但目标函数完全不同,报告里要写清楚是“为了电流最大”还是“为了电压最大”。
理论上的最优状态是复谐振——初次级回路互相反映阻抗,两边同时谐振,应答器拿到的电流最大。听起来很美好,实际做不到:距离一变互感就变,昨天调好的复谐振今天挪 2cm 就跑偏,比赛现场根本没有时间追着调。所以工程上的做法是按额定距离或最远距离折中调谐,宁可牺牲一点峰值幅度,换一条比较“钝”的谐振曲线。这句话写进报告,评审一眼就知道你上过台。
Q 值的选择是第二个取舍点。Q=f/BW,带宽由数据速率决定。假设反向数据率在几 kbps 到 10kbps,包络检波至少要留两倍带宽,取 BW 在 20~30kHz,载频 4MHz,Q 的上限就是 130~200。但上限不是目标值,血泪经验是:Q 调得太高,台面上读得好好的,手一靠近线圈就失谐,读码率直接掉一半,排查半天以为是软件问题。实际取几十的 Q 更稳,再用微调电容把谐振点钉在载频上。
还有一个细节经常被忽略:检波电路不能直接并在谐振回路两端。包络检波输入阻抗低,直接并上去等于给回路并了个大电阻,Q 值被拉低、谐振点被拽走,发射端看着好好的,接收端就是解不出来。做法是串一颗几皮法到几十皮法的小电容做松耦合,牺牲一些幅度换回路稳定,这条在报告里写一句,比堆十张波形图更能体现你懂匹配。
2.3 三道方案论证题的标准答法
方案论证题几乎必考,答题结构就三句话:结论、依据、代价。只说结论是学生,说出代价才是工程师。
第一题,为什么选 4MHz 或 5.4MHz 而不是更高或更低。结论:选中频段。依据:题目给定的线圈电感在 10μH 量级,中频段对应的谐振电容在几十到几百皮法,可实现且可微调;作用距离覆盖 5cm 到 1 米,符合得分区间。代价:频率越高,同距离下磁通密度衰减越快、对功放带宽要求越高;频率越低,所需电感越大、线圈做不出来。三句话说完,评委不会再追。
第二题,阅读器到应答器为什么用 ASK。结论:下行选 ASK/OOK。依据:下行只需要传少量指令和写数据,ASK 解调用包络检波就能做,应答器侧不需要本地振荡器,功耗和器件数量都能省下来,这对“无源”是决定性的。代价:ASK 抗幅度干扰差、容易受增益变化影响。第三题,反向为什么用负载调制。结论:反向用负载调制,直接调制或副载波调制看指标取舍。依据:应答器是被动的,没有发射机,唯一能做的是改变自身回路参数,让阅读器线圈上的波形跟着变,这就是负载调制;不采用副载波时电路最简单、功耗最低。代价:调制深度受距离和耦合系数影响,近距离会饱和、远距离变化太小,动态范围受限。
| 调制方式 | 解调难度 | 抗干扰 | 应答器侧功耗 | 本题适配情况 |
|---|---|---|---|---|
| ASK/OOK | 低,包络检波即可 | 一般,怕幅度波动 | 最低,无需本振 | 下行首选 |
| FSK 副载波 | 中,需要分频与滤波 | 好,抗噪声和抗衰减 | 较高,多一级分频 | 反向可做,作为加分项 |
| PSK | 高,需要相干或延时解调 | 最好 | 高 | 无源条件下不划算 |
2.4 答辩追问:不用现成射频卡和识别专用芯片,边界在哪
题目明确不许用现成的射频识别卡,也不许用“用于识别的专用芯片”。这句话的边界必须自己先想清楚,因为评委一定会问。安全区是:分立器件搭整流、调制、检波,通用单片机做编解码,通用逻辑门做调制。灰色区是通用遥控编解码套片——它本身不是识别专用芯片,功能上只是把地址码和数据码串行发出去,但它把“编码”这件本该自己做的事包了。用可以,答辩时必须主动界定并给出替代方案,比如软件帧头加地址加 CRC 校验,否则被追问一句“这算不算专用”就很难看。
第二个常见追问是“为什么只能用磁耦合”。题目写明阅读器、应答器不得使用其他耦合方式,实际意义是限制你用红外、声波、导线这些绕开难点的路子。回答要点是:磁场耦合在近场区可用,等效为松耦合变压器,改变次级负载会反映到初级,这正是负载调制的物理基础;换成其他耦合方式,反向链路的实现路径就完全变了,指标不可比。
第三个追问是“你的方案在最坏情况下会怎样”。这类题不指望你说“没问题”,指望你说出失效模式:距离拉远后调制深度不足,误码率上升,正确率跌破 80%;对策是降低数据率换信噪比、提高发射功率、或者在协议里加重传。能主动说出失效边界的人,评委会默认你真的测过。
3. 阅读器发射与接收:把 2W 花在发射上,把毫伏级回波捡回来
阅读器一侧是所有指标的源头:功率预算、识别距离、正确率,全压在这块板子上。它同时要做两件相反的事——用尽量大的功率把能量推出去,又要用尽量高的灵敏度把毫伏级、甚至更小的负载调制回波捡回来。这两件事在同一块板上打架,布局和地线处理不好,发射的载波会直接把接收前端淹掉。
3.1 载波与 ASK 调制:与门 OOK 的实现与波形
载波源最稳的做法是晶体振荡加门电路整形,频率准、温漂小;也可以用单片机的时钟输出分频,省器件但抖动大。调制用与门做 OOK 是最省心的:数据为高时与门放行载波,数据为低时输出恒低,传输信道上就是“有载波”和“无载波”两种状态,包络检波一看就明白。关键是这个结构的平均功率约等于峰值功率乘占空比,占空比直接决定你能不能守住 2W 这条线。占空比低了识别距离掉,高了功耗超标,要在“发多久”上做文章而不是一味加大峰值功率。
帧结构也要在发射端定好。下行一般是“引导头+地址+数据+校验”,引导头的作用是让应答器的检波和整形电路先稳定下来,没有引导头,第一位的判决经常是错的。应答器从线圈取电,上电到单片机启动有几十毫秒的爬升期,引导头还兼了“给应答器充电”的功能,长度按实测的启动时间留余量,一般给到几毫秒到十几毫秒。
注意:OOK 的“关断”不是把功放管供电断掉,而是把输入激励掐掉。功放管仍然加着电源、仍然有静态电流,算功耗时必须把这一块算进去,不然实测值会比计算值高出一截。
3.2 功放选型:C 类与开关型谐振功放的账怎么算
功放的状态直接决定效率。A 类失真小但效率理论上限只有 50%,静态电流大,对 2W 的预算太奢侈;B 类效率高一些,但导通角 180°,两管交替,管子多;C 类导通角小于 180°,效率能做到 70% 以上,代价是输出波形失真大、必须靠谐振回路把谐波滤掉——而这道题的载波是单一频率,谐波正好被谐振回路吃掉,所以 C 类几乎是为你准备的。开关型(D 类、E 类)效率更高,方波激励、谐振取基波,但那属于追求极限的玩法,调试难度上一个台阶。
匹配网络的作用有两个,报告里别只写一个:一是滤波,把功放管开关瞬间的高频谐波滤掉,只让载频进线圈;二是阻抗变换,把谐振回路折算成功放管需要的最佳负载,让管子工作在高效区。做法是 LC 阻抗变换网络,先按目标功率估出最佳负载,再算 L、C 的具体值。
# 发射链路功率预算:先估直流输入电流,再看还能剩多少给控制电路 Vcc = 12.0 # 阅读器单电源电压,识别状态整机功率不超过 2W P_out = 1.0 # 目标基波输出功率,给控制与显示电路留余量 eta = 0.65 # C 类谐振功放的实际效率,保守取值 P_in = P_out / eta # 直流输入功率 I_dc = P_in / Vcc # 电源平均电流,万用表读的就是这个量级 R_opt = Vcc**2 / (2 * P_out) # 折算到集电极的最佳负载(近似的工程估算) print(f"直流输入功率 {P_in:.2f} W,平均电流约 {I_dc*1000:.0f} mA") print(f"最佳负载约 {R_opt:.0f} ohm")这段代码给的是量级而不是精确值。参数含义:Vcc 是单电源电压,P_out 是想送进线圈的基波功率,eta 是功放效率;输出结果告诉你两件事——电源电流应该在哪个量级(这里是一百多毫安),以及谐振回路要折算成多少欧姆。实测如果电流远大于估算值,先查匹配网络是不是没调谐(回路呈现的是低阻抗而不是纯电阻),再查功放管是不是一直处于导通状态。反过来,如果电流很小但距离也上不去,通常是匹配网络把功率反射回去了,用示波器看线圈两端波形,幅度明显小于电源电压就说明没匹配好。
3.3 接收链路:包络检波、放大、滤波、整形四级怎么排
接收链路的信号强度要有个数:负载调制在阅读器线圈上造成的是载波幅度的变化,检波之后是有用信号叠在纹波上,量级常在毫伏甚至更低。所以四级必须排好:包络检波先把载波“削”掉只留包络,宽带运放把小信号放大到百毫伏级,低通滤波把残余载波纹波滤掉,施密特触发器整形成干净的方波送进单片机。顺序错了或者省掉一级,后面就会看到一堆毛刺。
检波要松耦合,前面说过,串小电容取信号,别直接并到谐振回路上。放大倍数不是越大越好,一百倍左右是个常用起点,再大就把噪声一起放大了,整形成随机方波,读出来的码看着像对的但对不上。滤波器用开关电容型低通(例如截止频率可选 0.1~25kHz、8 阶巴特沃兹响应的那类器件)时,要记住它的截止频率由外部时钟驱动,时钟频率大约是截止频率的 100 倍;用内部时钟就靠外接电容定频,电容算错了整条链路就废了,这是调试时最隐蔽的翻车点之一。
参数怎么定:数据率 5kbps 左右时,截止频率取 2kHz 到 5kHz,时钟相应取 200kHz 到 500kHz,阶数够高才有陡峭的过渡带。滤波截止频率低于数据率的表现是“码元被削圆”,边沿变缓、宽度变窄;高于数据率太多则纹波进比较器,一个码元被判成好几个,读出来的数据长度都不对。判断方法很直接:示波器两个通道,一路看检波后模拟波形,一路看整形后数字波形,对着看就知道该往哪边调。
提示:检波、放大、整形这条链路的接地点要单点汇到线圈的地,不要跟功放的功率地混在一起,共地阻抗上的几十毫伏会直接把微弱回波淹没。
3.4 真题演练:给定参数算谐振电容、带宽与 Q 值上限
题目常这么出:已知耦合线圈电感 12.9μH,载频 4MHz,要求反向数据率不低于 4kbps,问谐振电容取多少、回路 Q 值上限多少、带宽够不够。答题顺序是先算电容,再算带宽,最后反推 Q,一步都不能跳。
import math L = 12.9e-6 # 线圈实测电感 f = 4e6 # 载频 C = 1 / ((2*math.pi*f)**2 * L) data_rate = 4000 # 反向数据率下限,bps BW = 2.5 * data_rate # 包络检波至少留 2~3 倍带宽 Q_max = f / BW print(f"谐振电容 {C*1e12:.1f} pF") print(f"需要带宽 {BW/1000:.1f} kHz,Q 值上限 {Q_max:.0f}")结果约 123pF、带宽 10kHz、Q 上限 400。这个上限看着很宽松,但它只是“不糊码”的底线,不是推荐值:实际工程取几十的 Q,因为距离变化、手靠近、温度漂移都会让谐振点偏,Q 越高峰越窄,偏一点幅度就掉。答题时把这两层分开写——先算理论上限,再说工程取值和理由,分数就稳了。易错的是有人直接用 f/BW 算出的 400 去设计回路,结果台面上勉强能读,一挪位置就失效,回头怀疑是软件 CRC 写错了。
3.5 追问:2W 到底怎么算,怎么证明给评委看
发挥部分第②项要求阅读器单电源供电,识别状态下电源供电率≤2W。这句话的坑在“识别状态”四个字:不是待机,也不是峰值,而是正在读码的那几秒。测法是把万用表串在电源回路里读平均电流,同时用示波器看电流波形,确认没有大电流尖峰;多次上下电各测一遍取平均,把数据列成表,比嘴上说“肯定不到 2W”有用得多。
真实的设计余量要留够:整机目标定在 1.2~1.5W,剩下的留给显示、蜂鸣、单片机。两个参赛队的实测数据可以参考这个量级——一队 10V 供电、平均 69mA,约 0.69W;另一队 12V 供电、0.1A,约 1.2W,都离 2W 有余量,而且前者把余量留给了更远的识别距离。反过来,如果实测超过 2W,先看指示灯和蜂鸣器这类“看起来不耗电”的负载,再看功放的静态电流,最后才怀疑功放效率。
4. 应答器无源供电:3mA 预算里塞进整流、调制、编码和存储
应答器是这道题真正的难点。发挥部分不允许用电池,也不允许用内部含电池的集成电路,所有能量都得从耦合线圈的磁场里抠出来。整流滤波之后能拿到多少电流,直接决定了你能用什么芯片、能跑多快、能存多少东西——这是硬约束,不是设计目标。
4.1 取电链路:整流、限压、储能与启动那几十毫秒
从线圈取电的标准链路是:谐振回路取出交流电压,桥式整流变直流,电容储能,稳压管限压,然后送给单片机。整流桥要用压降小的肖特基二极管,四只普通硅管每只 0.7V 压降,两两串联就是 1.4V,本来就只有几伏的感应电压经不起这么扣。限压用稳压二极管钳在芯片允许的电压上(3V 或 5V 视器件而定),这道保险必须有,距离一近感应电压会飙上去,没有限压的板子第一次靠近就烧芯片。
带载能力要给个实数。实测常见的情况是:3V 电压下整流滤波后只能提供 3mA 左右。这 3mA 要养单片机、要养上拉电阻、要养编码芯片,还要留出余量给闪存写入那一瞬间的电流尖峰。所以选器件的顺序不是“哪个好用哪个”,而是“哪个电流小用哪个”,超低功耗单片机待机零点几微安、工作几百微安的量级,才勉强够用。
启动过程是最容易被忽略的一段。上电瞬间储能电容从零开始爬升,单片机在电压不够时会反复复位,表现出来的现象是“有时候能读到,有时候读不到,重复上电结果还不一样”,很多人第一反应是怀疑无线链路,其实是供电没稳。对策有三条:加大储能电容、加低压检测让单片机等电压够了再启动、在协议里让阅读器多发几次引导头。三条一起用最稳,报告里把这段画成时序图,是很能加分的一笔。
| 部件 | 典型电流 | 控制手段 |
|---|---|---|
| 低功耗单片机(工作态) | 300~500μA | 降主频、间歇唤醒 |
| 预置编码开关上拉(4 路) | 约 40μA | 上拉电阻取 300kΩ,别取 10kΩ |
| 通用编码套片(静态) | 数百 μA 量级 | 只在发送时供电,或改用软件编码 |
| 模拟开关(导通) | 微安级 | 只在调制瞬间动作 |
| 闪存写入瞬时 | 毫安级尖峰 | 储能电容就近放置 |
这张表就是功耗预算的骨架。做法是逐项列、逐项测,加起来对比整流能提供的 3mA,剩下的才是余量。有人把上拉电阻取 10kΩ,四路就是 1.2mA,直接把三分之一的预算吃掉了,还找不到原因——这是最典型的踩坑方式。
4.2 负载调制:直接调制和副载波调制差在哪
反向链路的物理基础是松耦合变压器:应答器改变自身回路的负载,反射到阅读器线圈上的阻抗跟着变,阅读器线圈两端的幅度就跟着变,包络检波之后就是数据。实现上最简单的是直接负载调制——用一只模拟开关并在谐振回路两端,数据为 1 时导通、为 0 时断开,回路失谐,幅度变化。
直接调制的优点是器件少、功耗低;缺点很实在:调制深度随距离变化。距离近,耦合强,开关一动作幅度变化很大,甚至饱和;距离远,耦合弱,变化小到检波器分辨不出来。所以调试时要在目标距离上量调制深度,靠串联或并联电阻把深度调到合适区间,而不是在近距离调好就收工。
副载波调制是另一种思路:在应答器里提取载波、分频,把分频后的方波与数据相与再驱动开关,这样回波的频率成分与载频错开,阅读器用带通滤波就能把干扰滤掉,抗噪声和抗衰减明显更好。代价是多了一级分频电路,功耗上去,无源条件下要算清楚这笔账。三个方案里选哪个,答案不是绝对的,看你的指标卡在哪:距离优先用直接调制,抗干扰优先用副载波,报告里把这个取舍写出来就是分数。
模拟开关的选型要看三个参数:导通电阻(越小调制越深,1Ω 以内比较理想)、关断时的隔离度、带宽(要远高于载频)。这三项在数据手册里都有,答辩时能报出具体数值,评委会认为你真的读过手册而不是抄的参考电路。
4.3 编解码:套片方案和软件方案的取舍
反向数据的编解码有两条路。一条是通用遥控编解码套片,编码端把地址码、数据码、同步码拼成一个完整码字串行发出,解码端收到后比对地址,一致就输出数据并给一个确认信号。这类芯片最多提供 12 位三态地址(悬空、接高、接低),组合数达到 531441 种,数据位最多 6 位。用它做 4 位数据加 8 位地址,电路极简,调试周期短。
另一条路是软件编解码:自己定帧头、地址、数据和校验,单片机直接驱动模拟开关。灵活、可扩展、地址想多长就多长,还能加 CRC 和重传,代价是代码量和运行时间,而运行时间在无源条件下就是功耗。
| 维度 | 通用编解码套片 | 软件编解码 |
|---|---|---|
| 器件数量 | 少,一片搞定 | 需要单片机资源与外设 |
| 功耗 | 静态电流偏大 | 可控,可间歇休眠 |
| 可扩展性 | 弱,地址数据位固定 | 强,帧格式随意定 |
| 抗误触发 | 依赖地址位,地址全接地时风险高 | 加 CRC 后可显著改善 |
| 答辩风险 | 需界定是否属“识别专用芯片” | 无争议 |
表里最后一行值得多说一句。用套片时,如果 8 位地址全部接地,所有同型号设备地址都一样,只要附近有同频干扰源就可能误触发,表现为“明明没放应答器,阅读器也显示数据”。稳妥的做法是地址位至少设几位不一样,或者干脆在软件层再加一道校验。这类细节写进报告的“可靠性分析”,比多画一张漂亮的框图更值钱。
4.4 信息存储:掉电不丢的三个必做动作
发挥部分第③项要求应答器能存不小于两个 4 位二进制数,断电后信息不丢失,还要能读能写。用单片机内部闪存就能满足,但闪存有个特性必须处理:写入前要先擦除,擦除期间掉电,这一页数据就废了。识别装置的工作场景恰好是“随时可能断电”,所以存储逻辑要按掉电安全来设计。
# 双备份 + 校验 + 完成标志:闪存写入的掉电安全流程(伪代码) def save_record(new_data): crc = crc16(new_data) # 先算校验,避免写入后才发现数据坏了 page_a = read_page(PAGE_A) # 读两个副本 page_b = read_page(PAGE_B) target = PAGE_B if page_a["valid"] else PAGE_A # 总是写“旧”的那一页 erase_page(target) # 擦除期间掉电:另一页仍然可用 write_page(target, new_data, crc) # 写入数据与校验 write_flag(target, 0x5A) # 最后写完成标志,标志不在就视为无效 return page_ok(target) def load_record(): for page in (PAGE_A, PAGE_B): # 两份都读,校验通过就用 rec = read_page(page) if rec["flag"] == 0x5A and rec["crc"] == crc16(rec["data"]): return rec["data"] return DEFAULT_CODE # 都坏了就回到出厂预置编码这段伪代码的关键不是语法,是三个动作的次序:先算 CRC 再写,写完数据最后写完成标志,两份副本轮流写。逻辑说明:如果擦除或写入过程中掉电,被破坏的只是“旧”那一页,另一页的完成标志和 CRC 仍然有效,下次上电能恢复;如果先写标志再写数据,掉电就会留下“标志有效但数据是空的”这种最坏情况。参数上,完成标志取一个非 0xFF 的固定值(这里是 0x5A),因为擦除后的闪存默认全是 0xFF,用 0xFF 当标志等于没写。校验用 CRC16 而不是简单求和,是因为负载调制误码常常是整位翻转,求和校验对这种错误不敏感。
调试时最容易忽略的是写入时间与供电的关系:一次页擦除加写入可能要几毫秒,这几毫秒内的电流尖峰必须由储能电容扛住,所以电容要贴着芯片放,别放在板子另一头。测试方法很土但有效——写到一半拔电源,重复几十次,看能不能每次都恢复出上一次的有效值。
4.5 真题演练:功耗预算和识别时间怎么估
常见的一问是:给定储能电容和允许的电压跌落,估算应答器在失去耦合能量后还能工作多久,进而判断 5s 的响应时间够不够。核心公式很朴素:t=C·ΔV/I,C 是储能电容,ΔV 是允许跌落的电压,I 是平均电流。比如 100μF 电容,允许从 3.0V 掉到 2.4V,平均电流 500μA,能撑的时间是 100e-6×0.6/500e-6=0.12s,也就是 120ms。这个数字告诉你:所有需要“连续工作”的动作必须压缩在百毫秒量级,超过就得靠阅读器持续供能,而不是靠电容硬扛。
把这个结论套进流程里,就能算出整条链路的时间预算:上电启动几十毫秒、读闪存几毫秒、组帧和 CRC 几毫秒、发送数据几十毫秒,加起来离 5s 还有极大余量。余量这么大,说明响应时间从来不是瓶颈,瓶颈一直是识别正确率和距离。答题时把这个判断说出来,比老老实实算一堆数字更显水平——评委想听的是“哪里是瓶颈”。
5. 失分点排查:五个最容易翻车的坑与改错答法
看过足够多的方案,会发现扣分的地方高度集中,不是能力不够,是几个固定的思维习惯。下面五条按“错在哪、为什么错、怎么答对”来拆,每条都可以直接当改错题练。
5.1 方案与理论上的三处硬伤
第一处,把“识别距离”当成唯一指标。错在:整篇报告围绕“我做到了 22cm”展开,正确率、响应时间、功耗一笔带过。为什么错:评分表里基本要求是正确率≥80%、响应时间≤5s、D≥5cm 三个条件同时满足,只把 D 做大而正确率掉到 60%,基本分都拿不满。怎么答对:先报三个指标的组合值,再谈距离;“在 22cm 处仍保持 100% 正确率、响应 0.8s、整机 1.2W”这样的表述,比单说 22cm 有说服力得多。
第二处,理论分析只堆公式不讲取舍。错在:把谐振公式、磁通密度公式、Q 值公式全抄一遍,一个数都不代。为什么错:评分表给“理论分析与计算”9 分,要看的是你的代入和判断,抄公式谁都会。怎么答对:每个公式后面接一句“代入本设计参数得多少,因此选了什么”。例如算完谐振电容 123pF,接一句“故取 100pF 固定电容并联 5/24pF 微调,覆盖器件误差”,这就是计算而不是背诵。
第三处,Q 值取得过高或过低且说不出理由。错在:调谐时只看波形幅度最大,Q 调到很高,台面上效果好就定稿。为什么错:Q 高带宽窄,数据率上不去,人和金属一靠近就失谐,现场复现不了。怎么答对:先按数据率算带宽、反推 Q 上限,再说明工程取值更低的理由(抗失谐、容忍距离变化),最后用实测数据佐证“取 40 左右时 5cm 到 20cm 全区间可用”。
5.2 电路与调试上的两处典型翻车
第四处,检波电路直接并在谐振回路两端。错在:为了“信号大一点”,把检波二极管直接接到线圈上。为什么错:低阻抗负载把 Q 拉垮、谐振点偏移,发射端看波形正常,接收端就是解不出码,然后开始怀疑软件。怎么答对:串几皮法到几十皮法的小电容做松耦合,接受幅度下降换回路稳定;调试时对比串电容前后线圈两端的波形,谐振峰是否还在原位,一测就清楚。
第五处,整流后不加限压、上拉电阻取太小。错在:觉得“电压高一点更保险”,稳压管省掉;编码开关用 10kΩ 上拉。为什么错:距离一近感应电压飙高,第一板芯片就烧;四路 10kΩ 上拉吃掉 1.2mA,本来只有 3mA 的预算直接见底,表现为“近距离正常、稍远就死”。怎么答对:限压必须加,钳在芯片允许电压;上拉电阻按预算倒推,300kΩ 量级即可,四路合计约 40μA;每一版板子都实测总电流,写进报告的功耗表。
5.3 改错题演练:三段“看起来对”的描述,各找一处致命问题
材料一:“本系统采用 13.56MHz 载频,线圈电感 12.9μH,谐振电容取 10pF。”问题在电容数量级:按 f=1/(2π√(LC)) 反算,12.9μH 配 13.56MHz 需要约 10.7pF,看似对得上,但线圈的杂散电容本身就有几皮法,同量级,实际谐振点根本控不住,这是“算得出但做不出”的典型。改法是降载频到几兆赫兹,让谐振电容回到几十上百皮法。
材料二:“反向链路采用负载调制,在近距离调好调制深度后即固定,实测 5cm 处正确率 100%。”问题在只有单点数据:调制深度随距离衰减,5cm 好不代表 20cm 好,题目要求的恰恰是“在 D 尽可能大的情况下”保持正确率。改法是给出 5cm 到最远距离的多点正确率表,并说明调制深度在远端的下限。
材料三:“应答器采用两节干电池供电,单片机主频 8MHz 全速运行,实测工作电流 4mA。”问题在发挥部分不允许电池,而且 4mA 远超线圈能提供的 3mA。改法是切到无源方案,主频降下来、间歇唤醒、去掉一切非必要外设,把总电流压到 700μA 以内。
提示:改错题练的不是挑错能力,是“看到数字就条件反射地估算”的习惯。凡是出现频率、电容、电流、距离的地方,都值得停下来算一遍量级。
6. 测试数据与设计报告:50 分报告分的拿法与押题方向
测试部分的分值是 8 分,但它影响的不止 8 分——评审看报告时,先翻的是数据表,数据表不专业,前面的方案写得再漂亮也会被打折。做法上没什么技巧,就是重复测量取平均。阅读器电源功率连测五次,每次记电压和电流,算成功率列表取平均;识别功能测五次,记录预置值和读出值是否一致、响应时间多少;最远距离测五次,固定阅读器、慢慢移动应答器,读到灯亮为止,正反两个方向各测一次取中间位置,再平均。三次测试的记录方式统一,表格整齐,误差分析写一句“距离读数受手动移动速度影响,误差约 ±1cm”,专业度立刻不一样。
报告的 50 分怎么分布,值得对着写
本文还有配套的精品资源,点击获取