鄧健志,程小輝
(1. 桂林理工大學(xué) 信息科學(xué)與工程學(xué)院,廣西 桂林541004;2. 桂林理工大學(xué) 廣西嵌入式技術(shù)與智能系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,廣西 桂林541004)
在車聯(lián)網(wǎng)中,車-車通信、車-地(設(shè)備)通信是相當(dāng)重要的組網(wǎng)環(huán)節(jié)。在沒(méi)有移動(dòng)電話前,車輛之間常通過(guò)燈語(yǔ)來(lái)實(shí)現(xiàn)簡(jiǎn)單交流。燈語(yǔ)是應(yīng)用長(zhǎng)短不同的燈光明暗間歇來(lái)傳遞信息的一種簡(jiǎn)易通信方式。燈語(yǔ)在海上船間的通信應(yīng)用較為廣泛,道路上的汽車駕駛員也常利用車燈的亮滅閃爍向前車及對(duì)向來(lái)車傳遞信息。例如:閃一下提示前方車輛讓出車道;閃兩下提示對(duì)向來(lái)車關(guān)閉遠(yuǎn)光燈;閃三下提示前車有故障等等。
目前,車聯(lián)網(wǎng)的組網(wǎng)通信主要還是依賴于4G、WIFI 及藍(lán)牙等無(wú)線射頻技術(shù)[1],盡管5G 的應(yīng)用能擴(kuò)展了車聯(lián)網(wǎng)的通信模式,但我們?nèi)韵M浞珠_發(fā)無(wú)線通信資源,打造多元化的車聯(lián)網(wǎng)通信模式。
與此同時(shí),當(dāng)前車內(nèi)設(shè)備通信主要采取包括CAN,LIN,TTP(Time-Triggered Protocol)在內(nèi)的串行通信模式。其中,一些實(shí)時(shí)性不高的系統(tǒng)控制,如:中控門鎖、電動(dòng)車窗、電動(dòng)座椅與燈光照明等,主要采用數(shù)據(jù)傳輸速率為1~104bit/s 的LIN,TTP 協(xié)議[2]。這些通信方式都需設(shè)置專有的通信線路,且傳輸速率普遍不高。
可見(jiàn)光通信(Visible Light Communication,VLC)是一種利用燈光進(jìn)行通信的新一代信息技術(shù),原理跟燈語(yǔ)一樣,但速度更快,信號(hào)更復(fù)雜。如今,VLC 技術(shù)已被列入5G 后的下一代技術(shù),作為多樣化6G 接入網(wǎng)絡(luò)的組成部分之一。本文研究采用VLC 實(shí)現(xiàn)車-車通信,讓采用VLC 的車聯(lián)網(wǎng)通信成為未來(lái)通信的新模式[3-5]。
在汽車內(nèi)部,車燈、車門窗等設(shè)備主要是通過(guò)供電線路與開關(guān)連接,并不具備通信功能。如若采用現(xiàn)有方法實(shí)現(xiàn)車燈的VLC 通信,需要增設(shè)通信線路和復(fù)雜的通信模塊等,需改變車輛內(nèi)部結(jié)構(gòu)、線路布線等,而這些改變可能會(huì)影響車輛的整體安全性,影響車輛的整體設(shè)計(jì)。因此,本文設(shè)計(jì)了一個(gè)即插即用的可見(jiàn)光車燈信號(hào)的發(fā)送裝置,希望在不改變現(xiàn)有車輛結(jié)構(gòu)和減少通信線路使用的前提下,簡(jiǎn)單便捷地將VLC 技術(shù)移植到汽車上,讓車燈成為一個(gè)車間通信的信號(hào)載體。
本裝置包括前級(jí)電路、后級(jí)電路和儲(chǔ)能模塊三個(gè)部分。 前級(jí)電路有微控制單元(Microcontroller Unit,MCU)、穩(wěn)壓模塊、輸入模塊、開關(guān)模塊等;后級(jí)電路有MCU、穩(wěn)壓模塊、整形模塊、驅(qū)動(dòng)模塊等。前級(jí)電路與后級(jí)電路僅僅通過(guò)供電線路相連接,前級(jí)到后級(jí)的電能供給和信號(hào)的傳輸,都經(jīng)由兩條供電線路完成;后級(jí)根據(jù)前級(jí)的信號(hào)控制驅(qū)動(dòng)模塊帶動(dòng)負(fù)載工作;儲(chǔ)能模塊在工作時(shí)用做臨時(shí)電源[6]。
系統(tǒng)結(jié)構(gòu)和模塊連接原理如圖1 所示。系統(tǒng)功能可分為供電和信息傳輸兩個(gè)部分[7]。
(1)系統(tǒng)供電原理:前級(jí)電路通過(guò)外部電源獲得+12 V 供電,并由開關(guān)模塊的控制A、C 兩端的供電通斷;儲(chǔ)能模塊在A,C 兩端供電接通時(shí)儲(chǔ)蓄電能,并在A,C 兩端供電中斷時(shí)釋放電能,以用作臨時(shí)電源為后級(jí)電路提供電能;后級(jí)電路從儲(chǔ)能模塊C,D 兩端獲得電能。為保證供電穩(wěn)定,前、后兩級(jí)均采用了穩(wěn)壓模塊。
圖1 系統(tǒng)原理框圖Fig. 1 System scheme
(2)系統(tǒng)的信息傳輸功能,主要是輸入模塊的輸入信息經(jīng)由前級(jí)電路傳輸至后級(jí)電路,工作原理如下:前級(jí)MCU(Microcontroller Unit)根據(jù)輸入模塊的輸入信息,控制開關(guān)模塊產(chǎn)生開關(guān)動(dòng)作;開關(guān)模塊的開關(guān)動(dòng)作導(dǎo)致A,C 兩端的接通和斷開,從而使得C,D 兩端的電平隨著開關(guān)動(dòng)作產(chǎn)生變化;C,D 兩端的電平變化經(jīng)過(guò)整形模塊處理得到脈寬調(diào)制PWM(Pulse Width Modulation)信號(hào),后級(jí)MCU 將整形模塊輸出的PWM 信號(hào)解調(diào)得到由前級(jí)MCU 傳輸?shù)男畔?,由此?shí)現(xiàn)前、后兩級(jí)電路的信息傳輸,并由驅(qū)動(dòng)模塊根據(jù)傳輸?shù)男畔⒖刂曝?fù)載[7]。
本設(shè)計(jì)的負(fù)載采用LED,即由驅(qū)動(dòng)模塊控制LED 發(fā)出可見(jiàn)光信號(hào)。輸入模塊可以是一組按鍵、開關(guān)等,也可以提供手機(jī)、平板等外設(shè)數(shù)據(jù)的串行通信接口,用以接收并轉(zhuǎn)發(fā)外設(shè)的輸入信息。例如:將車燈撥桿作為輸入模塊,將撥桿撥動(dòng)作為輸入信號(hào),裝置作為一個(gè)即插即用模塊,連接在電源與車燈之間,如圖2 所示。
圖2 系統(tǒng)連接示意圖Fig. 2 Connection scheme
根據(jù)上述原理,系統(tǒng)發(fā)送LED 發(fā)出可見(jiàn)光信號(hào)的整體信號(hào)的傳遞形式如圖3 所示:首先,由輸入模塊發(fā)出指令信號(hào),前級(jí)MCU 將該信號(hào)指令轉(zhuǎn)換為相應(yīng)的開關(guān)模塊的控制信號(hào);由開關(guān)模塊根據(jù)控制信號(hào)產(chǎn)生供電通斷的引起電壓變化的開關(guān)信號(hào);儲(chǔ)能模塊兩端的電壓變化信號(hào)經(jīng)過(guò)整形模塊后得到整形后的脈沖方波;后級(jí)MCU根據(jù)整形模塊的脈沖方波輸出信號(hào),向驅(qū)動(dòng)模塊發(fā)出驅(qū)動(dòng)信號(hào),由驅(qū)動(dòng)模塊控制LED 發(fā)送可見(jiàn)光信號(hào)。
儲(chǔ)能模塊在開關(guān)模塊的PWM 開合控制引起的供電通斷過(guò)程中,不斷地充放電;由此,在儲(chǔ)能模塊的兩端就會(huì)出現(xiàn)電壓的波動(dòng),這樣的波動(dòng)也會(huì)反應(yīng)在整形模塊的輸入上,整形模塊將電壓變化轉(zhuǎn)換成一組脈沖,由此從電壓的瞬時(shí)跳變中,獲取供電通斷變化所攜帶的信號(hào)。
圖4 整形模塊原理Fig. 4 Plastic module
本設(shè)計(jì)是利用系統(tǒng)的供電線路進(jìn)行信號(hào)的傳輸,為了保證系統(tǒng)的正常工作,穩(wěn)定供電是第一位。裝置后級(jí)的供電是由開關(guān)模塊的開關(guān)動(dòng)作控制通斷,供電線路上的瞬時(shí)電壓電流并不是固定的,開關(guān)電路的開關(guān)動(dòng)作產(chǎn)生了由峰值電壓及低電平來(lái)回交替形成的脈沖。
而后級(jí)電路的供電不是由普通的直流電實(shí)現(xiàn),是通過(guò)開關(guān)模塊的開關(guān)動(dòng)作產(chǎn)生由峰值電壓及低電平的來(lái)回交替形成的直流脈沖,所以工作時(shí)需要考慮脈沖的有效值是否達(dá)到供電需求。
通過(guò)純電阻R在電壓、電流峰值為Im的正弦交變供電系統(tǒng)中一個(gè)周期T內(nèi)的能耗Q的計(jì)算公式[8]:
由于單向脈沖實(shí)質(zhì)是一種脈沖直流電,當(dāng)接入純電阻R后一個(gè)周期T內(nèi)耗散的能量等于直流電耗散能量的t/T,其中t為一個(gè)周期的高電平時(shí)間,根據(jù)有效值定義可知:
即,電流有效值為I=t T Im,電壓有效值為U=t T Um。 通常MCU 的供電電壓一般為3. 3 V 和5 V,因此,以LM7805 穩(wěn)壓芯片提供5 V 穩(wěn)壓供電為例,LM7805 輸入工作電壓范圍為7~36 V,對(duì)于脈沖的有效值最低不能低于7 V。當(dāng)輸入峰值12 V 且要求有效值為7 V 時(shí),有7/12=t T,即在一個(gè)脈沖周期里,高電平的持續(xù)時(shí)間不應(yīng)小于1/3T。
電容、電感都具有充放電特性,因此可利用這一特性,將其當(dāng)作臨時(shí)電源使用。 在本設(shè)計(jì)中,擬采用電容、電感作為儲(chǔ)能模塊,在電源供電時(shí),集聚電能;當(dāng)電源供電中斷時(shí),釋放電能,并用于給后級(jí)電路的整形模塊、穩(wěn)壓模塊、MCU 等提供電能輸出。
當(dāng)前級(jí)MCU 給開關(guān)模塊分別輸出1 KHz~5 MHz 的 占 空 比Dk為50% 的PWM 信 號(hào) ,對(duì)10 pF~1 μF 范圍內(nèi)的多組電容的壓降、充放電時(shí)間、頻率等進(jìn)行了測(cè)量,部分電容充放電情況測(cè)試,如表1。
其中33 pF 電容值的電容充放電如圖5 所示。 33 pF 的電容在200 KHz 的開關(guān)信號(hào)控制下,兩端電壓占空比為3:2,壓降接近12 V;當(dāng)開關(guān)信號(hào)提高至4 MHz 時(shí),兩端電壓占空比Dk為4:1,壓降約為8 V。
表1 電容充放電測(cè)試數(shù)據(jù)Tab. 1 Charge-discharge test of capacitor (Unit:V)
圖5 33 pF 電容頻率測(cè)試波形Fig. 5 Test waveform of 33 pF capacitor
電感與電容一樣,也可以用作儲(chǔ)能元件。然而,通過(guò)對(duì)470 μH 和1 mH 的電感進(jìn)行測(cè)試發(fā)現(xiàn),電感在充放電頻率較高時(shí),電壓的變化不明顯,且發(fā)熱量很大。
電感測(cè)試數(shù)據(jù)如表2,47 μH 電感在開關(guān)頻率為1 KHz,500 KHz,1 MHz 時(shí),壓降均達(dá)不到0. 5 V,且在短暫的測(cè)試過(guò)程已經(jīng)有微熱;采用1 mH 電感在開關(guān)頻率為1 KHz 時(shí),波形較好且壓降可以達(dá)到4 V,但發(fā)熱嚴(yán)重。顯然,電感不適合用作本設(shè)計(jì)的儲(chǔ)能模塊,其波形圖如圖6。
由于上述推導(dǎo)及電容充放電特性可知,容值越大,充放電越慢;反之則越快。而對(duì)于同一電容,開關(guān)頻率越高,電容的充放電時(shí)間越短,電容兩端的壓降也越小。以33 pF 電容為例,當(dāng)產(chǎn)生開關(guān)信號(hào)的PWM 頻率達(dá)到4 MHz,若用每一個(gè)脈沖攜帶一個(gè)bit 信號(hào),既前級(jí)向后級(jí)傳輸信號(hào)可達(dá)到4 MHz 的傳輸速率。
表2 電感充放電測(cè)試數(shù)據(jù)表Tab. 2 Charge-discharge test of inductor
圖6 電感充放電測(cè)試Fig. 6 Charge-discharge test of inductor
結(jié)合硬件結(jié)構(gòu),軟件設(shè)計(jì)包括前級(jí)MCU 和后級(jí)MCU 兩個(gè)部分的控制程序,前級(jí)用于接收并解析輸入模塊的指令,再根據(jù)指令控制開關(guān)模塊的開合;后級(jí)根據(jù)整形模塊的輸出識(shí)別出前級(jí)的開關(guān)控制信號(hào),并據(jù)此發(fā)出驅(qū)動(dòng)信號(hào)。
本設(shè)計(jì)利用載波的頻率變化來(lái)傳輸數(shù)字量的信息,采用兩個(gè)頻率表示二進(jìn)制“0”和“1”的2FSK。FSK(Frequency-Shift Keying)頻移鍵控,是利用載波頻率的變換來(lái)傳輸數(shù)字信息,F(xiàn)SK 擁有易實(shí)現(xiàn)、抗噪聲、抗衰減的優(yōu)點(diǎn),適合用于遠(yuǎn)程中低速通信傳輸。本設(shè)計(jì)的2FSK 調(diào)制采用微控制器實(shí)現(xiàn)。
考慮到前級(jí)到后級(jí)的信息傳輸可能存在的線路干擾、誤動(dòng)作等問(wèn)題,設(shè)計(jì)采用了Modbus 協(xié)議的RTU 模式,其數(shù)據(jù)幀格式如表3。
表3 數(shù)據(jù)幀結(jié)構(gòu)表Tab. 3 Frame structure
其中,在數(shù)據(jù)幀加上T1~T4 的起始位和結(jié)束位,用大于3. 5 Byte 的時(shí)間,代表不同數(shù)據(jù)幀之間的間隔。如若一幀數(shù)據(jù)未完成或是有大于T1~T4 間隔沒(méi)數(shù)據(jù),接收設(shè)備會(huì)準(zhǔn)備下一個(gè)數(shù)據(jù)幀的接收;當(dāng)數(shù)據(jù)幀接收完成時(shí)需通過(guò)計(jì)算CRC 校驗(yàn)碼,判斷接收數(shù)據(jù)幀的正確與否;設(shè)備地址為接收設(shè)備相應(yīng)的ID;功能碼為數(shù)據(jù)幀接收設(shè)備需執(zhí)行功能對(duì)應(yīng)的代碼或標(biāo)識(shí)碼;數(shù)據(jù)位有n個(gè)8 bit 的數(shù)據(jù),N的值由功能碼確定。
本設(shè)計(jì)的前級(jí)與后級(jí)之間按RTU 模式的Modbus 協(xié)議進(jìn)行數(shù)據(jù)幀的發(fā)送:(1)其中前級(jí)將來(lái)自輸入模塊的信息打包成數(shù)據(jù)幀,通過(guò)PWM調(diào)制輸出兩個(gè)不同的頻率分別代表二進(jìn)制“0”和“1”,并按高位至低位的順序發(fā)送數(shù)據(jù)幀;(2)后級(jí)通過(guò)MCU 的定時(shí)器輸入捕獲功能獲取保存數(shù)據(jù),并按照Modbus 的通信協(xié)議校驗(yàn)數(shù)據(jù);(3)前級(jí)與后級(jí)之間的收發(fā)時(shí)鐘同步采用MCU 的多定時(shí)器配置實(shí)現(xiàn)。
測(cè)試采用Modbus 協(xié)議[9-10],由前級(jí)MCU 采用200 KHz,400 KHz 的兩個(gè)不同的頻率代表“0”,“1”,控制開關(guān)模塊的快速動(dòng)作。對(duì)比測(cè)試發(fā)現(xiàn),在開關(guān)頻率提高后,儲(chǔ)能電容的儲(chǔ)能作用的有無(wú)對(duì)系統(tǒng)的工作并不明顯,但電容能濾除部分尖端及一些紋波。
圖7 高速開關(guān)時(shí)儲(chǔ)能電容效果Fig. 7 Effect of capacitor in high speed
整形模塊作為裝置后級(jí)的信號(hào)轉(zhuǎn)換電路,會(huì)產(chǎn)生一定的器件延遲。如圖8,示波器CH1 的波形為通信時(shí)儲(chǔ)能電容兩端電壓,CH2 的波形為整形模塊的輸出電壓。其中CH1 的儲(chǔ)能電容兩端波形,即供電線路上的波形。
如圖所示,圖8(a)當(dāng)開關(guān)頻率為200 KHz時(shí),上升沿延遲449 ns,下降沿延遲169. 5 ns;圖8(b)當(dāng)開關(guān)頻率為400 KHz 時(shí),上升沿延遲449. 8 ns,下降沿延遲120. 1 ns。
圖8 200 K 和400 KHz 開關(guān)頻率時(shí)器件延遲Fig. 8 Device delay in 200 K or 400 KHz on-off frequency
測(cè)試將PC 作為輸入模塊,前級(jí)MCU 接收PC 串口數(shù)據(jù),并打包成數(shù)據(jù)幀通過(guò)開關(guān)模塊發(fā)送;后級(jí)接收到數(shù)據(jù)幀,解包校驗(yàn)后還原成串口數(shù)據(jù),再通過(guò)串口上傳至PC。供電線路上的數(shù)據(jù)幀傳輸,采用Modbus 協(xié)議。
前級(jí)MCU 通過(guò)定時(shí)器功能控制開關(guān)模塊的開關(guān)動(dòng)作,后級(jí)MCU 通過(guò)IO 口的輸入捕獲功能采集整形模塊的信號(hào)。 前級(jí)MCU 將接收到的PC 串口數(shù)據(jù)計(jì)算得到CRC 校驗(yàn)碼,再將數(shù)據(jù)和CRC 碼一并以二進(jìn)制的形式從高位到低位以200 KHz 和400 KHz 的兩個(gè)不同頻率代表“0”,“1”進(jìn)行調(diào)制后用以控制開關(guān)電路的動(dòng)作;開關(guān)電路通斷產(chǎn)生的線路電平變化經(jīng)過(guò)整形電路后,送到后級(jí)MCU 接收捕獲;后級(jí)MCU 以定時(shí)器脈寬邊沿觸發(fā)中斷而獲取FSK 的信號(hào)頻率,再據(jù)此解析數(shù)據(jù)幀得到串口數(shù)據(jù),并輸出至上位機(jī)串口觀察。
PC 端發(fā)送數(shù)據(jù)內(nèi)容如圖9,其中58 和07 分別代表CRC 校驗(yàn)后的高位和低位。
圖9 發(fā)送數(shù)據(jù)測(cè)試Fig. 9 Test of data sending
設(shè)計(jì)采用定時(shí)器中斷記錄脈沖并計(jì)算對(duì)應(yīng)碼元,在0. 01 s 定時(shí)內(nèi),捕獲200 K 對(duì)應(yīng)“0”的脈沖為1 995 個(gè)附近,捕獲400 K 對(duì)應(yīng)“1”的脈沖為3 970 個(gè)附近,誤差控制在0. 01%~0. 05%,脈沖接收計(jì)數(shù)測(cè)試如圖10。
圖10 脈沖接收計(jì)數(shù)測(cè)試Fig. 10 Counting test of the receive pulse
為驗(yàn)證本直流線路通信車燈控制裝置,設(shè)計(jì)了一個(gè)如圖2 的撥桿(用按鍵代替)LED 車燈控制模型。 用按鍵作為輸入模塊發(fā)出控制指令,經(jīng)過(guò)本設(shè)計(jì)的裝置,發(fā)出可見(jiàn)光控制信號(hào),遠(yuǎn)程控制地鎖的起、落動(dòng)作(如圖11)。LED 車燈控制模型在不改變汽車前照燈的供電照明線路的前提下,實(shí)現(xiàn)了由按鍵發(fā)出的指令控制LED 車燈發(fā)出可見(jiàn)光信號(hào),控制地鎖的動(dòng)作。 同時(shí),結(jié)合作者前期對(duì)VLC 的研究,可以達(dá)到戶外強(qiáng)光下的車- 車間通信的應(yīng)用要求[11]。
圖11 VLC 車燈地鎖控制模型Fig. 11 VLC parking lock control module
本文研究并設(shè)計(jì)實(shí)現(xiàn)了一個(gè)可見(jiàn)光車燈信號(hào)發(fā)送控制方法和裝置,通過(guò)裝置的接入和使用,可以在不中斷供電的前提下,保持裝置后級(jí)的持續(xù)工作,能夠通過(guò)裝置將外部輸入信號(hào)加載在低壓直流供電線路傳輸,并根據(jù)線路傳輸信號(hào)驅(qū)動(dòng)LED 車燈發(fā)送高速可見(jiàn)光信號(hào)。本設(shè)計(jì)已經(jīng)在12 V 直流供電線路上,實(shí)現(xiàn)前后級(jí)間采用Modbus 協(xié)議的信號(hào)傳遞。
本設(shè)計(jì)對(duì)多個(gè)不同規(guī)格的電容和電感進(jìn)行測(cè)試研究,可知電容更適合該類型的高速充放電;同時(shí),電容能夠一定程度減少線路毛刺的產(chǎn)生。通過(guò)電容的測(cè)試可知,單向傳輸速率可以達(dá)到MHz 級(jí),已經(jīng)達(dá)到甚至超過(guò)IIC 和SPI 總線的速率[12]。
本研究的思路源自“ 燈語(yǔ)”,所設(shè)計(jì)的裝置模型通過(guò)車輛LED 前大燈實(shí)現(xiàn)信號(hào)的發(fā)送,本設(shè)計(jì)還可以用于車聯(lián)網(wǎng)中的LED 路燈到車輛的下行可見(jiàn)光信號(hào)的發(fā)送控制,也可以作為一個(gè)通用的即插即用模塊,用于實(shí)現(xiàn)對(duì)其他由直流供電線路直接驅(qū)動(dòng)LED 發(fā)送可見(jiàn)光信號(hào)的設(shè)計(jì)。