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