在通信協(xié)議中采用Ox76(0x表示16進(jìn)制計(jì)數(shù))作為幀標(biāo)識(shí)符。為了保證幀標(biāo)識(shí)符的惟一性,對(duì)幀內(nèi)容中的Ox76采用了替代算法,使幀中的內(nèi)容不再出現(xiàn) Ox76,解決了接收端的同步問題,亦可提高接收的可靠性。如果發(fā)送的數(shù)據(jù)為0x76,則用Ox77,Ox77兩個(gè)字節(jié)替代;如果發(fā)送的數(shù)據(jù)為Ox77,則用Ox77,0x78兩個(gè)字節(jié)替代。算法流程如圖2所示。
2.2 數(shù)據(jù)幀結(jié)構(gòu)
讀寫器對(duì)標(biāo)簽的操作為讀/寫,電子標(biāo)簽器件內(nèi)建有MCU和FLASH,可以存儲(chǔ)比較復(fù)雜的程序,并由程序控制標(biāo)簽工作。為了加強(qiáng)有源RFID系統(tǒng)結(jié)構(gòu)的簡(jiǎn)單性和高效性,對(duì)指令格式進(jìn)行規(guī)格化,對(duì)數(shù)據(jù)幀格式的設(shè)計(jì)亦采用簡(jiǎn)單和固定的規(guī)格,以提高通信效率。
在通信時(shí),數(shù)據(jù)的幀格式如下:
引導(dǎo)區(qū)包含導(dǎo)言、同步字,在信道特性較好的場(chǎng)合,為提高識(shí)別速度,可設(shè)定16位的導(dǎo)言與16位的同步字。校驗(yàn)區(qū)通過CRC算法進(jìn)行校驗(yàn),引導(dǎo)區(qū)和校驗(yàn)區(qū)由 CC2510硬件自動(dòng)添加,在接收時(shí)由硬件自動(dòng)去除。該設(shè)計(jì)中,地址區(qū)用于電子標(biāo)簽的識(shí)別,命令區(qū)中的命令用于完成數(shù)據(jù)查詢功能或完成標(biāo)簽信息的生成。數(shù)據(jù)區(qū)用于數(shù)據(jù)凈荷存儲(chǔ)。在發(fā)送模式下,地址區(qū)、命令區(qū)和數(shù)據(jù)區(qū)的數(shù)據(jù)被送入RAM中的緩存區(qū)進(jìn)行相應(yīng)的打包操作,CC2510添加4字節(jié)的導(dǎo)言和同步字,加入CRC校驗(yàn)并發(fā)送出去。在接收模式時(shí),包處理支持將會(huì)分解數(shù)據(jù)包,即首先進(jìn)行同步字檢測(cè),接著檢測(cè)地址、進(jìn)行數(shù)據(jù)長(zhǎng)度匹配并計(jì)算和檢查CRC,最后將操作命令和數(shù)據(jù)凈荷提交上層進(jìn)行處理,從而完成1次發(fā)送和接收交互。
2.3 防沖突處理
有源RFID系統(tǒng)實(shí)現(xiàn)的重點(diǎn)是防碰撞算法的實(shí)現(xiàn)。目前。這類算法的實(shí)現(xiàn)方法有空分多址(SDMA)、頻分多址(FDMA)、碼分多址(CDMA)和時(shí)分多址(TD-MA)等。該設(shè)計(jì)方案中采用ETSI 302 208標(biāo)準(zhǔn)中基于載波偵聽(CSMA)的方法。CSMA是一種分布式介質(zhì)訪問控制協(xié)議,在讀寫器覆蓋范圍內(nèi),各有源電子標(biāo)簽都能獨(dú)立地決定數(shù)據(jù)幀的發(fā)送和接受。
每個(gè)有源電子標(biāo)簽在發(fā)送數(shù)據(jù)幀之前,首先要進(jìn)行載波*,只有介質(zhì)空閑時(shí),才允許發(fā)送幀,與FDMA和TDMA相比,能更好地利用資源。因?yàn)檫@種通信方式在發(fā)送數(shù)據(jù)之前,一直在檢測(cè)空氣中是否存在相同頻率的載波,如果有相同頻率的載波,就不發(fā)送數(shù)據(jù);如果空氣中沒有相同頻率的載波,則表明現(xiàn)在的空間資源沒有被占用,可以發(fā)送數(shù)據(jù)。這樣,不僅提高了空間資源的利用效率,同時(shí)也提高了通信的可靠性。
利用CC2510支持傳輸前自動(dòng)清理信道訪問(CCA)的功能,實(shí)現(xiàn)CSMA。電子標(biāo)簽初始化完成后,程序進(jìn)入主循環(huán)程序。電子標(biāo)簽開始載波*,當(dāng)CCA 不為1時(shí),表示空氣中沒有相同的載波數(shù)據(jù)時(shí)便發(fā)送相應(yīng)的數(shù)據(jù),各個(gè)電子標(biāo)簽采用競(jìng)爭(zhēng)的方式發(fā)送。CSMA發(fā)送流程圖如圖3所示。
2.4 重傳機(jī)制
重傳機(jī)制主要采用ACK(acknowledge)方式,即發(fā)送方為發(fā)送的每一數(shù)據(jù)包設(shè)置緩存和相應(yīng)的重發(fā)定時(shí)器,若在定時(shí)器超時(shí)之前收到來自目的節(jié)點(diǎn)對(duì)此數(shù)據(jù)包的ACK控制包,則認(rèn)為此數(shù)據(jù)包已經(jīng)成功地傳送。此時(shí),取消對(duì)該數(shù)據(jù)包的緩存和定時(shí),否則,將重發(fā)此數(shù)據(jù)包,并重新設(shè)置定時(shí)器。對(duì)于每個(gè)數(shù)據(jù)包,接收方都需要反饋ACK。
重傳機(jī)制主要由以下功能函數(shù)實(shí)現(xiàn)。Init()函數(shù)用于設(shè)備初始化,設(shè)置DMA、時(shí)鐘等;Send()函數(shù)用于發(fā)送數(shù)據(jù)包;ackTimeolJt()函數(shù)用于沒有在規(guī)定時(shí)間內(nèi)收到ACK,而重發(fā)數(shù)據(jù)包;waitForAck()函數(shù)用于等待接受ACK,既定時(shí)間內(nèi),收到ACK標(biāo)示為T,反之標(biāo)示為 F;aekReceived()函數(shù)用于收到ACK,取消重傳;Receive()函數(shù)用于接收規(guī)定格式的數(shù)據(jù)包;dataCheck()函數(shù)用于檢測(cè)數(shù)據(jù)的完整和可靠;sendAck()函數(shù)用于送ACK反饋給發(fā)送方。重傳機(jī)制程序流程圖如圖4所示。
3 測(cè)試結(jié)果
在實(shí)際環(huán)境中,對(duì)有源RFID系統(tǒng)的讀寫器和有源電子標(biāo)簽進(jìn)行讀/寫測(cè)試,調(diào)制方式為MSK,數(shù)據(jù)傳輸率60 Kb/s,濾波帶寬540 kHz。分別在不同距離上放置10個(gè)有源電子標(biāo)簽進(jìn)行20O B收發(fā)操作。讀寫器的識(shí)讀結(jié)果如表1和表2所示。
從以上數(shù)據(jù)可以看出:
(1)在25 m可視距離內(nèi)系統(tǒng)識(shí)別效果良好;
(2)加入可靠通信機(jī)制后,在可視通信距離60 m內(nèi),標(biāo)簽與讀寫器之間的協(xié)議識(shí)別效果良好;隨著通信距離的加大。在70 m處標(biāo)簽與讀寫器正常通信信號(hào)中CRC校驗(yàn)出錯(cuò)增多,但仍可識(shí)別大多數(shù)標(biāo)簽;
(3)遇到障礙物的時(shí)候,通信距離迅速減少,丟包率和CRC校驗(yàn)錯(cuò)誤數(shù)增多。
4 結(jié)語
有源RFID技術(shù)與無源RFID技術(shù)相比,在技術(shù)上的優(yōu)勢(shì)非常明顯,具有通信距離長(zhǎng),傳輸數(shù)據(jù)量大,低發(fā)射功率等特點(diǎn)。有源RFID系統(tǒng)中數(shù)據(jù)的可靠傳輸是最為重要的部分。本文為有源RFID系統(tǒng)的可靠傳輸提出了一種解決思路,較好地處理了這一問題。未來有源RFID技術(shù)不僅會(huì)在各行業(yè)中被廣泛采用,而且還將會(huì)與傳感器網(wǎng)絡(luò)(wSN)等普通計(jì)算機(jī)技術(shù)相結(jié)合,這將對(duì)信息化社會(huì)產(chǎn)生深遠(yuǎn)影響。
評(píng)論
查看更多