本發(fā)明涉及無(wú)線通信技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)發(fā)送端及方法、數(shù)據(jù)接收端及方法和數(shù)據(jù)傳輸系統(tǒng)。
背景技術(shù):
在無(wú)線通信過(guò)程中,數(shù)據(jù)發(fā)送端(PTX)和數(shù)據(jù)接收端(PRX)在進(jìn)行數(shù)據(jù)通信時(shí),數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端均可能會(huì)受到外界因素的影響,而導(dǎo)致接收不成功或接收成功率下降的問(wèn)題。因此,數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端在通信過(guò)程中引入了握手機(jī)制(ACK,Acknowledgement),以此告知雙方當(dāng)前數(shù)據(jù)包收發(fā)是否成功。
其中,數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端在進(jìn)行數(shù)據(jù)通信時(shí),首先由數(shù)據(jù)發(fā)送端將待發(fā)送的數(shù)據(jù)發(fā)送至數(shù)據(jù)接收端,數(shù)據(jù)接收端在接收到數(shù)據(jù)發(fā)送端發(fā)送的數(shù)據(jù)包之后,關(guān)閉接收模式切換為發(fā)送模式向數(shù)據(jù)發(fā)送端發(fā)送確認(rèn)包,同樣原數(shù)據(jù)發(fā)送端在發(fā)送數(shù)據(jù)包完成之后關(guān)閉發(fā)送模式轉(zhuǎn)而切換為接收模式,待接收到確認(rèn)包之后再次切換為發(fā)送模式進(jìn)行后續(xù)數(shù)據(jù)包的發(fā)送。
在上述的過(guò)程中,數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端需要耗費(fèi)大量的軟件資源來(lái)進(jìn)行接收和發(fā)送模式的切換。因此,現(xiàn)有技術(shù)中的數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端之間的無(wú)線通信方式存在著軟件資源耗費(fèi)大的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例解決的是如何提高在數(shù)據(jù)接收端和數(shù)據(jù)發(fā)送端的無(wú)線數(shù)據(jù)通信過(guò)程中節(jié)約軟件資源。
為解決上述問(wèn)題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)發(fā)送端,所述數(shù)據(jù)發(fā)送端包括:
數(shù)據(jù)發(fā)送端啟動(dòng)電路,適于啟動(dòng)所述數(shù)據(jù)發(fā)送端;
數(shù)據(jù)幀生成電路,包括:物理地址配置電路,適于設(shè)置數(shù)據(jù)接收端的物 理地址;數(shù)據(jù)包生成器,適于生成待發(fā)送的數(shù)據(jù)包;校驗(yàn)碼生成電路,適于根據(jù)所生成的數(shù)據(jù)包生成對(duì)應(yīng)的循環(huán)冗余校驗(yàn)碼信息;第一數(shù)據(jù)幀生成器,適于采用所述數(shù)據(jù)接收端的物理地址、數(shù)據(jù)包和循環(huán)冗余校驗(yàn)碼信息,生成對(duì)應(yīng)的數(shù)據(jù)幀;
數(shù)據(jù)發(fā)送端收發(fā)電路,適于將所生成的數(shù)據(jù)幀發(fā)送至數(shù)據(jù)接收端,接收所述數(shù)據(jù)接收端發(fā)送的對(duì)應(yīng)ACK信息,并在接收到所述數(shù)據(jù)接收端發(fā)送的對(duì)應(yīng)ACK信息時(shí),向所述數(shù)據(jù)接收端發(fā)送接收到對(duì)應(yīng)ACK信息的確認(rèn)信息;
數(shù)據(jù)發(fā)送端關(guān)閉電路,適于當(dāng)發(fā)送完畢所生成的數(shù)據(jù)幀時(shí),關(guān)閉所述數(shù)據(jù)發(fā)送端。
可選地,所述數(shù)據(jù)發(fā)送端收發(fā)電路包括:
第一接收狀態(tài)機(jī)電路,適于接收所述數(shù)據(jù)接收端所發(fā)送的數(shù)據(jù)幀的對(duì)應(yīng)ACK信息;
第一發(fā)送狀態(tài)機(jī)電路,適于發(fā)送由所述數(shù)據(jù)幀生成器所生成的數(shù)據(jù)幀;并在所述第一接收狀態(tài)機(jī)電路接收到對(duì)應(yīng)ACK信息時(shí),向所述數(shù)據(jù)接收端發(fā)送接收到所述對(duì)應(yīng)ACK信息的確認(rèn)信息;
第一收發(fā)切換電路,適于在數(shù)據(jù)幀發(fā)送完成后,關(guān)閉所述第一發(fā)送狀態(tài)機(jī)電路,并啟動(dòng)所述第一接收狀態(tài)機(jī)電路;在所述第一接收狀態(tài)機(jī)電路接收到對(duì)應(yīng)ACK信息時(shí),控制所述第一發(fā)送狀態(tài)機(jī)電路開(kāi)啟。
可選地,當(dāng)所述第一接收狀態(tài)機(jī)電路在預(yù)設(shè)時(shí)間內(nèi)未接收到所述對(duì)應(yīng)ACK信息時(shí),所述第一收發(fā)切換電路還適于關(guān)閉所述第一接收狀態(tài)機(jī)電路,并重新啟動(dòng)所述第一發(fā)送狀態(tài)機(jī)電路,重新發(fā)送所述數(shù)據(jù)幀。
可選地,所述數(shù)據(jù)發(fā)送端關(guān)閉電路還適于當(dāng)所述第一發(fā)送狀態(tài)機(jī)電路重新發(fā)送所述數(shù)據(jù)幀超過(guò)預(yù)設(shè)時(shí)間時(shí),關(guān)閉所述數(shù)據(jù)發(fā)送端。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)發(fā)送端,所述數(shù)據(jù)發(fā)送端包括:
數(shù)據(jù)發(fā)送端啟動(dòng)電路,適于啟動(dòng)所述數(shù)據(jù)發(fā)送端;
數(shù)據(jù)幀生成電路,包括:標(biāo)識(shí)信息生成器,適于生成數(shù)據(jù)幀的標(biāo)識(shí)信息;物理地址配置電路,適于設(shè)置數(shù)據(jù)接收端的物理地址;數(shù)據(jù)包生成器,適于 生成待發(fā)送的數(shù)據(jù)包;校驗(yàn)碼生成電路,適于根據(jù)所生成的數(shù)據(jù)包生成對(duì)應(yīng)的循環(huán)冗余校驗(yàn)碼信息;第二數(shù)據(jù)幀生成器,適于采用所生成的所述標(biāo)識(shí)信息、數(shù)據(jù)接收端的物理地址、數(shù)據(jù)包和循環(huán)冗余校驗(yàn)碼信息,生成對(duì)應(yīng)的數(shù)據(jù)幀;
數(shù)據(jù)發(fā)送端收發(fā)電路,適于在預(yù)設(shè)時(shí)間內(nèi)接收到所述數(shù)據(jù)接收端所發(fā)送的數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),告知所述數(shù)據(jù)幀生成電路生成下一數(shù)據(jù)幀的標(biāo)識(shí)信息,通過(guò)將所述下一數(shù)據(jù)幀的標(biāo)識(shí)信息設(shè)置為與當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息不同的方式,告知所述數(shù)據(jù)接收端已接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息;
數(shù)據(jù)發(fā)送端關(guān)閉電路,適于當(dāng)發(fā)送完畢所生成的數(shù)據(jù)幀時(shí),關(guān)閉所述數(shù)據(jù)發(fā)送端。所述數(shù)據(jù)幀包括標(biāo)識(shí)信息、數(shù)據(jù)接收端的物理地址、數(shù)據(jù)包和循環(huán)冗余校驗(yàn)碼信息。
可選地,所述數(shù)據(jù)發(fā)送端收發(fā)電路包括:
第二發(fā)送狀態(tài)機(jī)電路,適于發(fā)送所生成的數(shù)據(jù)幀;
第二接收狀態(tài)機(jī)電路,適于接收所發(fā)送的數(shù)據(jù)幀的對(duì)應(yīng)ACK信息;
第二收發(fā)切換電路,適于在數(shù)據(jù)幀發(fā)送完成后,關(guān)閉所述第二發(fā)送狀態(tài)機(jī)電路,并啟動(dòng)所述第二接收狀態(tài)機(jī)電路;
ACK處理電路,適于在所述第二接收狀態(tài)機(jī)電路在預(yù)設(shè)時(shí)間內(nèi)接收到所述數(shù)據(jù)接收端所發(fā)送的當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),告知所述標(biāo)識(shí)信息生成器生成下一數(shù)據(jù)幀的標(biāo)識(shí)信息,所生成的下一數(shù)據(jù)幀的標(biāo)識(shí)信息與所述當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息不同。
可選地,當(dāng)所述第二接收狀態(tài)機(jī)電路在預(yù)設(shè)時(shí)間內(nèi)未接收到所述當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),所述第二收發(fā)切換電路還適于關(guān)閉所述第二接收狀態(tài)機(jī)電路,并重新啟動(dòng)所述第二發(fā)送狀態(tài)機(jī)電路,重新發(fā)送所述當(dāng)前數(shù)據(jù)幀。
可選地,所述數(shù)據(jù)發(fā)送端關(guān)閉電路還適于當(dāng)所述第二發(fā)送狀態(tài)機(jī)電路重新發(fā)送同一數(shù)據(jù)幀超過(guò)預(yù)設(shè)時(shí)間時(shí),關(guān)閉所述數(shù)據(jù)發(fā)送端。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)發(fā)送方法,所述方法包括:
數(shù)據(jù)發(fā)送端生成并發(fā)送數(shù)據(jù)幀至數(shù)據(jù)接收端,所述數(shù)據(jù)幀包括標(biāo)識(shí)信息、 數(shù)據(jù)接收端的物理地址、數(shù)據(jù)包和循環(huán)冗余校驗(yàn)碼信息;
當(dāng)發(fā)送完畢當(dāng)前數(shù)據(jù)幀時(shí),所述數(shù)據(jù)發(fā)送端接收所述數(shù)據(jù)接收端發(fā)送的對(duì)應(yīng)ACK信息;
當(dāng)在預(yù)設(shè)時(shí)間內(nèi)接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),所述數(shù)據(jù)發(fā)送端更改下一數(shù)據(jù)幀的標(biāo)識(shí)信息,使得所述下一數(shù)據(jù)幀的標(biāo)識(shí)信息與所述當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息不同;
當(dāng)在預(yù)設(shè)時(shí)間內(nèi)未接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),所述數(shù)據(jù)發(fā)送端重新發(fā)送所述當(dāng)前數(shù)據(jù)幀。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)接收端,所述數(shù)據(jù)接收端包括:
數(shù)據(jù)接收端啟動(dòng)電路,適于啟動(dòng)所述數(shù)據(jù)接收端;
數(shù)據(jù)接收端收發(fā)電路,包括:第三發(fā)送狀態(tài)機(jī)電路,適于向所述數(shù)據(jù)發(fā)送端發(fā)送所接收的數(shù)據(jù)幀的對(duì)應(yīng)ACK信息;第三接收狀態(tài)機(jī)電路,適于接收所述數(shù)據(jù)發(fā)送端發(fā)送的數(shù)據(jù)幀;接收所述數(shù)據(jù)發(fā)送端所發(fā)送的接收到對(duì)應(yīng)ACK信息的確認(rèn)信息;數(shù)據(jù)幀校驗(yàn)電路,適于檢測(cè)所接收的數(shù)據(jù)幀是否正確;第三收發(fā)切換電路,適于在確定所接收的數(shù)據(jù)幀正確時(shí),控制所述第三發(fā)送狀態(tài)機(jī)開(kāi)啟;當(dāng)發(fā)送所述對(duì)應(yīng)ACK信息完成時(shí),控制所述第三接收狀態(tài)機(jī)電路開(kāi)啟;
數(shù)據(jù)接收端關(guān)閉電路,適于在接收完畢所述數(shù)據(jù)發(fā)送端發(fā)送的所有數(shù)據(jù)幀時(shí),關(guān)閉所述數(shù)據(jù)接收端。
可選地,所述數(shù)據(jù)接收端包括兩條以上的數(shù)據(jù)通道,所述數(shù)據(jù)接收端收發(fā)電路還包括:
與所述數(shù)據(jù)通道一一對(duì)應(yīng)的物理地址同步電路,適于檢測(cè)發(fā)送待接收的數(shù)據(jù)幀的數(shù)據(jù)接收端的物理地址是否與對(duì)應(yīng)數(shù)據(jù)通道的物理地址相匹配;
所述第三接收狀態(tài)機(jī)電路,適于在確定所述待接收的數(shù)據(jù)幀的數(shù)據(jù)發(fā)送端的物理地址與對(duì)應(yīng)數(shù)據(jù)通道物理地址相匹配時(shí),接收所述數(shù)據(jù)幀。
可選地,當(dāng)所述數(shù)據(jù)幀校驗(yàn)電路確定所接收的數(shù)據(jù)幀錯(cuò)誤時(shí),所述第三收發(fā)切換電路還適于關(guān)閉所述第三發(fā)送狀態(tài)機(jī)電路,并開(kāi)啟所述第三接收狀 態(tài)機(jī)電路重新接收所述數(shù)據(jù)幀。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)接收端,所述數(shù)據(jù)接收端包括:
數(shù)據(jù)接收端啟動(dòng)電路,適于啟動(dòng)所述數(shù)據(jù)接收端;
數(shù)據(jù)接收端收發(fā)電路,包括:第四接收狀態(tài)機(jī)電路,適于接收所述數(shù)據(jù)發(fā)送端發(fā)送的數(shù)據(jù)幀;數(shù)據(jù)幀校驗(yàn)電路,適于檢測(cè)所接收的數(shù)據(jù)幀是否正確;檢測(cè)電路,適于在確定所接收的當(dāng)前數(shù)據(jù)幀正確時(shí),解析出當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息,并在確定所解析出的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息不同時(shí),確定所述數(shù)據(jù)發(fā)送端接收到前一數(shù)據(jù)幀的對(duì)應(yīng)ACK信息并輸出接收到所述前一數(shù)據(jù)幀的對(duì)應(yīng)ACK信息的提示信息;第四收發(fā)切換電路,適于在確定所接收的數(shù)據(jù)幀正確時(shí),啟動(dòng)第四發(fā)送狀態(tài)機(jī)電路;所述第四發(fā)送狀態(tài)機(jī)電路,適于發(fā)送所接收的數(shù)據(jù)幀的對(duì)應(yīng)ACK信息;
數(shù)據(jù)接收端關(guān)閉電路,適于在接收完畢所述數(shù)據(jù)發(fā)送端發(fā)送的所有數(shù)據(jù)幀時(shí),關(guān)閉所述數(shù)據(jù)接收端。
可選地,所述數(shù)據(jù)接收端包括兩條以上的數(shù)據(jù)通道,所述數(shù)據(jù)接收端收發(fā)電路還包括:
與所述數(shù)據(jù)通道一一對(duì)應(yīng)的物理地址同步電路,適于檢測(cè)待接收的數(shù)據(jù)幀的數(shù)據(jù)接收端的物理地址是否與對(duì)應(yīng)數(shù)據(jù)通道的物理地址相匹配;
所述第四接收狀態(tài)機(jī)電路,適于在確定所述待接收的數(shù)據(jù)幀的數(shù)據(jù)接收端的物理地址與對(duì)應(yīng)數(shù)據(jù)通道物理地址相匹配時(shí),接收所述數(shù)據(jù)幀;
所述第四發(fā)送狀態(tài)機(jī)電路,適于發(fā)送所接收的數(shù)據(jù)幀的對(duì)應(yīng)ACK信息,所述ACK信息中包括對(duì)應(yīng)數(shù)據(jù)通道的物理地址的信息。
可選地,當(dāng)所述數(shù)據(jù)幀校驗(yàn)電路確定所接收的數(shù)據(jù)幀錯(cuò)誤時(shí),所述第四收發(fā)切換電路還適于關(guān)閉所述第四發(fā)送狀態(tài)機(jī)電路,并開(kāi)啟所述第四接收狀態(tài)機(jī)電路重新接收所述數(shù)據(jù)幀。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)接收方法,所述方法包括:
數(shù)據(jù)接收端接收數(shù)據(jù)發(fā)送端發(fā)送的當(dāng)前數(shù)據(jù)幀,所述數(shù)據(jù)幀包括標(biāo)識(shí)信息、數(shù)據(jù)接收端的物理地址、數(shù)據(jù)包和循環(huán)冗余校驗(yàn)碼信息;
所述數(shù)據(jù)接收端對(duì)所接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn);
在確定所接收的數(shù)據(jù)幀正確時(shí),所述數(shù)據(jù)接收端發(fā)送對(duì)應(yīng)的ACK信息至所述數(shù)據(jù)發(fā)送端;
所述數(shù)據(jù)接收端解析出當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息,并判斷所解析出的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息是否相同;
當(dāng)確定所解析出的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息不同時(shí),所述數(shù)據(jù)接收端確定接收到新的數(shù)據(jù)包,確定所述數(shù)據(jù)發(fā)送端接收到前一數(shù)據(jù)幀相應(yīng)的ACK信息并輸出所述數(shù)據(jù)發(fā)送端接收到前一數(shù)據(jù)幀的對(duì)應(yīng)ACK信息的提示信息。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括上述數(shù)據(jù)發(fā)送端和上述的數(shù)據(jù)接收端。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括上述數(shù)據(jù)發(fā)送端和上述的數(shù)據(jù)接收端。
與現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)方案具有以下的優(yōu)點(diǎn):
上述的方案,通過(guò)相應(yīng)的硬件來(lái)實(shí)現(xiàn)無(wú)線通信中的數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端的自動(dòng)應(yīng)答,無(wú)需數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端的MCU參與到數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端的收發(fā)狀態(tài)切換之中,因此,可以節(jié)約軟件資源。
進(jìn)一步地,數(shù)據(jù)接收端在接收到當(dāng)前數(shù)據(jù)幀,并確定當(dāng)前數(shù)據(jù)幀正確時(shí),解析出當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息,并將其與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息進(jìn)行比較,當(dāng)確定解析出的當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息與前一數(shù)據(jù)幀的標(biāo)識(shí)信息不同時(shí),確定所述數(shù)據(jù)發(fā)送端接收到前一數(shù)據(jù)幀的對(duì)應(yīng)ACK信息,使得數(shù)據(jù)發(fā)送端可以不再發(fā)送相應(yīng)的收到對(duì)應(yīng)ACK信息的確認(rèn)信息時(shí),再進(jìn)行下一數(shù)據(jù)幀的發(fā)送,因此,可以簡(jiǎn)化數(shù)據(jù)傳輸過(guò)程,提高數(shù)據(jù)傳輸?shù)男省?/p>
進(jìn)一步地,由于數(shù)據(jù)接收端具有多條數(shù)據(jù)通道,數(shù)據(jù)接收端通過(guò)相應(yīng)的數(shù)據(jù)通道與相應(yīng)的數(shù)據(jù)發(fā)送端進(jìn)行數(shù)據(jù)通信,而無(wú)需不停變換自身的物理地址,可以進(jìn)一步簡(jiǎn)化數(shù)據(jù)傳輸?shù)牧鞒?,提高?shù)據(jù)傳輸?shù)男省?/p>
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例中的一種數(shù)據(jù)傳輸系統(tǒng)的組成結(jié)構(gòu)示意圖;
圖2是本發(fā)明實(shí)施例中的另一種數(shù)據(jù)傳輸系統(tǒng)的組成結(jié)構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例中的又一種數(shù)據(jù)傳輸系統(tǒng)的組成結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例中的又一種數(shù)據(jù)傳輸系統(tǒng)的組成結(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例中的一種數(shù)據(jù)發(fā)送方法的流程圖;
圖6是本發(fā)明實(shí)施例中的一種數(shù)據(jù)接收方法的流程圖。
具體實(shí)施方式
現(xiàn)有技術(shù)中,數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端在進(jìn)行數(shù)據(jù)通信時(shí),通常由數(shù)據(jù)發(fā)送端的微控制單元(MCU,Microcontroller Unit)和數(shù)據(jù)接收端的MCU分別完成數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端的收發(fā)狀態(tài)切換。
具體而言,數(shù)據(jù)發(fā)送端的MCU首先將數(shù)據(jù)發(fā)送端切換至發(fā)送狀態(tài),將待發(fā)送的當(dāng)前數(shù)據(jù)幀發(fā)送至數(shù)據(jù)接收端;在當(dāng)前數(shù)據(jù)幀發(fā)送完畢時(shí),數(shù)據(jù)發(fā)送端的MCU將數(shù)據(jù)發(fā)送端切換至接收狀態(tài),以接收數(shù)據(jù)接收端發(fā)送的當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息;在接收到數(shù)據(jù)接收端發(fā)送的當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),向數(shù)據(jù)接收端發(fā)送接收到對(duì)應(yīng)ACK信息的確認(rèn)信息。
相應(yīng)地,數(shù)據(jù)接收端的MCU將數(shù)據(jù)接收端切換至接收狀態(tài),以接收數(shù)據(jù)發(fā)送端發(fā)送的當(dāng)前數(shù)據(jù)幀;在接收到當(dāng)前數(shù)據(jù)幀時(shí),數(shù)據(jù)接收端的MCU將數(shù)據(jù)接收端切換至發(fā)送狀態(tài),向數(shù)據(jù)發(fā)送端發(fā)送當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息;在接收到數(shù)據(jù)發(fā)送端所發(fā)送的接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息的確認(rèn)信息時(shí),數(shù)據(jù)接收端的MCU再將數(shù)據(jù)接收端切換至接收狀態(tài),接收數(shù)據(jù)發(fā)送端發(fā)送的下一數(shù)據(jù)幀。
在上述的過(guò)程中,數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端需要各自的MCU來(lái)進(jìn)行接收和發(fā)送模式的切換。因此,存在著軟件資源耗費(fèi)大的問(wèn)題。
為解決現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明實(shí)施例采用的技術(shù)方案通過(guò)相應(yīng)的硬件來(lái)實(shí)現(xiàn)無(wú)線通信中的數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端的自動(dòng)應(yīng)答,可以在數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端的無(wú)線通信過(guò)程中節(jié)約軟件資源。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖 對(duì)本發(fā)明的具體實(shí)施例做詳細(xì)的說(shuō)明。
圖1示出了本發(fā)明實(shí)施例中的一種數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示的數(shù)據(jù)傳輸系統(tǒng),可以包括數(shù)據(jù)發(fā)送端100和數(shù)據(jù)接收端200。其中:
數(shù)據(jù)發(fā)送端100包括數(shù)據(jù)發(fā)送端啟動(dòng)電路101、數(shù)據(jù)幀生成電路102、數(shù)據(jù)發(fā)送端收發(fā)電路103和數(shù)據(jù)發(fā)送端關(guān)閉電路104。數(shù)據(jù)接收端200包括數(shù)據(jù)接收端啟動(dòng)電路201、數(shù)據(jù)接收端收發(fā)電路202和數(shù)據(jù)接收端關(guān)閉電路203。
上述的數(shù)據(jù)傳輸系統(tǒng)的工作原理如下:
當(dāng)數(shù)據(jù)發(fā)送端100和數(shù)據(jù)接收端200進(jìn)行數(shù)據(jù)傳輸時(shí),首先由數(shù)據(jù)發(fā)送端啟動(dòng)電路101啟動(dòng)數(shù)據(jù)發(fā)送端100,數(shù)據(jù)接收端啟動(dòng)電路201啟動(dòng)數(shù)據(jù)接收端200。
接著,數(shù)據(jù)幀生成電路102生成待發(fā)送的數(shù)據(jù)幀。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)幀生成電路102包括物理地址配置電路1021、數(shù)據(jù)包生成器1022、校驗(yàn)碼生成電路1023和第一數(shù)據(jù)幀生成器1024。其中,物理地址配置電路1021配置數(shù)據(jù)接收端200的物理地址;數(shù)據(jù)包生成器1022生成待發(fā)送的數(shù)據(jù)包;校驗(yàn)碼生成電路1023根據(jù)所生成的數(shù)據(jù)包生成對(duì)應(yīng)的循環(huán)冗余校驗(yàn)碼(CRC,Cyclic Redundancy Check)信息;最后由第一數(shù)據(jù)幀生成器1024采用物理地址配置電路1021配置的數(shù)據(jù)接收端的物理地址、數(shù)據(jù)包生成器1022生成的數(shù)據(jù)包和校驗(yàn)碼生成電路1023生成的循環(huán)冗余校驗(yàn)碼信息,生成對(duì)應(yīng)的數(shù)據(jù)幀。
隨后,數(shù)據(jù)發(fā)送端收發(fā)電路103將所生成的數(shù)據(jù)幀發(fā)送至數(shù)據(jù)接收端200,并等待接收數(shù)據(jù)接收端200發(fā)送對(duì)應(yīng)ACK信息。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)發(fā)送端收發(fā)電路103包括第一發(fā)送狀態(tài)機(jī)電路1031、第一收發(fā)切換電路1032和第一接收狀態(tài)機(jī)電路1033。其中,第一發(fā)送狀態(tài)機(jī)電路1031將數(shù)據(jù)幀生成電路102生成的數(shù)據(jù)幀發(fā)送至數(shù)據(jù)接收端200。當(dāng)?shù)谝话l(fā)送狀態(tài)機(jī)電路1031發(fā)送完一數(shù)據(jù)幀時(shí),第一收發(fā)切換電路1032開(kāi)啟第一接收狀態(tài)機(jī)電路1033,以接收來(lái)自數(shù)據(jù)接收端200發(fā)送的對(duì)應(yīng)ACK信息。
相應(yīng)地,數(shù)據(jù)接收端200接收來(lái)自數(shù)據(jù)發(fā)送端100發(fā)送的數(shù)據(jù)幀,并對(duì)接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),以確定所接收的數(shù)據(jù)幀是否正確。當(dāng)確定所接收的數(shù)據(jù)幀正確時(shí),數(shù)據(jù)接收端收發(fā)電路202發(fā)送對(duì)應(yīng)ACK信息至數(shù)據(jù)發(fā)送端100。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)接收端收發(fā)電路202包括第三接收狀態(tài)機(jī)電路2021、數(shù)據(jù)幀校驗(yàn)電路2022、第三收發(fā)切換電路2023和第三發(fā)送狀態(tài)機(jī)電路2024。其中,第三接收狀態(tài)機(jī)電路2021接收來(lái)自數(shù)據(jù)發(fā)送端100的數(shù)據(jù)幀;數(shù)據(jù)幀校驗(yàn)電路2022對(duì)所接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn);當(dāng)確定所接收的數(shù)據(jù)幀正確時(shí),第三收發(fā)切換電路2023關(guān)閉第三接收狀態(tài)機(jī)電路2021,并開(kāi)啟第三發(fā)送狀態(tài)機(jī)電路2024;第三發(fā)送狀態(tài)機(jī)電路2024向數(shù)據(jù)發(fā)送端100發(fā)送對(duì)應(yīng)ACK信息,以告知數(shù)據(jù)發(fā)送端100已正確接收到其所發(fā)送的數(shù)據(jù)幀。在發(fā)送對(duì)應(yīng)ACK信息完成時(shí),第三收發(fā)切換電路2023關(guān)閉第三發(fā)送狀態(tài)機(jī)電路2024,并開(kāi)啟第三接收狀態(tài)機(jī)電路2021,以接收數(shù)據(jù)發(fā)送端100發(fā)送的接收到對(duì)應(yīng)ACK信息的確認(rèn)信息。
當(dāng)數(shù)據(jù)接收端200接收到來(lái)自數(shù)據(jù)發(fā)送端100發(fā)送的接收到對(duì)應(yīng)ACK信息的確認(rèn)信息時(shí),當(dāng)前數(shù)據(jù)幀的發(fā)送和接收過(guò)程結(jié)束。接著,可以進(jìn)行下一數(shù)據(jù)幀的發(fā)送和接收,直至完成所有數(shù)據(jù)幀的發(fā)送和接收。當(dāng)完成所有數(shù)據(jù)幀的發(fā)送和接收時(shí),數(shù)據(jù)發(fā)送端關(guān)閉電路104將數(shù)據(jù)發(fā)送端100關(guān)閉,數(shù)據(jù)接收端關(guān)閉電路203關(guān)閉數(shù)據(jù)接收端200。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)傳輸系統(tǒng)還可以實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)重傳。具體而言,當(dāng)數(shù)據(jù)幀校驗(yàn)電路2022對(duì)所接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),并確定所接收的數(shù)據(jù)幀錯(cuò)誤時(shí),第三收發(fā)切換電路2023將重新啟動(dòng)第三接收狀態(tài)機(jī)電路2021,重新接收當(dāng)前數(shù)據(jù)幀。
當(dāng)數(shù)據(jù)幀校驗(yàn)電路2022對(duì)所接收的當(dāng)前數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),并確定所接收的當(dāng)前數(shù)據(jù)幀錯(cuò)誤時(shí),第三收發(fā)切換電路2023將不會(huì)啟動(dòng)第三發(fā)送狀態(tài)機(jī)電路2024進(jìn)行對(duì)應(yīng)ACK信息的發(fā)送。同時(shí),第一接收狀態(tài)機(jī)電路1033在預(yù)設(shè)時(shí)間內(nèi)將無(wú)法接收到對(duì)應(yīng)ACK信息。當(dāng)?shù)谝唤邮諣顟B(tài)機(jī)電路1033在預(yù)設(shè)時(shí)間內(nèi)未接收到對(duì)應(yīng)ACK信息時(shí),第一收發(fā)切換電路1032將關(guān)閉第一接收狀態(tài)機(jī)電路1033,并重新啟動(dòng)第一發(fā)送狀態(tài)機(jī)電路1031,重新發(fā)送相應(yīng) 的數(shù)據(jù)幀。
在本發(fā)明一實(shí)施例中,當(dāng)?shù)谝话l(fā)送狀態(tài)機(jī)電路1031重新發(fā)送同一數(shù)據(jù)幀超過(guò)預(yù)設(shè)時(shí)間時(shí),數(shù)據(jù)發(fā)送端關(guān)閉電路103也將關(guān)閉數(shù)據(jù)發(fā)送端100。
因此,通過(guò)上述的描述可以得出,數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端通過(guò)設(shè)置相應(yīng)的硬件電路來(lái)實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)收發(fā),并可以自動(dòng)實(shí)現(xiàn)數(shù)據(jù)的重傳,全部過(guò)程中無(wú)需數(shù)據(jù)發(fā)送端MCU和數(shù)據(jù)接收端MCU參與其中,因此,可以節(jié)約數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端在無(wú)線通信過(guò)程中的軟件資源的消耗,并可以簡(jiǎn)化數(shù)據(jù)傳輸?shù)倪^(guò)程,提高數(shù)據(jù)傳輸?shù)男省?/p>
為了進(jìn)一步簡(jiǎn)化數(shù)據(jù)傳輸流程,本發(fā)明實(shí)施例中的數(shù)據(jù)傳輸系統(tǒng)中的數(shù)據(jù)發(fā)送端,可以通過(guò)變更當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息的方式,來(lái)告知數(shù)據(jù)接收端已接收到前一數(shù)據(jù)幀的對(duì)應(yīng)ACK信息,具體請(qǐng)參見(jiàn)圖2所示。
圖2示出了本發(fā)明實(shí)施例中的另一種數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示的數(shù)據(jù)傳輸系統(tǒng),可以包括數(shù)據(jù)發(fā)送端300和數(shù)據(jù)接收端400。其中:
數(shù)據(jù)發(fā)送端300包括數(shù)據(jù)發(fā)送端啟動(dòng)電路301、數(shù)據(jù)幀生成電路302、數(shù)據(jù)發(fā)送端收發(fā)電路303和數(shù)據(jù)發(fā)送端關(guān)閉電路304。數(shù)據(jù)接收端400包括數(shù)據(jù)接收端啟動(dòng)電路401、數(shù)據(jù)接收端收發(fā)電路402和數(shù)據(jù)接收端關(guān)閉電路403。
上述的數(shù)據(jù)傳輸系統(tǒng)的工作原理如下:
當(dāng)數(shù)據(jù)發(fā)送端300和數(shù)據(jù)接收端400進(jìn)行數(shù)據(jù)傳輸時(shí),首先由數(shù)據(jù)發(fā)送端啟動(dòng)電路301啟動(dòng)數(shù)據(jù)發(fā)送端300,數(shù)據(jù)接收端啟動(dòng)電路401啟動(dòng)數(shù)據(jù)接收端400。
接著,數(shù)據(jù)幀生成電路302生成待發(fā)送的數(shù)據(jù)幀。在本發(fā)明一實(shí)施例中,數(shù)據(jù)幀生成電路302所生成的數(shù)據(jù)幀包括標(biāo)識(shí)信息、接收端物理地址信息、數(shù)據(jù)包和CRC校驗(yàn)碼的信息。相應(yīng)的數(shù)據(jù)幀生成電路302包括標(biāo)識(shí)信息生成器3021、物理地址配置電路3022、數(shù)據(jù)包生成器3023、校驗(yàn)碼生成電路3024和第二數(shù)據(jù)幀生成器3025。其中,標(biāo)識(shí)信息生成器3021生成當(dāng)前待發(fā)送的數(shù)據(jù)幀對(duì)應(yīng)的標(biāo)識(shí)信息;物理地址配置電路3022配置數(shù)據(jù)接收端的物理地址;數(shù)據(jù)包生成器3023生成待發(fā)送的數(shù)據(jù)包;校驗(yàn)碼生成電路3024根據(jù)所生成的數(shù)據(jù)包生成對(duì)應(yīng)的CRC校驗(yàn)碼信息;最后由第二數(shù)據(jù)幀生成器3025采用 標(biāo)識(shí)信息生成器3021生成的標(biāo)識(shí)信息、物理地址配置電路3022配置的數(shù)據(jù)接收端的物理地址、數(shù)據(jù)包生成器3023生成的數(shù)據(jù)包和校驗(yàn)碼生成電路3024生成的CRC校驗(yàn)碼,生成對(duì)應(yīng)的數(shù)據(jù)幀。
隨后,數(shù)據(jù)發(fā)送端收發(fā)電路303將當(dāng)前數(shù)據(jù)幀發(fā)送至數(shù)據(jù)接收端400,并等待接收數(shù)據(jù)接收端400發(fā)送的當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)發(fā)送端收發(fā)電路303包括第二發(fā)送狀態(tài)機(jī)電路3031、第二收發(fā)切換電路3032、第二接收狀態(tài)機(jī)電路3033和ACK處理電路3034。其中,第二發(fā)送狀態(tài)機(jī)電路3031將數(shù)據(jù)幀生成電路302生成的數(shù)據(jù)幀發(fā)送至數(shù)據(jù)接收端400。當(dāng)?shù)诙l(fā)送狀態(tài)機(jī)電路3031發(fā)送當(dāng)前數(shù)據(jù)幀時(shí),第二收發(fā)切換電路3032開(kāi)啟第二接收狀態(tài)機(jī)電路3033,以接收來(lái)自數(shù)據(jù)接收端400發(fā)送的對(duì)應(yīng)ACK信息。當(dāng)?shù)诙邮諣顟B(tài)機(jī)電路3033在預(yù)設(shè)時(shí)間內(nèi)接收到數(shù)據(jù)接收端400所發(fā)送的當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),ACK處理電路3034告知標(biāo)識(shí)信息生成器3021更改下一數(shù)據(jù)幀的標(biāo)識(shí)信息,使得下一數(shù)據(jù)幀的標(biāo)識(shí)信息與當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息不同。
相應(yīng)地,數(shù)據(jù)接收端收發(fā)電路402接收來(lái)自數(shù)據(jù)發(fā)送端300發(fā)送的當(dāng)前數(shù)據(jù)幀,并對(duì)接收的當(dāng)前數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),以確定所接收的當(dāng)前數(shù)據(jù)幀是否正確。當(dāng)確定所接收的數(shù)據(jù)幀正確時(shí),發(fā)送當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息至數(shù)據(jù)發(fā)送端300,并解析出當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息,判斷當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息是否相同。當(dāng)確定當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息不同時(shí),確定接收到新的數(shù)據(jù)包,并確定數(shù)據(jù)發(fā)送端300接收到前一數(shù)據(jù)幀相應(yīng)的ACK信息。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)接收端收發(fā)電路402包括第三接收狀態(tài)機(jī)電路4021、數(shù)據(jù)幀校驗(yàn)電路4022、檢測(cè)電路4023、第三收發(fā)切換電路4024和第三發(fā)送狀態(tài)機(jī)電路4025。其中,第三接收狀態(tài)機(jī)電路4021接收來(lái)自數(shù)據(jù)發(fā)送端300的數(shù)據(jù)幀;數(shù)據(jù)幀校驗(yàn)電路4022對(duì)所接收的當(dāng)前數(shù)據(jù)幀進(jìn)行CRC校驗(yàn);當(dāng)確定所接收的當(dāng)前數(shù)據(jù)幀正確時(shí),檢測(cè)電路4023當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息,并將所解析出的當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息進(jìn)行對(duì)比,當(dāng)確定所解析出的當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息不同時(shí),確定接收到新的數(shù)據(jù)包,并確定所述數(shù)據(jù)發(fā)送端300 接收到前一數(shù)據(jù)幀的對(duì)應(yīng)ACK信息。
同時(shí),第三收發(fā)切換電路4024關(guān)閉第三接收狀態(tài)機(jī)電路4021,并開(kāi)啟第三發(fā)送狀態(tài)機(jī)電路4025。第三發(fā)送狀態(tài)機(jī)電路4025向數(shù)據(jù)發(fā)送端300發(fā)送當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息,以告知數(shù)據(jù)發(fā)送端300已正確接收到當(dāng)前數(shù)據(jù)幀。在發(fā)送當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息完成時(shí),第三收發(fā)切換電路4024關(guān)閉第三發(fā)送狀態(tài)機(jī)電路4025,并開(kāi)啟第三接收狀態(tài)機(jī)電路4021,以繼續(xù)接收數(shù)據(jù)發(fā)送端300發(fā)送的下一數(shù)據(jù)幀,當(dāng)前數(shù)據(jù)幀的發(fā)送和接收過(guò)程結(jié)束。
數(shù)據(jù)發(fā)送端300和數(shù)據(jù)接收端400重復(fù)上述的過(guò)程進(jìn)行下一數(shù)據(jù)幀的發(fā)送和接收,直至完成所有數(shù)據(jù)幀的發(fā)送和接收時(shí),數(shù)據(jù)發(fā)送端300和數(shù)據(jù)接收端400完成數(shù)據(jù)傳輸,數(shù)據(jù)發(fā)送端關(guān)閉電路304將數(shù)據(jù)發(fā)送端300關(guān)閉,數(shù)據(jù)接收端關(guān)閉電路403關(guān)閉數(shù)據(jù)接收端400。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)傳輸系統(tǒng)還可以實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)重傳。具體而言,當(dāng)數(shù)據(jù)幀校驗(yàn)電路4022對(duì)所接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),并確定所接收的數(shù)據(jù)幀錯(cuò)誤時(shí),第三收發(fā)切換電路4024將重新啟動(dòng)第三接收狀態(tài)機(jī)電路4021,重新接收對(duì)應(yīng)的數(shù)據(jù)幀。
當(dāng)數(shù)據(jù)幀校驗(yàn)電路4022對(duì)當(dāng)前數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),并確定所接收的當(dāng)前數(shù)據(jù)幀錯(cuò)誤時(shí),第三收發(fā)切換電路4024將不會(huì)啟動(dòng)第三發(fā)送狀態(tài)機(jī)電路4025進(jìn)行對(duì)應(yīng)ACK信息的發(fā)送。同時(shí),數(shù)據(jù)發(fā)送端300中的第二接收狀態(tài)機(jī)電路3033在預(yù)設(shè)時(shí)間內(nèi)也將無(wú)法接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息。當(dāng)?shù)诙邮諣顟B(tài)機(jī)電路3033在預(yù)設(shè)時(shí)間內(nèi)未接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),第二收發(fā)切換電路3032將關(guān)閉第二接收狀態(tài)機(jī)電路3033,并重新啟動(dòng)第二發(fā)送狀態(tài)機(jī)電路3031,重新發(fā)送相應(yīng)的數(shù)據(jù)幀。
在本發(fā)明一實(shí)施例中,當(dāng)?shù)诙l(fā)送狀態(tài)機(jī)電路3031重新發(fā)送同一數(shù)據(jù)幀超過(guò)預(yù)設(shè)時(shí)間時(shí),數(shù)據(jù)發(fā)送端關(guān)閉電路303也將關(guān)閉數(shù)據(jù)發(fā)送端300。在具體實(shí)施中,數(shù)據(jù)發(fā)送端300所發(fā)送的數(shù)據(jù)幀的標(biāo)識(shí)信息為包識(shí)別碼(PID,Packet Identity Bits)。
因此,數(shù)據(jù)接收端在接收到當(dāng)前數(shù)據(jù)幀,并確定當(dāng)前數(shù)據(jù)幀正確時(shí),解析出當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息,并將其與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息進(jìn)行 比較,當(dāng)確定解析出的當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息與前一數(shù)據(jù)幀的標(biāo)識(shí)信息不同時(shí),確定接收到新的數(shù)據(jù)包,且確定所述數(shù)據(jù)發(fā)送端接收到前一數(shù)據(jù)幀的對(duì)應(yīng)ACK信息,使得數(shù)據(jù)發(fā)送端可以不再發(fā)送相應(yīng)的收到對(duì)應(yīng)ACK信息的確認(rèn)信息時(shí),再進(jìn)行下一數(shù)據(jù)幀的發(fā)送,因此,可以簡(jiǎn)化數(shù)據(jù)傳輸過(guò)程,提高數(shù)據(jù)傳輸?shù)男省?/p>
為了實(shí)現(xiàn)多個(gè)數(shù)據(jù)發(fā)送端和一個(gè)數(shù)據(jù)接收端之間的數(shù)據(jù)傳輸,本發(fā)明實(shí)施例中的數(shù)據(jù)傳輸系統(tǒng)可以通過(guò)為數(shù)據(jù)接收端設(shè)置多條數(shù)據(jù)通道,并為不同的數(shù)據(jù)通道配置相應(yīng)的物理地址,使得數(shù)據(jù)接收端通過(guò)相應(yīng)的數(shù)據(jù)通道與相應(yīng)的數(shù)據(jù)發(fā)送端進(jìn)行數(shù)據(jù)傳輸,而無(wú)需不停變換自身的物理地址,可以簡(jiǎn)化數(shù)據(jù)傳輸?shù)牧鞒?,提高?shù)據(jù)傳輸?shù)男剩唧w請(qǐng)參見(jiàn)圖3。
圖3示出了本發(fā)明實(shí)施例中的又一種數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖。如圖3所示的數(shù)據(jù)傳輸系統(tǒng),可以包括多個(gè)數(shù)據(jù)發(fā)送端500(圖中僅示出了一個(gè)數(shù)據(jù)發(fā)送端)和數(shù)據(jù)接收端600。
其中,數(shù)據(jù)發(fā)送端500包括數(shù)據(jù)發(fā)送端啟動(dòng)電路501、數(shù)據(jù)幀生成電路502、數(shù)據(jù)發(fā)送端收發(fā)電路503和數(shù)據(jù)發(fā)送端關(guān)閉電路504。數(shù)據(jù)接收端600包括數(shù)據(jù)接收端啟動(dòng)電路601、數(shù)據(jù)接收端收發(fā)電路602和數(shù)據(jù)接收端關(guān)閉電路603。
上述的數(shù)據(jù)傳輸系統(tǒng)的工作原理如下:
當(dāng)數(shù)據(jù)發(fā)送端500和數(shù)據(jù)接收端600進(jìn)行數(shù)據(jù)傳輸時(shí),首先由數(shù)據(jù)發(fā)送端啟動(dòng)電路501啟動(dòng)數(shù)據(jù)發(fā)送端500,數(shù)據(jù)接收端啟動(dòng)電路601啟動(dòng)數(shù)據(jù)接收端600。
接著,數(shù)據(jù)幀生成電路602生成待發(fā)送的數(shù)據(jù)幀。其中,數(shù)據(jù)幀包括數(shù)據(jù)接收端相應(yīng)數(shù)據(jù)通道的物理地址、數(shù)據(jù)包、CRC校驗(yàn)碼的信息。相應(yīng)的數(shù)據(jù)幀生成電路502包括物理地址配置電路5021、數(shù)據(jù)包生成器5022、校驗(yàn)碼生成電路5023和第一數(shù)據(jù)幀生成器5024。其中,物理地址配置電路5021配置數(shù)據(jù)接收端600的物理地址,具體為數(shù)據(jù)接收端600的相應(yīng)數(shù)據(jù)通道的物理地址;數(shù)據(jù)包生成器5022生成待發(fā)送的數(shù)據(jù)包;校驗(yàn)碼生成電路5023根據(jù)所生成的數(shù)據(jù)包生成對(duì)應(yīng)的CRC校驗(yàn)碼信息;最后由第一數(shù)據(jù)幀生成器 5024采用物理地址配置電路5021配置的數(shù)據(jù)接收端600的相應(yīng)數(shù)據(jù)通道的物理地址、數(shù)據(jù)包生成器5022生成的數(shù)據(jù)包和校驗(yàn)碼生成電路5023生成的循環(huán)冗余校驗(yàn)碼信息,生成對(duì)應(yīng)的數(shù)據(jù)幀。
隨后,數(shù)據(jù)發(fā)送端收發(fā)電路503將所生成的數(shù)據(jù)幀發(fā)送至數(shù)據(jù)接收端600,并等待接收數(shù)據(jù)接收端600發(fā)送對(duì)應(yīng)ACK信息。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)發(fā)送端收發(fā)電路503包括第一發(fā)送狀態(tài)機(jī)電路5031、第一收發(fā)切換電路5032和第一接收狀態(tài)機(jī)電路5033。其中,第一發(fā)送狀態(tài)機(jī)電路5031將數(shù)據(jù)幀生成電路502生成的數(shù)據(jù)幀發(fā)送至數(shù)據(jù)接收端600。當(dāng)?shù)谝话l(fā)送狀態(tài)機(jī)電路5031發(fā)送完當(dāng)前數(shù)據(jù)幀時(shí),第一收發(fā)切換電路5032開(kāi)啟第一接收狀態(tài)機(jī)電路5033,以接收來(lái)自數(shù)據(jù)接收端600發(fā)送的對(duì)應(yīng)ACK信息。
相應(yīng)地,數(shù)據(jù)接收端600接收來(lái)自數(shù)據(jù)發(fā)送端500發(fā)送的數(shù)據(jù)幀,并對(duì)接收的當(dāng)前數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),以確定當(dāng)前數(shù)據(jù)幀是否正確。當(dāng)確定當(dāng)前數(shù)據(jù)幀正確時(shí),數(shù)據(jù)接收端收發(fā)電路602發(fā)送對(duì)應(yīng)ACK信息至數(shù)據(jù)發(fā)送端500。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)接收端收發(fā)電路602包括與所述數(shù)據(jù)通道一一對(duì)應(yīng)的多個(gè)物理地址同步電路6021、第三接收狀態(tài)機(jī)電路6022、數(shù)據(jù)幀校驗(yàn)電路6023、第三收發(fā)切換電路6024和第三發(fā)送狀態(tài)機(jī)電路6025。
其中,當(dāng)接收到數(shù)據(jù)發(fā)送端500發(fā)送的數(shù)據(jù)幀時(shí),多個(gè)物理地址同步電路6021分別檢測(cè)待接收的數(shù)據(jù)幀中的物理地址與自身的物理地址是否相匹配。當(dāng)其中的一個(gè)物理地址同步電路6021確定待接收的數(shù)據(jù)幀中的物理地址與自身的物理地址相匹配時(shí),第三接收狀態(tài)機(jī)電路6022便開(kāi)始接收來(lái)自數(shù)據(jù)發(fā)送端的數(shù)據(jù)幀。隨后,數(shù)據(jù)幀校驗(yàn)電路6023對(duì)所接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn)。當(dāng)確定所接收的數(shù)據(jù)幀正確時(shí),第三收發(fā)切換電路6024關(guān)閉第三接收狀態(tài)機(jī)電路6022,并開(kāi)啟第三發(fā)送狀態(tài)機(jī)電路6025。第三發(fā)送狀態(tài)機(jī)電路6025發(fā)送帶有數(shù)據(jù)發(fā)送端500的物理地址的對(duì)應(yīng)ACK信息至相應(yīng)的數(shù)據(jù)發(fā)送端500,以告知數(shù)據(jù)發(fā)送端500已正確接收到其所發(fā)送的數(shù)據(jù)幀。在發(fā)送對(duì)應(yīng)ACK信息完成時(shí),第三收發(fā)切換電路6024關(guān)閉第三發(fā)送狀態(tài)機(jī)電路6025,并開(kāi)啟第三接收狀態(tài)機(jī)電路6022,以接收數(shù)據(jù)發(fā)送端500發(fā)送的接收到對(duì)應(yīng)ACK信息 的確認(rèn)信息。
當(dāng)數(shù)據(jù)接收端600接收到來(lái)自數(shù)據(jù)發(fā)送端500的接收到對(duì)應(yīng)ACK信息的確認(rèn)信息時(shí),當(dāng)前數(shù)據(jù)幀的發(fā)送和接收過(guò)程結(jié)束,接著可以進(jìn)行下一數(shù)據(jù)幀的發(fā)送和接收,直至完成所有數(shù)據(jù)幀的發(fā)送和接收。當(dāng)數(shù)據(jù)發(fā)送端500和數(shù)據(jù)接收端600分別完成數(shù)據(jù)傳輸時(shí),數(shù)據(jù)發(fā)送端關(guān)閉電路504將數(shù)據(jù)發(fā)送端500關(guān)閉,數(shù)據(jù)接收端關(guān)閉電路603關(guān)閉數(shù)據(jù)接收端600。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)傳輸系統(tǒng)還可以實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)重傳。具體而言,當(dāng)數(shù)據(jù)幀校驗(yàn)電路6023對(duì)所接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),并確定所接收的數(shù)據(jù)幀錯(cuò)誤時(shí),第三收發(fā)切換電路6024將重新啟動(dòng)第三接收狀態(tài)機(jī)電路6022,重新接收當(dāng)前數(shù)據(jù)幀。
當(dāng)數(shù)據(jù)幀校驗(yàn)電路6023對(duì)所接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),并確定所接收的數(shù)據(jù)幀錯(cuò)誤時(shí),第三收發(fā)切換電路6024將不會(huì)啟動(dòng)第三發(fā)送狀態(tài)機(jī)電路6025進(jìn)行對(duì)應(yīng)ACK信息的發(fā)送。同時(shí),第一接收狀態(tài)機(jī)電路5033在預(yù)設(shè)時(shí)間內(nèi)將無(wú)法接收到對(duì)應(yīng)ACK信息。當(dāng)?shù)谝唤邮諣顟B(tài)機(jī)電路5033在預(yù)設(shè)時(shí)間內(nèi)未接收到對(duì)應(yīng)ACK信息時(shí),第一收發(fā)切換電路5032將關(guān)閉第一接收狀態(tài)機(jī)電路5033,并重新啟動(dòng)第一發(fā)送狀態(tài)機(jī)電路5031,重新發(fā)送相應(yīng)的數(shù)據(jù)幀。
在本發(fā)明一實(shí)施例中,當(dāng)?shù)谝话l(fā)送狀態(tài)機(jī)電路5031重新發(fā)送同一數(shù)據(jù)幀超過(guò)預(yù)設(shè)時(shí)間時(shí),數(shù)據(jù)發(fā)送端關(guān)閉電路504也將關(guān)閉數(shù)據(jù)發(fā)送端500。
因此,通過(guò)上述的描述可以得出,通過(guò)為數(shù)據(jù)接收端設(shè)置多條數(shù)據(jù)通道,并為不同的數(shù)據(jù)通道配置相應(yīng)的物理地址,使得數(shù)據(jù)接收端通過(guò)相應(yīng)的數(shù)據(jù)通道與相應(yīng)的數(shù)據(jù)發(fā)送端進(jìn)行數(shù)據(jù)傳輸,使得數(shù)據(jù)接收端在數(shù)據(jù)傳輸過(guò)程中無(wú)需不停變換自身的物理地址,便可以與多個(gè)數(shù)據(jù)發(fā)送端同時(shí)進(jìn)行數(shù)據(jù)傳輸,因而可以簡(jiǎn)化數(shù)據(jù)傳輸?shù)牧鞒?,提高?shù)據(jù)傳輸?shù)男省?/p>
在具體實(shí)施中,為了進(jìn)一步簡(jiǎn)化多個(gè)數(shù)據(jù)發(fā)送端與具有多條數(shù)據(jù)通道的數(shù)據(jù)接收端的數(shù)據(jù)傳輸過(guò)程,本發(fā)明實(shí)施例中的數(shù)據(jù)傳輸系統(tǒng)中的數(shù)據(jù)發(fā)送端,可以通過(guò)變更下一數(shù)據(jù)幀的標(biāo)識(shí)信息的方式,來(lái)告知數(shù)據(jù)接收端已接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息,具體請(qǐng)參見(jiàn)圖4所示。
圖4示出了本發(fā)明實(shí)施例中的又一種數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖。如圖4 所示的數(shù)據(jù)傳輸系統(tǒng),可以包括多個(gè)數(shù)據(jù)發(fā)送端700和數(shù)據(jù)接收端800。
其中,數(shù)據(jù)發(fā)送端700包括數(shù)據(jù)發(fā)送端啟動(dòng)電路701、數(shù)據(jù)幀生成電路702、數(shù)據(jù)發(fā)送端收發(fā)電路703和數(shù)據(jù)發(fā)送端關(guān)閉電路704。數(shù)據(jù)接收端800包括數(shù)據(jù)接收端啟動(dòng)電路801、數(shù)據(jù)接收端收發(fā)電路802和數(shù)據(jù)接收端關(guān)閉電路803。
上述的數(shù)據(jù)傳輸系統(tǒng)的工作原理如下:
當(dāng)數(shù)據(jù)發(fā)送端700和數(shù)據(jù)接收端800進(jìn)行數(shù)據(jù)傳輸時(shí),首先由數(shù)據(jù)發(fā)送端啟動(dòng)電路701啟動(dòng)數(shù)據(jù)發(fā)送端700,數(shù)據(jù)接收端啟動(dòng)電路801啟動(dòng)數(shù)據(jù)接收端800。
接著,數(shù)據(jù)幀生成電路702生成待發(fā)送的數(shù)據(jù)幀。在本發(fā)明一實(shí)施例中,數(shù)據(jù)幀生成電路702所生成的數(shù)據(jù)幀包括標(biāo)識(shí)信息、接收端物理地址信息、數(shù)據(jù)包和CRC校驗(yàn)碼的信息。
相應(yīng)的數(shù)據(jù)幀生成電路702包括標(biāo)識(shí)信息生成器7021、物理地址配置電路7022、數(shù)據(jù)包生成器7023、校驗(yàn)碼生成電路7024和第二數(shù)據(jù)幀生成器7025。其中,標(biāo)識(shí)信息生成器7021生成當(dāng)前待發(fā)送的數(shù)據(jù)幀對(duì)應(yīng)的標(biāo)識(shí)信息;物理地址配置電路7022配置數(shù)據(jù)接收端的物理地址;數(shù)據(jù)包生成器7023生成待發(fā)送的數(shù)據(jù)包;校驗(yàn)碼生成電路7024根據(jù)所生成的數(shù)據(jù)包生成對(duì)應(yīng)的CRC校驗(yàn)碼信息;最后由第二數(shù)據(jù)幀生成器7025采用標(biāo)識(shí)信息生成器7021生成的標(biāo)識(shí)信息、物理地址配置電路7022配置的數(shù)據(jù)接收端的物理地址、數(shù)據(jù)包生成器7023生成的數(shù)據(jù)包和校驗(yàn)碼生成電路7024生成的CRC校驗(yàn)碼,生成對(duì)應(yīng)的數(shù)據(jù)幀。
隨后,數(shù)據(jù)發(fā)送端收發(fā)電路703將所生成的數(shù)據(jù)幀發(fā)送至數(shù)據(jù)接收端800,并等待接收數(shù)據(jù)接收端800發(fā)送對(duì)應(yīng)ACK信息。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)發(fā)送端收發(fā)電路703包括第二發(fā)送狀態(tài)機(jī)電路7031、第二收發(fā)切換電路7032、第二接收狀態(tài)機(jī)電路7033和ACK處理電路7034。其中,第二發(fā)送狀態(tài)機(jī)電路7031將數(shù)據(jù)幀生成電路702生成的數(shù)據(jù)幀發(fā)送至數(shù)據(jù)接收端800。當(dāng)?shù)诙l(fā)送狀態(tài)機(jī)電路7031發(fā)送當(dāng)前數(shù)據(jù)幀完畢時(shí),第二收發(fā)切換電路7032開(kāi)啟第二接收狀態(tài)機(jī)電路7033,以接收來(lái)自數(shù)據(jù) 接收端800發(fā)送的對(duì)應(yīng)ACK信息。當(dāng)?shù)诙邮諣顟B(tài)機(jī)電路7033在預(yù)設(shè)時(shí)間內(nèi)接收到數(shù)據(jù)接收端800所發(fā)送的數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),ACK處理電路7034告知標(biāo)識(shí)信息生成器7031更改下一數(shù)據(jù)幀的標(biāo)識(shí)信息,使得下一數(shù)據(jù)幀的標(biāo)識(shí)信息與當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息不同。
相應(yīng)地,數(shù)據(jù)接收端收發(fā)電路802接收來(lái)自數(shù)據(jù)發(fā)送端700發(fā)送的當(dāng)前數(shù)據(jù)幀,并對(duì)接收的當(dāng)前數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),以確定所接收的當(dāng)前數(shù)據(jù)幀是否正確。當(dāng)確定所接收的數(shù)據(jù)幀正確時(shí),發(fā)送相應(yīng)的ACK信息至數(shù)據(jù)發(fā)送端700,并解析出當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息,判斷當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息是否相同。當(dāng)確定當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息不同時(shí),確定接收到新的數(shù)據(jù)包,且確定數(shù)據(jù)發(fā)送端700接收到前一數(shù)據(jù)幀相應(yīng)的ACK信息。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)接收端收發(fā)電路802包括與所述數(shù)據(jù)通道一一對(duì)應(yīng)的多個(gè)物理地址同步電路8021、第四接收狀態(tài)機(jī)電路8022、數(shù)據(jù)幀校驗(yàn)電路8023、檢測(cè)電路8024、第四收發(fā)切換電路8025和第四發(fā)送狀態(tài)機(jī)電路8026。其中,當(dāng)接收到數(shù)據(jù)發(fā)送端700發(fā)送的數(shù)據(jù)幀時(shí),多個(gè)物理地址同步電路8021分別檢測(cè)待接收的數(shù)據(jù)幀中的物理地址與自身的物理地址是否相匹配。當(dāng)其中的一個(gè)物理地址同步電路8021確定待接收的數(shù)據(jù)幀中物理地址與自身的物理地址相匹配時(shí),第四接收狀態(tài)機(jī)電路8022開(kāi)始接收來(lái)自數(shù)據(jù)發(fā)送端700的數(shù)據(jù)幀。隨后,數(shù)據(jù)幀校驗(yàn)電路8023對(duì)所接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn)。當(dāng)確定所接收的數(shù)據(jù)幀正確時(shí),檢測(cè)電路8024解析出當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息,并將所解析出的當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀中解析的標(biāo)識(shí)信息進(jìn)行對(duì)比。當(dāng)確定所解析出的當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀中解析出的標(biāo)識(shí)信息不同時(shí),確定接收到新的數(shù)據(jù)包,且確定所述數(shù)據(jù)發(fā)送端700接收到前一數(shù)據(jù)幀的對(duì)應(yīng)ACK信息。
同時(shí),當(dāng)確定所接收的數(shù)據(jù)幀正確時(shí),第四收發(fā)切換電路8025將關(guān)閉第四接收狀態(tài)機(jī)電路8022,并開(kāi)啟第四發(fā)送狀態(tài)機(jī)電路8026。第四發(fā)送狀態(tài)機(jī)電路8026發(fā)送帶有數(shù)據(jù)發(fā)送端700的物理地址的對(duì)應(yīng)ACK信息至相應(yīng)的數(shù)據(jù)發(fā)送端700,以告知數(shù)據(jù)發(fā)送端700已正確接收到其所發(fā)送的當(dāng)前數(shù)據(jù)幀。在發(fā)送對(duì)應(yīng)ACK信息完成時(shí),第四收發(fā)切換電路8025關(guān)閉第四發(fā)送狀態(tài)機(jī) 電路8026,并開(kāi)啟第四接收狀態(tài)機(jī)電路8022,以繼續(xù)接收數(shù)據(jù)發(fā)送端700發(fā)送的下一數(shù)據(jù)幀,當(dāng)前數(shù)據(jù)幀的發(fā)送和接收過(guò)程結(jié)束。
數(shù)據(jù)發(fā)送端700和數(shù)據(jù)接收端800重復(fù)上述的過(guò)程進(jìn)行下一數(shù)據(jù)幀的發(fā)送和接收,直至完成所有數(shù)據(jù)幀的發(fā)送和接收時(shí),數(shù)據(jù)發(fā)送端700和數(shù)據(jù)接收端800完成數(shù)據(jù)傳輸,數(shù)據(jù)發(fā)送端關(guān)閉電路704將數(shù)據(jù)發(fā)送端700關(guān)閉,數(shù)據(jù)接收端關(guān)閉電路803關(guān)閉數(shù)據(jù)接收端800。
在本發(fā)明一實(shí)施例中,數(shù)據(jù)傳輸系統(tǒng)還可以實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)重傳。具體而言,當(dāng)數(shù)據(jù)幀校驗(yàn)電路8023對(duì)所接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),并確定所接收的數(shù)據(jù)幀錯(cuò)誤時(shí),第四收發(fā)切換電路8025將重新啟動(dòng)第四接收狀態(tài)機(jī)電路8022,重新接收對(duì)應(yīng)的數(shù)據(jù)幀。
當(dāng)數(shù)據(jù)幀校驗(yàn)電路8023對(duì)所接收的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),并確定所接收的數(shù)據(jù)幀錯(cuò)誤時(shí),第四收發(fā)切換電路8025將不會(huì)啟動(dòng)第四發(fā)送狀態(tài)機(jī)電路8026進(jìn)行對(duì)應(yīng)ACK信息的發(fā)送。同時(shí),數(shù)據(jù)發(fā)送端700中的第二接收狀態(tài)機(jī)電路7033在預(yù)設(shè)時(shí)間內(nèi)也將無(wú)法接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息。當(dāng)?shù)诙邮諣顟B(tài)機(jī)電路7033在預(yù)設(shè)時(shí)間內(nèi)未接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),第二收發(fā)切換電路7032將關(guān)閉第二接收狀態(tài)機(jī)電路7033,并重新啟動(dòng)第二發(fā)送狀態(tài)機(jī)電路7031,重新發(fā)送相應(yīng)的數(shù)據(jù)幀。
在本發(fā)明一實(shí)施例中,當(dāng)?shù)诙l(fā)送狀態(tài)機(jī)電路7031重新發(fā)送同一數(shù)據(jù)幀超過(guò)預(yù)設(shè)時(shí)間時(shí),數(shù)據(jù)發(fā)送端關(guān)閉電路703也將關(guān)閉數(shù)據(jù)發(fā)送端700。在具體實(shí)施中,數(shù)據(jù)發(fā)送端700所發(fā)送的數(shù)據(jù)幀的標(biāo)識(shí)信息為包識(shí)別碼(PID,Packet Identity Bits)。
因此,數(shù)據(jù)發(fā)送端在接收到數(shù)據(jù)接收端發(fā)送的對(duì)應(yīng)ACK信息時(shí),生成下一數(shù)據(jù)幀的標(biāo)識(shí)信息與當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息不同,數(shù)據(jù)接收端在確定解析出的下一數(shù)據(jù)幀的標(biāo)識(shí)信息與當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息不同時(shí),確定所述數(shù)據(jù)發(fā)送端接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息,使得數(shù)據(jù)發(fā)送端無(wú)需再向數(shù)據(jù)接收端發(fā)送接收到對(duì)應(yīng)ACK信息的確認(rèn)信息時(shí),因此,可以簡(jiǎn)化數(shù)據(jù)傳輸過(guò)程,提高數(shù)據(jù)傳輸?shù)男省?/p>
圖5示出了本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)發(fā)送方法。如圖5所示的數(shù) 據(jù)接收方法,可以包括:
步驟S501:數(shù)據(jù)發(fā)送端生成并發(fā)送數(shù)據(jù)幀至數(shù)據(jù)接收端,所述數(shù)據(jù)幀包括標(biāo)識(shí)信息、數(shù)據(jù)接收端的物理地址、數(shù)據(jù)包和循環(huán)冗余校驗(yàn)碼信息。
步驟S502:當(dāng)發(fā)送完畢當(dāng)前數(shù)據(jù)幀時(shí),數(shù)據(jù)發(fā)送端接收所述數(shù)據(jù)接收端發(fā)送的對(duì)應(yīng)ACK信息。
步驟S503:當(dāng)在預(yù)設(shè)時(shí)間內(nèi)接收到當(dāng)前數(shù)據(jù)幀的對(duì)應(yīng)ACK信息時(shí),數(shù)據(jù)發(fā)送端更改下一數(shù)據(jù)幀的標(biāo)識(shí)信息,使得所述下一數(shù)據(jù)幀的標(biāo)識(shí)信息與所述當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息不同。
圖6示出了本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)接收方法。如圖6所示的數(shù)據(jù)接收方法,可以包括:
步驟S601:數(shù)據(jù)接收端接收數(shù)據(jù)發(fā)送端發(fā)送的當(dāng)前數(shù)據(jù)幀,所述數(shù)據(jù)幀包括標(biāo)識(shí)信息、數(shù)據(jù)接收端的物理地址、數(shù)據(jù)包和循環(huán)冗余校驗(yàn)碼信息。
步驟S602:數(shù)據(jù)接收端對(duì)所接收的數(shù)據(jù)發(fā)送端發(fā)送的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn)。
步驟S603:在確定所接收的數(shù)據(jù)幀正確時(shí),數(shù)據(jù)接收端發(fā)送相應(yīng)的ACK信息至數(shù)據(jù)發(fā)送端。
步驟S604:數(shù)據(jù)接收端解析出當(dāng)前數(shù)據(jù)幀的標(biāo)識(shí)信息,并判斷所解析出的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息是否相同。
步驟S605:當(dāng)確定所解析出的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息不同時(shí),數(shù)據(jù)接收端確定接收到新的數(shù)據(jù)包,并確定數(shù)據(jù)發(fā)送端接收到前一數(shù)據(jù)幀相應(yīng)的ACK信息。
步驟S606:當(dāng)確定所解析出下一數(shù)據(jù)幀的標(biāo)識(shí)信息與所接收的前一數(shù)據(jù)幀的標(biāo)識(shí)信息不同時(shí),數(shù)據(jù)接收端輸出并顯示數(shù)據(jù)發(fā)送端接收到前一數(shù)據(jù)幀對(duì)應(yīng)ACK信息的提示信息。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:ROM、RAM、磁盤或光盤等。
以上對(duì)本發(fā)明實(shí)施例的方法及系統(tǒng)做了詳細(xì)的介紹,本發(fā)明并不限于此。任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動(dòng)與修改,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以權(quán)利要求所限定的范圍為準(zhǔn)。