一種可見光通信數(shù)據(jù)傳輸方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種可見光通信數(shù)據(jù)傳輸方法,獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,數(shù)據(jù)包中數(shù)據(jù)為并行數(shù)據(jù);將數(shù)據(jù)包緩存到預(yù)設(shè)的存儲位置,從存儲位置中獲取數(shù)據(jù)包并將數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包,將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),依據(jù)預(yù)設(shè)的線路編碼,對數(shù)據(jù)子包進行線路編碼,將每個數(shù)據(jù)子包傳輸?shù)絃ED燈的控制器,以使得該控制器依據(jù)該串行數(shù)據(jù)控制LED燈燈管開啟和關(guān)閉。將網(wǎng)絡(luò)中獲取的數(shù)據(jù)包進行拆分,使得每個數(shù)據(jù)子包中含有的數(shù)據(jù)量較小,適宜單條線路的可見光通信的信道傳輸,通過線路編碼使得數(shù)據(jù)子包中的數(shù)據(jù)適應(yīng)可見光通信的信道的低通特性,提高傳輸準(zhǔn)確率。實現(xiàn)了對網(wǎng)絡(luò)中的數(shù)據(jù)信息進行實時獲取并通過可見光通信技術(shù)將網(wǎng)絡(luò)中數(shù)據(jù)信息實時傳輸。
【專利說明】一種可見光通信數(shù)據(jù)傳輸方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及可見光通信領(lǐng)域,更具體的說,是涉及一種可見光通信數(shù)據(jù)傳輸方法和裝置。
【背景技術(shù)】
[0002]隨著科學(xué)技術(shù)的發(fā)展,無線通信技術(shù)已經(jīng)非常發(fā)達,如Bluetooth (藍牙)、W1-Fi(無線保真)、WiMax(Worldwide Interoperability for Microwave Access,全球微波互聯(lián)接入)和LTE(Long Term Evolut1n,長期演進)等,電子設(shè)備可采用上述的各種無線通信方式對網(wǎng)絡(luò)中的數(shù)據(jù)信息進行傳輸。
[0003]然而,上述的幾種無線通信方式,是以無線電為基礎(chǔ)進行通信,而由于無線電信號的衍射特性,使得其能夠穿透一些障礙物。以W1-Fi為例,WiFi依賴看不見的無線電波傳輸,設(shè)備功率越來越大,局部電磁輻射勢必增強;無線信號穿墻而過,網(wǎng)絡(luò)信息不安全。
[0004]可見光通信(Visible Light Communicat1n,VLC)是指利用可見光波段的光作為信息載體,不使用光纖燈有限信道的傳輸介質(zhì),而在空氣中直接傳輸光信號的通信方式。所以,上述的缺陷,在可見光通信中則不會產(chǎn)生。而且,光譜比無線電頻譜大10000倍,意味著更大的帶寬和更高的速度。
[0005]然而,現(xiàn)有技術(shù)中還沒有通過可見光通信技術(shù)將網(wǎng)絡(luò)中數(shù)據(jù)信息實時傳輸?shù)募夹g(shù),因此,通過可見光通信技術(shù)將網(wǎng)絡(luò)中數(shù)據(jù)信息實時傳輸成為一亟需解決的問題。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明提供了一種可見光通信數(shù)據(jù)傳輸方法,解決了現(xiàn)有技術(shù)中無法通過可見光通信技術(shù)將網(wǎng)絡(luò)中數(shù)據(jù)信息實時傳輸?shù)膯栴}。
[0007]為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
[0008]一種可見光通信數(shù)據(jù)傳輸方法,包括:
[0009]獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,所述數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù);
[0010]將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第一存儲位置;
[0011]從所述第一存儲位置獲取所述數(shù)據(jù)包,并依據(jù)預(yù)設(shè)的拆分規(guī)則,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包;
[0012]將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù);
[0013]依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼;
[0014]將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至發(fā)光二極管LED燈的控制器。
[0015]上述的方法,優(yōu)選的,所述對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼之后,所述將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至發(fā)光二極管LED燈的控制器之前,還包括:
[0016]為所述數(shù)據(jù)子包中的數(shù)據(jù)添加同步頭。
[0017]上述的方法,優(yōu)選的,所述依據(jù)預(yù)設(shè)的拆分規(guī)則,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包包括:
[0018]依據(jù)預(yù)設(shè)字符長度,依次獲取所述數(shù)據(jù)包中的數(shù)據(jù)段;
[0019]為所述數(shù)據(jù)段插入幀頭,所述幀頭中攜帶有標(biāo)識,所述標(biāo)識用于表示所述數(shù)據(jù)段長度和所述數(shù)據(jù)段所屬的數(shù)據(jù)包。
[0020]一種可見光通信數(shù)據(jù)傳輸方法,包括:
[0021]接收通過LED燈的燈管發(fā)送的可見光信號,所述可見光信號為串行數(shù)據(jù),將每個串行數(shù)據(jù)組記錄為一個數(shù)據(jù)子包;
[0022]依據(jù)預(yù)設(shè)的線路編碼,對所述數(shù)據(jù)子包進行解碼;
[0023]將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù);
[0024]依據(jù)預(yù)設(shè)的合并規(guī)則,將至少一個數(shù)據(jù)子包合并為一個數(shù)據(jù)包;
[0025]將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第二存儲位置;
[0026]從所述第二存儲位置獲取所述數(shù)據(jù)包,并將所述數(shù)據(jù)包傳輸至網(wǎng)絡(luò)接口。
[0027]上述的方法,優(yōu)選的,所述接收通過LED燈的燈管發(fā)送的串行數(shù)據(jù)組之后,所述將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)之前,還包括:
[0028]依據(jù)所述數(shù)據(jù)子包中的同步頭,對所述數(shù)據(jù)子包中的數(shù)據(jù)進行解同步;
[0029]其中,當(dāng)所述串行數(shù)據(jù)組對應(yīng)的波形失真時,依據(jù)所述同步頭尋找最佳采樣點和數(shù)據(jù)開始位置,以實現(xiàn)對所述數(shù)據(jù)子包中的數(shù)據(jù)進行解同步。
[0030]上述的方法,優(yōu)選的,所述依據(jù)預(yù)設(shè)的合并規(guī)則,將至少一個數(shù)據(jù)子包合并為一個數(shù)據(jù)包包括:
[0031]依據(jù)所述數(shù)據(jù)子包中的幀頭,得到所述數(shù)據(jù)子包的長度以及所述數(shù)據(jù)子包所屬的數(shù)據(jù)包;
[0032]依據(jù)所述數(shù)據(jù)子包所屬的數(shù)據(jù)包,將至少一個屬于同一數(shù)據(jù)包的數(shù)據(jù)子包合并為一個數(shù)據(jù)包。
[0033]一種可見光通信數(shù)據(jù)傳輸裝置,所述裝置與LED燈相連,包括:
[0034]獲取模塊,用于獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,所述數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù);
[0035]第一緩存模塊,用于將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第一存儲位置;
[0036]拆分模塊,用于從所述第一存儲位置獲取所述數(shù)據(jù)包,并依據(jù)預(yù)設(shè)的拆分規(guī)則,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包;
[0037]第一轉(zhuǎn)換模塊,用于將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù);
[0038]編碼模塊,用于依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼;
[0039]第一發(fā)送模塊,用于將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至發(fā)光二極管LED燈的控制器。
[0040]上述的裝置,優(yōu)選的,所述裝置應(yīng)用于一現(xiàn)場可編輯邏輯門陣列FPGA芯片。
[0041]一種可見光通信數(shù)據(jù)傳輸裝置,包括:
[0042]接收模塊,用于接收通過LED燈的燈管發(fā)送的可見光信號,所述可見光信號為串行數(shù)據(jù),將每個串行數(shù)據(jù)組記錄為一個數(shù)據(jù)子包;
[0043]解碼模塊,用于依據(jù)預(yù)設(shè)的線路編碼,對解同步完成的所述數(shù)據(jù)子包進行解碼;
[0044]第二轉(zhuǎn)換模塊,用于將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù);
[0045]合并模塊,用于依據(jù)預(yù)設(shè)的合并規(guī)則,將至少一個數(shù)據(jù)子包合并為一個數(shù)據(jù)包;
[0046]第二緩存模塊,用于將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第二存儲位置;
[0047]第二發(fā)送模塊,用于從所述第二存儲位置獲取所述數(shù)據(jù)包,并將所述數(shù)據(jù)包傳輸至網(wǎng)絡(luò)接口。
[0048]上述的裝置,優(yōu)選的,所述裝置應(yīng)用于一 FPGA芯片。
[0049]經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種可見光通信數(shù)據(jù)傳輸方法,包括:獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,由于通過網(wǎng)絡(luò)接口獲取,該數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù);將該數(shù)據(jù)包緩存到預(yù)設(shè)的第一存儲位置,從該第一存儲位置中獲取該數(shù)據(jù)包,并對該數(shù)據(jù)包進行拆分,拆分為至少一個數(shù)據(jù)子包,并且將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼,最終將每個數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸?shù)絃ED燈的控制器,以使得該控制器依據(jù)每個數(shù)據(jù)子包中的串行數(shù)據(jù)控制LED燈的燈管開啟和關(guān)閉,實現(xiàn)了將網(wǎng)絡(luò)中獲取的實時數(shù)據(jù)信息傳輸?shù)浇邮赵O(shè)備,即實現(xiàn)了對網(wǎng)絡(luò)中的數(shù)據(jù)信息進行實時獲取并通過可見光通信技術(shù)將網(wǎng)絡(luò)中數(shù)據(jù)信息實時傳輸。并且,由于將網(wǎng)絡(luò)中獲取的數(shù)據(jù)包進行拆分,使得每個數(shù)據(jù)子包中含有的數(shù)據(jù)量較小且為串行數(shù)據(jù),適宜單條線路的可見光通信的信道傳輸,通過線路編碼使得數(shù)據(jù)子包中的數(shù)據(jù)適應(yīng)可見光通信的信道的低通特性,提高傳輸準(zhǔn)確率。
【專利附圖】
【附圖說明】
[0050]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0051]圖1為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例1的流程圖;
[0052]圖2為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例1的另一流程圖;
[0053]圖3為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例2的流程圖;
[0054]圖4為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例3的流程圖;
[0055]圖5為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例3的數(shù)據(jù)傳輸過程中的組幀流程及數(shù)據(jù)格式示意圖;
[0056]圖6為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例4的流程圖;
[0057]圖7為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例4的另一流程圖;
[0058]圖8為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例5的流程圖;
[0059]圖9為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例6的流程圖;
[0060]圖10為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例1的結(jié)構(gòu)示意圖;
[0061]圖11為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例1的另一結(jié)構(gòu)示意圖;
[0062]圖12為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例2的結(jié)構(gòu)示意圖;
[0063]圖13為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例3的示意圖;
[0064]圖14為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例3的另一示意圖;
[0065]圖15為本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例4的示意圖。
【具體實施方式】
[0066]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0067]為了更加特定地強調(diào)實施的獨立性,本說明書涉及許多模塊或單元。舉例而言,模塊或單元可由硬件電路實現(xiàn),該硬件電路包括特制VLSI電路或門陣列,比如邏輯芯片、晶體管,或其它組件。模塊或單元也可在可編程的硬設(shè)備中實現(xiàn),比如場效可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等等。
[0068]模塊或單元也可在藉由各種形式的處理器所執(zhí)行的軟件中實現(xiàn)。比如說,一可執(zhí)行碼模塊可包括一個或多個實體的或邏輯的計算機指令區(qū)塊,該區(qū)塊可能形成為,比如說,對象、程序或函數(shù)。然而,鑒別模塊或單元的可執(zhí)行部分不需要物理上放置在一起,但可由存于不同位置的不同指令所組成,當(dāng)邏輯上組合在一起時,形成模塊或單元且達到該模塊或單元所要求的目的。
[0069]實際上,可執(zhí)行碼模塊或單元可以是一單一指令或多個指令,甚至可以分布在位于不同的程序中的數(shù)個不同的碼區(qū)段,并且橫跨數(shù)個存儲設(shè)備。同樣地,操作數(shù)據(jù)可被辨識及顯示于此模塊或單元中,并且可以以任何合適的形式實施且在任何合適的數(shù)據(jù)結(jié)構(gòu)形式內(nèi)組織。操作數(shù)據(jù)可以集合成單一數(shù)據(jù)集,或可分布在具有不同的存儲設(shè)備的不同的位置,且至少部分地只以電子信號方式存在于一系統(tǒng)或網(wǎng)絡(luò)。
[0070]本說明書所提及的“實施例”或類似用語表示與實施例有關(guān)的特性、結(jié)構(gòu)或特征,包括在本發(fā)明的至少一實施例中。因此,本說明書所出現(xiàn)的用語“在一實施例中”、“在實施例中”以及類似用語可能但不必然都指向相同實施例。
[0071]再者,本發(fā)明所述特性、結(jié)構(gòu)或特征可以以任何方式結(jié)合在一個或多個實施例中。以下說明將提供許多特定的細(xì)節(jié),比如編程序、軟件模塊、用戶選擇、網(wǎng)絡(luò)交易、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等例子,以提供對本發(fā)明實施例的了解。然而相關(guān)領(lǐng)域的普通技術(shù)人員將看出本發(fā)明,即使沒有利用其中一個或多個特定細(xì)節(jié),或利用其它方法、組件、材料等亦可實施。另一方面,為避免混淆本發(fā)明,公知的結(jié)構(gòu)、材料或操作并沒有詳細(xì)描述。
[0072]如圖1所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例1的流程圖,該方法應(yīng)用于一電子設(shè)備中,該電子設(shè)備與可見光通信的發(fā)射端LED (Light-EmittingD1de,發(fā)光二極管)燈相連接,該方法包括:
[0073]步驟SlOl:獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,所述數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù);
[0074]具體的,通過網(wǎng)絡(luò)接口,對網(wǎng)絡(luò)中的數(shù)據(jù)包進行獲取,那么得到的數(shù)據(jù)包為并行數(shù)據(jù)。
[0075]需要說明的是,在本實施例中,該方法應(yīng)用于一基于OOK (On-Off Keying,二進制振幅鍵控)調(diào)制的FPGA(Field Programmable Gate Array,現(xiàn)場可編程邏輯門陣列)將網(wǎng)絡(luò)接口的數(shù)據(jù)讀取下來,數(shù)據(jù)以字節(jié)為單位,一幀的數(shù)據(jù)長度一般為一個ip數(shù)據(jù)包的長度。
[0076]具體實施中,可選取UDP (user datagram protocol,用戶數(shù)據(jù)報協(xié)議)作為傳輸層協(xié)議,并選擇常用的MPEG (Moving Pictures Experts Group,動態(tài)圖像專家組)作為視頻的編碼方式,在經(jīng)過VLC播放器之后,到達網(wǎng)口的數(shù)據(jù)包長度為1358,其中純數(shù)據(jù)的個數(shù)為 1316。
[0077]步驟S102:將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第一存儲位置;
[0078]其中,由于網(wǎng)絡(luò)接口能夠承載較高的數(shù)據(jù)速率,所以,兩個數(shù)據(jù)包之間的間隔可能很小,即該獲取網(wǎng)絡(luò)中的數(shù)據(jù)包的速度較高。
[0079]然而,后續(xù)的采用OOK調(diào)制實現(xiàn)的可見光通信傳輸過程中,通過LED燈的燈管將數(shù)據(jù)包中的信息以串行數(shù)據(jù)形式發(fā)送,導(dǎo)致該進入的數(shù)據(jù)速度大于后續(xù)的LED等發(fā)送數(shù)據(jù)的速度,因此,需要對該數(shù)據(jù)進行緩存。
[0080]需要說明的是,該緩存可以由FPGA自帶的M4K塊配置生成的雙端口 RAM (randomaccess memory,隨機存儲器)結(jié)構(gòu)。該兩個RAM的作用是通過兵兵操作實現(xiàn)緩沖的效果。
[0081]具體的,讀取到緩存的數(shù)據(jù)接口的寫下降沿時,讀取相應(yīng)的RAM的數(shù)據(jù),以避免讀寫沖突。
[0082]步驟S103:從所述第一存儲位置獲取所述數(shù)據(jù)包,并依據(jù)預(yù)設(shè)的拆分規(guī)則,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包;
[0083]其中,為了適應(yīng)信道編碼的長度和物理層適應(yīng)的幀長,將該數(shù)據(jù)包進行物理層拆幀,拆幀時,根據(jù)該信道編碼的長度和物理層的幀長的長度對該數(shù)據(jù)包進行拆分。
[0084]具體的,在本實施例中采用的信道編碼為(255,239)的RS碼,因此,將一個數(shù)據(jù)包可拆分為6個小段,即實現(xiàn)重新組幀,每一個小段重新生成一個數(shù)據(jù)子包。
[0085]步驟S104:將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù);
[0086]其中,每個數(shù)據(jù)子包中的數(shù)據(jù)為以字節(jié)形式傳輸?shù)牟⑿袛?shù)據(jù)。
[0087]其中,通過并/串轉(zhuǎn)換,將該數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),以使該數(shù)據(jù)子包能夠適合OOK調(diào)制,進行VLC傳輸。
[0088]步驟S105:依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼;
[0089]其中,可見光通信信道的幅頻響應(yīng)曲線并不平坦,對應(yīng)于基于OOK調(diào)制的傳輸系統(tǒng),連續(xù)的“I”或“O”代表信號的低頻分量,一次過長時間的充(放)電會造成下一次放(充)電不能夠達到正常的水平,從而產(chǎn)生起伏信號的現(xiàn)象。
[0090]所以,由于可見光通信信道的頻率響應(yīng)特性具有低通特性,為了減少頻率分量的產(chǎn)生,減少連“O”或連“I”的出現(xiàn),對數(shù)據(jù)子包中進行線路編碼。
[0091]具體的,可采用5B/6B編碼、8B/10B編碼或者manchester (曼徹斯特)編碼,當(dāng)信道條件較差時,可采用manchester編碼,信道條件較好時,可采用5B/6B編碼或8B/10B編碼。
[0092]步驟S106:將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至LED燈的控制器。
[0093]其中,該LED燈包括控制器和燈管,控制器接收數(shù)據(jù)子包中的串行數(shù)據(jù),并根據(jù)該串行數(shù)據(jù)對燈管的工作狀態(tài)進行控制,當(dāng)該數(shù)據(jù)為O時,關(guān)閉燈管,當(dāng)該數(shù)據(jù)為I時,啟動燈管,由燈管的關(guān)閉和開啟發(fā)送01信號,實現(xiàn)通過可見光通道將數(shù)據(jù)包中的數(shù)據(jù)發(fā)送的功倉泛。
[0094]具體的,該控制器為可進行模數(shù)轉(zhuǎn)換的驅(qū)動電路。
[0095]需要說明的,與LED燈配套的接收設(shè)備接收到該LED燈通過亮滅傳輸?shù)男盘柡?,進行轉(zhuǎn)換,最終得到與網(wǎng)絡(luò)中獲取的數(shù)據(jù)信息對應(yīng)的最終的數(shù)據(jù)信息。
[0096]參見圖2所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例1的另一流程圖,包括:
[0097]步驟S201:獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,所述數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù);
[0098]步驟S202:將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第一存儲位置;
[0099]步驟S203:從所述第一存儲位置獲取所述數(shù)據(jù)包,并依據(jù)預(yù)設(shè)的拆分規(guī)則,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包;
[0100]步驟S204:對每個數(shù)據(jù)子包采用里所RS碼編碼;
[0101]其中,RS (Reed-solomon,里所)編碼是一類糾錯能力較強的多進制BCH碼,既能夠糾錯隨機誤碼又能糾錯突發(fā)性誤碼。
[0102]所以,為了保證在傳輸過程中數(shù)據(jù)子包中的數(shù)據(jù)能夠以較高的準(zhǔn)確度發(fā)送至接收裝置,采用RS碼對每個數(shù)據(jù)子包中的數(shù)據(jù)進行編碼。
[0103]具體的,對于一般的位寬為8的RS碼,碼塊長度為255,能夠滿足連續(xù)傳輸?shù)淖畲笮r炍粋€數(shù)為16個符號,也即相應(yīng)的信息長度為239個符號。因此,本實施例中選用(255,239)的RS碼作為信道編碼。
[0104]需要說明的是,在RS編碼時,還可對該數(shù)據(jù)子包中添加校驗位,該校驗位可采用20字節(jié)。
[0105]步驟S205:將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù);
[0106]步驟S206:依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼;
[0107]步驟S207:將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至LED燈的控制器。
[0108]需要說明的是,實際實施中,上述的方法可在中低速芯片中實現(xiàn),如內(nèi)嵌于FPGA(Field Programmable Gate Array,現(xiàn)場可編輯邏輯門陣列)芯片實現(xiàn)。
[0109]本實施例中提供的一種可見光通信數(shù)據(jù)傳輸方法,包括:獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,由于通過網(wǎng)絡(luò)接口獲取,該數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù);將該數(shù)據(jù)包緩存到預(yù)設(shè)的第一存儲位置,從該第一存儲位置中獲取該數(shù)據(jù)包,并對該數(shù)據(jù)包進行拆分,拆分為至少一個數(shù)據(jù)子包,并且將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼;最終將每個數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸?shù)絃ED燈的控制器,以使得該控制器依據(jù)每個數(shù)據(jù)子包中的串行數(shù)據(jù)控制LED燈的燈管開啟和關(guān)閉,實現(xiàn)了將網(wǎng)絡(luò)中獲取的實時數(shù)據(jù)信息傳輸?shù)浇邮赵O(shè)備,即實現(xiàn)了對網(wǎng)絡(luò)中的數(shù)據(jù)信息進行實時獲取并通過可見光通信技術(shù)將網(wǎng)絡(luò)中數(shù)據(jù)信息實時傳輸。并且,由于將網(wǎng)絡(luò)中獲取的數(shù)據(jù)包進行拆分,使得每個數(shù)據(jù)子包中含有的數(shù)據(jù)量較小且為串行數(shù)據(jù),適宜單條線路的可見光通信的信道傳輸,通過線路編碼使得數(shù)據(jù)子包中的數(shù)據(jù)適應(yīng)可見光通信的信道的低通特性,提高傳輸準(zhǔn)確率。
[0110]如圖3所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例2的流程圖,該方法包括:
[0111]步驟S301:獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,所述數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù);
[0112]步驟S302:將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第一存儲位置;
[0113]步驟S303:從所述第一存儲位置獲取所述數(shù)據(jù)包,并依據(jù)預(yù)設(shè)的拆分規(guī)則,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包;
[0114]步驟S304:將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù);
[0115]步驟S305:依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼;
[0116]其中,步驟S301-305與實施例1中的步驟S101-105—致,本實施例中不再贅述。
[0117]步驟S306:為所述數(shù)據(jù)子包中的數(shù)據(jù)添加同步頭;
[0118]其中,采用M序列(De Brujin序列)作為同步序列,為每個數(shù)據(jù)子包中的數(shù)據(jù)添加同步頭,該M序列為一種偽隨機序列。
[0119]本實施例中,選擇64位M序列作為系統(tǒng)的同步序列。
[0120]需要說明的是,在可見光通信的接收端接收到的波形失真的情況下,該M序列用于尋找最佳的采樣點和數(shù)據(jù)開始位置,以確定對接收到的數(shù)據(jù)進行正確分析。
[0121]步驟S307:將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至發(fā)光二極管LED燈的控制器。
[0122]其中,步驟S307與實施例1中的步驟S106 —致,本實施例中不再贅述。
[0123]綜上,本實施例中提供的一種可見光通信數(shù)據(jù)傳輸方法中,還包括:為數(shù)據(jù)子包中的數(shù)據(jù)添加同步頭,以保證在傳輸過程中出現(xiàn)圖像失真的情況時,接收端能夠?qū)?shù)據(jù)進行正確分析,以提高數(shù)據(jù)傳輸?shù)馁|(zhì)量。
[0124]如圖4所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例3的流程圖,該方法包括:
[0125]步驟S401:獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,所述數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù);
[0126]步驟S402:將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第一存儲位置;
[0127]其中,步驟S401-402與實施例2中的步驟S101-102—致,本實施例中不再贅述。
[0128]步驟S403:從所述第一存儲位置獲取所述數(shù)據(jù)包,并依據(jù)預(yù)設(shè)字符長度,依次獲取所述數(shù)據(jù)包中的數(shù)據(jù)段;
[0129]其中,從第一存儲位置獲取到數(shù)據(jù)包后,將該數(shù)據(jù)包拆分為多個數(shù)據(jù)段,以使后續(xù)對每個數(shù)據(jù)段生成一個數(shù)據(jù)子包。
[0130]具體的,依據(jù)預(yù)設(shè)的字符長度,依次從該數(shù)據(jù)包中獲取數(shù)據(jù)段,每個數(shù)據(jù)段的長度相同,當(dāng)最后一個數(shù)據(jù)段不滿足預(yù)設(shè)的字符長度時,可采用添加O的方式補齊字符長度。
[0131]例如,本方法中采用的信道編碼為(255,239)的RS編碼,數(shù)據(jù)包長度為1358,其中純數(shù)據(jù)的個數(shù)為1316,則將數(shù)據(jù)包拆分為6個小段,前5個小段的數(shù)據(jù)長度為237,空余兩個字符為步驟S404中添加幀頭,最后一段的數(shù)據(jù)長度為131,也空余兩個字符添加幀頭,其余填充為55H。
[0132]具體的,在獲取數(shù)據(jù)段的過程中,每相鄰兩小段數(shù)據(jù)的間隔為20個字節(jié),該20個字節(jié)作為RS編碼的校驗位,同步頭留下空隙。
[0133]步驟S404:為所述數(shù)據(jù)段插入幀頭;
[0134]其中,為步驟S403中獲取的每一段數(shù)據(jù)加入幀頭,該幀頭中攜帶有標(biāo)識,標(biāo)識用于表示該標(biāo)識所在數(shù)據(jù)段長度和該數(shù)據(jù)段所屬的數(shù)據(jù)包,加入幀頭的數(shù)據(jù)段即為數(shù)據(jù)子包。
[0135]具體的,在每個數(shù)據(jù)段的開始部分添加2個字節(jié),第一個字節(jié)表示該數(shù)據(jù)段的長度,第二個字節(jié)用于表示該數(shù)據(jù)段所屬的數(shù)據(jù)包,之后的237字節(jié)為數(shù)據(jù)段的內(nèi)容。
[0136]步驟S405:將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù);
[0137]步驟S406:依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼;
[0138]步驟S407:為所述數(shù)據(jù)子包中的數(shù)據(jù)添加同步頭;
[0139]步驟S408:將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至發(fā)光二極管LED燈的控制器。
[0140]其中,步驟S405-408與實施例2中的步驟S304-307 —致,本實施例中不再贅述。
[0141]參見圖5所示本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例3的該數(shù)據(jù)傳輸過程中的組幀流程及數(shù)據(jù)格式示意圖,包括:
[0142]步驟S501:將從網(wǎng)絡(luò)中獲取的IP數(shù)據(jù)包進行拆包,得到數(shù)據(jù)段,并添加幀頭;
[0143]從網(wǎng)絡(luò)中獲取的IP數(shù)據(jù)包為整體格式。
[0144]拆包后的數(shù)據(jù)格式中包括幀頭和數(shù)據(jù)段。
[0145]步驟S502:將幀頭和數(shù)據(jù)段作為信息位進行RS編碼,并添加校驗位;
[0146]該數(shù)據(jù)格式中包括信息位和校驗位,該信息為239字節(jié),校驗位為16字節(jié)。
[0147]步驟S503:將經(jīng)過線路編碼后的數(shù)據(jù)中添加同步頭,得到的數(shù)據(jù)記錄為數(shù)據(jù)子包。
[0148]該數(shù)據(jù)格式中包括同步頭和線路編碼后數(shù)據(jù),該同步頭為64位,線路編碼后數(shù)據(jù)的計算方法為8*255/線路編碼效率。
[0149]綜上,本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例中對拆IP包的過程進行說明,首先對數(shù)據(jù)包中的數(shù)據(jù)進行預(yù)設(shè)字符長度的獲取,并為每個數(shù)據(jù)段添加幀頭,以便對該數(shù)據(jù)段進行識別,并且由于拆分為多個小的數(shù)據(jù)子包,使得在進行可見光通信過程中,依次對每一段數(shù)據(jù)進行發(fā)送,避免了發(fā)送一個較大數(shù)據(jù)包時出現(xiàn)故障需要全部重新發(fā)送的問題,降低了發(fā)送的難度。
[0150]上述的3個實施例是針對可見光通信的發(fā)送端的數(shù)據(jù)傳輸方法,即該方法的應(yīng)用于與LED燈控制器相連發(fā)送端的,下面針對可見光通信的接收端數(shù)據(jù)傳輸方法實施例進行說明。
[0151]需要說明的是,下面針對可見光通信的接收端數(shù)據(jù)傳輸方法實施例與上述的發(fā)送端的數(shù)據(jù)傳輸方法實施例對應(yīng)。
[0152]如圖6所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例4的流程圖,該方法應(yīng)用于一電子設(shè)備中,該電子設(shè)備能夠接收可見光通信的發(fā)射端LED燈發(fā)送的可見光信號,實際實施中,該電子設(shè)備位于該LED燈光照覆蓋范圍內(nèi)。
[0153]該方法包括:
[0154]步驟S601:接收通過LED燈的燈管發(fā)送的可見光信號,所述可見光信號為串行數(shù)據(jù),將每個串行數(shù)據(jù)組記錄為一個數(shù)據(jù)子包;
[0155]其中,接收該LED燈燈管發(fā)送的可見光信號,該可見光信號為0、1,當(dāng)該燈管開啟時,接收光信號,記錄為I;當(dāng)燈管關(guān)閉時,記錄為0,一組數(shù)據(jù)記錄為一個數(shù)據(jù)子包。
[0156]具體實施中,各個數(shù)據(jù)組之間具有預(yù)設(shè)長度的區(qū)別信號,以使得對各個串行數(shù)據(jù)組進行劃分。
[0157]步驟S602:依據(jù)預(yù)設(shè)的線路編碼,對所述數(shù)據(jù)子包進行解碼;
[0158]其中,該數(shù)據(jù)子包的解碼方式與編碼方式對應(yīng),以使其解碼得到的數(shù)據(jù)滿足基于OOK調(diào)制的傳輸系統(tǒng)。
[0159]具體的,可采用5B/6B編碼、8B/10B編碼或者manchester (曼徹斯特)編碼進行相應(yīng)的解碼。
[0160]步驟S603:將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù);
[0161]其中,由于LED燈的燈管每次只能產(chǎn)生一個數(shù)據(jù),則該數(shù)據(jù)子包中的數(shù)據(jù)為串行數(shù)據(jù),而OOK調(diào)制對應(yīng)的傳輸方式是以字節(jié)形式傳輸,因此,需要將數(shù)據(jù)子包中的串行數(shù)據(jù)轉(zhuǎn)換為適于OOK調(diào)制的并行數(shù)據(jù)。
[0162]步驟S604:依據(jù)預(yù)設(shè)的合并規(guī)則,將至少一個數(shù)據(jù)子包合并為一個數(shù)據(jù)包;
[0163]其中,在發(fā)送端發(fā)送數(shù)據(jù)包的過程中,采用將數(shù)據(jù)包拆分為幾個數(shù)據(jù)子包依次發(fā)送的方式,因此,當(dāng)接收到數(shù)據(jù)子包后,需要將拆分的幾個數(shù)據(jù)子包合并,得到最初的數(shù)據(jù)包。
[0164]具體的,在本實施例中采用的信道編碼為(255,239)的RS碼,因此,在發(fā)送時將一個數(shù)據(jù)包可拆分為6個小段,所以本步驟中,將依據(jù)與拆分對應(yīng)的規(guī)則,將各個數(shù)據(jù)子包組合得到大的數(shù)據(jù)包。
[0165]步驟S605:將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第二存儲位置;
[0166]其中,因為接收端的網(wǎng)絡(luò)端口讀取速度和本地物理層傳輸速度不一致,所以緩存的目的在于為了將本地物理層的傳輸速度與網(wǎng)絡(luò)端口讀取速度平衡,即使得二者之間讀取和傳輸?shù)乃俣热〉闷胶狻?br>
[0167]需要說明的是,該第二存儲位置的緩存可以由FPGA自帶的M4K塊配置生成的雙端口 RAM結(jié)構(gòu)。該兩個RAM的作用是通過乒乓操作實現(xiàn)緩沖的效果。
[0168]具體的,讀取到緩存的數(shù)據(jù)接口的寫下降沿時,讀取相應(yīng)的RAM的數(shù)據(jù),以避免讀寫沖突。
[0169]步驟S606:從所述第二存儲位置獲取所述數(shù)據(jù)包,并將所述數(shù)據(jù)包傳輸至網(wǎng)絡(luò)接□。
[0170]其中,從該放置數(shù)據(jù)包的第二存儲位置中獲取該數(shù)據(jù)包,并將該數(shù)據(jù)包通過網(wǎng)絡(luò)接口傳輸至用戶的設(shè)備,最終實現(xiàn)通過可見光通信實時傳輸網(wǎng)絡(luò)中的數(shù)據(jù)。
[0171]實際實施中,該網(wǎng)絡(luò)接口連接的為用戶所用的上網(wǎng)電子設(shè)備,如電腦、pad、手機坐寸ο
[0172]參見圖7所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例4的另一流程圖,包括:
[0173]步驟S701:接收通過LED燈的燈管發(fā)送的可見光信號,所述可見光信號為串行數(shù)據(jù),將每個串行數(shù)據(jù)組記錄為一個數(shù)據(jù)子包;
[0174]步驟S702:依據(jù)預(yù)設(shè)的線路編碼,對所述數(shù)據(jù)子包進行解碼;
[0175]步驟S703:將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù);
[0176]步驟S704:對每個數(shù)據(jù)子包采用RS碼譯碼;
[0177]其中,RS編碼是一類糾錯能力較強的多進制BCH碼,既能夠糾錯隨機誤碼又能糾錯突發(fā)性誤碼。
[0178]其中,在對數(shù)據(jù)子包中經(jīng)過RS編碼的數(shù)據(jù)進行譯碼,以使其回復(fù)RS編碼之前的最初形式,以便得到最初從網(wǎng)絡(luò)中獲取的數(shù)據(jù)包內(nèi)容。
[0179]步驟S705:依據(jù)預(yù)設(shè)的合并規(guī)則,將至少一個數(shù)據(jù)子包合并為一個數(shù)據(jù)包;
[0180]步驟S706:將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第二存儲位置;
[0181]步驟S707:從所述第二存儲位置獲取所述數(shù)據(jù)包,并將所述數(shù)據(jù)包傳輸至網(wǎng)絡(luò)接□。
[0182]需要說明的是,上述的方法可內(nèi)嵌于FPGA芯片實現(xiàn)。
[0183]需要說明的是,該方法可以應(yīng)用于實現(xiàn)可見光通信的電子設(shè)備中,該電子設(shè)備可以為臺式機、筆記本、平板電腦、手機、智能電視、智能手表、穿戴式設(shè)備等電子設(shè)備。
[0184]本實施例中提供的一種可見光通信數(shù)據(jù)傳輸方法,包括:對通過LED燈的燈管發(fā)送的可見光信號進行譯碼、串并轉(zhuǎn)換合并等操作,最終將該可見光信號轉(zhuǎn)換為最初從網(wǎng)絡(luò)中獲取的數(shù)據(jù)包,完成了可見光通信的實時傳輸數(shù)據(jù)。
[0185]如圖8所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例5的流程圖,該方法包括:
[0186]步驟S801:接收通過LED燈的燈管發(fā)送的可見光信號,所述可見光信號為串行數(shù)據(jù),將每個串行數(shù)據(jù)組記錄為一個數(shù)據(jù)子包;
[0187]步驟S802:依據(jù)預(yù)設(shè)的線路編碼,對所述數(shù)據(jù)子包進行解碼;
[0188]其中,步驟S801-808與實施例4中的步驟S601-602 —致,本實施例中不再贅述。
[0189]步驟S803:依據(jù)所述數(shù)據(jù)子包中的同步頭,對所述數(shù)據(jù)子包中的數(shù)據(jù)進行解同
I K
少;
[0190]其中,當(dāng)所述串行數(shù)據(jù)組對應(yīng)的波形失真時,依據(jù)所述同步頭尋找最佳采樣點和數(shù)據(jù)開始位置,以實現(xiàn)對所述數(shù)據(jù)子包中的數(shù)據(jù)進行解同步。
[0191]其中,該同步頭為采用M序列添加得到。
[0192]其中,為了對抗可見光通信信道的非線性特性,在解同步時,將采樣速率設(shè)置為OOK速率的8倍,即對于每個OOK符號,有8個采樣點可供處理。
[0193]具體的,利用已知的同步序列對該數(shù)據(jù)子包中的數(shù)據(jù)進行滑動相關(guān)處理,得到最大的相關(guān)值之后,即可認(rèn)為該位置對應(yīng)的采樣點為最佳采樣點,同時找到該編碼后數(shù)據(jù)的起始位置。
[0194]需要說明的是,為了避免毛刺,在進行OOK調(diào)解時,選取最佳采樣點周圍的2個采樣點和最佳采樣點進行聯(lián)合判決。
[0195]需要說明的是,該采用速率為OOK速率的8倍,該倍數(shù)為設(shè)置的最佳數(shù)值,但不限定于此,實際實施中也可采用其他倍數(shù)。
[0196]步驟S804:將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù);
[0197]步驟S805:依據(jù)預(yù)設(shè)的合并規(guī)則,將至少一個數(shù)據(jù)子包合并為一個數(shù)據(jù)包;
[0198]步驟S806:將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第二存儲位置;
[0199]步驟S807:從所述第二存儲位置獲取所述數(shù)據(jù)包,并將所述數(shù)據(jù)包傳輸至網(wǎng)絡(luò)接□。
[0200]其中,步驟S804-807與實施例4中的步驟S603-606 —致,本實施例中不再贅述。
[0201]綜上,本實施例中提供的一種可見光通信數(shù)據(jù)傳輸方法中,還包括:為依據(jù)所述數(shù)據(jù)子包中的同步頭,對所述數(shù)據(jù)子包中的數(shù)據(jù)進行解同步,以保證在傳輸過程中出現(xiàn)圖像失真的情況時,對數(shù)據(jù)進行正確分析,以提高數(shù)據(jù)傳輸?shù)馁|(zhì)量。
[0202]如圖9所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例6的流程圖,該方法包括:
[0203]步驟S901:接收通過LED燈的燈管發(fā)送的可見光信號,所述可見光信號為串行數(shù)據(jù),將每個串行數(shù)據(jù)組記錄為一個數(shù)據(jù)子包;
[0204]步驟S902:依據(jù)預(yù)設(shè)的線路編碼,對所述數(shù)據(jù)子包進行解碼;
[0205]步驟S903:將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù);
[0206]其中,步驟S901-903與實施例4中的步驟S601-603 —致,本實施例中不再贅述。
[0207]步驟S904:依據(jù)所述數(shù)據(jù)子包中的幀頭,得到所述數(shù)據(jù)子包的長度以及所述數(shù)據(jù)子包所屬的數(shù)據(jù)包;
[0208]其中,該幀頭中包含有該數(shù)據(jù)子包的長度和該數(shù)據(jù)子包所屬的數(shù)據(jù)包。
[0209]具體的,對該書子包的幀頭進行分析,得到該數(shù)據(jù)子包的長度和該數(shù)據(jù)子包所屬的數(shù)據(jù)包。
[0210]其中,由于在發(fā)送端,一個數(shù)據(jù)包能夠拆分成多個數(shù)據(jù)子包,接收到的數(shù)據(jù)子包中,存在有多個數(shù)據(jù)子包屬于同一個數(shù)據(jù)包的情況。
[0211]步驟S905:依據(jù)所述數(shù)據(jù)子包所屬的數(shù)據(jù)包,將至少一個屬于同一數(shù)據(jù)包的數(shù)據(jù)子包合并為一個數(shù)據(jù)包;
[0212]其中,根據(jù)每個數(shù)據(jù)子包中的幀頭中含有的所屬數(shù)據(jù)包的信息,將多個同屬于一個數(shù)據(jù)包的數(shù)據(jù)子包合并為一個數(shù)據(jù)包,即將對應(yīng)的數(shù)據(jù)段拼接起來,組成原有的ip數(shù)據(jù)包。
[0213]步驟S906:將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第二存儲位置;
[0214]步驟S907:從所述第二存儲位置獲取所述數(shù)據(jù)包,并將所述數(shù)據(jù)包傳輸至網(wǎng)絡(luò)接□。
[0215]其中,步驟S906-907與實施例4中的步驟S605-606 —致,本實施例中不再贅述。
[0216]綜上,本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸方法實施例中對合并IP包的過程進行說明,依據(jù)所述數(shù)據(jù)子包中的幀頭,得到所述數(shù)據(jù)子包的長度以及所述數(shù)據(jù)子包所屬的數(shù)據(jù)包,并依據(jù)所述數(shù)據(jù)子包所屬的數(shù)據(jù)包,將至少一個屬于同一數(shù)據(jù)包的數(shù)據(jù)子包合并為一個數(shù)據(jù)包。能夠?qū)Ψ譃槎鄠€數(shù)據(jù)子包傳輸來是數(shù)據(jù)進行合并,得到最初從網(wǎng)絡(luò)中獲取的數(shù)據(jù)包的形式,使得傳輸過程完整,用戶采用可見光通信方式進行網(wǎng)絡(luò)數(shù)據(jù)的獲取與其他的無線網(wǎng)絡(luò)數(shù)據(jù)的獲取得到的數(shù)據(jù)相同,保證了用戶體驗較好。
[0217]上述本發(fā)明提供的實施例中詳細(xì)描述了一種可見光通信數(shù)據(jù)傳輸方法,對于本發(fā)明的方法可采用多種形式的裝置實現(xiàn),因此本發(fā)明還提供了一種可見光通信數(shù)據(jù)傳輸裝置,下面給出具體的實施例進行詳細(xì)說明。
[0218]參見圖10示出的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例1的結(jié)構(gòu)示意圖,該裝置應(yīng)用于一電子設(shè)備中,該電子設(shè)備與可見光通信的發(fā)射端LED燈相連接,該裝置包括:
[0219]獲取模塊1001,用于獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,所述數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù);
[0220]具體的,獲取模塊1001通過網(wǎng)絡(luò)接口,對網(wǎng)絡(luò)中的數(shù)據(jù)包進行獲取,那么得到的數(shù)據(jù)包為并行數(shù)據(jù)。
[0221]需要說明的是,在本實施例中,該方法應(yīng)用于一基于OOK調(diào)制的FPGA將網(wǎng)絡(luò)接口的數(shù)據(jù)讀取下來,數(shù)據(jù)以字節(jié)為單位,一幀的數(shù)據(jù)長度一般為一個ip數(shù)據(jù)包的長度。
[0222]具體實施中,可選取UDP作為傳輸層協(xié)議,并選擇常用的MPEG作為視頻的編碼方式,在經(jīng)過VLC播放器之后,到達網(wǎng)口的數(shù)據(jù)包長度為1358,其中純數(shù)據(jù)的個數(shù)為1316。
[0223]第一緩存模塊1002,用于將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第一存儲位置;
[0224]其中,由于網(wǎng)絡(luò)接口能夠承載較高的數(shù)據(jù)速率,所以,兩個數(shù)據(jù)包之間的間隔可能很小,即該獲取網(wǎng)絡(luò)中的數(shù)據(jù)包的速度較高。
[0225]然而,后續(xù)的采用OOK調(diào)制實現(xiàn)的可見光通信傳輸過程中,通過LED燈的燈管將數(shù)據(jù)包中的信息以串行數(shù)據(jù)形式發(fā)送,導(dǎo)致該進入的數(shù)據(jù)速度大于后續(xù)的LED等發(fā)送數(shù)據(jù)的速度,因此,需要對該數(shù)據(jù)進行緩存。
[0226]需要說明的是,該緩存可以由FPGA自帶的M4K塊配置生成的雙端口 RAM結(jié)構(gòu)。該兩個RAM的作用是通過乒乓操作實現(xiàn)緩沖的效果。
[0227]具體的,讀取到緩存的數(shù)據(jù)接口的寫下降沿時,讀取相應(yīng)的RAM的數(shù)據(jù),以避免讀寫沖突。
[0228]拆分模塊1003,用于從所述第一存儲位置獲取所述數(shù)據(jù)包,并依據(jù)預(yù)設(shè)的拆分規(guī)貝U,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包;
[0229]其中,為了適應(yīng)信道編碼的長度和物理層適應(yīng)的幀長,拆分模塊1003將該數(shù)據(jù)包進行物理層拆幀,拆幀時,根據(jù)該信道編碼的長度和物理層的幀長的長度對該數(shù)據(jù)包進行拆分。
[0230]具體的,在本實施例中采用的信道編碼為(255,239)的RS碼,因此,將一個數(shù)據(jù)包可拆分為6個小段,即實現(xiàn)重新組幀,每一個小段重新生成一個數(shù)據(jù)子包。
[0231]其中,該拆分模塊1003包括:獲取單元和添加單元;
[0232]其中,該獲取單元,用于依據(jù)預(yù)設(shè)字符長度,依次獲取所述數(shù)據(jù)包中的數(shù)據(jù)段;
[0233]其中,從第一存儲位置獲取到數(shù)據(jù)包后,將該數(shù)據(jù)包拆分為多個數(shù)據(jù)段,以使后續(xù)對每個數(shù)據(jù)段生成一個數(shù)據(jù)子包。
[0234]具體的,獲取單元依據(jù)預(yù)設(shè)的字符長度,依次從該數(shù)據(jù)包中獲取數(shù)據(jù)段,每個數(shù)據(jù)段的長度相同,當(dāng)最后一個數(shù)據(jù)段不滿足預(yù)設(shè)的字符長度時,可采用添加O的方式補齊字符長度。
[0235]例如,本方法中采用的信道編碼為(255,239)的RS編碼,數(shù)據(jù)包長度為1358,其中純數(shù)據(jù)的個數(shù)為1316,則將數(shù)據(jù)包拆分為6個小段,前5個小段的數(shù)據(jù)長度為237,空余兩個字符為步驟S404中添加幀頭,最后一段的數(shù)據(jù)長度為131,也空余兩個字符添加幀頭,其余填充為55H。
[0236]具體的,在獲取數(shù)據(jù)段的過程中,每相鄰兩小段數(shù)據(jù)的間隔為20個字節(jié),該20個字節(jié)作為RS編碼的校驗位,同步頭留下空隙。
[0237]其中,該添加單元,用于為所述數(shù)據(jù)段插入幀頭,所述幀頭中攜帶有標(biāo)識,所述標(biāo)識用于表示所述數(shù)據(jù)段長度和所述數(shù)據(jù)段所屬的數(shù)據(jù)包。
[0238]其中,添加單元為獲取單元中獲取的每一段數(shù)據(jù)加入幀頭,該幀頭中攜帶有標(biāo)識,標(biāo)識用于表示該標(biāo)識所在數(shù)據(jù)段長度和該數(shù)據(jù)段所屬的數(shù)據(jù)包,加入幀頭的數(shù)據(jù)段即為數(shù)據(jù)子包。
[0239]具體的,在每個數(shù)據(jù)段的開始部分添加2個字節(jié),第一個字節(jié)表示該數(shù)據(jù)段的長度,第二個字節(jié)用于表示該數(shù)據(jù)段所屬的數(shù)據(jù)包,之后的237字節(jié)為數(shù)據(jù)段的內(nèi)容。
[0240]第一轉(zhuǎn)換模塊1004,用于將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù);
[0241]其中,每個數(shù)據(jù)子包中的數(shù)據(jù)為以字節(jié)形式傳輸?shù)牟⑿袛?shù)據(jù)。
[0242]其中,第一轉(zhuǎn)換模塊1004通過并/串轉(zhuǎn)換,將該數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),以使該數(shù)據(jù)子包能夠適合OOK調(diào)制,進行VLC傳輸。
[0243]編碼模塊1005,用于依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼;
[0244]其中,可見光通信信道的幅頻響應(yīng)曲線并不平坦,對應(yīng)于基于OOK調(diào)制的傳輸系統(tǒng),連續(xù)的“I”或“O”代表信號的低頻分量,一次過長時間的充(放)電會造成下一次放(充)電不能夠達到正常的水平,從而產(chǎn)生起伏信號的現(xiàn)象。
[0245]所以,由于可見光通信信道的頻率響應(yīng)特性具有低通特性,為了減少頻率分量的產(chǎn)生,減少連“O”或連“I”的出現(xiàn),對數(shù)據(jù)子包中進行線路編碼。
[0246]具體的,編碼模塊1005可采用5B/6B編碼、8B/10B編碼或者manchester編碼,當(dāng)信道條件較差時,可采用manchester編碼,信道條件較好時,可采用5B/6B編碼或8B/10B編碼。
[0247]第一發(fā)送模塊1006,用于將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至發(fā)光二極管LED燈的控制器。
[0248]其中,該LED燈包括控制器和燈管,控制器接收數(shù)據(jù)子包中的串行數(shù)據(jù),并根據(jù)該串行數(shù)據(jù)對燈管的工作狀態(tài)進行控制,當(dāng)該數(shù)據(jù)為O時,關(guān)閉燈管,當(dāng)該數(shù)據(jù)為I時,啟動燈管,由燈管的關(guān)閉和開啟發(fā)送01信號,實現(xiàn)通過可見光通道將數(shù)據(jù)包中的數(shù)據(jù)發(fā)送的功倉泛。
[0249]具體的,該控制器為可進行模數(shù)轉(zhuǎn)換的驅(qū)動電路。
[0250]需要說明的,與LED燈配套的接收設(shè)備接收到該LED燈通過亮滅傳輸?shù)男盘柡螅M行轉(zhuǎn)換,最終得到與網(wǎng)絡(luò)中獲取的數(shù)據(jù)信息對應(yīng)的最終的數(shù)據(jù)信息。
[0251]參見圖11所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例1的另一結(jié)構(gòu)示意圖,包括:
[0252]獲取模塊1101、第一緩存模塊1102、拆分模塊1103、第一編碼模塊1104、第一轉(zhuǎn)換模塊1105、第二編碼模塊1106和第一發(fā)送模塊1107 ;
[0253]其中,獲取模塊1101、第一緩存模塊1102、拆分模塊1103、第一轉(zhuǎn)換模塊1105、第二編碼模塊1106和第一發(fā)送模塊1107與實施例1中相應(yīng)結(jié)構(gòu)功能一致,本實施例中不再贅述。
[0254]其中,第一編碼模塊1104,用于對每個數(shù)據(jù)子包采用里所RS碼編碼。
[0255]其中,RS編碼是一類糾錯能力較強的多進制BCH碼,既能夠糾錯隨機誤碼又能糾錯突發(fā)性誤碼。
[0256]所以,為了保證在傳輸過程中數(shù)據(jù)子包中的數(shù)據(jù)能夠以較高的準(zhǔn)確度發(fā)送至接收裝置,采用RS碼對每個數(shù)據(jù)子包中的數(shù)據(jù)進行編碼。
[0257]具體的,對于一般的位寬為8的RS碼,碼塊長度為255,能夠滿足連續(xù)傳輸?shù)淖畲笮r炍粋€數(shù)為16個符號,也即相應(yīng)的信息長度為239個符號。因此,本實施例中選用(255,239)的RS碼作為信道編碼。
[0258]需要說明的是,在RS編碼時,還可對該數(shù)據(jù)子包中添加校驗位,該校驗位可采用20字節(jié)。
[0259]本實施例中提供的一種可見光通信數(shù)據(jù)傳輸裝置,包括:獲取模塊,用于獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,所述數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù);第一緩存模塊,用于將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第一存儲位置;拆分模塊,用于從所述第一存儲位置獲取所述數(shù)據(jù)包,并依據(jù)預(yù)設(shè)的拆分規(guī)則,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包;第一轉(zhuǎn)換模塊,用于將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù);編碼模塊,用于依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼;第一發(fā)送模塊,用于將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至LED燈的控制器。采用該裝置,使得該LED燈的控制器依據(jù)每個數(shù)據(jù)子包中的串行數(shù)據(jù)控制LED燈的燈管開啟和關(guān)閉,實現(xiàn)了將網(wǎng)絡(luò)中獲取的實時數(shù)據(jù)信息傳輸?shù)浇邮赵O(shè)備,即實現(xiàn)了對網(wǎng)絡(luò)中的數(shù)據(jù)信息進行實時獲取并通過可見光通信技術(shù)將網(wǎng)絡(luò)中數(shù)據(jù)信息實時傳輸。并且,由于將網(wǎng)絡(luò)中獲取的數(shù)據(jù)包進行拆分,使得每個數(shù)據(jù)子包中含有的數(shù)據(jù)量較小且為串行數(shù)據(jù),適宜單條線路的可見光通信的信道傳輸,通過線路編碼使得數(shù)據(jù)子包中的數(shù)據(jù)適應(yīng)可見光通信的信道的低通特性,提高傳輸準(zhǔn)確率。
[0260]參見圖12所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例2的結(jié)構(gòu)示意圖,包括:
[0261]獲取模塊1201、第一緩存模塊1202、拆分模塊1203、編碼模塊1204、第一轉(zhuǎn)換模塊1204、添加模塊1205和第一發(fā)送模塊1206 ;
[0262]其中,獲取模塊1201、第一緩存模塊1202、拆分模塊1203、編碼模塊1204、第一轉(zhuǎn)換模塊1204和第一發(fā)送模塊1206與實施例1中相應(yīng)結(jié)構(gòu)功能一致,本實施例中不再贅述。
[0263]添加模塊1205,用于為所述數(shù)據(jù)子包中的數(shù)據(jù)添加同步頭。
[0264]其中,添加模塊1205采用M序列(De Brujin序列)作為同步序列,為每個數(shù)據(jù)子包中的數(shù)據(jù)添加同步頭,該M序列為一種偽隨機序列。
[0265]本實施例中,選擇64位M序列作為系統(tǒng)的同步序列。
[0266]需要說明的是,在可見光通信的接收端接收到的波形失真的情況下,該M序列用于尋找最佳的采樣點和數(shù)據(jù)開始位置,以確定對接收到的數(shù)據(jù)進行正確分析。
[0267]綜上,本實施例中提供的一種可見光通信數(shù)據(jù)傳輸裝置中,還包括:為數(shù)據(jù)子包中的數(shù)據(jù)添加同步頭的添加模塊,以保證在傳輸過程中出現(xiàn)圖像失真的情況時,接收端能夠?qū)?shù)據(jù)進行正確分析,以提高數(shù)據(jù)傳輸?shù)馁|(zhì)量。
[0268]上述的2個實施例是針對可見光通信的發(fā)送端的數(shù)據(jù)傳輸裝置,即該裝置的應(yīng)用于與LED燈控制器相連發(fā)送端的,下面針對可見光通信的接收端數(shù)據(jù)傳輸裝置實施例進行說明。
[0269]需要說明的是,下面針對可見光通信的接收端數(shù)據(jù)傳輸裝置實施例與上述的發(fā)送端的數(shù)據(jù)傳輸裝置實施例對應(yīng)。
[0270]參見圖13所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例3的結(jié)構(gòu)示意圖,包括:
[0271]接收模塊1301,用于接收通過LED燈的燈管發(fā)送的可見光信號,所述可見光信號為串行數(shù)據(jù),將每個串行數(shù)據(jù)組記錄為一個數(shù)據(jù)子包;
[0272]其中,接收模塊1301接收該LED燈燈管發(fā)送的可見光信號,該可見光信號為0、1,當(dāng)該燈管開啟時,接收光信號,記錄為I ;當(dāng)燈管關(guān)閉時,記錄為0,一組數(shù)據(jù)記錄為一個數(shù)據(jù)子包。
[0273]具體實施中,各個數(shù)據(jù)組之間具有預(yù)設(shè)長度的區(qū)別信號,以使得對各個串行數(shù)據(jù)組進行劃分。
[0274]解碼模塊1302,用于依據(jù)預(yù)設(shè)的線路編碼,對解同步完成的所述數(shù)據(jù)子包進行解碼;
[0275]其中,該數(shù)據(jù)子包的解碼方式與編碼方式對應(yīng),以使其解碼得到的數(shù)據(jù)滿足基于OOK調(diào)制的傳輸系統(tǒng)。
[0276]具體的,解碼模塊1302可采用5B/6B編碼、8B/10B編碼或者manchester (曼徹斯特)編碼進行相應(yīng)的解碼。
[0277]第二轉(zhuǎn)換模塊1303,用于將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù);
[0278]其中,由于LED燈的燈管每次只能產(chǎn)生一個數(shù)據(jù),則該數(shù)據(jù)子包中的數(shù)據(jù)為串行數(shù)據(jù),而OOK調(diào)制對應(yīng)的傳輸方式是以字節(jié)形式傳輸,因此,第二轉(zhuǎn)換模塊1303需要將數(shù)據(jù)子包中的串行數(shù)據(jù)轉(zhuǎn)換為適于OOK調(diào)制的并行數(shù)據(jù)。
[0279]合并模塊1304,用于依據(jù)預(yù)設(shè)的合并規(guī)則,將至少一個數(shù)據(jù)子包合并為一個數(shù)據(jù)包;
[0280]其中,在發(fā)送端發(fā)送數(shù)據(jù)包的過程中,采用將數(shù)據(jù)包拆分為幾個數(shù)據(jù)子包依次發(fā)送的方式,因此,當(dāng)接收到數(shù)據(jù)子包后,合并模塊1304需要將拆分的幾個數(shù)據(jù)子包合并,得到最初的數(shù)據(jù)包。
[0281]具體的,在本實施例中采用的信道編碼為(255,239)的RS碼,因此,在發(fā)送時將一個數(shù)據(jù)包可拆分為6個小段,所以本步驟中,將依據(jù)與拆分對應(yīng)的規(guī)則,將各個數(shù)據(jù)子包組合得到大的數(shù)據(jù)包。
[0282]其中,合并模塊1304包括分析單元和合并單元;
[0283]其中,分析單元,用于依據(jù)所述數(shù)據(jù)子包中的幀頭,得到所述數(shù)據(jù)子包的長度以及所述數(shù)據(jù)子包所屬的數(shù)據(jù)包;
[0284]其中,該幀頭中包含有該數(shù)據(jù)子包的長度和該數(shù)據(jù)子包所屬的數(shù)據(jù)包。
[0285]具體的,分析單元對該書子包的幀頭進行分析,得到該數(shù)據(jù)子包的長度和該數(shù)據(jù)子包所屬的數(shù)據(jù)包。
[0286]其中,由于在發(fā)送端,一個數(shù)據(jù)包能夠拆分成多個數(shù)據(jù)子包,接收到的數(shù)據(jù)子包中,存在有多個數(shù)據(jù)子包屬于同一個數(shù)據(jù)包的情況。
[0287]其中,合并單元,用于依據(jù)所述數(shù)據(jù)子包所屬的數(shù)據(jù)包,將至少一個屬于同一數(shù)據(jù)包的數(shù)據(jù)子包合并為一個數(shù)據(jù)包;
[0288]其中,合并單元根據(jù)每個數(shù)據(jù)子包中的幀頭中含有的所屬數(shù)據(jù)包的信息,將多個同屬于一個數(shù)據(jù)包的數(shù)據(jù)子包合并為一個數(shù)據(jù)包,即將對應(yīng)的數(shù)據(jù)段拼接起來,組成原有的ip數(shù)據(jù)包。
[0289]第二緩存模塊1305,用于將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第二存儲位置;
[0290]其中,因為接收端的網(wǎng)絡(luò)端口讀取速度和本地物理層傳輸速度不一致,所以緩存的目的在于為了將本地物理層的傳輸速度與網(wǎng)絡(luò)端口讀取速度平衡,即使得二者之間讀取和傳輸?shù)乃俣热〉闷胶狻?br>
[0291 ] 需要說明的是,該第二存儲位置的緩存可以由FPGA自帶的M4K塊配置生成的雙端口 RAM結(jié)構(gòu)。該兩個RAM的作用是通過乒乓操作實現(xiàn)緩沖的效果。
[0292]具體的,讀取到緩存的數(shù)據(jù)接口的寫下降沿時,讀取相應(yīng)的RAM的數(shù)據(jù),以避免讀寫沖突。
[0293]第二發(fā)送模塊1306,用于從所述第二存儲位置獲取所述數(shù)據(jù)包,并將所述數(shù)據(jù)包傳輸至網(wǎng)絡(luò)接口。
[0294]其中,從該放置數(shù)據(jù)包的第二存儲位置中獲取該數(shù)據(jù)包,并將該數(shù)據(jù)包通過網(wǎng)絡(luò)接口傳輸至用戶的設(shè)備,最終實現(xiàn)通過可見光通信實時傳輸網(wǎng)絡(luò)中的數(shù)據(jù)。
[0295]實際實施中,該網(wǎng)絡(luò)接口連接的為用戶所用的上網(wǎng)電子設(shè)備,如電腦、pad、手機坐寸ο
[0296]參見圖14所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例3的另一結(jié)構(gòu)示意圖,包括:接收模塊1401、第一解碼模塊1402、第二轉(zhuǎn)換模塊1403、第二解碼模塊1404、合并模塊1405、第二緩存模塊1406和第二發(fā)送模塊1407 ;
[0297]其中,接收模塊1401、第一解碼模塊1402、第二轉(zhuǎn)換模塊1403、合并模塊1405、第二緩存模塊1406和第二發(fā)送模塊1407與實施例1中相應(yīng)結(jié)構(gòu)功能一致,本實施例中不再贅述。
[0298]第二解碼模塊1404,用于對每個數(shù)據(jù)子包采用RS碼譯碼。
[0299]其中,RS編碼是一類糾錯能力較強的多進制BCH碼,既能夠糾錯隨機誤碼又能糾錯突發(fā)性誤碼。
[0300]其中,第二解碼模塊1404對數(shù)據(jù)子包中經(jīng)過RS編碼的數(shù)據(jù)進行譯碼,以使其回復(fù)RS編碼之前的最初形式,以便得到最初從網(wǎng)絡(luò)中獲取的數(shù)據(jù)包內(nèi)容。
[0301]需要說明的是,實際實施中,上述的裝置可在中低速芯片中實現(xiàn),如FPGA芯片。
[0302]需要說明的是,該裝置可以應(yīng)用于實現(xiàn)可見光通信的電子設(shè)備中,該電子設(shè)備可以為臺式機、筆記本、平板電腦、手機、智能電視、智能手表、穿戴式設(shè)備等電子設(shè)備。
[0303]本實施例中提供的一種可見光通信數(shù)據(jù)傳輸裝置,包括:對通過LED燈的燈管發(fā)送的可見光信號進行譯碼、串并轉(zhuǎn)換合并等操作,最終將該可見光信號轉(zhuǎn)換為最初從網(wǎng)絡(luò)中獲取的數(shù)據(jù)包,完成了可見光通信的實時傳輸數(shù)據(jù)。
[0304]參見圖15所示的本申請?zhí)峁┑囊环N可見光通信數(shù)據(jù)傳輸裝置實施例2的結(jié)構(gòu)示意圖,包括:接收模塊1501、第一解碼模塊1502、第二轉(zhuǎn)換模塊1503、解同步模塊1504、合并模塊1505、第二緩存模塊1506和第二發(fā)送模塊1507 ;
[0305]其中,解同步模塊1504,用于依據(jù)所述數(shù)據(jù)子包中的同步頭,對所述數(shù)據(jù)子包中的數(shù)據(jù)進行解同步;
[0306]其中,當(dāng)所述串行數(shù)據(jù)組對應(yīng)的波形失真時,解同步模塊1504依據(jù)所述同步頭尋找最佳采樣點和數(shù)據(jù)開始位置,以實現(xiàn)對所述數(shù)據(jù)子包中的數(shù)據(jù)進行解同步。
[0307]其中,該同步頭為采用M序列添加得到。
[0308]其中,為了對抗可見光通信信道的非線性特性,在解同步時,將采樣速率設(shè)置為OOK速率的8倍,即對于每個OOK符號,有8個采樣點可供處理。
[0309]具體的,利用已知的同步序列對該數(shù)據(jù)子包中的數(shù)據(jù)進行滑動相關(guān)處理,得到最大的相關(guān)值之后,即可認(rèn)為該位置對應(yīng)的采樣點為最佳采樣點,同時找到該編碼后數(shù)據(jù)的起始位置。
[0310]需要說明的是,為了避免毛刺,在進行OOK調(diào)解時,選取最佳采樣點周圍的2個采樣點和最佳采樣點進行聯(lián)合判決。
[0311]需要說明的是,該采用速率為OOK速率的8倍,該倍數(shù)為設(shè)置的最佳數(shù)值,但不限定于此,實際實施中也可采用其他倍數(shù)。
[0312]綜上,本實施例中提供的一種可見光通信數(shù)據(jù)傳輸裝置中,還包括:解同步模塊,用于為依據(jù)所述數(shù)據(jù)子包中的同步頭,對所述數(shù)據(jù)子包中的數(shù)據(jù)進行解同步,以保證在傳輸過程中出現(xiàn)圖像失真的情況時,對數(shù)據(jù)進行正確分析,以提高數(shù)據(jù)傳輸?shù)馁|(zhì)量。
[0313]本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例提供的裝置而言,由于其與實施例提供的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
[0314]對所提供的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所提供的原理和新穎特點相一致的最寬的范圍。
【權(quán)利要求】
1.一種可見光通信數(shù)據(jù)傳輸方法,其特征在于,包括: 獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,所述數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù); 將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第一存儲位置; 從所述第一存儲位置獲取所述數(shù)據(jù)包,并依據(jù)預(yù)設(shè)的拆分規(guī)則,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包; 將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù); 依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼; 將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至發(fā)光二極管LED燈的控制器。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼之后,所述將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至發(fā)光二極管LED燈的控制器之前,還包括: 為所述數(shù)據(jù)子包中的數(shù)據(jù)添加同步頭。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述依據(jù)預(yù)設(shè)的拆分規(guī)則,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù) 子包包括: 依據(jù)預(yù)設(shè)字符長度,依次獲取所述數(shù)據(jù)包中的數(shù)據(jù)段; 為所述數(shù)據(jù)段插入幀頭,所述幀頭中攜帶有標(biāo)識,所述標(biāo)識用于表示所述數(shù)據(jù)段長度和所述數(shù)據(jù)段所屬的數(shù)據(jù)包。
4.一種可見光通信數(shù)據(jù)傳輸方法,其特征在于,包括: 接收通過LED燈的燈管發(fā)送的可見光信號,所述可見光信號為串行數(shù)據(jù),將每個串行數(shù)據(jù)組記錄為一個數(shù)據(jù)子包; 依據(jù)預(yù)設(shè)的線路編碼,對所述數(shù)據(jù)子包進行解碼; 將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù); 依據(jù)預(yù)設(shè)的合并規(guī)則,將至少一個數(shù)據(jù)子包合并為一個數(shù)據(jù)包; 將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第二存儲位置; 從所述第二存儲位置獲取所述數(shù)據(jù)包,并將所述數(shù)據(jù)包傳輸至網(wǎng)絡(luò)接口。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述接收通過LED燈的燈管發(fā)送的串行數(shù)據(jù)組之后,所述將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)之前,還包括: 依據(jù)所述數(shù)據(jù)子包中的同步頭,對所述數(shù)據(jù)子包中的數(shù)據(jù)進行解同步; 其中,當(dāng)所述串行數(shù)據(jù)組對應(yīng)的波形失真時,依據(jù)所述同步頭尋找最佳采樣點和數(shù)據(jù)開始位置,以實現(xiàn)對所述數(shù)據(jù)子包中的數(shù)據(jù)進行解同步。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述依據(jù)預(yù)設(shè)的合并規(guī)則,將至少一個數(shù)據(jù)子包合并為一個數(shù)據(jù)包包括: 依據(jù)所述數(shù)據(jù)子包中的幀頭,得到所述數(shù)據(jù)子包的長度以及所述數(shù)據(jù)子包所屬的數(shù)據(jù)包; 依據(jù)所述數(shù)據(jù)子包所屬的數(shù)據(jù)包,將至少一個屬于同一數(shù)據(jù)包的數(shù)據(jù)子包合并為一個數(shù)據(jù)包。
7.—種可見光通信數(shù)據(jù)傳輸裝置,其特征在于,所述裝置與LED燈相連,包括: 獲取模塊,用于獲取網(wǎng)絡(luò)中的數(shù)據(jù)包,所述數(shù)據(jù)包中的數(shù)據(jù)為并行數(shù)據(jù); 第一緩存模塊,用于將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第一存儲位置;拆分模塊,用于從所述第一存儲位置獲取所述數(shù)據(jù)包,并依據(jù)預(yù)設(shè)的拆分規(guī)則,將所述數(shù)據(jù)包拆分為至少一個數(shù)據(jù)子包; 第一轉(zhuǎn)換模塊,用于將每個數(shù)據(jù)子包中的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù); 編碼模塊,用于依據(jù)預(yù)設(shè)的線路編碼,對轉(zhuǎn)換成串行狀態(tài)的數(shù)據(jù)子包進行線路編碼; 第一發(fā)送模塊,用于將所述數(shù)據(jù)子包中的串行數(shù)據(jù)傳輸至發(fā)光二極管LED燈的控制器。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置應(yīng)用于一現(xiàn)場可編輯邏輯門陣列FPGA芯片。
9.一種可見光通信數(shù)據(jù)傳輸裝置,其特征在于,包括: 接收模塊,用于接收通過LED燈的燈管發(fā)送的可見光信號,所述可見光信號為串行數(shù)據(jù),將每個串行數(shù)據(jù)組記錄為一個數(shù)據(jù)子包; 解碼模塊,用于依據(jù)預(yù)設(shè)的線路編碼,對解同步完成的所述數(shù)據(jù)子包進行解碼; 第二轉(zhuǎn)換模塊,用于將所述數(shù)據(jù)子包的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù); 合并模塊,用于依據(jù)預(yù)設(shè)的合并規(guī)則,將至少一個數(shù)據(jù)子包合并為一個數(shù)據(jù)包; 第二緩存模塊,用于將所述數(shù)據(jù)包緩存至預(yù)設(shè)的第二存儲位置; 第二發(fā)送模塊,用于從所述第二存儲位置獲取所述數(shù)據(jù)包,并將所述數(shù)據(jù)包傳輸至網(wǎng)絡(luò)接口。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置應(yīng)用于一FPGA芯片。
【文檔編號】H04B10/116GK104079351SQ201410161719
【公開日】2014年10月1日 申請日期:2014年4月22日 優(yōu)先權(quán)日:2014年4月22日
【發(fā)明者】朱義君, 張東方, 王超, 鄔江興, 于宏毅, 劉洛琨, 張效義, 張劍, 仵國鋒, 田忠駿, 張艷語 申請人:中國人民解放軍信息工程大學(xué)