高頻RFID標(biāo)簽曼徹斯特編碼電路的設(shè)計(jì)
射頻識(shí)別系統(tǒng)RFID(Radio Frequency Identification)由電子標(biāo)簽、閱讀器和應(yīng)用系統(tǒng)三部分構(gòu)成。電子標(biāo)簽中一般保存有約定格式的電子數(shù)據(jù),在實(shí)際應(yīng)用中,電子標(biāo)簽附著在待識(shí)別物體的表面。閱讀器可無(wú)接觸地讀取并識(shí)別電子標(biāo)簽中所保存的電子數(shù)據(jù),從而達(dá)到自動(dòng)識(shí)別物體的目的。應(yīng)用系統(tǒng)則通過(guò)計(jì)算機(jī)及計(jì)算機(jī)網(wǎng)絡(luò)對(duì)物體識(shí)別信息進(jìn)行采集、處理及遠(yuǎn)程傳送等工作。
本文引用地址:http://m.butianyuan.cn/article/81999.htm符合ISO/IEC15693標(biāo)準(zhǔn)的RFID系統(tǒng),其電子標(biāo)簽和閱讀器之間的載波頻率為13.56MHz。閱讀器通過(guò)脈沖位置編碼的方式將數(shù)據(jù)發(fā)送到電子標(biāo)簽,而電子標(biāo)簽又通過(guò)曼徹斯特編碼的方式將數(shù)據(jù)發(fā)送到閱讀器。本文將對(duì)基于該標(biāo)準(zhǔn)的電子標(biāo)簽中的曼徹斯特編碼模塊的設(shè)計(jì)進(jìn)行闡述。
1 曼徹斯特模塊的功能介紹
曼徹斯特碼是一種用跳變沿傳輸信息的編碼。與用電平傳輸信息的二進(jìn)制碼相比,具有如下優(yōu)點(diǎn):(1)波形在每一位元中間都有跳變,因此具有豐富的定時(shí)信息,便于接收端接收定時(shí)信息;(2)曼徹斯特碼在每一位中都有電平轉(zhuǎn)變,傳輸時(shí)無(wú)直流分量,可降低系統(tǒng)的功耗。因此,曼徹斯特編碼方式非常適用于RFID系統(tǒng)這種采用副載波的負(fù)載調(diào)制方式。
RFID系統(tǒng)遵循“閱讀器先說(shuō)”的原則,閱讀器發(fā)送請(qǐng)求信號(hào)給電子標(biāo)簽,電子標(biāo)簽的數(shù)字部分對(duì)請(qǐng)求信號(hào)進(jìn)行相應(yīng)的處理,并發(fā)出回復(fù)信息給閱讀器。
電子標(biāo)簽的數(shù)字部分框架如圖1所示。PPM解碼模塊接收模擬部分發(fā)送過(guò)來(lái)的信號(hào),將脈沖位置編碼方式的數(shù)據(jù)解碼成電子標(biāo)簽數(shù)字部分可識(shí)別的二進(jìn)制數(shù)據(jù),并將此二進(jìn)制數(shù)據(jù)發(fā)送到CRC校驗(yàn)?zāi)K和狀態(tài)機(jī)模塊。CRC校驗(yàn)?zāi)K確認(rèn)信號(hào)傳輸無(wú)誤后,狀態(tài)機(jī)對(duì)請(qǐng)求信號(hào)進(jìn)行處理并發(fā)出回復(fù)信號(hào)給CRC編碼模塊產(chǎn)生 CRC校驗(yàn)碼,最后由曼徹斯特編碼模塊將回復(fù)信號(hào)以及CRC校驗(yàn)碼一并以特定的脈沖形式發(fā)送給模擬部分進(jìn)行處理。
為了防止信息受干擾或相互碰撞,防止對(duì)某些信號(hào)特性的蓄意改變,曼徹斯特編碼要對(duì)標(biāo)簽回復(fù)的信息提供某種程度的保護(hù)??梢?jiàn),曼徹斯特編碼模塊對(duì)整個(gè)數(shù)字部分起著非常重要的作用。如果編碼不正確或者抗干擾能力不強(qiáng),閱讀器無(wú)法接收到正確的回復(fù)信號(hào),從而導(dǎo)致電子標(biāo)簽與閱讀器的通信失敗。
因此,為了準(zhǔn)確實(shí)現(xiàn)編碼的功能,需要在充分理解標(biāo)準(zhǔn)的基礎(chǔ)上,嚴(yán)格定義該模塊與狀態(tài)機(jī)之間的接口時(shí)序。
2 ISO/IEC15693標(biāo)準(zhǔn)編碼部分分析
根據(jù)ISO/IEC15693標(biāo)準(zhǔn),曼徹斯特編碼模塊必須支持兩種模式的載波:?jiǎn)屋d波和雙載波。系統(tǒng)的載波頻率Fc為13.56MHz。選擇單載波時(shí),載波fs1頻率為Fc/32(423.75kHz);選擇雙載波時(shí),載波fs1的頻率為Fc/32(423.75kHz),載波fs2的頻率為Fc/28 (484.28kHz),并且兩者的相位必須是連續(xù)的。同時(shí),曼徹斯特編碼模塊還必須支持兩種數(shù)據(jù)傳輸模式:高速模式和低速模式。具體的數(shù)據(jù)傳輸模式和載波選擇模式由閱讀器發(fā)送過(guò)來(lái)的請(qǐng)求信號(hào)決定。
為了節(jié)省功耗,采用頻率為Fc/4的時(shí)鐘作為工作時(shí)鐘。低速模式持續(xù)的時(shí)間和脈沖個(gè)數(shù)是高速模式的4倍,而且不同模式的載波對(duì)應(yīng)的編碼方式不同。下面以高速模式為例,對(duì)標(biāo)準(zhǔn)規(guī)定的編碼方式進(jìn)行介紹。
2.1單載波的位編碼
單載波的位編碼如圖2所示。邏輯0由8個(gè)頻率為Fc/32的脈沖開(kāi)始,然后是一段長(zhǎng)度為18.88μs的未調(diào)制時(shí)間;而邏輯1則由一段長(zhǎng)度為18.88μs的未調(diào)制時(shí)間開(kāi)始,然后是8個(gè)頻率為Fc/32的脈沖。編碼一位數(shù)據(jù)所用的時(shí)間為37.76μs。
2.2 雙載波的位編碼
雙載波的位編碼如圖3所示。邏輯0由8個(gè)頻率為Fc/32的脈沖(共18.88μs)開(kāi)始,緊接著是9個(gè)頻率為Fc/28的脈沖;而邏輯1由9個(gè)頻率為Fc/28的脈沖(共18.58μs)開(kāi)始,緊接著為8個(gè)頻率是Fc/32的脈沖。
2.3 單載波的起始標(biāo)志和結(jié)束標(biāo)志
閱讀器和電子標(biāo)簽的對(duì)話以幀的形式進(jìn)行,幀的起始標(biāo)志是SOF(Start of Frame),結(jié)束標(biāo)志是EOF(End of Frame)。單載波的SOF和EOF如圖4所示。單載波的SOF包括三個(gè)部分:一段長(zhǎng)度為56.64μs的未調(diào)制時(shí)間;24個(gè)頻率為Fc/32的脈沖、邏輯1的位編碼;而EOF亦包括三個(gè)部分:邏輯0的位編碼、24個(gè)頻率為Fc/32的脈沖、一段長(zhǎng)度為56.64μs的未調(diào)制時(shí)間。
2.4 雙載波的起始標(biāo)志和結(jié)束標(biāo)志
雙載波的SOF和EOF如圖5所示。雙載波的SOF包括27個(gè)頻率為Fc/28的脈沖、24個(gè)頻率為Fc/32的脈沖、邏輯1的位編碼;而EOF亦包括三個(gè)部分:邏輯0的位編碼、24個(gè)頻率為Fc/32的脈沖、27個(gè)頻率為Fc/28的脈沖。
3 接口定義及時(shí)序分析
曼徹斯特編碼模塊只有與狀態(tài)機(jī) 模塊在時(shí)序上密切配合,雙方才能正確地發(fā)送和接收信號(hào)。所規(guī)定的曼徹斯特編碼模塊與狀態(tài)機(jī)模塊的握手信號(hào)如圖6所示。
曼徹斯特編碼模塊的輸入信號(hào):Fc4是時(shí)鐘信號(hào);Reset是復(fù)位信號(hào); Send_slow_fast是模式選擇信號(hào),用于快速或者低速模式的選擇;Send_one_dual是載波選擇信號(hào),用于單載波或者雙載波的選擇; Send_data_en是數(shù)據(jù)發(fā)送使能信號(hào),當(dāng)此信號(hào)有效時(shí),該模塊進(jìn)入編碼狀態(tài),同時(shí),狀態(tài)機(jī)送出第一位數(shù)據(jù);Send_data是數(shù)據(jù)信號(hào); Send_data_end是數(shù)據(jù)發(fā)送完畢信號(hào),狀態(tài)機(jī)在發(fā)送最后一位數(shù)據(jù)的同時(shí),對(duì)Send_data_end信號(hào)置位,通知曼徹斯特編碼模塊,狀態(tài)機(jī)的數(shù)據(jù)已經(jīng)發(fā)送完畢。
曼徹斯特編碼模塊輸出到狀態(tài)機(jī)的信號(hào):Send_shift_en是移位使能信號(hào),每當(dāng)完成一位數(shù)據(jù)的編碼時(shí),此信號(hào)有效,通知狀態(tài)機(jī)進(jìn)行數(shù)據(jù)移位;Send_over是結(jié)束信號(hào),當(dāng)發(fā)送完EOF時(shí),該信號(hào)有效,表示數(shù)據(jù)的編碼已經(jīng)完成。
曼徹斯特編碼模塊輸出到模擬部分的信號(hào):Send_final_out是輸出到模擬部分的編碼信號(hào)。
4 設(shè)計(jì)思想
本設(shè)計(jì)采用狀態(tài)轉(zhuǎn)換的方式實(shí)現(xiàn)編碼功能,因此狀態(tài)的劃分和狀態(tài)轉(zhuǎn)換條件起著非常重要的作用。適當(dāng)?shù)臓顟B(tài)劃分不僅簡(jiǎn)潔明了、宜于維護(hù),而且所占用的資源少。這里用到了九種典型的狀態(tài),狀態(tài)之間的轉(zhuǎn)換如圖7所示。
(1)系統(tǒng)復(fù)位后,模塊處于Initial狀態(tài)。在此狀態(tài)中,根據(jù)Send_one_dual和 Send_data_en兩個(gè)信號(hào)的值判斷下一個(gè)狀態(tài),Send_data_en信號(hào)決定是否進(jìn)入編碼狀態(tài),Send_one_dual信號(hào)決定進(jìn)入單載波模式還是雙載波模式,Send_data_en信號(hào)無(wú)效時(shí),保持原狀態(tài)不變,否則進(jìn)入SOF狀態(tài)。
(2) 根據(jù)Send_one_dual信號(hào)的值,決定進(jìn)入單(雙)載波SOF狀態(tài),通過(guò)計(jì)數(shù)器控制狀態(tài)持續(xù)時(shí)間,并且根據(jù)Send_slow_fast信號(hào)的值調(diào)整計(jì)數(shù)器的值。在此狀態(tài)的第一個(gè)時(shí)鐘周期捕獲并鎖存狀態(tài)機(jī)送出的Send_data信號(hào)的值,以決定下個(gè)編碼狀態(tài)。在此狀態(tài)結(jié)束的前一個(gè)周期,使Send_shift_en信號(hào)的值有效,通知狀態(tài)機(jī)進(jìn)行移位操作。并根據(jù)鎖存的Send_data信號(hào)的值判斷下一個(gè)狀態(tài),從而進(jìn)入logic 0或者logic 1的編碼狀態(tài)。
(3) 進(jìn)入數(shù)據(jù)發(fā)送狀態(tài)后,同樣在第一個(gè)時(shí)鐘周期捕獲并鎖存此時(shí)的Send_data信號(hào)的值,以確定下一個(gè)狀態(tài)。通過(guò)計(jì)數(shù)器精確控制狀態(tài)持續(xù)的時(shí)間,并在結(jié)束前的第二個(gè)周期捕獲Send_data_end信號(hào)的值。如果這個(gè)值無(wú)效,則表示狀態(tài)機(jī)的數(shù)據(jù)沒(méi)有發(fā)送完,因此在結(jié)束前一個(gè)周期發(fā)送 Send_shift_en信號(hào),讓狀態(tài)機(jī)進(jìn)行數(shù)據(jù)移位操作。如果這個(gè)值有效,則說(shuō)明狀態(tài)機(jī)的數(shù)據(jù)已經(jīng)發(fā)送完畢,因此在該位編碼狀態(tài)的最后一個(gè)周期不用再發(fā)送Send_shift_en信號(hào),只需轉(zhuǎn)入最后一位數(shù)據(jù)的編碼狀態(tài)即可。
(4)等待最后一位數(shù)據(jù)編碼完成,模塊進(jìn)入EOF狀態(tài)。當(dāng)EOF發(fā)送完畢時(shí),Send_over信號(hào)有效,通知狀態(tài)機(jī)編碼結(jié)束。
該模塊的時(shí)鐘頻率為Fc/4,而輸出給模擬部分的脈沖信號(hào)的頻率為Fc/32和Fc/28,同時(shí)還有未調(diào)制的部分。為了滿足不同輸出形狀的需要,應(yīng)設(shè)置波形輸出模塊。在該模塊中進(jìn)行適當(dāng)?shù)姆诸l,并且在每個(gè)狀態(tài)的不同部分,設(shè)置不同的標(biāo)志位,用于控制最后的波形輸出模塊。在這里,狀態(tài)決定輸出的時(shí)間長(zhǎng)度,而波形輸出模塊則決定輸出的形狀。
這種設(shè)計(jì)思想在于:當(dāng)前狀態(tài)輸出上一個(gè)狀態(tài)的數(shù)據(jù),同時(shí)捕獲當(dāng)前狀態(tài)的數(shù)據(jù),用于下一個(gè)狀態(tài)的輸出。這樣就保證了有充足的時(shí)間鎖存數(shù)據(jù),從而避免了鎖錯(cuò)數(shù)據(jù),提高了抗干擾能力。
5 模塊仿真波形及FPGA實(shí)現(xiàn)
這里采用Verilog硬件描述語(yǔ)言將上述設(shè)計(jì)思想的數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的代碼,在ISE7.1環(huán)境下編譯、仿真、下載。ISE是Xilinx FPGA/CPLD的綜合性集成設(shè)計(jì)平臺(tái),該平臺(tái)集成了設(shè)計(jì)輸入、仿真、邏輯綜合、布局布線與實(shí)現(xiàn)、時(shí)序分析、芯片下載與配置、功率分析等幾乎所有設(shè)計(jì)流程所需的工具。將代碼程序用Xilinx Spartan-3系列X3S200芯片進(jìn)行下載驗(yàn)證,所得出的在單載波低速模式下的信號(hào)波形圖如圖8所示。
由圖可知,該波形完全符合標(biāo)準(zhǔn),能夠成功地進(jìn)行曼徹斯特編碼。
本文介紹的曼徹斯特編碼模塊已成功應(yīng)用于基于ISO/IEC 15693標(biāo)準(zhǔn)的RFID電子標(biāo)簽開(kāi)發(fā)項(xiàng)目中。從驗(yàn)證與仿真的結(jié)果可知,該模塊編碼準(zhǔn)確性高、抗干擾能力強(qiáng),同其他設(shè)計(jì)方案相比,該方案還具有占用硬件資源少、易于維護(hù)等優(yōu)點(diǎn)。
參考文獻(xiàn)
1 Klaus Finkenzeller著,陳大才編譯,射頻識(shí)別(RFID) 技術(shù)(第二版).北京:電子工業(yè)出版社,2002
2 ISO/IEC15693-1: 2000-07-15 Identification cards-Contact-less integrated circuit(s) cards Vicinity cards-Part1: Physical characteristics
3 ISO/IEC15693-2: 2001-10-15 Identification cards-Contact-less integrated circuit(s) cards Vicinity cards-Part2: Air interface and initialization
4 ISO/IEC15693-3: 2001-04-01 Identification cards-Contact-less integrated circuit(s) cards Vicinity card
DIY機(jī)械鍵盤(pán)相關(guān)社區(qū):機(jī)械鍵盤(pán)DIY
評(píng)論