基于STM32的激光通信系統設計
0 引言
激光通信在衛星通信,水下通信,無(wú)人機通信等領(lǐng)域都有廣泛應用。激光通信作為一種光通信方式,與無(wú)線(xiàn)電通信相比,具有保密性強,通信容量大,重量輕,功耗和體積小,成本低等特點(diǎn)[1]。激光通信由于其系統較為復雜的原因,在民用領(lǐng)域還不夠普及。
紅外通信是一種光通信方式,廣泛應用于民用領(lǐng)域,但其傳輸距離通常較短,文獻[2] 設計了一種數字模擬混合紅外通信系統,其通信距離僅有1.2M,實(shí)用型較差。文獻[3]設計了一種近場(chǎng)無(wú)線(xiàn)激光通信系統,但其系統組成復雜,生產(chǎn)成本較高,不適合民用領(lǐng)域量產(chǎn)。文獻[4]設計了基于脈沖撥號的抗抖動(dòng)激光通信系統,但其發(fā)送時(shí)間過(guò)長(cháng),通信速率較低。
為解決上述問(wèn)題,本文設計了一種基于STM32 的激光通信系統,該系統由激光發(fā)射模塊、激光接收模塊和F407 主控模塊組成,采用雙音多頻調制方式進(jìn)行信號調制。系統可以通過(guò)上位機經(jīng)由串口進(jìn)行控制,實(shí)現數據的收發(fā),為低成本民用激光通信提供了解決方案。
1 激光通信系統總體設計
激光通信系統共分為軟件層和硬件層,軟件層由C語(yǔ)言編寫(xiě),微控制器為軟件層的運行載體,硬件層總體設計如圖1 所示。
圖1 激光通信系統硬件結構圖
硬件層由激光發(fā)射模塊、激光接收模塊和主控模塊組成。激光發(fā)射模塊包括激光二極管(LD)、激光準直系統和高精度LD 驅動(dòng)電流源,激光接收模塊包括光電二極管(PD)和激光接收前端電路。激光發(fā)射模塊和激光接收模塊分別通過(guò)D/A 通道和A/D 通道與單片機相連接。激光通信系統和上位機通過(guò)串口相連接,通過(guò)串口A(yíng)T 指令對激光通信系統進(jìn)行控制和數據的收發(fā)。
激光通信系統A、B 兩個(gè)終端在進(jìn)行通信時(shí),只需將A 和B 終端的傳光通路聯(lián)通即可,可通過(guò)光纖進(jìn)行聯(lián)通,也可直接在空間中進(jìn)行傳輸。
2 激光通信系統系統硬件設計
激光通信系統的硬件部分包括主控及其外圍電路,電源模塊,激光發(fā)射電路和激光接收前端電路。
2.1 主控及其外圍電路設計
激光通信系統主控采用意法半導體公司的STM32F407VET6處理器,該微控制器具有豐富的模擬外設和高性能的Cortex-M4 內核,同時(shí)具有FPU 單元,有效提升浮點(diǎn)運算速度,為快速傅里葉變換提供了性能支持。主控采用RC 復位電路,預留SWD 接口進(jìn)行調試。主控與上位機通過(guò)串口進(jìn)行數據傳輸,由于PC 機無(wú)TTL 串口,通過(guò)CH340 芯片進(jìn)行USB 和TTL 串口的轉換。主控及其外圍電路如圖2所示。
圖2 主控及其外圍電路設計
2.2 電源模塊設計
系統需要3.3 V、5 V 雙電源和1.235 V 三種規格的電源,其中,5 V 雙電源用于模擬部分的供電,包括激光發(fā)射模塊和激光接收模塊。3.3 V 電源用于數字電路的供電。1.235 V 電源為L(cháng)D 驅動(dòng)高精度電流源提供電壓基準。系統的電源樹(shù)有三個(gè)分支:系統總電源通過(guò)USB 5 V電源輸入,分別接入TPS65133 雙5 V 電源,MT2492斬波降壓3.3 V 電源,LM385 高精度1.235 V電壓基準。
MT2492是西安航天民芯的一款斬波降壓控制器芯片,具有最高96% 的效率。電源模塊原理圖如圖3 所示,輸出電壓滿(mǎn)足公式輸出電壓需設定為3.3V,故將電阻配置為:RHS=67.5 kΩ, RLS=15 kΩ。
圖3 MT2492電源
LM385 為凌特公司的高精度電壓基準芯片,輸出電壓為1.235 V,具有1% 的電壓精度,低達60 μV(RMS)的噪聲。根據芯片數據手冊中對其工作電流的要求,配置限流電阻R0=2 kΩ。
2.3 激光發(fā)射電路設計
激光發(fā)射電路由LD 驅動(dòng)高精度電流源和激光二極管組成,該電流源為激光二極管提供了穩定的靜態(tài)工作電流。由于激光二極管的發(fā)光強度和電流近似為正比關(guān)系,所以對電流進(jìn)行調制即可實(shí)現激光二極管發(fā)光強度的調制。其原理圖如圖4 所示。
圖4 LD驅動(dòng)高精度電流源
該電流源的主要器件為調整管Q1,電流采樣電阻R2和運算放大器U1.1。調整管Q1工作在恒流區,可等效為1 個(gè)壓控電流源,用于調整激光二極管上通過(guò)的電流。電阻R2對流過(guò)激光二極管的電流進(jìn)行采樣,將其轉換成電壓信號。運算放大器U1.1 用于建立負反饋環(huán)路,實(shí)現電流的負反饋。根據運算放大器的虛短虛斷關(guān)系,最終流過(guò)LD 的電流可通過(guò)下式計算:ILD=VIN+/R2。電壓基準芯片 U4 提供 1.235 V 的參考電壓,R6和R4對基準電壓進(jìn)行分壓,接入運算放大器的同相輸入端,通過(guò)調整R4的值即可調整ILD ,從而調整激光二極管的靜態(tài)工作點(diǎn)。
運算放大器U1.2 連接成電壓跟隨器,單片機ADC信號通過(guò)電壓跟隨器后,經(jīng)過(guò)耦合電容疊加在節點(diǎn)電壓VIN+上,實(shí)現流過(guò)激光二極管電流ILD 的調制,從而實(shí)現激光二極管發(fā)光強度的調制。
2.4 激光接收電路設計
激光接收電路由I/V 轉換電路,前置可變增益放大電路,ADC 前端抗混疊濾波器組成,其原理圖如圖5所示。
圖5 激光接收電路
I/V 轉換電路將PD 輸出的電流信號轉換為電壓信號,方便后續進(jìn)行處理,其跨阻由電阻R6 的阻值決定。由于光電二極管存在結電容,其高頻特性會(huì )受到影響,在使用時(shí)需加偏壓,減小結電容的影響。本電路中的偏壓通過(guò)穩壓管D1 實(shí)現,D1 的穩壓值即為光電二極管上所加偏壓。
完成光電二極管的I/V 轉換后,將得到的電壓送入前置可調增益放大器,對電壓進(jìn)行二次放大,該級的增益可通過(guò)電位器R8 進(jìn)行調節。放大后的信號通過(guò)抗混疊濾波器送入單片機ADC 引腳進(jìn)行采集。
為防止信號在A(yíng)DC 采集過(guò)程中發(fā)生頻譜混疊,需對輸入信號進(jìn)行濾波。二階低通抗混疊濾波器元器件參數通過(guò)TI Filter Design Tool 進(jìn)行設計,其截止頻率為1 MHz。
3 激光通信系統系統軟件設計
激光通信系統的軟件部分包括初始化程序,上位機通信程序,數據調制發(fā)送程序, A/D 轉換信號解調程序。
初始化程序對單片機系統時(shí)鐘樹(shù)及各個(gè)外設進(jìn)行初始化,包括串口的初始化,ADC 的初始化,DAC 的初始化,DMA 的初始化,定時(shí)器的初始化等。
3.1 上位機通信程序設計
上位機通信程序用于實(shí)現上位機和單片機之間的通信。上位機對系統的控制主要通過(guò)串口A(yíng)T 指令實(shí)現,串口的通信協(xié)議設計如表1。
表1 串口A(yíng)T指令協(xié)議設計
開(kāi)啟傳輸后,激光通信系統進(jìn)入串口透傳模式,通過(guò)串口直接發(fā)送數據。
串口A(yíng)T 指令的執行通過(guò)有限狀態(tài)機結構實(shí)現,程序運行分為有限個(gè)狀態(tài),AT 指令作為狀態(tài)轉換條件觸發(fā)不同狀態(tài)之間的轉換。
當程序開(kāi)啟傳輸后,將串口接收到的上位機數據傳輸至數據緩沖區,同時(shí)在數據結構體中將標志位置1,在數據調制發(fā)送程序中進(jìn)行處理和發(fā)送。同時(shí),以程序查詢(xún)的方式檢測接收數據緩沖區是否更新,如果更新,將接收到的數據直接通過(guò)串口發(fā)送至上位機。
3.2 數據調制發(fā)送程序設計
數據調制發(fā)送程序主要由調制和發(fā)送兩部分組成。調制程序通過(guò)雙音多頻調制方法將串口傳輸到緩沖區的數據進(jìn)行處理,產(chǎn)生調制波。發(fā)送程序在產(chǎn)生完1 個(gè)字節數據的調制波后通過(guò)DAC 輸出,疊加到激光發(fā)射電路上的調制端,對發(fā)射的激光強度進(jìn)行調制。
多音雙頻調制信號由高群和低群組成,高低群各包含4 個(gè)頻率。1 個(gè)高頻信號和1 個(gè)低頻信號疊加組成1個(gè)組合信號,共16 種組合,表示四位二進(jìn)制數據。在高群和低群中各加入1 個(gè)單頻信號作為起始信號和結束信號。傳輸時(shí)將1 個(gè)字節數據分為高半字和低半字,先后進(jìn)行傳輸。各群頻率分配和幀格式如圖6 所示。
圖6 雙音多頻采用的頻率組合及通信幀結構
每字節信號開(kāi)始傳輸后,會(huì )產(chǎn)生1 個(gè)起始單頻信號,然后先后產(chǎn)生兩個(gè)包含半字節數據的多頻信號,最后產(chǎn)生1 個(gè)終止單頻信號,該字節數據傳輸完成。傳輸的時(shí)序由定時(shí)器控制,定時(shí)器每產(chǎn)生1 次中斷為1 個(gè)單位時(shí)間,起始信號,半字節數據信號,終止信號各占1 個(gè)單位時(shí)間,傳輸1 字節數據共用4 個(gè)單位時(shí)間。
3.3 A/D轉換信號解調程序設計
A/D 轉換信號解調程序主要由A/D 轉換程序和信號解調程序組成。A/D 轉換程序將前端信號通過(guò)ADC 進(jìn)行采集,生成離散序列。信號解調程序將采集到的時(shí)間序列進(jìn)行處理,還原出數據。
A/D 轉換程序由定時(shí)器進(jìn)行驅動(dòng),將ADC 設置為定時(shí)器觸發(fā),將定時(shí)器周期設置為0.5 μs,實(shí)現ADC固定采樣頻率采樣,待轉換完成后,會(huì )產(chǎn)生事件觸發(fā)DMA 傳輸,讀出采集到的電壓序列到數據緩沖區中。
解調程序將采集到的電壓序列分塊后,使用ST 官方DSP 庫進(jìn)行快速傅里葉變換(FFT),得到當前數據塊中的頻譜序列,檢測到起始信號后,按照時(shí)序將緩沖區的時(shí)間序列分塊進(jìn)行FFT 運算。對得到的頻譜序列進(jìn)行檢測,得到雙頻信號的頻率,按照圖6 轉換成數據,檢測到結束信號后,將數據送入串口發(fā)送數據緩沖區中,上位機通信程序啟動(dòng)串口將數據傳輸到上位機,實(shí)現數據的解調和上傳。
4 激光通信系統測試
為測試激光通信系統的有效性和實(shí)用性,在實(shí)驗室環(huán)境下搭建激光通信系統實(shí)驗裝置并進(jìn)行通信測試。在距離激光通信系統25 m 處使用平面鏡將激光束反射回系統的接收端,對激光通信系統進(jìn)行環(huán)回通信測試。搭建的激光通信系統實(shí)驗平臺如圖7 所示。
圖7 激光通信系統實(shí)驗裝置
在調整好激光二極管靜態(tài)電流和前置放大器增益后,進(jìn)行數據傳輸測試,發(fā)送數據內容為7 個(gè)字符,共56 個(gè)bit,發(fā)送間隔為30 ms,波特率為1 866 bit/s。數據傳輸結果如圖8 所示。
經(jīng)測試,該系統通信距離可達50 m,通信波特率可達1 800 bit/s 以上,具有較強的通信穩定性。
圖8 環(huán)回通信實(shí)驗結果
5 結束語(yǔ)
為解決現有的民用光通信系統制造成本高,通信距離短,通信速率慢的問(wèn)題,設計了基于STM32 的激光通信系統,該激光通信系統采用雙音多頻調制方式,通過(guò)上位機串口控制實(shí)現數據的收發(fā)。實(shí)驗結果表明,該系統具有較長(cháng)的通信距離,較高的通信速率,為低成本民用激光通信提供了解決方案,在民用激光通信領(lǐng)域的應用前景廣闊。
參考文獻:
[1] 劉潤芃,佟首峰,張鵬,等.水下可見(jiàn)光通信技術(shù)研究[J/OL].光通信研究2023:1-6.
[2] 胡旭光,陶坎,鄧彬偉.模擬數字混合紅外信道通信裝置的設計[J].電子產(chǎn)品世界,2015,22(12):27-29+36.
[3] 王琛,馬擁華,王茗,等.一種近場(chǎng)無(wú)線(xiàn)激光通信系統[J].光通信技術(shù),2022,46(4):51-55.
[4] 林晨嵐,陳香宇,宋欣然,等.基于脈沖撥號的抗抖動(dòng)激光通信系統設計[J].吉林大學(xué)學(xué)報(信息科學(xué)版),2022,40(1):125-131.
[5] 王勉,郭永剛,趙高院.基于STM32實(shí)現雙音多頻信號(DTMF)的檢測與識別[J].電子測試,2012,257(9):80-85.
[6] 范迪,王侃侃,高潔,等.數字信號處理中DTMF信號檢測案例設計及教學(xué)應用[J].中國多媒體與網(wǎng)絡(luò )教學(xué)學(xué)報(上旬刊),2022(5):61-64.
[7] 王俊,譚榮華.基于嵌入式技術(shù)的超低功耗紅外光通信系統設計[J].激光雜志,2020,41(3):177-181.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2023年7月期)
評論