基于嵌入式平台的NFC购电卡通信测试仪设计与实现*
2020-04-01包岱远潘俊涛李伟坚
包岱远, 潘俊涛, 李伟坚
(广西电网有限责任公司电力科学研究院,广西 南宁 530023)
0 引 言
非接触购电卡和智能电能表是智能电网的重要组成部分,对于解决部分通信网络不发达地区充值缴费问题具有十分明显的作用,目前已在电力公司广泛应用[1-3]。当前非接触购电卡和电能表广泛使用NFC无线通信技术,以实现信息交互。但由于NFC标签生产厂家不同,技术水平不一致,所以导致产品性能差异,部分生产厂家的产品在出厂前未经过严格测试,导致同一厂家不同批次的标签也可能存在较大的性能差异[4-8]。因此,在购电卡投入使用前,对其进行各方面的性能测试,具有十分重要的意义。
基于此,本文设计一种基于嵌入式平台的NFC购电卡通信测试仪,通过内置的模拟前端及天线,产生符合要求的电磁场,为NFC购电卡提供供电并进行数据通信,以实现对NFC购电卡各项参数的测试。另外,配合本文设计的通信测试仪交互软件,实现对电磁场等各项参数进行适应性调整,提高测试仪的适用性。
1 NFC购电卡原理
NFC近场通信技术是一种厘米级短距离非接触式无线通信技术,工作频带为13.56 MHz,通信的有效距离在10 cm以内,理论上最高速率可达1 Mb/s左右。NFC的通信模式主要有主动和被动两种模式。
(1) 在主动模式下,NFC发起设备先产生射频电磁场,NFC目标设备应答发起设备后,也产生射频电磁场,双方形成对等网络通信模式,实现快速的连接过程,可实现对等的P2P通信,便于数据交换和传输。
(2) 在被动模式下,主设备作为目标设备不产生射频磁场,而是利用NFC阅读器发送电磁场,并通过指令与主设备建立连接。本文所述的NFC购电卡即作为主设备工作在这种模式下,智能电能表内置NFC阅读器,能够发送电磁场与购电卡建立通信连接。
2 通信测试仪设计
2.1 系统设计
本文设计的一种基于嵌入式平台的NFC购电卡通信测试仪,由PC开发平台、嵌入式开发平台、模拟收发模块和天线板构成。PC开发平台是用户进行测试的操作控制平台,用户通过可视化图形界面来操作测试仪,调整测试仪参数,包括电磁场磁场强度、载波频率、脉冲上升/下降时间等。测试仪主体是嵌入式开发平台,使用Xilinx的Zedboard开发平台,由PC进行信息交互与处理的ARM端及与前端模拟器件进行数据交互的FPGA端两部分搭建而成。前端模拟收发模块及射频天线完成射频信号的接收与发送,确保射频信号的传输性能[9-10]。
PC控制器与测试仪间通过网口实现双向数据通信。PC发送测试指令控制产生相应的电磁场,ARM发送NFC购电卡返回的数据给PC端进行显示。ARM与FPGA之间通过EMIO实现双向SPI串行数据通信,最高速率可达5 Mb/s。ARM发送控制指令以及协议相关指令给FPGA,FPGA将购电卡返回的数据解调成基带信号返回给ARM进行后续处理。FPGA与模拟前端通过8位总线单向传递数据,速率由协议决定。模拟前端由高分辨率AD和功率放大器等模块构成。系统结构框图如图1所示。
2.2 ARM逻辑系统
ARM具有较强的事务管理能力,负责与PC端和FPGA进行信息交互,整体逻辑实现和协议部分逻辑实现。ARM端主要实现与PC端相互通信的接口模块、与FPGA端相互通信的接口模块、数据存储模块、多种协议的协议栈模块。ARM基本框图如图2所示。
ARM与PC端通过以太网接口进行数据传输,能够满足NFC通信协议规定的码速率。ARM主控部分接收两种命令:一种来自PC端的配置电磁场参数的命令,ARM解析该命令,并进行协议封装转发给FPGA进行后续处理;另一种基于NFC协议,与购电卡的信息交互命令,ARM对命令进行解析,封装后转发给FPGA实现后续处理高速串行总线提供ARM和FPGA之间的信息交互通道。
2.3 FPGA逻辑系统
FPGA因其内部不同逻辑模块可并行执行,同时处理不同事务,具有很高的执行效率,主要负责与ARM进行信息交互、部分协议解析、调制ARM发送的控制指令集交互指令、控制模拟前端产生电磁场、接收存储购电卡返回的信号、解调信号、协议解析、存储转发给ARM以进行后续处理。FPGA部分功能示意图如图3所示。
串行通信接口提供FPGA和ARM的数据交换通道;FPGA采集到的数据缓存在RAM和FIFO资源中,通过数据转发控制模块实现数据存储转发机制;根据NFC协议,FPGA上实现调制链路和解调链路,调制链路主要用于传输检错、Miller编码、OOK调制、成帧、波形映射产生基带信号,控制DDS产生载波。解调链路实现负载调制、解调、解帧、Manchester解码、传输检错、串并转换等功能;FPGA实现对ARM命令的解析,根据解析结果书写DDS、DA等器件的寄存器,控制DDS、DA、时钟等模块,配置电磁场参数,产生符合用户需求的信号。
2.4 模拟前端
模拟前端包括放大衰减电路、收发天线,实现射频信号的接收、发送、滤波、功率调节等,确保无线信号的传输性能,模拟前端的性能直接影响到测试仪的物理性能。天线板按照NFC所采用的无线频段专门设计,可以适配12.56~13.56 MHz的无线信号。模拟前端示意图如图4所示。
FPGA为模拟板卡提供基带信号和载波信号,通过模拟乘法器相乘,产生ASK信号,经放大器和功放将信号放大,通过天线即可将信号发送到信道中。同样,天线接收购电卡返回的消息,经包络检波后AD采集,将数据传送给FPGA,供FPGA进行后续处理。其中,AD选用Σ-Δ模数转换芯片,分辨率可达14 bit,IQ采样率高达40 MS/s。
3 调制解调模块设计
NFC购电卡和电能表的基本通信过程为:电能表将信息编码、调制后通过天线发送到信道中;购电卡从信道中获得模拟射频信号,再经解调、解码后得到NFC电能表发送的指令信息;购电卡对电表信息作出响应,并将响应信息编码,经负载调制返回到信道;电能表从信道中获取购电卡的射频响应信号,经解调、解码获得响应报文后,根据判定,发送下一条指令。
NFC购电卡测试仪通过模拟NFC电能表向购电卡发送指令,并解析购电卡响应来对购电卡进行测试。因此,NFC购电卡测试仪需要模拟NFC电能表的基本功能,包括信息编码、调制以及响应解调、解码。本文基于ISO/IEC 14443 TypeA协议,设计了一种调制解调模块,实现了测试仪对基带数据进行Miller编码,并进行ASK调制,对购电卡返回的Manchester编码、ASK调制信息进行解调、解码。
3.1 调制解调原理
模拟信号ASK调制方法的基本原理是将需要传送的信息调制到载波幅度上,而数字信号中ASK的本质与模拟信号中幅度调整基本相同,区别在于使用二进制编码对载频信号进行数字式相乘。因此,实现的基带信号中只有0和1两种情况,乘法的物理意义相当于将开启或者关闭载频的输出,即当基带信号为1时,开启载波,而基带信号为0时,关闭载波。通过键控信号(OOK)使用二进制开关代替模拟的相乘器件,基带信号为1时开关电路导通,载波传输,基带信号为0时开关电路切断,无载波传输。
购电卡负载调制,需要将响应数据调制到约848 kHz的副载波,再将副载波调制到13.56 MHz的载波。因此,测试仪需要对接收到的响应数据进行两次解调,才能获取基带码流。购电卡的两次调制方式均为ASK调制,区别在于调制深度不一致。本解调系统主要研究ASK信号的解调。对于幅度调制的实正弦信号,其解析信息表现在瞬时包络上。ASK先通过正交变换生成两路正交信号,通过两路正交信号计算信号的瞬时幅度,再对瞬时幅度做低通滤波和抽样判决获得解调结果。
3.2 FPGA调制解调模块整体设计
FPGA控制着整个购电卡测试仪的数据传输,用户通过FPGA控制所有来自ARM的数据和命令的收发,对数据进行处理后,发送给模拟收发模块。整个FPGA传输控制模块分为4个功能层次,分别为ARM通信接口层、数据存储层、功能实现层和模拟收发控制层。ARM接口层实现串行通信驱动,基于该通信可以与ARM进行数据通信;数据存储层基于RAM、FIFO等实现数据存储,同时设计实现适用于本系统的存储转发机制;功能实现层实现基于NFC协议的协议解析,根据功能可分为调制链路和解调链路。调制链路主要实现传输检错、Miller编码、OOK调制、成帧、波形映射产生基带信号,控制DDS产生载波。解调链路用于实现副载波解调、解帧、Manchester解码、传输检错、串并转换等;模拟收发控制层根据ARM的控制指令,书写DDS、DA等器件的寄存器,控制DDS、DA、时钟等模块,配置电场参数产生相应的信号。
FPGA实现调制功能,主要通过两方面实现:一是将ARM发送的指令调制成符合相应协议的码流,再通过模拟前端发送至信道中。实现该功能,主要包括与ARM进行数据通信,根据NFC协议映射码流,将码流传递给模拟前端。映射码流主要通过FPGA编程实现协议中数据的排列整理、成帧、编码、校验等过程。二是根据ARM的控制指令,控制DDS产生相应载波,从而达到修改电磁场参数的目的。调制链路如图5所示。
FPGA实现解调功能,主要实现将模拟前端采集的数据解调、解码,存储,并将数据通过串行接口传递给ARM做后续处理。采集模拟前端的数据直接采用AD采集,解调方式和解码方式根据具体协议规定处理,结果数据存在RAM中。
3.3 调制模块设计
调制模块主要针对ARM发送的与购电卡进行数据交互的命令及信息交互的数据包进行协议解析和调制。根据ISO/IEC 14443 Type A协议,PCD采用Miller编码,根据标准Miller编码分为3种序列:序列X,在1 bit时钟周期内,后一半时钟周期内有低电平持续时间,即有调制;序列Y,1 bit时钟周期内,没有低电平持续时间,即没有调制;序列Z,在1 bit时钟周期内,前一半时钟周期内有低电平持续时间,即有调制。当发送数据为逻辑1时,发送序列X;当发送数据为逻辑0时,发送序列Y;若两个及连续逻辑0时,从第二个0开始,发送序列Z;若起始标志后直接连接0,则所有0均使用序列Z;帧起始使用序列Z;帧结束使用序列Y;持续两个Bit周期以上的序列Y即表示无信息发送。改进型Miller编码实现原理如图6所示。
使能信号控制Miller编码模块的开启或关闭。编码的主要流程为先将载波频率进行128分频生成时钟信号,该时钟信号与基带NRZ码进行异或,异或得到的信号与13.56 MHz信号输入计数器,即得到改进型Miller编码。
OOK调制采用数字信号处理实现,使用改进型Miller码流控制基带信号电平。为适应脉冲上升时间可以配置的特性,由基带码流值模拟基带信号采用映射的机制,其原理为当检测到基带信号为低电平时,采用RAM内存储的值,而不是固定的低电平输出值。该方式通过控制凹槽内的电平输出值,从而控制脉冲上升时间。OOK调制与基带映射原理如图7所示。
3.4 解调模块设计
NFC购电卡采用ASK副载波调制。副载波调制的特点是需要对信号进行两次解调。常见的ASK解调方法包括包络检波和相干解调。相干解调在高性能接收机中普遍使用,但相干解调需要接收机与载波完全同步,在100%ASK调制时,载波完全消失,因此简单的时钟提取电路不能精确地提取时钟。此外,相干解调步进会大幅度衰减信号幅度,而且会产生高频分量,后续处理比较繁琐。包络检波具有结构简单的优点,由于使用无源器件实现,没有静态功耗,解调过程中不会产生高次谐波,处理的电路结构较简单。
NFC购电卡测试仪的AD采样率设计为10倍于副载波频率,AD采样后将数据传递到FPGA中进行后续处理。传统ASK解调流程,输入的信号进行Hilbert变换,得到相互正交的两路信号,将两路信号求绝对值,取平均后相加,用低通滤波器滤波,判决后采样,得到该ASK调制信号的基带信号。
该方法对于双极性且副载波为正弦波的情况下,具有良好的解调能力,但在副载波为非典型波形的情况下,解调方案效果很差。由于实际应用中接收到购电卡信号多为非典型波,且存在单极性情况,因此解调效果很差。为解决该问题,接收数据链路采用将包络检波后的数据直接使用AD采集至FPGA,使用中值判决的方法进行初步判决。本测试仪对传统解调方式进行改进,以同步采样方式代替数学运算,兼容了多种载波波形的解调,使解调的误码率在极大程度上降低,提高了系统性能。
4 软件设计
NFC购电卡测试仪提供用户交互软件,允许用户配置仪器参数,查看通信数据等。NFC购电卡测试仪交互软件界面如图8所示。
交互软件除可完成基本的参数配置和通信数据显示外,还支持查看购电卡模拟IQ数据,并从时域、频域中分析IQ数据,得到信号调制深度、脉冲上升/下降时间、脉冲宽度、相位偏移、散射功率、占用带宽、带内功率、临道泄漏功率等测试参数。
5 应 用
本文设计研发的基于嵌入式平台的NFC购电卡通信测试仪如图9所示。
本文提出的NFC购电卡通信测试仪硬件主要包括触摸屏、键盘、外置线圈天线、射频信号收发、GPS、3G/4G、嵌入式计算机等模块,通过集成技术,整机体积约为手提式机箱大小,便于携带,并且提供多种用户接口,方便功能扩展。
在进行NFC购电卡性能测试时,首先将采集线圈置于输出线圈和NFC购电卡之间;然后将NFC购电卡通信测试仪正确连接后,在用户软件中配置要发送的指令流,点击发送按钮,测试仪采集到设备发出的信号和NFC购电卡返回的响应信号。NFC购电卡与通信测试仪通信信号截图如图10所示,其中幅度变化大的是NFC购电卡通信测试仪发出的命令信号,幅度变化小的是NFC购电卡的响应信号。
选中一段NFC购电卡通信测试仪发送的信号及响应信号,点击用户交互软件“分析”按钮,可得到通信指令信息及信号的频谱分析结果如图11、图12所示,其中Tx Data为NFC购电卡通信测试仪发出的命令,Rx Data为NFC购电卡的响应。
为验证通信测试仪对不同NFC购电卡的测试能力,本文选取3张不同批次的NFC购电卡,在10 cm测试距离上进行测试,得到测试结果。不同批次NFC购电卡在相同距离下的测试结果如表1所示。
表1 不同批次NFC购电卡在相同距离下的测试结果
测试的3张卡片在最小识别功率、最小功率下的标签响应功率及链接时间T1这3个指标上相当,但在响应信号的占用带宽上差异较大。
6 结 语
为解决不同生产厂家生产技术条件不同导致的NFC购电卡性能存在差异问题,本文基于嵌入式开发平台设计了一种NFC购电卡通信测试仪,用于检测不同厂家或同一厂家不同批次NFC购电卡性能情况。NFC购电卡通信测试仪由PC开发平台、嵌入式开发平台、模拟收发模块和天线板构成,其中嵌入式平台是核心,嵌入式平台中使用FPGA完成无线通信中的调制解调、编码解码工作,具有高效的特点。NFC购电卡通信测试仪提供用户交互软件,能够实时控制仪器的输出参数,使测试仪具有更广泛的适用性。通过研制样机进行实际测试应用后发现,本文提出的基于嵌入式平台的NFC购电卡通信测试仪具有较好的实用性和推广应用价值。