包岱遠(yuǎn), 潘俊濤, 李偉堅
(廣西電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,廣西 南寧 530023)
非接觸購電卡和智能電能表是智能電網(wǎng)的重要組成部分,對于解決部分通信網(wǎng)絡(luò)不發(fā)達(dá)地區(qū)充值繳費問題具有十分明顯的作用,目前已在電力公司廣泛應(yīng)用[1-3]。當(dāng)前非接觸購電卡和電能表廣泛使用NFC無線通信技術(shù),以實現(xiàn)信息交互。但由于NFC標(biāo)簽生產(chǎn)廠家不同,技術(shù)水平不一致,所以導(dǎo)致產(chǎn)品性能差異,部分生產(chǎn)廠家的產(chǎn)品在出廠前未經(jīng)過嚴(yán)格測試,導(dǎo)致同一廠家不同批次的標(biāo)簽也可能存在較大的性能差異[4-8]。因此,在購電卡投入使用前,對其進行各方面的性能測試,具有十分重要的意義。
基于此,本文設(shè)計一種基于嵌入式平臺的NFC購電卡通信測試儀,通過內(nèi)置的模擬前端及天線,產(chǎn)生符合要求的電磁場,為NFC購電卡提供供電并進行數(shù)據(jù)通信,以實現(xiàn)對NFC購電卡各項參數(shù)的測試。另外,配合本文設(shè)計的通信測試儀交互軟件,實現(xiàn)對電磁場等各項參數(shù)進行適應(yīng)性調(diào)整,提高測試儀的適用性。
NFC近場通信技術(shù)是一種厘米級短距離非接觸式無線通信技術(shù),工作頻帶為13.56 MHz,通信的有效距離在10 cm以內(nèi),理論上最高速率可達(dá)1 Mb/s左右。NFC的通信模式主要有主動和被動兩種模式。
(1) 在主動模式下,NFC發(fā)起設(shè)備先產(chǎn)生射頻電磁場,NFC目標(biāo)設(shè)備應(yīng)答發(fā)起設(shè)備后,也產(chǎn)生射頻電磁場,雙方形成對等網(wǎng)絡(luò)通信模式,實現(xiàn)快速的連接過程,可實現(xiàn)對等的P2P通信,便于數(shù)據(jù)交換和傳輸。
(2) 在被動模式下,主設(shè)備作為目標(biāo)設(shè)備不產(chǎn)生射頻磁場,而是利用NFC閱讀器發(fā)送電磁場,并通過指令與主設(shè)備建立連接。本文所述的NFC購電卡即作為主設(shè)備工作在這種模式下,智能電能表內(nèi)置NFC閱讀器,能夠發(fā)送電磁場與購電卡建立通信連接。
本文設(shè)計的一種基于嵌入式平臺的NFC購電卡通信測試儀,由PC開發(fā)平臺、嵌入式開發(fā)平臺、模擬收發(fā)模塊和天線板構(gòu)成。PC開發(fā)平臺是用戶進行測試的操作控制平臺,用戶通過可視化圖形界面來操作測試儀,調(diào)整測試儀參數(shù),包括電磁場磁場強度、載波頻率、脈沖上升/下降時間等。測試儀主體是嵌入式開發(fā)平臺,使用Xilinx的Zedboard開發(fā)平臺,由PC進行信息交互與處理的ARM端及與前端模擬器件進行數(shù)據(jù)交互的FPGA端兩部分搭建而成。前端模擬收發(fā)模塊及射頻天線完成射頻信號的接收與發(fā)送,確保射頻信號的傳輸性能[9-10]。
PC控制器與測試儀間通過網(wǎng)口實現(xiàn)雙向數(shù)據(jù)通信。PC發(fā)送測試指令控制產(chǎn)生相應(yīng)的電磁場,ARM發(fā)送NFC購電卡返回的數(shù)據(jù)給PC端進行顯示。ARM與FPGA之間通過EMIO實現(xiàn)雙向SPI串行數(shù)據(jù)通信,最高速率可達(dá)5 Mb/s。ARM發(fā)送控制指令以及協(xié)議相關(guān)指令給FPGA,FPGA將購電卡返回的數(shù)據(jù)解調(diào)成基帶信號返回給ARM進行后續(xù)處理。FPGA與模擬前端通過8位總線單向傳遞數(shù)據(jù),速率由協(xié)議決定。模擬前端由高分辨率AD和功率放大器等模塊構(gòu)成。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
ARM具有較強的事務(wù)管理能力,負(fù)責(zé)與PC端和FPGA進行信息交互,整體邏輯實現(xiàn)和協(xié)議部分邏輯實現(xiàn)。ARM端主要實現(xiàn)與PC端相互通信的接口模塊、與FPGA端相互通信的接口模塊、數(shù)據(jù)存儲模塊、多種協(xié)議的協(xié)議棧模塊。ARM基本框圖如圖2所示。
ARM與PC端通過以太網(wǎng)接口進行數(shù)據(jù)傳輸,能夠滿足NFC通信協(xié)議規(guī)定的碼速率。ARM主控部分接收兩種命令:一種來自PC端的配置電磁場參數(shù)的命令,ARM解析該命令,并進行協(xié)議封裝轉(zhuǎn)發(fā)給FPGA進行后續(xù)處理;另一種基于NFC協(xié)議,與購電卡的信息交互命令,ARM對命令進行解析,封裝后轉(zhuǎn)發(fā)給FPGA實現(xiàn)后續(xù)處理高速串行總線提供ARM和FPGA之間的信息交互通道。
FPGA因其內(nèi)部不同邏輯模塊可并行執(zhí)行,同時處理不同事務(wù),具有很高的執(zhí)行效率,主要負(fù)責(zé)與ARM進行信息交互、部分協(xié)議解析、調(diào)制ARM發(fā)送的控制指令集交互指令、控制模擬前端產(chǎn)生電磁場、接收存儲購電卡返回的信號、解調(diào)信號、協(xié)議解析、存儲轉(zhuǎn)發(fā)給ARM以進行后續(xù)處理。FPGA部分功能示意圖如圖3所示。
串行通信接口提供FPGA和ARM的數(shù)據(jù)交換通道;FPGA采集到的數(shù)據(jù)緩存在RAM和FIFO資源中,通過數(shù)據(jù)轉(zhuǎn)發(fā)控制模塊實現(xiàn)數(shù)據(jù)存儲轉(zhuǎn)發(fā)機制;根據(jù)NFC協(xié)議,FPGA上實現(xiàn)調(diào)制鏈路和解調(diào)鏈路,調(diào)制鏈路主要用于傳輸檢錯、Miller編碼、OOK調(diào)制、成幀、波形映射產(chǎn)生基帶信號,控制DDS產(chǎn)生載波。解調(diào)鏈路實現(xiàn)負(fù)載調(diào)制、解調(diào)、解幀、Manchester解碼、傳輸檢錯、串并轉(zhuǎn)換等功能;FPGA實現(xiàn)對ARM命令的解析,根據(jù)解析結(jié)果書寫DDS、DA等器件的寄存器,控制DDS、DA、時鐘等模塊,配置電磁場參數(shù),產(chǎn)生符合用戶需求的信號。
模擬前端包括放大衰減電路、收發(fā)天線,實現(xiàn)射頻信號的接收、發(fā)送、濾波、功率調(diào)節(jié)等,確保無線信號的傳輸性能,模擬前端的性能直接影響到測試儀的物理性能。天線板按照NFC所采用的無線頻段專門設(shè)計,可以適配12.56~13.56 MHz的無線信號。模擬前端示意圖如圖4所示。
FPGA為模擬板卡提供基帶信號和載波信號,通過模擬乘法器相乘,產(chǎn)生ASK信號,經(jīng)放大器和功放將信號放大,通過天線即可將信號發(fā)送到信道中。同樣,天線接收購電卡返回的消息,經(jīng)包絡(luò)檢波后AD采集,將數(shù)據(jù)傳送給FPGA,供FPGA進行后續(xù)處理。其中,AD選用Σ-Δ模數(shù)轉(zhuǎn)換芯片,分辨率可達(dá)14 bit,IQ采樣率高達(dá)40 MS/s。
NFC購電卡和電能表的基本通信過程為:電能表將信息編碼、調(diào)制后通過天線發(fā)送到信道中;購電卡從信道中獲得模擬射頻信號,再經(jīng)解調(diào)、解碼后得到NFC電能表發(fā)送的指令信息;購電卡對電表信息作出響應(yīng),并將響應(yīng)信息編碼,經(jīng)負(fù)載調(diào)制返回到信道;電能表從信道中獲取購電卡的射頻響應(yīng)信號,經(jīng)解調(diào)、解碼獲得響應(yīng)報文后,根據(jù)判定,發(fā)送下一條指令。
NFC購電卡測試儀通過模擬NFC電能表向購電卡發(fā)送指令,并解析購電卡響應(yīng)來對購電卡進行測試。因此,NFC購電卡測試儀需要模擬NFC電能表的基本功能,包括信息編碼、調(diào)制以及響應(yīng)解調(diào)、解碼。本文基于ISO/IEC 14443 TypeA協(xié)議,設(shè)計了一種調(diào)制解調(diào)模塊,實現(xiàn)了測試儀對基帶數(shù)據(jù)進行Miller編碼,并進行ASK調(diào)制,對購電卡返回的Manchester編碼、ASK調(diào)制信息進行解調(diào)、解碼。
模擬信號ASK調(diào)制方法的基本原理是將需要傳送的信息調(diào)制到載波幅度上,而數(shù)字信號中ASK的本質(zhì)與模擬信號中幅度調(diào)整基本相同,區(qū)別在于使用二進制編碼對載頻信號進行數(shù)字式相乘。因此,實現(xiàn)的基帶信號中只有0和1兩種情況,乘法的物理意義相當(dāng)于將開啟或者關(guān)閉載頻的輸出,即當(dāng)基帶信號為1時,開啟載波,而基帶信號為0時,關(guān)閉載波。通過鍵控信號(OOK)使用二進制開關(guān)代替模擬的相乘器件,基帶信號為1時開關(guān)電路導(dǎo)通,載波傳輸,基帶信號為0時開關(guān)電路切斷,無載波傳輸。
購電卡負(fù)載調(diào)制,需要將響應(yīng)數(shù)據(jù)調(diào)制到約848 kHz的副載波,再將副載波調(diào)制到13.56 MHz的載波。因此,測試儀需要對接收到的響應(yīng)數(shù)據(jù)進行兩次解調(diào),才能獲取基帶碼流。購電卡的兩次調(diào)制方式均為ASK調(diào)制,區(qū)別在于調(diào)制深度不一致。本解調(diào)系統(tǒng)主要研究ASK信號的解調(diào)。對于幅度調(diào)制的實正弦信號,其解析信息表現(xiàn)在瞬時包絡(luò)上。ASK先通過正交變換生成兩路正交信號,通過兩路正交信號計算信號的瞬時幅度,再對瞬時幅度做低通濾波和抽樣判決獲得解調(diào)結(jié)果。
FPGA控制著整個購電卡測試儀的數(shù)據(jù)傳輸,用戶通過FPGA控制所有來自ARM的數(shù)據(jù)和命令的收發(fā),對數(shù)據(jù)進行處理后,發(fā)送給模擬收發(fā)模塊。整個FPGA傳輸控制模塊分為4個功能層次,分別為ARM通信接口層、數(shù)據(jù)存儲層、功能實現(xiàn)層和模擬收發(fā)控制層。ARM接口層實現(xiàn)串行通信驅(qū)動,基于該通信可以與ARM進行數(shù)據(jù)通信;數(shù)據(jù)存儲層基于RAM、FIFO等實現(xiàn)數(shù)據(jù)存儲,同時設(shè)計實現(xiàn)適用于本系統(tǒng)的存儲轉(zhuǎn)發(fā)機制;功能實現(xiàn)層實現(xiàn)基于NFC協(xié)議的協(xié)議解析,根據(jù)功能可分為調(diào)制鏈路和解調(diào)鏈路。調(diào)制鏈路主要實現(xiàn)傳輸檢錯、Miller編碼、OOK調(diào)制、成幀、波形映射產(chǎn)生基帶信號,控制DDS產(chǎn)生載波。解調(diào)鏈路用于實現(xiàn)副載波解調(diào)、解幀、Manchester解碼、傳輸檢錯、串并轉(zhuǎn)換等;模擬收發(fā)控制層根據(jù)ARM的控制指令,書寫DDS、DA等器件的寄存器,控制DDS、DA、時鐘等模塊,配置電場參數(shù)產(chǎn)生相應(yīng)的信號。
FPGA實現(xiàn)調(diào)制功能,主要通過兩方面實現(xiàn):一是將ARM發(fā)送的指令調(diào)制成符合相應(yīng)協(xié)議的碼流,再通過模擬前端發(fā)送至信道中。實現(xiàn)該功能,主要包括與ARM進行數(shù)據(jù)通信,根據(jù)NFC協(xié)議映射碼流,將碼流傳遞給模擬前端。映射碼流主要通過FPGA編程實現(xiàn)協(xié)議中數(shù)據(jù)的排列整理、成幀、編碼、校驗等過程。二是根據(jù)ARM的控制指令,控制DDS產(chǎn)生相應(yīng)載波,從而達(dá)到修改電磁場參數(shù)的目的。調(diào)制鏈路如圖5所示。
FPGA實現(xiàn)解調(diào)功能,主要實現(xiàn)將模擬前端采集的數(shù)據(jù)解調(diào)、解碼,存儲,并將數(shù)據(jù)通過串行接口傳遞給ARM做后續(xù)處理。采集模擬前端的數(shù)據(jù)直接采用AD采集,解調(diào)方式和解碼方式根據(jù)具體協(xié)議規(guī)定處理,結(jié)果數(shù)據(jù)存在RAM中。
調(diào)制模塊主要針對ARM發(fā)送的與購電卡進行數(shù)據(jù)交互的命令及信息交互的數(shù)據(jù)包進行協(xié)議解析和調(diào)制。根據(jù)ISO/IEC 14443 Type A協(xié)議,PCD采用Miller編碼,根據(jù)標(biāo)準(zhǔn)Miller編碼分為3種序列:序列X,在1 bit時鐘周期內(nèi),后一半時鐘周期內(nèi)有低電平持續(xù)時間,即有調(diào)制;序列Y,1 bit時鐘周期內(nèi),沒有低電平持續(xù)時間,即沒有調(diào)制;序列Z,在1 bit時鐘周期內(nèi),前一半時鐘周期內(nèi)有低電平持續(xù)時間,即有調(diào)制。當(dāng)發(fā)送數(shù)據(jù)為邏輯1時,發(fā)送序列X;當(dāng)發(fā)送數(shù)據(jù)為邏輯0時,發(fā)送序列Y;若兩個及連續(xù)邏輯0時,從第二個0開始,發(fā)送序列Z;若起始標(biāo)志后直接連接0,則所有0均使用序列Z;幀起始使用序列Z;幀結(jié)束使用序列Y;持續(xù)兩個Bit周期以上的序列Y即表示無信息發(fā)送。改進型Miller編碼實現(xiàn)原理如圖6所示。
使能信號控制Miller編碼模塊的開啟或關(guān)閉。編碼的主要流程為先將載波頻率進行128分頻生成時鐘信號,該時鐘信號與基帶NRZ碼進行異或,異或得到的信號與13.56 MHz信號輸入計數(shù)器,即得到改進型Miller編碼。
OOK調(diào)制采用數(shù)字信號處理實現(xiàn),使用改進型Miller碼流控制基帶信號電平。為適應(yīng)脈沖上升時間可以配置的特性,由基帶碼流值模擬基帶信號采用映射的機制,其原理為當(dāng)檢測到基帶信號為低電平時,采用RAM內(nèi)存儲的值,而不是固定的低電平輸出值。該方式通過控制凹槽內(nèi)的電平輸出值,從而控制脈沖上升時間。OOK調(diào)制與基帶映射原理如圖7所示。
NFC購電卡采用ASK副載波調(diào)制。副載波調(diào)制的特點是需要對信號進行兩次解調(diào)。常見的ASK解調(diào)方法包括包絡(luò)檢波和相干解調(diào)。相干解調(diào)在高性能接收機中普遍使用,但相干解調(diào)需要接收機與載波完全同步,在100%ASK調(diào)制時,載波完全消失,因此簡單的時鐘提取電路不能精確地提取時鐘。此外,相干解調(diào)步進會大幅度衰減信號幅度,而且會產(chǎn)生高頻分量,后續(xù)處理比較繁瑣。包絡(luò)檢波具有結(jié)構(gòu)簡單的優(yōu)點,由于使用無源器件實現(xiàn),沒有靜態(tài)功耗,解調(diào)過程中不會產(chǎn)生高次諧波,處理的電路結(jié)構(gòu)較簡單。
NFC購電卡測試儀的AD采樣率設(shè)計為10倍于副載波頻率,AD采樣后將數(shù)據(jù)傳遞到FPGA中進行后續(xù)處理。傳統(tǒng)ASK解調(diào)流程,輸入的信號進行Hilbert變換,得到相互正交的兩路信號,將兩路信號求絕對值,取平均后相加,用低通濾波器濾波,判決后采樣,得到該ASK調(diào)制信號的基帶信號。
該方法對于雙極性且副載波為正弦波的情況下,具有良好的解調(diào)能力,但在副載波為非典型波形的情況下,解調(diào)方案效果很差。由于實際應(yīng)用中接收到購電卡信號多為非典型波,且存在單極性情況,因此解調(diào)效果很差。為解決該問題,接收數(shù)據(jù)鏈路采用將包絡(luò)檢波后的數(shù)據(jù)直接使用AD采集至FPGA,使用中值判決的方法進行初步判決。本測試儀對傳統(tǒng)解調(diào)方式進行改進,以同步采樣方式代替數(shù)學(xué)運算,兼容了多種載波波形的解調(diào),使解調(diào)的誤碼率在極大程度上降低,提高了系統(tǒng)性能。
NFC購電卡測試儀提供用戶交互軟件,允許用戶配置儀器參數(shù),查看通信數(shù)據(jù)等。NFC購電卡測試儀交互軟件界面如圖8所示。
交互軟件除可完成基本的參數(shù)配置和通信數(shù)據(jù)顯示外,還支持查看購電卡模擬IQ數(shù)據(jù),并從時域、頻域中分析IQ數(shù)據(jù),得到信號調(diào)制深度、脈沖上升/下降時間、脈沖寬度、相位偏移、散射功率、占用帶寬、帶內(nèi)功率、臨道泄漏功率等測試參數(shù)。
本文設(shè)計研發(fā)的基于嵌入式平臺的NFC購電卡通信測試儀如圖9所示。
本文提出的NFC購電卡通信測試儀硬件主要包括觸摸屏、鍵盤、外置線圈天線、射頻信號收發(fā)、GPS、3G/4G、嵌入式計算機等模塊,通過集成技術(shù),整機體積約為手提式機箱大小,便于攜帶,并且提供多種用戶接口,方便功能擴展。
在進行NFC購電卡性能測試時,首先將采集線圈置于輸出線圈和NFC購電卡之間;然后將NFC購電卡通信測試儀正確連接后,在用戶軟件中配置要發(fā)送的指令流,點擊發(fā)送按鈕,測試儀采集到設(shè)備發(fā)出的信號和NFC購電卡返回的響應(yīng)信號。NFC購電卡與通信測試儀通信信號截圖如圖10所示,其中幅度變化大的是NFC購電卡通信測試儀發(fā)出的命令信號,幅度變化小的是NFC購電卡的響應(yīng)信號。
選中一段NFC購電卡通信測試儀發(fā)送的信號及響應(yīng)信號,點擊用戶交互軟件“分析”按鈕,可得到通信指令信息及信號的頻譜分析結(jié)果如圖11、圖12所示,其中Tx Data為NFC購電卡通信測試儀發(fā)出的命令,Rx Data為NFC購電卡的響應(yīng)。
為驗證通信測試儀對不同NFC購電卡的測試能力,本文選取3張不同批次的NFC購電卡,在10 cm測試距離上進行測試,得到測試結(jié)果。不同批次NFC購電卡在相同距離下的測試結(jié)果如表1所示。
表1 不同批次NFC購電卡在相同距離下的測試結(jié)果
測試的3張卡片在最小識別功率、最小功率下的標(biāo)簽響應(yīng)功率及鏈接時間T1這3個指標(biāo)上相當(dāng),但在響應(yīng)信號的占用帶寬上差異較大。
為解決不同生產(chǎn)廠家生產(chǎn)技術(shù)條件不同導(dǎo)致的NFC購電卡性能存在差異問題,本文基于嵌入式開發(fā)平臺設(shè)計了一種NFC購電卡通信測試儀,用于檢測不同廠家或同一廠家不同批次NFC購電卡性能情況。NFC購電卡通信測試儀由PC開發(fā)平臺、嵌入式開發(fā)平臺、模擬收發(fā)模塊和天線板構(gòu)成,其中嵌入式平臺是核心,嵌入式平臺中使用FPGA完成無線通信中的調(diào)制解調(diào)、編碼解碼工作,具有高效的特點。NFC購電卡通信測試儀提供用戶交互軟件,能夠?qū)崟r控制儀器的輸出參數(shù),使測試儀具有更廣泛的適用性。通過研制樣機進行實際測試應(yīng)用后發(fā)現(xiàn),本文提出的基于嵌入式平臺的NFC購電卡通信測試儀具有較好的實用性和推廣應(yīng)用價值。