本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種跳頻傳輸方法、一種跳頻傳輸系統(tǒng)、接收端設(shè)備和發(fā)送端設(shè)備。
背景技術(shù):
隨著形形色色的無(wú)線(xiàn)通信設(shè)備的出現(xiàn),使得人們脫離了有線(xiàn)的束縛,豐富了世界的同時(shí)也極大的提高了工作效率。而無(wú)線(xiàn)通信領(lǐng)域中2.4g無(wú)線(xiàn)通信,其頻段處于2.400ghz~2.4835ghz之間,該頻段是國(guó)際規(guī)定的免費(fèi)頻段,不需要向有關(guān)國(guó)際組織繳納任何費(fèi)用,因此工作在這一頻段的設(shè)備層出不窮,在室內(nèi)辦公環(huán)境里可能同時(shí)有多個(gè)設(shè)備如wifi、藍(lán)牙、zigbee和射頻通信同時(shí)工作在該頻段,設(shè)備間的干擾不可避免。
目前為提高設(shè)備的抗干擾能力提出跳頻傳輸技術(shù),目前公開(kāi)的跳頻技術(shù)原理上大致相同,即發(fā)送端設(shè)備與接收端設(shè)備事先約定,如果在某一頻道f1上通信時(shí)長(zhǎng)到達(dá)t后還沒(méi)有通信成功,則兩者同時(shí)跳轉(zhuǎn)到雙方約定的頻道f2上進(jìn)行通道,同樣在t1時(shí)間內(nèi)未通信成功則兩者跳轉(zhuǎn)到頻道f3上通信,依此類(lèi)推。
但是現(xiàn)有的跳頻技術(shù)均需要發(fā)送端設(shè)備與接收端設(shè)備的時(shí)鐘保持同步,即工作起點(diǎn)必須一致。但是在實(shí)際情況中,發(fā)送端設(shè)備與接收端設(shè)備由于時(shí)鐘來(lái)源不同、所處工作環(huán)境也不同,而時(shí)鐘來(lái)源又極易受工作環(huán)境的影響,因此需要頻繁的調(diào)整兩者的時(shí)鐘,跳頻傳輸不穩(wěn)定。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,本發(fā)明提供一種跳頻傳輸方法及系統(tǒng),無(wú)需接收端設(shè)備和發(fā)送端設(shè)備的時(shí)鐘同步也可實(shí)現(xiàn)穩(wěn)定的跳頻傳輸,克服現(xiàn)有技術(shù)存在的調(diào)頻傳輸不穩(wěn)定的問(wèn)題。
本發(fā)明實(shí)施例,一方面,提供一種跳頻傳輸系統(tǒng),該系統(tǒng)包括:
發(fā)送端設(shè)備,用于確定與接收端設(shè)備之間的有效通信頻道;以及,以所述有效通信頻道為初始的工作頻道執(zhí)行以下步驟:在確定出工作頻道后開(kāi)始計(jì)時(shí),并在開(kāi)始計(jì)時(shí)后的第一時(shí)長(zhǎng)內(nèi)在工作頻道向接收端設(shè)備發(fā)送數(shù)據(jù),若在所述第一時(shí)長(zhǎng)內(nèi)未接收到接收端設(shè)備反饋的與所述數(shù)據(jù)相應(yīng)的應(yīng)答信息則按照預(yù)置的跳頻順序跳頻至下一頻道,將該下一頻道確定為工作頻道重復(fù)前述步驟;
接收端設(shè)備,用于以所述有效通信頻道為初始的工作頻道執(zhí)行以下步驟:在工作頻道接收到所述發(fā)送端設(shè)備發(fā)送的數(shù)據(jù)時(shí)開(kāi)始計(jì)時(shí),若在計(jì)時(shí)后的第二時(shí)長(zhǎng)內(nèi)未接收到發(fā)送端設(shè)備發(fā)送的下一數(shù)據(jù)則按照預(yù)置的所述跳頻順序跳頻至下一頻道,將所述下一頻道作為工作頻道重復(fù)前述步驟,所述第二時(shí)長(zhǎng)與第一時(shí)長(zhǎng)的差值小于預(yù)置閾值。
本發(fā)明實(shí)施例,另一方面提供一種發(fā)送端設(shè)備,該發(fā)送端設(shè)備包括:
第一處理器,用于在確定出工作頻道后開(kāi)始計(jì)時(shí),并在開(kāi)始計(jì)時(shí)后的第一時(shí)長(zhǎng)內(nèi),向第一射頻傳輸芯片寫(xiě)入包含數(shù)據(jù)和工作頻道的數(shù)據(jù)信息;以及,在所述第一時(shí)長(zhǎng)內(nèi)未接收到接收端反饋的與所述數(shù)據(jù)相應(yīng)的應(yīng)答信息則按照預(yù)置的跳頻順序跳頻到下一頻道;將該下一頻道確定為工作頻道重復(fù)前述步驟;
第一射頻傳輸芯片,用于在所述工作頻道將所述數(shù)據(jù)發(fā)送給接收端設(shè)備;以及,將所述接收端設(shè)備反饋的與所述數(shù)據(jù)相應(yīng)的應(yīng)答信息轉(zhuǎn)發(fā)給所述第一處理器。
本發(fā)明實(shí)施例,另一方面還提供一種接收端設(shè)備,該接收端設(shè)備包括:
第二處理器,用于在工作頻道接收到發(fā)送端設(shè)備發(fā)送的數(shù)據(jù)時(shí)開(kāi)始計(jì)時(shí),若在計(jì)時(shí)后的第二時(shí)長(zhǎng)內(nèi)未接收到所述發(fā)送端設(shè)備發(fā)送的下一數(shù)據(jù)則按照預(yù)置的跳頻順序跳頻至下一頻道;將下一頻道作為工作頻道繼續(xù)接收所述發(fā)送端設(shè)備發(fā)送的數(shù)據(jù),其中所述第二時(shí)長(zhǎng)與第一時(shí)長(zhǎng)的差值小于預(yù)置閾值;
第二射頻傳輸芯片,用于在第二處理器設(shè)置的工作頻道接收所述發(fā)送端設(shè)備發(fā)送的數(shù)據(jù),并將接收到的數(shù)據(jù)發(fā)送給所述第二處理器。
本發(fā)明實(shí)施例,最后一方面,還提供一種跳頻傳輸方法,該方法包括:
發(fā)送端設(shè)備確定與接收端設(shè)備之間的有效通信頻道;
發(fā)送端設(shè)備以所述有效通信頻道為初始的工作頻道執(zhí)行以下步驟:在確定出工作頻道后開(kāi)始計(jì)時(shí),并在開(kāi)始計(jì)時(shí)后的第一時(shí)長(zhǎng)內(nèi)在工作頻道向接收端設(shè)備發(fā)送數(shù)據(jù),若在所述第一時(shí)長(zhǎng)內(nèi)未接收到接收端設(shè)備反饋的與所述數(shù)據(jù)相應(yīng)的應(yīng)答信息則按照預(yù)置的跳頻順序跳頻至下一頻道,將該下一頻道確定為工作頻道重復(fù)前述步驟;
接收端設(shè)備以所述有效通信頻道為初始的工作頻道執(zhí)行以下步驟:在工作頻道接收到所述發(fā)送端設(shè)備發(fā)送的數(shù)據(jù)時(shí)開(kāi)始計(jì)時(shí),若在計(jì)時(shí)后的第二時(shí)長(zhǎng)內(nèi)未接收到發(fā)送端設(shè)備發(fā)送的下一數(shù)據(jù)則按照預(yù)置的所述跳頻順序跳頻至下一頻道,將所述下一頻道作為工作頻道重復(fù)前述步驟,所述第二時(shí)長(zhǎng)與第一時(shí)長(zhǎng)的差值小于預(yù)置閾值。
本發(fā)明實(shí)施例提供的跳頻技術(shù),發(fā)送端設(shè)備與接收端設(shè)備均以確定的有效通信頻道為起始的工作頻道,且兩者第一時(shí)長(zhǎng)和第二時(shí)長(zhǎng)之間的時(shí)間差較低,跳頻順序一致,因此,該種跳頻技術(shù)在無(wú)需發(fā)送端設(shè)備與接收端設(shè)備時(shí)鐘同步也可實(shí)現(xiàn)跳頻的一致性,能夠確保兩者在先后較短時(shí)延內(nèi)跳頻到同一工作頻道進(jìn)行通信,由于不需要兩者保持嚴(yán)格的時(shí)鐘同步,因此對(duì)時(shí)鐘偏差容忍性較大,采用本發(fā)明提供的跳頻傳輸技術(shù)能夠使得發(fā)送端設(shè)備與接收端設(shè)備在較長(zhǎng)時(shí)間內(nèi)保持穩(wěn)定的數(shù)據(jù)傳輸,克服現(xiàn)有技術(shù)存在的技術(shù)缺陷。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。
圖1為本發(fā)明實(shí)施例中跳頻傳輸系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例中采用單周期跳頻重發(fā)一次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)的示意圖;
圖3為本發(fā)明實(shí)施例中采用單周期跳頻重發(fā)多次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)的示意圖;
圖4為本發(fā)明實(shí)施例中采用多周期跳頻不重發(fā)數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)的示意圖;
圖5為本發(fā)明實(shí)施例中采用多周期跳頻重發(fā)一次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)的示意圖;
圖6為本發(fā)明實(shí)施例中采用多周期跳頻重發(fā)多次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)的示意圖;
圖7為本發(fā)明實(shí)施例中發(fā)送端設(shè)備的結(jié)構(gòu)示意圖;
圖8為本發(fā)明實(shí)施例中接收端設(shè)備的結(jié)構(gòu)示意圖;
圖9為本發(fā)明實(shí)施例中發(fā)送端設(shè)備與接收端設(shè)備通信的具體實(shí)例;
圖10為本發(fā)明實(shí)施例中發(fā)送端設(shè)備的射頻傳輸芯片的發(fā)送模式和接收模式的時(shí)序圖;
圖11為本發(fā)明實(shí)施例中發(fā)送端設(shè)備的射頻傳輸芯片帶有重發(fā)數(shù)據(jù)機(jī)制的發(fā)送模式的時(shí)序圖;
圖12為本發(fā)明實(shí)施例中采用單周期跳頻重發(fā)一次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)時(shí)的發(fā)送端設(shè)備與接收端設(shè)備的時(shí)序圖之一;
圖13為本發(fā)明實(shí)施例中采用單周期跳頻重發(fā)一次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)時(shí)的發(fā)送端設(shè)備與接收端設(shè)備的時(shí)序圖之二;
圖14為本發(fā)明實(shí)施例中采用單周期跳頻重發(fā)多次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)時(shí)的發(fā)送端設(shè)備與接收端設(shè)備的時(shí)序圖之一;
圖15為本發(fā)明實(shí)施例中采用單周期跳頻重發(fā)多次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)時(shí)的發(fā)送端設(shè)備與接收端設(shè)備的時(shí)序圖之二;
圖16為本發(fā)明實(shí)施例中采用多周期跳頻重發(fā)多次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)時(shí)的發(fā)送端設(shè)備與接收端設(shè)備的時(shí)序圖之一;
圖17為本發(fā)明實(shí)施例中采用多周期跳頻重發(fā)多次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)時(shí)的發(fā)送端設(shè)備與接收端設(shè)備的時(shí)序圖之二;
圖18為本發(fā)明實(shí)施例中計(jì)算各時(shí)間的公式;
圖19為本發(fā)明實(shí)施例中跳頻傳輸方法的流程圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
參見(jiàn)圖1,為本發(fā)明實(shí)施例提供的跳頻傳輸系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括發(fā)送端設(shè)備1和接收端設(shè)備2,發(fā)送端設(shè)備1與接收端設(shè)備2的結(jié)構(gòu)可以相同也可以不相同,本申請(qǐng)不做嚴(yán)格限定。發(fā)送端設(shè)備1和接收端設(shè)備2之間通過(guò)無(wú)線(xiàn)方式通信,例如通過(guò)2.4g頻段通信。
發(fā)送端設(shè)備1,用于確定與接收端設(shè)備2之間的有效通信頻道;以及,以所述有效通信頻道為初始的工作頻道執(zhí)行以下步驟:在確定出工作頻道后開(kāi)始計(jì)時(shí),并在開(kāi)始計(jì)時(shí)后的第一時(shí)長(zhǎng)內(nèi)在工作頻道向接收端設(shè)備2發(fā)送數(shù)據(jù),若在所述第一時(shí)長(zhǎng)內(nèi)未接收到接收端設(shè)備2反饋的與所述數(shù)據(jù)相應(yīng)的應(yīng)答信息則按照預(yù)置的跳頻順序跳頻至下一頻道,將該下一頻道確定為工作頻道重復(fù)前述步驟。
接收端設(shè)備2,用于以所述有效通信頻道為初始的工作頻道執(zhí)行以下步驟:在工作頻道接收到所述發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù)時(shí)開(kāi)始計(jì)時(shí),若在計(jì)時(shí)后的第二時(shí)長(zhǎng)內(nèi)未接收到發(fā)送端設(shè)備1發(fā)送的下一數(shù)據(jù)則按照預(yù)置的所述跳頻順序跳頻至下一頻道,將所述下一頻道作為工作頻道重復(fù)前述步驟,所述第二時(shí)長(zhǎng)與第一時(shí)長(zhǎng)的差值小于預(yù)置閾值。
發(fā)送端設(shè)備1與接收端設(shè)備2的預(yù)置的跳頻順序一致。
本發(fā)明實(shí)施例中,有效通信頻道是指發(fā)送端設(shè)備1與接收端設(shè)備2可以進(jìn)行有效通信的頻道,即通信成功的頻道。
本發(fā)明實(shí)施例中,所述第一時(shí)長(zhǎng)和第二時(shí)長(zhǎng)可以相同也可以不相同。優(yōu)選地,為進(jìn)一步提高發(fā)送端設(shè)備1與接收端設(shè)備2跳頻的一致性,本發(fā)明實(shí)施例中,所述第一時(shí)長(zhǎng)與所述第二時(shí)長(zhǎng)相同。
優(yōu)選地,本發(fā)明實(shí)施例中,所述發(fā)送端設(shè)備1還進(jìn)一步用于:若在所述第一時(shí)長(zhǎng)內(nèi)接收到所述接收端設(shè)備2反饋的與所述數(shù)據(jù)相應(yīng)的應(yīng)答信息則產(chǎn)生中斷,并等待所述第一時(shí)長(zhǎng)到達(dá)時(shí)在所述工作頻道繼續(xù)向所述接收端設(shè)備2發(fā)送下一數(shù)據(jù)。相應(yīng)地,所述接收端設(shè)備2還進(jìn)一步用于:若在所述第二時(shí)長(zhǎng)內(nèi)接收到所述發(fā)送端設(shè)備1發(fā)送的下一數(shù)據(jù)則產(chǎn)生中斷,并向所述發(fā)送端設(shè)備1反饋應(yīng)答信息,以及繼續(xù)在所述工作頻道接收所述發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù)。
優(yōu)選地,為進(jìn)一步減少設(shè)備功耗,所述發(fā)送端設(shè)備1進(jìn)一步用于:在產(chǎn)生中斷后進(jìn)入待機(jī)模式,直到所述第一時(shí)長(zhǎng)到達(dá);相應(yīng)地,所述接收端設(shè)備2進(jìn)一步用于:在向所述發(fā)送端設(shè)備1反饋應(yīng)答信息之后進(jìn)入待機(jī)模式,直到所述第二時(shí)長(zhǎng)到達(dá)。
本發(fā)明實(shí)施例中,所述第一時(shí)長(zhǎng)可以為一個(gè)時(shí)間周期也可以是由多個(gè)個(gè)時(shí)間周期(即2個(gè)以上時(shí)間周期)構(gòu)成。當(dāng)所述第一時(shí)長(zhǎng)為一個(gè)時(shí)間周期時(shí)表明發(fā)送端設(shè)備1在該時(shí)間周期內(nèi)未接收到相應(yīng)的應(yīng)答信息時(shí),在該周期結(jié)束后進(jìn)行一次跳頻,即單周期跳頻一次。當(dāng)所述第一時(shí)長(zhǎng)由多個(gè)時(shí)間周期構(gòu)成時(shí)則表明所述發(fā)送端設(shè)備1在該多個(gè)時(shí)間周期內(nèi)均以同一個(gè)工作頻道向所述接收端設(shè)備2發(fā)送數(shù)據(jù),當(dāng)在該多個(gè)時(shí)間周期內(nèi)均未接收到相應(yīng)的應(yīng)答信息時(shí),在第一時(shí)長(zhǎng)到達(dá)時(shí)進(jìn)行一次跳頻,即多周期跳頻一次。
本發(fā)明實(shí)施例中,當(dāng)?shù)谝粫r(shí)長(zhǎng)包含一個(gè)時(shí)間周期時(shí),發(fā)送端設(shè)備1采用至少重發(fā)一次數(shù)據(jù)的向接收端設(shè)備2發(fā)送數(shù)據(jù);當(dāng)?shù)谝粫r(shí)長(zhǎng)包含多個(gè)時(shí)間周期時(shí),在每個(gè)時(shí)間周期內(nèi)發(fā)送端設(shè)備1既可以采用不重發(fā)數(shù)據(jù)機(jī)制向接收端設(shè)備2發(fā)送數(shù)據(jù),也可以采用重發(fā)至少一次數(shù)據(jù)機(jī)制向接收端設(shè)備2發(fā)送數(shù)據(jù)。
本發(fā)明實(shí)施例中,前述發(fā)送端設(shè)備1在開(kāi)始計(jì)時(shí)后的第一時(shí)長(zhǎng)內(nèi)在工作頻道向接收端設(shè)備2發(fā)送數(shù)據(jù),具體實(shí)現(xiàn)如下:
在所述第一時(shí)長(zhǎng)內(nèi)按照預(yù)置的時(shí)間周期在工作頻道向所述接收端設(shè)備2發(fā)送所述數(shù)據(jù),其中,針對(duì)每個(gè)時(shí)間周期執(zhí)行以下步驟:在所述時(shí)間周期內(nèi)向所述接收端設(shè)備2發(fā)送所述數(shù)據(jù),若在該時(shí)間周期內(nèi)未接收到應(yīng)答信息則在下一時(shí)間周期繼續(xù)發(fā)送所述數(shù)據(jù),若在該時(shí)間周期內(nèi)接收到應(yīng)答信息則停止發(fā)送所述數(shù)據(jù)。
其中,所述發(fā)送端設(shè)備1在所述時(shí)間周期內(nèi)向所述接收端設(shè)備2發(fā)送所述數(shù)據(jù),具體用于:
在所述時(shí)間周期內(nèi)在工作頻道向所述接收端設(shè)備2發(fā)送所述數(shù)據(jù),若在發(fā)送所述數(shù)據(jù)之后的第三時(shí)長(zhǎng)內(nèi)未接收到應(yīng)答信息則重發(fā)所述數(shù)據(jù),若在所述數(shù)據(jù)之后的第三時(shí)長(zhǎng)內(nèi)接收到應(yīng)答信息則停止重發(fā)所述數(shù)據(jù),依次類(lèi)推,直到所述時(shí)間周期結(jié)束或者重發(fā)次數(shù)達(dá)到預(yù)置的次數(shù)閾值;其中所述第三時(shí)長(zhǎng)小于所述時(shí)間周期。
為便于本領(lǐng)域技術(shù)人員理解本發(fā)明實(shí)施例中發(fā)送端設(shè)備1如何在第一時(shí)長(zhǎng)內(nèi)向接收端設(shè)備2發(fā)送數(shù)據(jù),下面結(jié)合幾種具體的實(shí)現(xiàn)方案進(jìn)行詳細(xì)的描述。當(dāng)然,本領(lǐng)域技術(shù)人員可以采用但不僅限于以下任意一種方案,還可以基于本發(fā)明實(shí)施例提供的以下方案作出其他變形或改進(jìn)方案。
以下幾種方案中,第一時(shí)長(zhǎng)用t表示,第二時(shí)長(zhǎng)用s表示,工作頻道用f表示;當(dāng)?shù)谝粫r(shí)長(zhǎng)包含多個(gè)(用n表示,其中n大于等于2)時(shí)間周期時(shí),第i個(gè)時(shí)間周期用ti表示,其中該n個(gè)時(shí)間周期的取值相同。
方案1、發(fā)送端設(shè)備1采用單周期跳頻重發(fā)一次數(shù)據(jù)機(jī)制向接收端設(shè)備2發(fā)送數(shù)據(jù)。如圖2所示,發(fā)送端設(shè)備1在a時(shí)刻開(kāi)始計(jì)時(shí),在開(kāi)始計(jì)時(shí)后向所述接收端設(shè)備2發(fā)送一次數(shù)據(jù)并等待相應(yīng)的應(yīng)答信息,若在預(yù)置的時(shí)長(zhǎng)(即第三時(shí)長(zhǎng))內(nèi)未接收到相應(yīng)的應(yīng)答信息,則發(fā)送端設(shè)備1在工作頻道f向所述接收端設(shè)備2重發(fā)一次所述數(shù)據(jù),若在預(yù)置的時(shí)長(zhǎng)(即第三時(shí)長(zhǎng))內(nèi)未接收到相應(yīng)的應(yīng)答信息,則發(fā)送端設(shè)備1在a時(shí)刻開(kāi)始計(jì)時(shí)的計(jì)時(shí)t到達(dá)時(shí)按照預(yù)置的跳頻順序跳頻至下一頻道。相應(yīng)地,接收端設(shè)備2在工作頻道f接收到所述發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù)的b時(shí)刻開(kāi)始計(jì)時(shí),并在b時(shí)刻計(jì)時(shí)后的計(jì)時(shí)s到達(dá)時(shí)未接收到發(fā)送端設(shè)備1發(fā)送的下一數(shù)據(jù),則接收端設(shè)備2按照預(yù)置的跳頻順序跳頻至下一頻道。
方案2、發(fā)送端設(shè)備1采用單周期跳頻重發(fā)多次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)。如圖3所示,發(fā)送端設(shè)備1在a時(shí)刻開(kāi)始計(jì)時(shí),并在開(kāi)始計(jì)時(shí)后向所述接收端設(shè)備2發(fā)送一次數(shù)據(jù)并等待相應(yīng)的應(yīng)答信息,若在預(yù)置的時(shí)長(zhǎng)內(nèi)未接收到相應(yīng)的應(yīng)答信息,則發(fā)送端設(shè)備1在工作頻道f向所述接收端設(shè)備2重新發(fā)送所述數(shù)據(jù)并等待相應(yīng)的應(yīng)答信息,若在預(yù)置的時(shí)長(zhǎng)內(nèi)未接收到相應(yīng)的應(yīng)答信息,則發(fā)送端設(shè)備1在工作頻道f再一次向所述接收端設(shè)備2重發(fā)所述數(shù)據(jù),依此類(lèi)推;若在a時(shí)刻開(kāi)始計(jì)時(shí)的計(jì)時(shí)t到達(dá)時(shí)仍然還沒(méi)有接收到應(yīng)答信息則發(fā)送端設(shè)備1按照預(yù)置的跳頻順序跳頻至下一頻道,或者,若重發(fā)次數(shù)達(dá)到預(yù)置的次數(shù)閾值則停止重發(fā)所述數(shù)據(jù)并在a時(shí)刻開(kāi)始計(jì)時(shí)的計(jì)時(shí)t到達(dá)時(shí),所述發(fā)送端設(shè)備1按照預(yù)置的跳頻順序跳頻至下一頻道。相應(yīng)地,接收端設(shè)備2在工作頻道f接收到所述發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù)的b時(shí)刻開(kāi)始計(jì)時(shí),并b時(shí)刻開(kāi)始計(jì)時(shí)的計(jì)時(shí)s到達(dá)時(shí)未接收到發(fā)送端設(shè)備1發(fā)送的下一數(shù)據(jù),則接收端設(shè)備2按照預(yù)置的跳頻順序跳頻至下一頻道。
方案3、發(fā)送端設(shè)備1采用多周期跳頻不重發(fā)數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)。如圖4所示,發(fā)送端設(shè)備1在a時(shí)刻開(kāi)始計(jì)時(shí),并在開(kāi)始計(jì)時(shí)后按照時(shí)間周期依次向接收端設(shè)備2發(fā)送數(shù)據(jù),在每個(gè)時(shí)間周期執(zhí)行以下步驟:發(fā)送端設(shè)備1在工作頻道f向所述接收端設(shè)備2發(fā)送一次數(shù)據(jù)并等待相應(yīng)的應(yīng)答信息,若在該時(shí)間周期結(jié)束時(shí)未接收到應(yīng)答信息則進(jìn)入下一時(shí)間周期,若在該時(shí)間周期內(nèi)接收到相應(yīng)的應(yīng)答信息則在a時(shí)刻開(kāi)始計(jì)時(shí)的計(jì)時(shí)t到達(dá)時(shí)在該工作頻道繼續(xù)向所述接收端設(shè)備2發(fā)送下一數(shù)據(jù)。依此類(lèi)推;若在該n個(gè)時(shí)間周期均未接收到相應(yīng)的應(yīng)答信息,則發(fā)送端設(shè)備1按照預(yù)置的跳頻順序跳頻至下一頻道。相應(yīng)地,接收端設(shè)備2在工作頻道f接收到所述發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù)的b時(shí)刻開(kāi)始計(jì)時(shí),并在b時(shí)刻計(jì)時(shí)后的計(jì)時(shí)s到達(dá)時(shí)未接收到發(fā)送端設(shè)備1發(fā)送的下一數(shù)據(jù),則接收端設(shè)備2按照預(yù)置的跳頻順序跳頻至下一頻道。
方案4、發(fā)送端設(shè)備1采用多周期跳頻重發(fā)一次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)。如圖5所示,發(fā)送端設(shè)備1在a時(shí)刻開(kāi)始計(jì)時(shí),并在開(kāi)始計(jì)時(shí)后按照時(shí)間周期依次向接收端設(shè)備2發(fā)送數(shù)據(jù),在每個(gè)時(shí)間周期執(zhí)行以下步驟:發(fā)送端設(shè)備1在工作頻道f向所述接收端設(shè)備2發(fā)送一次數(shù)據(jù)并等待相應(yīng)的應(yīng)答信息,若在預(yù)置的時(shí)長(zhǎng)內(nèi)未接收到相應(yīng)的應(yīng)答信息,則在該工作頻道向所述接收端設(shè)備2重發(fā)一次所述數(shù)據(jù)并等待相應(yīng)的應(yīng)答信息,若在預(yù)置的時(shí)長(zhǎng)內(nèi)未接收到相應(yīng)的應(yīng)答信息,則在該時(shí)間周期結(jié)束時(shí)進(jìn)入下一時(shí)間周期,若在該時(shí)間周期內(nèi)接收到相應(yīng)的應(yīng)答信息則在a時(shí)刻開(kāi)始計(jì)時(shí)的計(jì)時(shí)t到達(dá)時(shí)在該工作頻道繼續(xù)向所述接收端設(shè)備2發(fā)送下一數(shù)據(jù)。依此類(lèi)推;若在該n個(gè)時(shí)間周期均未接收到相應(yīng)的應(yīng)答信息,則發(fā)送端設(shè)備1按照預(yù)置的跳頻順序跳頻至下一頻道。相應(yīng)地,接收端設(shè)備2在工作頻道f接收到所述發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù)的b時(shí)刻開(kāi)始計(jì)時(shí),并b時(shí)刻開(kāi)始計(jì)時(shí)的計(jì)時(shí)s到達(dá)時(shí)未接收到發(fā)送端設(shè)備1發(fā)送的下一數(shù)據(jù),則接收端設(shè)備2按照預(yù)置的跳頻順序跳頻至下一頻道。
方案5、發(fā)送端設(shè)備1采用多周期跳頻重發(fā)多次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)。如圖6所示,發(fā)送端設(shè)備1在a時(shí)刻開(kāi)始計(jì)時(shí),并在開(kāi)始計(jì)時(shí)后按照時(shí)間周期依次向接收端設(shè)備2發(fā)送數(shù)據(jù),在每個(gè)時(shí)間周期執(zhí)行以下步驟:發(fā)送端設(shè)備1在工作頻道f向所述接收端設(shè)備2發(fā)送一次數(shù)據(jù)并等待相應(yīng)的應(yīng)答信息,若在預(yù)置的時(shí)長(zhǎng)內(nèi)未接收到相應(yīng)的應(yīng)答信息,則在該工作頻道向所述接收端設(shè)備2重發(fā)一次所述數(shù)據(jù)并等待相應(yīng)的應(yīng)答信息,若在預(yù)置的時(shí)長(zhǎng)內(nèi)未接收到相應(yīng)的應(yīng)答信息則在該工作頻道向所述接收端設(shè)備2再次重發(fā)一次所述數(shù)據(jù)并等待相應(yīng)的應(yīng)答信息,以此類(lèi)推,若在該時(shí)間周期結(jié)束時(shí)均未接收到相應(yīng)的應(yīng)答信息則進(jìn)入下一時(shí)間周期或者重發(fā)次數(shù)達(dá)到m次時(shí)均未接收到相應(yīng)的應(yīng)答信息則等待該時(shí)間周期結(jié)束時(shí)進(jìn)入下一時(shí)間周期,若在該時(shí)間周期內(nèi)接收到相應(yīng)的應(yīng)答信息則在a時(shí)刻開(kāi)始計(jì)時(shí)的計(jì)時(shí)t到達(dá)時(shí)在該工作頻道繼續(xù)向所述接收端設(shè)備2發(fā)送下一數(shù)據(jù)。依此類(lèi)推;若在該n個(gè)時(shí)間周期均未接收到相應(yīng)的應(yīng)答信息,則發(fā)送端設(shè)備1按照預(yù)置的跳頻順序跳頻至下一頻道。相應(yīng)地,接收端設(shè)備2在工作頻道f接收到所述發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù)的b時(shí)刻開(kāi)始計(jì)時(shí),并b時(shí)刻開(kāi)始計(jì)時(shí)的計(jì)時(shí)s到達(dá)時(shí)未接收到發(fā)送端設(shè)備1發(fā)送的下一數(shù)據(jù),則接收端設(shè)備2按照預(yù)置的跳頻順序跳頻至下一頻道。
優(yōu)選地,本發(fā)明實(shí)施例中,所述發(fā)送端設(shè)備1確定與接收端設(shè)備2之間的有效通信頻道,具體可通過(guò)但不僅限于以下方式實(shí)現(xiàn):
方式1、發(fā)送端設(shè)備1在預(yù)置的頻道列表所列的頻道上依次向所述接收端設(shè)備2發(fā)送數(shù)據(jù);若在其中一頻道向所述接收端設(shè)備2發(fā)送數(shù)據(jù)后接收到相應(yīng)的應(yīng)答信息,則將該頻道確定為有效通信頻道,并停止向接收端設(shè)備2發(fā)送數(shù)據(jù);若在所述頻道列表上所列的所有頻道上向接收端設(shè)備發(fā)送數(shù)據(jù)后均未接收到相應(yīng)的應(yīng)答信息,則在所述接收端設(shè)備跳頻到下一頻道之后,重新執(zhí)行所述在預(yù)置的頻道列表所列的頻道上依次向所述接收端設(shè)備發(fā)送數(shù)據(jù)的步驟;依此類(lèi)推,直到確定出所述有效通信頻道。
假設(shè)頻道列表中列有四個(gè)頻道,分別用f1、f2、f3和f4表示,以每4個(gè)時(shí)間周期為一個(gè)序列。以一個(gè)序列為例:接收端設(shè)備2在該序列的時(shí)間周期內(nèi)一直在工作頻道f1上接收數(shù)據(jù);發(fā)送端設(shè)備1在f1向接收端設(shè)備2發(fā)送數(shù)據(jù),若在計(jì)時(shí)后的第一個(gè)時(shí)間周期t到達(dá)時(shí)沒(méi)有接收到相應(yīng)的應(yīng)答信息,則在第二時(shí)間周期開(kāi)始時(shí)通過(guò)f2向接收端設(shè)備2發(fā)送數(shù)據(jù);若在計(jì)時(shí)后的第二個(gè)時(shí)間周期t到達(dá)時(shí)沒(méi)有接收到相應(yīng)的應(yīng)答信息,則在第三時(shí)間周期開(kāi)始時(shí)通過(guò)f3向接收端設(shè)備2發(fā)送數(shù)據(jù);若在計(jì)時(shí)后的第三個(gè)時(shí)間周期t到達(dá)時(shí)沒(méi)有接收到相應(yīng)的應(yīng)答信息,則在第四個(gè)時(shí)間周期開(kāi)始時(shí)通過(guò)f4向接收端設(shè)備2發(fā)送數(shù)據(jù);若在計(jì)時(shí)后的第四個(gè)時(shí)間周期t到達(dá)時(shí)沒(méi)有接收到相應(yīng)的應(yīng)答信息,則接收端設(shè)備2進(jìn)行跳頻,跳頻到f2?;趂2開(kāi)始下一序列,在下一序列的時(shí)間周期內(nèi)接收端設(shè)備2一直在工作頻道f2上接收數(shù)據(jù),發(fā)送端設(shè)備1重復(fù)前述從f1~f4依次向接收端設(shè)備2發(fā)送數(shù)據(jù)的步驟,依此類(lèi)推,直到找到有效通信頻道位置。
方式2、發(fā)送端設(shè)備1在工作頻道上周期性向接收端設(shè)備2發(fā)送數(shù)據(jù),針對(duì)每個(gè)周期執(zhí)行以下步驟:在該周期內(nèi)每發(fā)一次數(shù)據(jù)則等待相應(yīng)的應(yīng)答信息,若在該周期結(jié)束時(shí)未接收到應(yīng)答信息則進(jìn)行下一周期的數(shù)據(jù)發(fā)送,若在該周期內(nèi)接收到應(yīng)答信息則將此時(shí)的工作頻道確定為有效通信頻道并停止發(fā)送數(shù)據(jù);依此類(lèi)推,若在n個(gè)周期結(jié)束后仍然沒(méi)有確定出有效通信頻道則跳頻到下一工作頻道重復(fù)前述步驟;相應(yīng)地,接收端設(shè)備2周期性的在預(yù)置的頻道列表所列的頻道上接收發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù),針對(duì)每個(gè)周期執(zhí)行以下步驟:若在該周期內(nèi)接收到數(shù)據(jù)則向發(fā)送端設(shè)備1反饋相應(yīng)的應(yīng)答信息,若在該周期內(nèi)未接收到數(shù)據(jù)則在下一周期跳頻到下一頻道繼續(xù)接收數(shù)據(jù)。
實(shí)施例二
本發(fā)明實(shí)施例中,發(fā)送端設(shè)備1的結(jié)構(gòu)如圖7所示,該發(fā)送端設(shè)備1包括第一處理器11、第一射頻傳輸芯片12和第一天線(xiàn)13:
第一處理器11,用于在確定出工作頻道后開(kāi)始計(jì)時(shí),并在開(kāi)始計(jì)時(shí)后的第一時(shí)長(zhǎng)內(nèi),向第一射頻傳輸芯片12寫(xiě)入包含數(shù)據(jù)和工作頻道的數(shù)據(jù)信息;以及,在所述第一時(shí)長(zhǎng)內(nèi)未接收到接收端設(shè)備反饋的與所述數(shù)據(jù)相應(yīng)的應(yīng)答信息則按照預(yù)置的跳頻順序跳頻到下一頻道;將該下一頻道確定為工作頻道重復(fù)前述步驟;
第一射頻傳輸芯片12,用于在所述工作頻道將所述數(shù)據(jù)發(fā)送給接收端設(shè)備;以及,將所述接收端設(shè)備反饋的與所述數(shù)據(jù)相應(yīng)的應(yīng)答信息轉(zhuǎn)發(fā)給所述第一處理器11。
本發(fā)明實(shí)施例中,第一射頻傳輸芯片12可通過(guò)第二天線(xiàn)13將所述數(shù)據(jù)發(fā)送給接收端設(shè)備。
在另一個(gè)實(shí)施例中,所述發(fā)送端設(shè)備1不包含第一天線(xiàn)13,而是所述第一射頻芯片12本身設(shè)置有天線(xiàn),通過(guò)自身的天線(xiàn)向接收端設(shè)備發(fā)送所述數(shù)據(jù)。
在實(shí)際應(yīng)用中,第一處理器11向第一射頻傳輸芯片12的預(yù)置存儲(chǔ)空間(后續(xù)稱(chēng)為發(fā)送緩沖寄存器)中寫(xiě)入包含待發(fā)送數(shù)據(jù)、發(fā)送數(shù)據(jù)的工作頻道、數(shù)據(jù)長(zhǎng)度、發(fā)送地址等數(shù)據(jù)信息,并向所述第一射頻傳輸芯片12傳輸發(fā)送使能信號(hào);第一射頻傳輸芯片12在接收到發(fā)送使能信號(hào)時(shí),從所述存儲(chǔ)空間中讀取數(shù)據(jù)信息,將待發(fā)送數(shù)據(jù)打包成數(shù)據(jù)包,并在所述數(shù)據(jù)信息中的工作頻道向所述接收端設(shè)備發(fā)送數(shù)據(jù)包;在預(yù)置的時(shí)間間隔之后將其自身設(shè)置為接收模式,接收與發(fā)送數(shù)據(jù)相應(yīng)的應(yīng)答信息,若接收到應(yīng)答信息則產(chǎn)生中斷,若未接收到應(yīng)答信息則重發(fā)所述數(shù)據(jù)包。
實(shí)施例三
本發(fā)明實(shí)施例中,接收端設(shè)備2的結(jié)構(gòu)可如圖8所示,該接收端設(shè)備2包括第二處理器21、第二射頻傳輸芯片22和第二天線(xiàn)23,其中:
第二處理器21,用于在工作頻道接收到發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù)時(shí)開(kāi)始計(jì)時(shí),若在計(jì)時(shí)后的第二時(shí)長(zhǎng)內(nèi)未接收到所述發(fā)送端設(shè)備1發(fā)送的下一數(shù)據(jù)則按照預(yù)置的跳頻順序跳頻至下一頻道;將下一頻道作為工作頻道繼續(xù)接收所述發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù),其中所述第二時(shí)長(zhǎng)與第一時(shí)長(zhǎng)的差值小于預(yù)置閾值;
第二射頻傳輸芯片22,用于在第二處理器21設(shè)置的工作頻道接收所述發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù),并將接收到的數(shù)據(jù)發(fā)送給所述第二處理器21。
本發(fā)明實(shí)施例中,第二射頻傳輸芯片22可通過(guò)第二天線(xiàn)23接收發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù)。
在另一個(gè)實(shí)施例中,所述接收端設(shè)備2不包含第二天線(xiàn)23,而是所述第二射頻芯片22本身設(shè)置有天線(xiàn),通過(guò)自身的天線(xiàn)接收發(fā)送端設(shè)備1發(fā)送的數(shù)據(jù)。
在實(shí)際應(yīng)用中,第二處理器21向第二射頻傳輸芯片22的預(yù)置存儲(chǔ)空間中寫(xiě)入接收數(shù)據(jù)的工作頻道、接收地址等數(shù)據(jù)信息,并向所述第二射頻傳輸芯片22傳輸接收使能信號(hào);第二射頻傳輸芯片22在接收到接收使能信號(hào)時(shí),監(jiān)聽(tīng)接收地址和工作頻道上的數(shù)據(jù),在接收到數(shù)據(jù)之后產(chǎn)生中斷,并在預(yù)置的時(shí)間間隔之后將自身設(shè)置為發(fā)送模式,并反饋相應(yīng)的應(yīng)答信息。
實(shí)施例四
本發(fā)明實(shí)施例還提供一種收發(fā)設(shè)備,該收發(fā)設(shè)備包含處理器、射頻傳輸芯片和天線(xiàn),其中所述處理器具有前述第一處理器11和第二處理器21的功能,所述射頻傳輸芯片具有前述第一射頻傳輸芯片12和第二射頻傳輸芯片22的功能,所述天線(xiàn)具有前述第一天線(xiàn)13和第二天線(xiàn)23的功能,在此不再贅述。
實(shí)施例五
為進(jìn)一步詳細(xì)闡述本發(fā)明實(shí)施例提供的跳頻傳輸技術(shù),下面結(jié)合一個(gè)具體的實(shí)例進(jìn)行詳細(xì)的描述。
在該實(shí)例中,發(fā)送端設(shè)備與接收端設(shè)備的結(jié)構(gòu)相同,如圖9所示,兩者均包含處理器(用arm表示)、射頻傳輸芯片(該射頻傳輸芯片可以但不僅限于nrf24l01芯片)和天線(xiàn)(用ant表示),其中射頻傳輸芯片為2.4ghzgfsk射頻傳輸芯片。
nrf24l01芯片為2.4g射頻傳輸芯片,該nrf24l01芯片通過(guò)spi(serialperipheralinterface,串行外設(shè)接口)總線(xiàn)與arm處理器相連接,arm處理器通過(guò)spi總線(xiàn)向?qū)懭雗rf24l01芯片的發(fā)送緩沖寄存器寫(xiě)入數(shù)據(jù)信息。nrf24l01芯片通過(guò)ant天線(xiàn)向外收發(fā)數(shù)據(jù);ant天線(xiàn)將接收到的數(shù)據(jù)寫(xiě)入nrf24l01芯片的接收緩沖寄存器中,再由nrf24l01芯片通過(guò)spi總線(xiàn)將接收到的數(shù)據(jù)傳輸給arm處理器。
nrf24l01芯片的工作模式采用增強(qiáng)式突發(fā)模式(enhancedshockburstmode),在該工作模式下,nrf24l01芯片可自己完成高速rf(radiofrequency,射頻)協(xié)議,arm處理器只需將包含待發(fā)送的數(shù)據(jù)、發(fā)送地址、工作頻道和數(shù)據(jù)長(zhǎng)度等數(shù)據(jù)信息寫(xiě)入至發(fā)送緩沖寄存器中,nrf24l01芯片自動(dòng)產(chǎn)生射頻的固定格式的數(shù)據(jù)包,并在所述工作頻道將所述數(shù)據(jù)包發(fā)送出去。
nrf24l01芯片包含發(fā)送模式(即ptxmode)和接收模式(即prxmode)。
通常nrf24l01芯片處于待機(jī)模式,當(dāng)發(fā)送模式被使能且發(fā)送數(shù)據(jù)緩沖寄存器中有包含待發(fā)送的數(shù)據(jù)、發(fā)送地址、工作頻道和數(shù)據(jù)長(zhǎng)度的數(shù)據(jù)信息時(shí),nrf24l01芯片根據(jù)發(fā)送地址、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)等自行組建數(shù)據(jù)包,并在所述工作頻道發(fā)送所述數(shù)據(jù)包,并發(fā)送數(shù)據(jù)包之后的固定的時(shí)間間隔后將nrf24l01芯片設(shè)置成為接收模式,以接收來(lái)自接收端設(shè)備反饋的應(yīng)答信息;若未接收到應(yīng)答信息則在指定的時(shí)間間隔重新發(fā)送所述數(shù)據(jù)包,若接收到應(yīng)答信息則產(chǎn)生中斷。
通常nrf24l01芯片處于待機(jī)模式,當(dāng)接收模式被使能,則nrf24l01芯片將監(jiān)聽(tīng)指定地址和工作頻道上的數(shù)據(jù),一旦接收到數(shù)據(jù)則立即產(chǎn)生中斷,并在指定的時(shí)間間隔后,nrf24l01芯片設(shè)置為發(fā)送模式,并向發(fā)送端設(shè)備反饋?lái)憫?yīng)的應(yīng)答信息。
圖10為nrf24l01芯片的發(fā)送模式和接收模式的時(shí)序圖,在該時(shí)序圖中,tul表示arm在發(fā)送緩沖寄存器中寫(xiě)入數(shù)據(jù)信息所要消耗的時(shí)長(zhǎng),plllock為預(yù)置的用于觸發(fā)模式切換的固定時(shí)間間隔(例如可以設(shè)置為13us),toa為發(fā)送數(shù)據(jù)包所要消耗的時(shí)長(zhǎng),tack為接收到數(shù)據(jù)之后向發(fā)送端設(shè)備反饋應(yīng)答信息的響應(yīng)時(shí)長(zhǎng),irq為產(chǎn)生中斷的響應(yīng)時(shí)長(zhǎng),standby為待機(jī)時(shí)長(zhǎng)。則nrf24l01芯片發(fā)送一次數(shù)據(jù)包需要的時(shí)長(zhǎng)(用tesbcycle表示)如下式(1)所示:
tesbcycle=tul+130us*2+toa+tack+10us式(1)
圖11為nrf24l01芯片的帶有重發(fā)數(shù)據(jù)機(jī)制的發(fā)送模式的時(shí)序圖,在該時(shí)序圖中,在向接收端設(shè)備發(fā)送數(shù)據(jù)包之后的指定ard時(shí)間(即第三時(shí)長(zhǎng))內(nèi)若沒(méi)有接收到接收端設(shè)備反饋的應(yīng)答信息(即ack)則啟動(dòng)數(shù)據(jù)重發(fā)流程,該圖12是以重發(fā)m次為例。當(dāng)tesbcycle(即一個(gè)時(shí)間周期)結(jié)束后,將在下一tesbcycle內(nèi)重復(fù)前述流程。ard的時(shí)長(zhǎng)大于130us+tack+10us。pll+rx表示模式切換固定時(shí)間間隔與發(fā)送數(shù)據(jù)所消耗的時(shí)長(zhǎng)的和值。
本實(shí)例發(fā)送端設(shè)備與接收端設(shè)備之間的工作原理可分兩個(gè)階段進(jìn)行描述,第一階段由發(fā)送端設(shè)備確定出與接收端設(shè)備之間的有效通信頻道;第二階段,發(fā)送端設(shè)備以有效通信頻道為初始的工作頻道進(jìn)行跳頻發(fā)送數(shù)據(jù),接收端設(shè)備以有效通信頻道為初始的工作頻道進(jìn)行跳頻接收數(shù)據(jù)。發(fā)送端設(shè)備的射頻傳輸芯片用ptx(primarytransmitter)表示,接收端設(shè)備的射頻傳輸芯片用prx(primaryreceiver)表示。兩個(gè)工作階段具體如下:
(1)第一階段:
發(fā)送端設(shè)備采用前述方式,通過(guò)向接收端設(shè)備發(fā)送數(shù)據(jù)的方式確定出兩者之間的有效通信頻道,在此不再贅述。
(2)第二階段:
該第二階段,分別以發(fā)送端設(shè)備采用方案1、方案2和方案5在計(jì)時(shí)后的第一時(shí)長(zhǎng)內(nèi)向接收端設(shè)備發(fā)送數(shù)據(jù)進(jìn)行詳細(xì)的描述,其他方案的原理類(lèi)似,在此不再贅述。
實(shí)例1:采用前述方案1所示的單周期跳頻重發(fā)一次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)。
假設(shè)第一時(shí)長(zhǎng)為一個(gè)時(shí)間周期(該時(shí)間周期用tesbcycle表示),與ptx連接的arm在a時(shí)刻開(kāi)始計(jì)時(shí)tesbcycle,在計(jì)時(shí)后在工作頻道f向prx發(fā)送一次數(shù)據(jù)并等待接收應(yīng)答信息。若a時(shí)刻開(kāi)始計(jì)時(shí)后的tesbcycle計(jì)時(shí)到達(dá)之前,ptx接收到應(yīng)答信息則產(chǎn)生中斷,并由ptx連接的arm進(jìn)行中斷處理,此時(shí)ptx進(jìn)入待機(jī)模式以減少功耗。prx在b時(shí)刻在工作頻道f上接收到ptx發(fā)送的數(shù)據(jù)(該數(shù)據(jù)為ptx在a時(shí)刻之前發(fā)送的上一數(shù)據(jù))并產(chǎn)生中斷,向ptx反饋應(yīng)答信息(用ack表示)之后進(jìn)入待機(jī)模式以減少功耗。與ptx相連的arm在a時(shí)刻開(kāi)始計(jì)時(shí)后的tesbcycle計(jì)時(shí)到達(dá)時(shí),繼續(xù)在工作頻道f控制ptx向prx發(fā)送下一數(shù)據(jù),與ptx相連的arm開(kāi)始計(jì)時(shí)nexttesbcycle;而此時(shí)b時(shí)刻開(kāi)始計(jì)時(shí)的tesbcycle還未到達(dá),而prx在b時(shí)刻開(kāi)始計(jì)時(shí)的tesbcycle到達(dá)之前即接收到了ptx發(fā)送的下一數(shù)據(jù),因此,與prx連接的arm在b時(shí)刻開(kāi)始計(jì)時(shí)的tesbcycle到達(dá)時(shí)不進(jìn)行跳頻,從而確保發(fā)送端設(shè)備1與接收端設(shè)備2繼續(xù)在相同的工作頻道f進(jìn)行通信。
如圖12所示,如果與prx在b時(shí)刻開(kāi)始計(jì)時(shí)后的tesbcycle計(jì)時(shí)到達(dá)時(shí)還未接收到ptx發(fā)送的數(shù)據(jù),則與prx連接的arm在時(shí)刻c啟動(dòng)跳頻。由于ptx與prx已經(jīng)不在同一工作頻道,因此ptx在nexttesbcycle接收不到prx反饋的ack,因此與ptx相連的arm在nexttesbcycle到達(dá)的d時(shí)刻也啟動(dòng)跳頻。而ptx與prx又會(huì)在同一個(gè)新的工作頻道進(jìn)行通信。圖12中以及后續(xù)的其他附圖中打“x”表示發(fā)送失敗。
如圖13所示,如果prx在b時(shí)刻開(kāi)始計(jì)時(shí)的tesbcycle計(jì)時(shí)到達(dá)之前接收到ptx發(fā)送的數(shù)據(jù),則prx產(chǎn)生中斷并回復(fù)ack,與prx相連的arm進(jìn)行中斷處理并重新開(kāi)始計(jì)時(shí)nexttesbcycle。ptx若在開(kāi)始計(jì)時(shí)nexttesbcycle之后發(fā)送的數(shù)據(jù)未接收到ack則會(huì)重發(fā)一次所述數(shù)據(jù);如果prx能接收到ptx重發(fā)的數(shù)據(jù),由于prx內(nèi)部帶有高速rf協(xié)議可以判斷出本次接收到的數(shù)據(jù)為ptx重發(fā)的數(shù)據(jù),因此prx會(huì)自動(dòng)回復(fù)ack但不觸發(fā)中斷。如果ptx在nexttesbcycle計(jì)時(shí)未到之前接收到ack則產(chǎn)生中斷,則與ptx相連的arm在nexttesbcycle計(jì)時(shí)到達(dá)時(shí)不進(jìn)行跳頻;如果ptx在nexttesbcycle計(jì)時(shí)到達(dá)時(shí)還未接收到ack,則與ptx相連的arm在nexttesbcycle計(jì)時(shí)到達(dá)的時(shí)刻c啟動(dòng)跳頻。ptx在新的工作頻道上向prx發(fā)送數(shù)據(jù),由于prx與ptx已經(jīng)不在同一工作頻道上,因此prx在nexttesbcycle計(jì)時(shí)到達(dá)之前接收不到prx發(fā)送的數(shù)據(jù),因此與prx相連的arm在nexttesbcycle到達(dá)的時(shí)刻d啟動(dòng)跳頻,此后ptx與prx又會(huì)在同一個(gè)新的工作頻道進(jìn)行通信。
實(shí)例2:采用前述方案2所示的單周期跳頻重發(fā)多次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)。
在經(jīng)過(guò)第一階段后,假設(shè)與ptx相連的arm在時(shí)刻a開(kāi)始計(jì)時(shí)tesbcycle,并在開(kāi)始計(jì)時(shí)后控制ptx第一次向prx發(fā)送數(shù)據(jù),如果在預(yù)置時(shí)長(zhǎng)內(nèi)未接收到prx反饋的ack則重新發(fā)送所述數(shù)據(jù);假設(shè)prx在b時(shí)刻接收到ptx第i(i<=m)次發(fā)送的數(shù)據(jù)且反饋ack時(shí),則與prx連接的arm在b時(shí)刻開(kāi)始計(jì)時(shí)tesbcycle。
如圖14所示,如果prx在b時(shí)刻開(kāi)始計(jì)時(shí)的tesbcycle計(jì)時(shí)到達(dá)時(shí)還沒(méi)有接收到ptx發(fā)送的數(shù)據(jù),則與prx相連的arm在b時(shí)刻開(kāi)始計(jì)時(shí)的tesbcycle到達(dá)的c時(shí)刻啟動(dòng)跳頻;ptx在nexttesbcycle內(nèi)發(fā)送的前i次數(shù)據(jù)均未接收到prx反饋的ack,還將繼續(xù)重發(fā)(m-i)次數(shù)據(jù),但是由于ptx與prx已經(jīng)不在同一工作頻道,因此ptx重發(fā)的(m-i)次數(shù)據(jù)也均不會(huì)接收到prx反饋的ack,因此與ptx相連的arm在nexttesbcycle計(jì)時(shí)到達(dá)的d時(shí)刻啟動(dòng)跳頻。ptx與prx又會(huì)在同一個(gè)新的工作頻道上進(jìn)行通信。
如圖15所示,如果prx在b時(shí)刻開(kāi)始計(jì)時(shí)的tesbcycle計(jì)時(shí)到達(dá)之前接收到prx發(fā)送的數(shù)據(jù),則prx產(chǎn)生中斷并反饋ack,與prx相連的arm進(jìn)行中斷處理并開(kāi)始計(jì)時(shí)nexttesbcycle。ptx在nexttesbcycle內(nèi)發(fā)送前i次數(shù)據(jù)之后未接收到prx反饋的ack,還會(huì)重發(fā)(m-i)次數(shù)據(jù),如果在(m-i)次重發(fā)數(shù)據(jù)的過(guò)程中,prx能接收到重發(fā)的數(shù)據(jù),由于prx內(nèi)部帶有高速rf協(xié)議可以判斷出本次接收到的數(shù)據(jù)為ptx重發(fā)的數(shù)據(jù),則prx自動(dòng)回復(fù)ack但不觸發(fā)中斷。如果ptx在nexttesbcycle計(jì)時(shí)到達(dá)之前接收到prx反饋的ack,則產(chǎn)生中斷,與ptx相連的arm在nexttesbcycle計(jì)時(shí)到達(dá)時(shí)不進(jìn)行跳頻。如果ptx在重發(fā)m-i次數(shù)據(jù)之后仍未接收到prx反饋的ack,則與ptx相連的arm在nexttesbcycle計(jì)時(shí)到達(dá)的c時(shí)刻啟動(dòng)跳頻。ptx在新的工作頻道向prx發(fā)送數(shù)據(jù),由于ptx與prx已經(jīng)不在同一工作頻道,因此prx在nexttesbcycle到達(dá)之前接收不到ptx發(fā)送的數(shù)據(jù),因此與prx相連的arm在nexttesbcycle到達(dá)的d時(shí)刻啟動(dòng)跳頻,此后ptx與prx又會(huì)在同一個(gè)新的工作頻道上進(jìn)行通信。
實(shí)例3:采用方案5所示的多周期跳頻重發(fā)多次數(shù)據(jù)機(jī)制發(fā)送數(shù)據(jù)。
假設(shè)第一時(shí)長(zhǎng)包含n個(gè)時(shí)間周期(一個(gè)時(shí)間周期用一個(gè)tesbcycle表示),與ptx相連的arm在a時(shí)刻開(kāi)始計(jì)時(shí)n*tesbcycle,計(jì)時(shí)后周期性向prx發(fā)送數(shù)據(jù)。如果ptx在某個(gè)tesbcycle的第i(i<=m)次發(fā)送的數(shù)據(jù)被prx接收到且ptx接收到prx反饋的ack,則與ptx連接的arm在a時(shí)刻開(kāi)始計(jì)時(shí)的n*tesbcycle到達(dá)時(shí)不進(jìn)行跳頻,并開(kāi)始計(jì)時(shí)nextn*tesbcycle,與prx連接的arm在時(shí)刻b開(kāi)始計(jì)時(shí)n*tesbcycle。
如圖16所示,如果prx在b時(shí)刻開(kāi)始計(jì)時(shí)的n*tesbcycle計(jì)時(shí)到達(dá)前,未接收到ptx發(fā)送的數(shù)據(jù)則不回復(fù)ack,與prx相連的arm在b時(shí)刻開(kāi)始計(jì)時(shí)的n*tesbcycle計(jì)時(shí)到達(dá)的c時(shí)刻啟動(dòng)跳頻;由于prx與ptx已經(jīng)不在同一工作頻道,因此ptx在nextn*tesbcycle計(jì)時(shí)到達(dá)之前接收不到prx反饋的ack,因此與ptx相連的arm在nextn*tesbcycle計(jì)時(shí)到達(dá)的d時(shí)刻啟動(dòng)跳頻。ptx與prx又會(huì)在同一個(gè)新的工作頻道進(jìn)行通信。
如圖17所示,如果prx在b時(shí)刻開(kāi)始計(jì)時(shí)的n*tesbcycle計(jì)時(shí)到達(dá)前接收到ptx發(fā)送的數(shù)據(jù),則產(chǎn)生中斷并回復(fù)ack,與prx相連的arm對(duì)中斷進(jìn)行處理,并重新開(kāi)始計(jì)時(shí)nextn*tesbcycle。如果ptx在nextn*tesbcycle計(jì)時(shí)到達(dá)前接收不到prx反饋的ack,則與ptx相連的arm在nextn*tesbcycle計(jì)時(shí)到達(dá)的c時(shí)刻啟動(dòng)跳頻。ptx在新的工作頻道上向prx發(fā)送數(shù)據(jù),由于ptx與prx已經(jīng)不在同一工作頻道,因此prx在nextn*tesbcycle計(jì)時(shí)到達(dá)之前接收不到ptx發(fā)送的數(shù)據(jù),則與prx相連的arm在nextn*tesbcycle計(jì)時(shí)到達(dá)的d時(shí)刻啟動(dòng)跳頻,此后ptx與prx又會(huì)在同一個(gè)新的工作頻道上進(jìn)行通信。
本發(fā)明實(shí)施例,發(fā)送端設(shè)備在確定出與接收端設(shè)備的有效通信頻道之后按自己的時(shí)鐘進(jìn)行跳頻,在跳頻時(shí)不需要考慮接收端設(shè)備的工作狀態(tài)。而接收端設(shè)備在所述有效通信頻道接收到發(fā)送端設(shè)備發(fā)送的數(shù)據(jù)之后,可以按照自己的時(shí)鐘,在n*tesbcycle時(shí)間后,如果沒(méi)有接收到發(fā)送端設(shè)備發(fā)送的下一數(shù)據(jù)則進(jìn)行跳頻,只要在pll+rx時(shí)間內(nèi)設(shè)置好新的工作頻道即可,且這個(gè)pll+rx也是本發(fā)明實(shí)施例提供的跳頻傳輸系統(tǒng)能夠容忍的發(fā)送端設(shè)備時(shí)鐘與接收端設(shè)備時(shí)鐘之間的最大時(shí)間偏差。
下面以一個(gè)單周期跳頻重發(fā)一次數(shù)據(jù)為例,描述發(fā)送端設(shè)備時(shí)鐘與接收端設(shè)備時(shí)鐘之間的最大時(shí)間偏差。
假設(shè)發(fā)送端設(shè)備與接收端設(shè)備的通信頻率為100hz,即tesbcycle為10ms。報(bào)頭(即preamble)為1byte,收發(fā)數(shù)據(jù)(即payload)的長(zhǎng)度為32個(gè)字節(jié),通信地址(即address)長(zhǎng)度為5字節(jié),crc校驗(yàn)位為1byte。在250kbps(即airdatarate)的通信頻率下,pll+rx為130us+((1byte+5byte+32byte+1byte)*8bit+9bit)/(250kbit/s)=1414us;ptx與prx在計(jì)時(shí)10ms,最大時(shí)間偏差控制在±707us即可。在射頻傳輸芯片所允許的最高2mbps(即airdatarate)的通信頻率下,pll+rx為130us+((1byte+5byte+32byte+1byte)*8bit+9bit)/(2mbit/s)=290.5us;當(dāng)x=1時(shí),在250kbps的通信頻率下,ptx與prx在計(jì)時(shí)10ms,最大時(shí)間偏差控制在±145.25us即可。前述最大時(shí)間偏差基本適用于所有的芯片。計(jì)算公式可如圖18所示。
實(shí)施例六
基于前述跳頻傳輸系統(tǒng)的相同發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種跳頻傳輸方法,如圖19所示,該方法包括以下步驟:
步驟201、發(fā)送端設(shè)備確定與接收端設(shè)備之間的有效通信頻道;
步驟202、發(fā)送端設(shè)備以所述有效通信頻道為初始的工作頻道執(zhí)行以下步驟:在確定出工作頻道后開(kāi)始計(jì)時(shí),并在開(kāi)始計(jì)時(shí)后的第一時(shí)長(zhǎng)內(nèi)在工作頻道向接收端設(shè)備發(fā)送數(shù)據(jù),若在所述第一時(shí)長(zhǎng)內(nèi)未接收到接收端設(shè)備反饋的與所述數(shù)據(jù)相應(yīng)的應(yīng)答信息則按照預(yù)置的跳頻順序跳頻至下一頻道,將該下一頻道確定為工作頻道重復(fù)前述步驟;
步驟203、接收端設(shè)備以所述有效通信頻道為初始的工作頻道執(zhí)行以下步驟:在工作頻道接收到所述發(fā)送端設(shè)備發(fā)送的數(shù)據(jù)時(shí)開(kāi)始計(jì)時(shí),若在計(jì)時(shí)后的第二時(shí)長(zhǎng)內(nèi)未接收到發(fā)送端設(shè)備發(fā)送的下一數(shù)據(jù)則按照預(yù)置的所述跳頻順序跳頻至下一頻道,將所述下一頻道作為工作頻道重復(fù)前述步驟,所述第二時(shí)長(zhǎng)與第一時(shí)長(zhǎng)的差值小于預(yù)置閾值。
發(fā)送端設(shè)備1與接收端設(shè)備2的預(yù)置的跳頻順序一致。
優(yōu)選地,所述方法還可包括:
所述發(fā)送端設(shè)備若在所述第一時(shí)長(zhǎng)內(nèi)接收到所述接收端設(shè)備反饋的應(yīng)答信息則產(chǎn)生中斷,并等待所述第一時(shí)長(zhǎng)到達(dá)時(shí)在工作頻道繼續(xù)向所述接收端設(shè)備發(fā)送下一數(shù)據(jù);
以及,所述接收端設(shè)備若在所述第二時(shí)長(zhǎng)內(nèi)接收到所述發(fā)送端設(shè)備發(fā)送的下一數(shù)據(jù)則產(chǎn)生中斷,并向所述發(fā)送端設(shè)備反饋應(yīng)答信息,以及繼續(xù)在所述工作頻道接收數(shù)據(jù)。
優(yōu)選地,為進(jìn)一步減少設(shè)備功耗,所述方法還可進(jìn)一步包括:所述發(fā)送端設(shè)備在產(chǎn)生中斷后進(jìn)入待機(jī)模式,直到所述第一時(shí)長(zhǎng)到達(dá)。所述步驟e還可進(jìn)一步包括:所述接收端設(shè)備在向所述發(fā)送端設(shè)備反饋應(yīng)答信息之后進(jìn)入待機(jī)模式,直到所述第二時(shí)長(zhǎng)到達(dá)。
優(yōu)選地,所述第一時(shí)長(zhǎng)包含至少一個(gè)時(shí)間周期,所述步驟202中,發(fā)送端設(shè)備在開(kāi)始計(jì)時(shí)后的第一時(shí)長(zhǎng)內(nèi)在工作頻道向接收端設(shè)備發(fā)送數(shù)據(jù),具體包括:
在所述第一時(shí)長(zhǎng)內(nèi)按照預(yù)置的時(shí)間周期在工作頻道向所述接收端設(shè)備發(fā)送所述數(shù)據(jù),其中,針對(duì)每個(gè)時(shí)間周期執(zhí)行以下步驟:在所述時(shí)間周期內(nèi)向所述接收端設(shè)備發(fā)送所述數(shù)據(jù),若在該時(shí)間周期內(nèi)未接收到應(yīng)答信息則在下一時(shí)間周期繼續(xù)發(fā)送所述數(shù)據(jù),若在該時(shí)間周期內(nèi)接收到應(yīng)答信息則停止發(fā)送所述數(shù)據(jù)。
優(yōu)選地,所述發(fā)送端設(shè)備在所述時(shí)間周期內(nèi)向所述接收端設(shè)備發(fā)送所述數(shù)據(jù),具體包括:
在所述時(shí)間周期內(nèi)在工作頻道向所述接收端設(shè)備發(fā)送所述數(shù)據(jù),若在發(fā)送所述數(shù)據(jù)之后的第三時(shí)長(zhǎng)內(nèi)未接收到應(yīng)答信息則重發(fā)所述數(shù)據(jù),若在所述數(shù)據(jù)之后的第三時(shí)長(zhǎng)內(nèi)接收到應(yīng)答信息則停止重發(fā)所述數(shù)據(jù),依次類(lèi)推,直到所述時(shí)間周期結(jié)束或者重發(fā)次數(shù)達(dá)到預(yù)置的次數(shù)閾值;其中所述第三時(shí)長(zhǎng)小于所述時(shí)間周期。
優(yōu)選地,所述步驟201具體實(shí)現(xiàn)如下:在預(yù)置的頻道列表所列的頻道上依次向所述接收端設(shè)備發(fā)送數(shù)據(jù);若在其中一頻道向所述接收端設(shè)備發(fā)送數(shù)據(jù)后接收到相應(yīng)的應(yīng)答信息,則將該頻道確定為有效通信頻道并停止向接收端設(shè)備發(fā)送數(shù)據(jù);若在所述頻道列表上所列的所有頻道上向接收端設(shè)備發(fā)送數(shù)據(jù)后均未接收到相應(yīng)的應(yīng)答信息,則在所述接收端設(shè)備跳頻到下一頻道之后,重新執(zhí)行所述在預(yù)置的頻道列表所列的頻道上依次向所述接收端設(shè)備發(fā)送數(shù)據(jù)的步驟依此類(lèi)推,直到確定出所述有效通信頻道。
以上是本發(fā)明的核心思想,為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。