郭俊俊 江西新明機械有限公司
引言:在科學技術不斷發展的背景下,近距離無線通信系統誕生,使數據傳輸技術得到進一步的優化和創新。其中,防碰撞算法能夠以時隙為單位分發數據包,從而實現防碰撞目標。在本文的研究中,首先對NFC系統的主要結構與編碼技術進行分析,并在位碼優化的基礎上對數據傳輸的防碰撞算法進行研究。
在NFC系統中,主要結構包括電子標簽、讀寫器、系統高層三部分。其中,電子標簽包括芯片與天線兩個部分,一般在物體上當作目標標識,在標簽的中具有唯一的識別碼,存儲一些特定信息;讀寫器也被稱為發起設備,能夠對電子標簽中的信息進行讀取;系統高層的主要作用在于對數據信息進行實時處理。
在NFC系統中,通過電感耦合的方式對通信雙方射頻信號進行傳輸,該模式中的諧振電路電感耦合能夠完成雙方數據與能量的傳輸。讀寫器中的線圈能夠使其四周充滿磁場,在目標設備通過時,在耦合作用下生成感應電壓,并以其為微型芯片電源展開工作。如若線圈的形狀為圓形,在位置上為水平狀態,則根據電磁感應定量能夠對線圈中的感應電壓進行計算,公式為:

式中,讀寫器線圈的數量為N1,目標設備的圈數為N2,半徑為R1與R2,兩線圈的圓心距為d。
由上述公式能夠看出,感應電壓與線圈的放置位置、大小、結構等具有一定關聯,同時還能夠得出,目標設備中的感應電壓與線圈間的距離存在負相關關系,當二者的距離越遠時,設備中產生的蒲河電壓數值越小;當二者距離越近時,產生的耦合電壓數值越大。因此,在實際工作中,應盡可能的縮短二者間的距離才能夠提高工作質量。
在NFC系統中應用較為頻繁的編碼類型為改進型Miller編碼與Manchester編碼。其中,前者是在Miller編碼的基礎上優化而成,利用負脈沖的方式使編碼中的各個邊沿被取代,在位周期開始后便開始產生電平交互,便于接收器為節拍的重建,其主要特征為:一是在碼元中間(“1”)或者開始處產生跳變;二是負脈沖的延續時間較短,在數據傳輸過程中能夠確保發起方連續不斷的為目標方提供能量,且較短的負脈沖能夠將能量全部匯集到寬帶當中,使目標設備的接收質量得到顯著提高。后者的電壓跳變可以用碼元“1”與“0”來表示,其中,碼元“1”代表電平由高到低的轉變,而碼元“0”則表示電平由低到高的轉變,該編碼的主要特點如下:一是含位同步時鐘,由于碼元之間出現跳變,因此接收端更容易提取位同步時鐘;而是不具備直流分量,對于一個碼元來說,其中的高低電平各站一般,因此無直流分量。
在SA算法中,采用幀時隙、動態時隙等方式,對以往隨機算法進行完善,并將動態搜索、回退搜索等方式引入到BTS算法當中,使該算法得以優化。隨著目標數量的不斷增加,BTS算法效率不斷降低,而SA算法的變化趨勢為先上升后降低,因此二者勢必會有一個重合之處,計算公式為:

式中,N代表的是目標數量,E代表兩種算法的重合之處。
通過計算可得N的值不小于7,也就是目標設備的數量范圍在1到6之間,此時BST算法中存在最高效率,且與SA算法相比在效率上占有優勢。隨著目標數值的不斷提高,如若使用上述方式,使每組中目標設備數量降低,則算法效率將得以提升。
本文基于確定性算法對防碰撞算法進行優化與改進,具體措施為:
(1)由發起端發出一個查詢指令REQUEST,將UID參數設置成全1序列,代表查詢序列號;將BN參數設置為0,代表位碼值。當目標設備接收指令后,采用隨機數發生器生成新的位碼,并將UID與BN參數反饋給發起端;
(2)當發起端接收到BN數值以后,分為三種情況,一種是BN數值為0,這代表著存在目標設備,操作完畢;另一種是BN中只有一位為1,也就是只有唯一的位碼,無碰撞現象,則全部設備都匯集到同個組中,對UID中是否存在碰撞現象進行檢測,如若存在則需要執行BTS算法,如若不存在則操作完畢;還有一種情況是BN中存在多個1,也就是由許多位碼,要想從中識別中最高位,使BNR位置為1,其他為0,則需要生成本組BNR,并將BN中的最高位變為0;
(3)在發起端對命令REQUEST進行發布,將其中全部UID設置為1,使BN與BNR的目標相同,在接受到指令以后迅速反饋,如若信號接收失敗,證明改組內已經不存在目標,這時需要重復上述(2)的操作;
(4)在對某一序列號進行識別后,采用SELECT命令對其狀態進行讀取,并完成數據傳輸,識別下一個設備,直至將全部設備都識別出來。
2.3.1 仿真過程
首先,點擊“start”按鈕,將UID模塊中從0轉變為12組相互獨立的4位二進制數據,并將state模塊設置成“READY”狀態,將統計模式設置為0;其次,通過Initiator將查詢命令REQUEST傳輸出去,UID的數值為1111,BN的數值為0000,將targets反饋的參數接收,從該數據中能夠看出,UID與BN中的數據出現了碰撞情況,也就是碼元之間沒有出現跳變情況。第三,將Initiator傳送到REQUEST當中,借助識別目標使BNR由1000逐漸降低到0001,通過分析碰撞發生后數值的變化情況得出UID的值。
2.3.2 仿真結果
(1)碰撞頻率。在BNBTS算法應用過程中共計產生11次碰撞,BTS算法應用中共計產生21次碰撞。碰撞的頻率越高意味著雙方產生交互的次數越多,時延越長。在本文研究的仿真實驗中,BTS算法產生的碰撞頻率幾乎是BNBTS算法的50%;
(2)查詢次數。根據碰撞頻率能夠對查詢次數進行計算,數值為碰撞頻率與targetss數量之和。在BNBTS算法中,查詢次數為23次,而BTS中為33次,相比來看,BTS算法的查詢次數超過BNBTS算法的30%;
(3)平均通信量。計算方式為傳輸比特數值與1/12的乘積,其中傳輸比特值的計算方式為targets傳輸的比特數與Initiator相加之和。通過計算可知,BNBTS算法的平均通信量為97.33bit,BTS算法為102.67bit。在實施過程中,當target為單一的情況下,也就是碰撞頻率為0、查詢次數為1時,與BTS算法相比,采用BNBTS算法需要加入更多的BN,在平均通信量上超出二倍。由于位碼BN存在明確的分組,碰撞頻率降低,而BTS算法的平均通信量又高于BNBTS算法,因此效果也將更加顯著。
結論:綜上所述,在本文的研究中主要對NFC的主要結構與編碼技術進行分析,并在位碼優化的基礎上對數據傳輸的防碰撞算法進行研究,首先介紹了算法的基本思想,然后在位碼優化的基礎上對二進制搜索算法的應用流程進行分析,最后通過仿真分析的方式,對防碰撞算法進行仿真實現,從碰撞頻率、查詢次數、平均通信量三個角度對仿真結果進行總結。