有源RFID系統(tǒng)中可靠通信的研究
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)行載波監(jiā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)簽開始載波監(jiān)聽,當(dāng)CCA不為1時(shí),表示空氣中沒有相同的載波數(shù)據(jù)時(shí)便發(fā)送相應(yīng)的數(shù)據(jù),各個(gè)電子標(biāo)簽采用競爭的方式發(fā)送。CSMA發(fā)送流程圖如圖3所示。本文引用地址:http://www.ex-cimer.com/article/157305.htm
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所示。
評(píng)論