射頻識別技術——數據編碼

射頻識別技術中的調製方法一般使用調幅(AM),也就是將有用信號調製在載波的幅度上傳送出去。這裏的“有用信號”指用高低電平表示的數據“0”或“1”。那麼如何用高低電平表示數據“0”或“1”呢?最簡單的辦法就是用高電平表示“1”,用低電平表示“0”,這種代碼叫全寬碼,如下圖所示:
這裏寫圖片描述

這種編碼方式存在的最大缺陷就是數據容易失步。上圖的數據我們看的很清楚,但是想想如果發送方連續發送100個“0”或100個“1”,就會有100個單位的連續高電平或100個單位的連續低電平。這種情況下,接收方極有可能把數據的個數數錯,把100數成99或101,這就是數據失步。所以這種編碼很少直接採用。這就要求使用的編碼既能讓接收方知道發送方傳送的是“1”還是“0”,又能讓接收方正確分辨出每個二進制比特。實際的射頻識別技術中採用的數據編碼主要有以下幾種,它們都能滿足上述要求。

1.曼側斯特(Manchester)碼
如下圖所示,曼側斯特碼每位數據的中心都有跳變,上升沿表示數據“1”,下降沿表示數據“0”,或者反之。當發送連續的“0”或“1”時,則在數據的開始部分增加一個狀態轉換沿。
這裏寫圖片描述

2.兩相(Biphase)碼
兩相碼每位數據的開始處都有跳變,數據中心有跳變表示“1”,數據中心無跳變表示“0”,或者反之。

3.頻移鍵控(FSK)碼
頻移鍵控碼用不同的脈衝頻率表示數據,脈衝頻率高表示“1”,脈衝頻率低表示“0”,或者反之。

4.相移鍵控(FSK)碼
相移鍵控碼用數據的開始處有沒有相位翻轉表示數據的變化,有相位的翻轉表示數據發生了翻轉(上一位如果是“0”,則當前發送“1”;上一位如果是“1”,則當前發送“0”),無相位的翻轉表示數據沒有發生變化(上一位如果是“0”,則當前發送“0”;上一位如果是“1”,則當前發送“1”),或者反之。

5.米勒(Miller)碼
如圖,米勒碼用數據中心是否有跳變表示數據。數據中心有跳變表示“1”,數據中心無跳變表示“0”。當發送連續的“0”時,則在數據的開始處增加一個跳變防止失步。
這裏寫圖片描述

6.修正的米勒(Modified Miller)碼
修正的米勒碼是ISO14443A規定使用的數據編碼。數據中間有個窄脈衝表示“1”,數據中間沒有窄脈衝表示“0”,當有連續的“0”時,從第二個“0”開始在數據的起始部分增加一個窄脈衝。該標準還規定起始位的開始處也有一個窄脈衝,而結束位用“0”表示。如果有兩個連續的位開始和中間部分都沒有窄脈衝,則表示無信息。
這裏寫圖片描述

7.副載波調製的曼側斯特(Manchester)碼
副載波調製的曼側斯特碼也是ISO14443A規定使用的數據編碼,在卡片向PCD回送數據時使用。副載波調製碼元的右半部分表示數據“0”,副載波調製碼元的左半部分表示數據“1”。
這裏寫圖片描述

副載波並不是我們通常理解的正弦波,而是由卡片中的負載調製而引起的射頻場強度的變化。根據電磁感應原理我們知道,假如電磁場中有一個線圈,如果線圈不閉合,它對電磁場是沒有影響的;但是如果線圈閉合了,線圈中就會產生環流,從而消弱電磁場的強度。卡片中也有一個這樣的線圈,當卡片在讀寫器的射頻場中時,卡片可以控制這個線圈的開合從而引起讀寫器射頻場強度的變化,而這個變化的波形就是上圖中的一個個白豎條。這些白色豎條的頻率在國際標準中規定是13.56MHz/16=847KHz,並稱這些847KHz的條條爲副載波。產生這些副載波的辦法稱爲負載調製。卡片通過何時發送以及什麼位置發送這些白條條來向讀寫器回送數據。

射頻識別技術中採用的編碼方法還有許多種,有些是上述幾種的變形。但無論採用什麼編碼方法,其原則都應該是數據利於傳送和識別,且不能失步,有時候還要配合下面將要敘述的卡片防衝突。

原文出處:這裏寫鏈接內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章