張 成,聶 飛,王 遠,印 姍
(中國工程物理研究院 總體工程研究所,綿陽 621999)
大型的試驗系統(tǒng)對連接線數(shù)量有著嚴格的限定,小數(shù)據(jù)量的信號傳輸若使用專用的通信線纜,不僅會造成連線資源的緊張,還會增加系統(tǒng)的連線復雜度。在此類特殊場合中,傳統(tǒng)的通信協(xié)議難以滿足系統(tǒng)設計的要求,基于電源線載波的單線通訊成為一種可行的解決方案[1-5]。
針對以上需求,本文設計了一種基于FPGA的通信系統(tǒng),通過MOSFET對電源進行調制,通過光電耦合器對調制信號進行解調,在20 m距離內實現(xiàn)了波特率可達10 kb/s的通信傳輸。該系統(tǒng)具有硬件結構簡單,通信距離遠,通信速率快等優(yōu)點,目前已成功應用于某飛行器的飛行試驗數(shù)據(jù)采集平臺。
該方案的總體設計如圖1所示,系統(tǒng)由發(fā)送單元和接收單元構成。
圖1 總體設計框圖Fig.1 Overall design block diagram
發(fā)送單元主要由電源模塊、FPGA、調制模塊構成,通過FPGA控制調制模塊實現(xiàn)對電源信號的調制;接收單元主要由電源模塊、FPGA和解調器組成,通過解調器和FPGA實現(xiàn)電源信號的解調;二者僅通過電源線和地線相連。
當進行通信時,發(fā)送模塊首先將數(shù)字信號調制到電源信號中,生成載波電源信號后再發(fā)往信號接收單元。接收單元解調載波電源信號從而得到電源信號和數(shù)字信號,最終實現(xiàn)供電和通信。二者通過異步串行通信方式進行信號的發(fā)送與接收。
信號發(fā)送單元的硬件設計如圖2所示。該方案主要由 FPGA、N-MOSFET(M1)、P-MOSFET(M2)、12 V電源以及R1和R2(阻值為4∶1)構成的分壓電路組成。將12 V電源作為供電電源;將M2作為電源的通斷開關;將FPGA作為M1的G極控制端。
圖2 信號發(fā)送單元組成Fig.2 Block diagram of signal sending unit
當FPGA發(fā)送低電平時,M1關閉,此時 M2關閉,發(fā)送單元輸出的電壓為0 V;當發(fā)送高電平時,M1導通,此時M2上的G極電壓為9.6V,S極為12 V,M2導通,電源調制電源輸出的電壓為12 V。
綜上所述,F(xiàn)PGA輸出的控制信號為低時,發(fā)送單元輸出的電壓為0 V;為高時,輸出的電壓為12 V。因此,只要M1和M2的開啟/關閉時間能夠小于FPGA控制信號的上升/下降時間,發(fā)送單元就可以輸出頻率和占空比均與FPGA控制信號完全相同的電源信號,即將通信信號調制到電源信號中,產生載波電源信號。而在信號接收單元將載波信號進行解調,就能夠完成信號的發(fā)送和接收。
信號接收單元的硬件設計如圖3所示。該單元主要由電源轉換模塊、儲能電容、解調電路和FPGA構成。電源轉換模塊轉換12 V電源滿足接收單元的供電需求;儲能電容則保證發(fā)送單元在發(fā)送低電平時接收單元能夠正常工作;限流二極管隔離儲能電容和解調電路之間電氣連接,防止儲能電容供電時干擾解調電路工作;解調電路主要由光電耦合器實現(xiàn),完成通信信號與電源信號的分離;FPGA則完成信號的識別與接收。
圖3 信號接收單元組成Fig.3 Block diagram of signal receiving unit
載波電源信號進入到接收單元后被分為2路,一路通過儲能電容進入電源轉換模塊完成電平轉換,另一路通過限流電路進入光電耦合器,完成電平轉換后進入FPGA,二者之間通過限流二極管進行隔離。當電源信號為高(12 V)時,儲能電容充電,F(xiàn)PGA 接收信號“1”;當信號為低(0 V)時,儲能電容放電保證整個電路正常工作,由于限流二極管的隔離,光耦輸入為0 V,F(xiàn)PGA接收信號“0”。
綜上,當光電耦合器的上升/下降時間小于通信信號的上升/下降時間時,接收單元的FPGA就能夠準確接收到來自發(fā)送單元的通信信號,通過設定的邏輯對信號進行解析從而完成信號的接收。
此外,載波電源信號中零電平的持續(xù)時間不能過長,否則一旦鉭電容中存儲的能量耗盡,信號分離單元就會被迫關機。
信號發(fā)送單元與接收單元之間采用異步串行通信模式,通信頻率設為10 kHz。在發(fā)送單元,異步串行通信信號的調制過程如圖4所示。
圖4 異步串行信號的生成格式Fig.4 Generation format of asynchronous serial signals
當發(fā)送單元發(fā)送異步串行通信信號時,先發(fā)起始信號表征發(fā)送開始,其后發(fā)送標志位‘0’,16位數(shù)據(jù)(MSB格式),標志位‘0’。為了防止待發(fā)送的信號中連續(xù)出現(xiàn)過多的‘0’,導致接收單元斷電關機,F(xiàn)PGA每發(fā)送完16位數(shù)據(jù)信號后,會再發(fā)送16位的數(shù)據(jù)信號“FFFF”給接收單元“充電”。當所有的數(shù)據(jù)信號發(fā)送完畢,發(fā)送停止位,信號傳輸結束。
在信號接收單元,光耦分離出的調制信號的解調流程如圖5所示。系統(tǒng)首先將輸入的數(shù)字信號引入同步器中,實現(xiàn)串行信號與接收時鐘信號同步,再采用另一個頻率為接收時鐘4倍的時鐘信號對同步信號進行連續(xù)采樣,校驗串行信號的起始位,防止FPGA誤將干擾信號當作起始信號。當起始信號確認無誤后,系統(tǒng)將按照發(fā)送單元的格式接收數(shù)據(jù)信號完成信號的接收。
圖5 信號的解調流程Fig.5 Signal demodulation flow chart
按照所述的方案分別實現(xiàn)信號發(fā)送單元和接收單元,搭建電源線載波實驗平臺以驗證該方案的正確性。本次試驗中,信號發(fā)送單元與接收單元之間采用20 m長的2芯同軸電纜連接,10 kHz的通信頻率,共發(fā)送10個16位數(shù)據(jù)信號到信號接收單元。在試驗過程中,使用數(shù)字示波器同時捕捉電源調制單元的FPGA發(fā)出的通信信號、P-MOSFET發(fā)出的載波電源信號以及光電耦合器轉換后輸出的數(shù)字信號。
測試獲取波形的顯示界面如圖6所示,其中,波形a為FPGA發(fā)出的通信信號、b為P溝道MOS管發(fā)出的載波電源信號、c為光電耦合器轉換后輸出的數(shù)字信號。
圖6 試驗獲取的信號波形Fig.6 Waveform of the signal obtained
針對利用電源線進行信號傳輸?shù)奶厥庖?,設計了一種基于電源線載波的單線通訊系統(tǒng)。該系統(tǒng)以FPGA,MOSFET和高速光耦為核心器件,不采用專用電力載波芯片完成電源線通信。試驗結果表明,該系統(tǒng)的可實現(xiàn)性強,成本低,信號傳輸距離遠,電路供電穩(wěn)定可靠,滿足了設計需求。
[1]劉恒光,姜秀杰,熊蔚明,等.基于直流電源的電力線載波通信耦合電路設計[J].電子設計工程,2016,24(14):186-189.
[2]Bertuol S,et al.Numerical assessment of propagation channel characteristics for future application of power line communication in aircraft[C]//10th Int Symp on EMC,2011:506-511.
[3]Dégardin V,et al.Theoretical approach to the feasibility of powerline communication in aircrafts[J].IEEE Trans VT,2013,62(3):1362-1366.
[4]趙益攀.基于電源線載波的防火排煙閥智能執(zhí)行器研究 [D].杭州:浙江大學,2016.
[5]孫康嶺,楊兆偉.基于電源線載波的有纜管道機器人通信系統(tǒng)[J].制造業(yè)自動化,2012,34(6):97-99.