李曉劍,劉 碩
(中國電子科技集團公司第十八研究所,天津 300384)
隨著平流層無人飛行器的研究越來越深入,整個飛行器的規模也變得越來越大,艇上各個電子單機的數量越來越多,分布的位置也更加離散,在使用CAN 總線進行互相通信時,各單機之間的通信距離由于過長,導線的容抗值過大,使通信電信號產生了畸變,最終導致CAN 總線通信丟失、節點關閉等問題發生,這使得平流層無人飛行器的長距離CAN 總線通信成為難以攻克的難題之一。
國內平流層無人飛行器的通信技術主要采用CAN 總線通信、RS422 總線通信、RS485 通信等技術,與地面使用的總線通信技術無較大差別,在地面時常常使用廣州致遠電子有限公司生產的“CAN‐bridge+”中繼器工具,用以延長系統的通信距離,其主要區別在于平流層的環境工況與地面有較大不同:平流層空氣相對稀薄,環境壓力低,環境溫度變化復雜。
如表1 所示,國內某平臺能源系統總線節點數量達到了100 個,通信距離超過了600 m,常規CAN 總線為基礎的能源系統通信設計將難以滿足預期使用要求。

表1 CAN 總線節點數量比較
通常在能源系統使用典型CAN 總線波特率為125 kB/s 時,通信距離的極限長度為500 m,前提條件為使用的標準導線線徑為AWG20,但是從臨近空間飛行器輕量化的角度而言,為最大化節省能源系統質量,常使用的導線線徑為AWG26,這種介質使CAN 總線的傳輸品質大大降低。由于增加了導線的電阻值,整個總線的容抗值變大,同時由于分布式系統能源節點在飛行器上分布極不均勻,使整個總線變得更加脆弱。通常在這種惡劣條件下,整個總線的正常傳輸距離將不足250 m,一個網絡中的節點數量不得超過64 個,圖1 所示為典型能源拓撲,能源系統CAN 總線通信設計將變得極為困難。

圖1 某平臺飛艇能源系統拓撲架構圖
退一步講,如果將整個系統的設計思路改變,使用其他總線通信方式,例如串口總線通信RS422、RS485,但是RS422 總線通信為全雙工的工作模式,只能進行點對點的通信,不可組網通信,不可實現“多對多”的工作模式,這就從根本上否定了在進行大規模組網通信時使用RS422 通信的可能性;RS485總線與CAN 總線類似,都可完成系統單機之間的組網通信,但是都會在長距離通信時產生信號丟失問題,由于CAN 總線特殊的仲裁機制,使得CAN 總線通信在使用時優于RS485 總線通信。
在傳統工業控制現場總線解決方案中,面對上述通信距離過長、節點數量過多等問題時,常常使用廣州致遠電子科技有限公司開發的“CANbridge+”中繼器,使用這種通信中繼器工具可顯著延長整個系統的通信距離,將一個網絡劃分為多個子網絡,每個子網絡的通信距離和節點數量都在設計容許范圍內,這將大大改善系統的通信效果,但是由于這種中繼器的使用環境溫度不可低于-40 ℃,大氣壓力大多為常壓的工作條件,平流層無人飛行器工況與此大不相同,環境大多在-60~-70 ℃,氣壓最低可達到1.2 kPa,使用這種工具不能完成延長系統通信距離的任務,可能會導致系統中兩個子網的通信數據得不到有效轉發甚至停止轉發,最終使整個系統無法得知單機的工作狀態,導致飛行任務失敗。
本文提出一種新的基于CAN 總線的通信中繼方案,在平流層低溫低氣壓的環境狀態下,在使用CAN 總線通信時延長系統的通信距離,這種設計可以使CAN 總線通信中繼適應臨近空間惡劣的環境影響,以及平流層無人飛行器全壽命工作環境變化和吊艙內部的高溫低氣壓等極端環境,同時不影響通信系統網絡的連貫性與整體性,在最大程度上滿足平流層無人飛行器設計可靠性與雙路備份要求。
為了實現上述目的,通過對廣州致遠電子科技有限公司開發的“CANbridge+”中繼器進行原理分析,確認了通信中繼不能適應臨近空間惡劣環境的關鍵點在于元器件的選用,此種工具選用的部分元器件環境適應性較差?;诖朔N中繼器工具,整個CAN 總線通信中繼方案主要由以下幾部分組成:
(1)中央處理單元CPU,與兩組CAN 芯片進行數據交互;
(2)CAN 總線隔離芯片,對CAN 總線信號電平的進行識別,完成CAN 總線通信數據的接收與發送;
(3)嵌入式軟件模塊,完成CAN 總線數據轉發的邏輯實現,轉發數據幀數量的統計,正常數據幀與異常告警幀的判斷;
(4)CAN 總線匹配電阻,在CAN 總線的高電平與低電平之間并聯120 Ω 匹配電阻。
首先將中央處理單元CPU 和兩組CAN 隔離芯片通過PCB 印制板的形式將二者連接起來,使用CPU 完成對兩組CAN 隔離芯片的收發控制。使用隔離電源芯片將中央處理單元CPU 和CAN 隔離芯片的供電電平與信號電平做硬件隔離,防止對系統CAN 總線通信信號產生干擾。
在本設計方案中,兩組CAN 總線隔離芯片分別對應兩個CAN 總線網絡,彼此物理隔離。兩組CAN總線隔離芯片分別作為兩個網絡的一個節點,位于網絡的起點端或終點端,完成本子網通信數據的接收和發送。進一步地,在兩組CAN 總線隔離芯片的高電平引腳和低電平引腳加入120 Ω 匹配電阻,提高CAN 總線信號質量,確??偩€快速進入隱性狀態,降低反射能量。
總體應用方案如圖2 所示。在應用時,實時根據整個CAN 總線通信網絡,計算出整個網絡兩個最遠節點之間的通信距離,將整個通信中繼置于整個距離的約二分之一處,即剛好將整個CAN 總線網絡一分為二,同時由于飛行器上采用分布式設計,各個CAN 總線節點在艇上分布并不十分均勻,通信中繼也應根據兩個網絡通信節點的不同進行動態調整,盡量使兩個網絡的通信距離一致,CAN 總線節點數量大致相同。

圖2 中繼器總體應用示意圖
CAN 總線通信中繼應用實施方案如圖3 所示。如圖2 進行布置后,通信中繼的一組CAN 隔離芯片應作為艇上通信網絡的一個節點,將芯片的CAN_H、CAN_L 分別接入CAN 總線的高電平與低電平,發揮接收和轉發整個CAN 總線網絡中通信數據的作用,由于此時本節點作為本網絡的一個終端,故此時CAN 隔離芯片的CAN_H、CAN_L 兩端必須并聯120 Ω 匹配電阻,提高網絡中CAN 總線信號的抗干擾性能。同樣的,對于另一個網絡來說,此CAN隔離芯片即為整個網絡的始端,也應當加入120 Ω 匹配電阻以增強系統的抗干擾性能。

圖3 CAN通信中繼總體實施方案
整體設計方案如圖4 所示。

圖4 中繼器總體設計拓撲
中繼器設計采用MCU 加CAN 控制器的雙芯片解決方案[1]。本中繼器采用成熟的能源分系統下位機板設計,主CPU 采用的STM32 單片機設計,型號為STM32F105,以ARM Cortex-M3 為內核的32 位微處理器,主頻可高達72 MHz,內置Flash 和SRAM,其容量分別高達512 和64 kB,內部集成雙CAN 收發器,可支持CAN 協議2.0A 和2.0B,波特率最高可達1 MB/s,具有3 個發送郵箱和2 個3 級深度的FIFO,能夠以最小的CPU 負荷來高效處理大量收到的報文[2]。
中繼器硬件設計拓撲如圖5 所示。CAN 收發器型號為ISO1050,是一款帶隔離的通用CAN 收發器芯片,該芯片內部集成了所有必需的CAN 隔離及CAN 收發器件,這些都被集成在不到3 cm2的芯片上。芯片的主要功能是將CAN 控制器的邏輯電平轉換為CAN 總線的差分電平,并且具有DC 2 500 V的隔離功能。該芯片符合ISO11898 標準,因此,它可以和其他遵從ISO11898 標準的CAN 收發器產品互相通信[3-4]。

圖5 CAN 中繼器硬件設計原理拓撲圖
實踐證明采用ISO1050 芯片不僅能夠使系統真正與外界隔離,抑制干擾的加入,提高系統的可靠性,簡化了CAN 節點外圍電路的復雜度,還降低了成本,具有較高的性價比。
整個中繼器的供電形式為5 V 供電,中央處理單元CPU 采用STM32F105 型,供電制式為3.3 V 供電,兩組CAN 隔離芯片需分別使用3.3 V 供電與5 V 供電,3.3 V 為芯片供電電源,5 V 為信號電源,二者需進行隔離處理,整個中繼系統使用5 V 作為供電電源,經過轉換芯片LM1117 將電源變換為3.3 V,為中電處理單元CPU 和兩組CAN 隔離芯片供電,同時使用隔離電源芯片ADUM5000 將電源5 V 變換為信號5 V,為CAN 總線提供信號電平,這樣便可以實現通信中繼器的硬件實施。
CAN 中繼器的主要任務是在兩個網絡中進行數據的過濾和轉發,其軟件主要包括初始化模塊、數據發送模塊和接收模塊等。
CAN 初始化直接關系到CAN 收發器能否正常工作,在很多情況下,軟件不能正常工作并不是CAN的收發程序有問題,往往是初始化配置不正常造成的。STM32 的CAN 初始化主要包括復位CAN、設置CAN 報警界限、CAN 寄存器初始化、CAN 單元初始化(包括CAN 模式和波特率設置)、CAN 過濾器的初始化。經過以上設置,CAN 模塊就準備就緒進入工作模式了,工作流程如圖6 所示。

圖6 CAN中繼器初始化流程
中繼器的任務之一就是實現報文的轉發,當STM32F105 接收到新的報文時,經過數據處理模塊處理,對兩路CAN 收發器的接收緩沖區進行監視,如某一路緩沖區非空則向另一路轉發。
STM32F105 發送報文時,應用程序選擇一個空的發送郵箱;設置標識符,數據長度和待發送數據;然后對發送寄存器置1,請求發送,郵箱馬上就進入掛號狀態,并等待稱為發送,當CAN 總線進入空閑狀態,預定發送郵箱中的報文就馬上被發送。在報文發送成功后,馬上變為空置郵箱,相對應的寄存器置1,來表明1 次成功發送[5]。
在進行數據接收時,采用中斷的方式進行CAN報文的接收,即:在接收報文前,計算接收數據長度,與緩沖區剩余空間比較,判斷是否會溢出。若緩存區不會溢出,則接收該報文。接收報文后取出命令字符,若是中繼狀態查詢命令則置位請求狀態標志。若不是,則不處理只進行緩沖區參數調整,接收報文有效,然后進行CAN 接收緩沖區釋放、恢復現場和中斷返回等命令,如圖7 所示。

圖7 CAN中繼接收中斷子程序邏輯過程圖
某型號太陽能無人機能源系統是目前平流層無人機領域架構最為復雜的系統,通信距離長達237 m,節點數量多,具體包括:MPPT:33;BMS:19;DC/DC:6;PCU:2。
根據CAN 總線通信中繼的設計思想和成熟經驗,通常不單獨為中繼器設置電子單機,一般將中繼器集成于能源管理器中,在進行能源系統通信電纜網設計時,將能源管理器放置于整個通信電纜網的中間位置,盡量使能源管理器兩邊的通信距離相等,節點數量相差不大,按照這一思想,整個系統的架構如圖8 所示。

圖8 某型號太陽能無人機能源系統拓撲框圖
全系統共60 個節點,使用能源管理器中CAN 中繼器將系統劃分為兩個子網絡,左子網絡節點共30個,右子網絡節點共30 個,將全局節點均分到兩個子網絡中。
通信距離上來看,左子網絡的通信距離為95 m,右子網絡的通信距離為142 m,將兩個網絡的通信距離控制在200 m 以內,從原理上來看,達到了CAN 通信中繼的預期效果。
某型號太陽能無人機能源系統前期測試的結果如圖9 所示。整個總線的負載率在11%~12%,系統總線錯誤幀不再出現、系統節點無關閉現象,達到了通信中繼的預期目的。

圖9 某型號太陽能無人機能源系統CAN中繼器驗證
在整個系統測試過程中,CAN 總線未發生通信中斷、通信錯誤、節點數據丟失等問題,CAN 總線中繼器基本滿足了能源系統的使用要求。
某型號飛艇能源分系統是目前平流層無人飛行器領域最大最復雜的能源系統。
如圖10 所示,由于整個系統過于復雜,選擇在系統中適當位置加入多個中繼器。

圖10 某型號飛艇能源系統拓撲框圖
全系統共100 個節點,使用CAN 通信中繼器1內置于匯流盒中,將艇頂所有設備劃分為子網絡1,在艇底,根據通信距離的原因,將通信中繼內置于節點DC/DC33 內部,整個艇底劃分為兩個子網,進一步的,在能源管理器內部,加入中繼器3,將整個艇頂與艇底能源系統的節點分隔開,即將整個能源系統劃分為4 個子網絡,每個網絡中的節點數量和通信距離如表2 所示。

表2 某型號飛艇能源分系統節點
使用能源管理器中CAN 中繼器將系統劃分為4個子網絡,每個網絡的節點數量和通信距離均在通信可靠度容許范圍內。
某型號飛艇能源分系統前期測試的結果如圖11所示。
由于采用了多個中繼器,整個總線的負載率在6%~7%,加入3 組通信中繼使整個系統不再出現節點關閉現象,大大增強了整個系統的可靠性。
在平流層無人飛行器能源系統中,當系統單機節點數量特別多且通訊距離特別長時,需在系統中加入多個CAN 總線通信中繼以確保總線穩定性,尤其需要按照通訊長度平均劃分和內部節點設備個數平均劃分,最終達到這兩個條件的最優解,即子網數量=中繼器數量+1,因為一個CAN 總線中繼器將整個系統網絡劃分為兩個,兩個中繼劃分為三個,以此類推。如圖12 所示,在整個通信網絡中加入多個中繼器。利用多個CAN 總線通信中繼系統完成通訊接收轉發功能,將整個能源系統網絡劃分為多個通信子網絡,每個通訊子網絡的起始端和終點端都應加入120 Ω 匹配電阻。

圖12 多個CAN總線通信中繼應用實施方案
一般在系統中應用多個CAN 總線通信中繼時,不可無限制的在系統中增加CAN 總線通信中繼,如果系統節點數量與通信距離均不是特別長時,加入CAN 總線中繼反而會減少系統的可靠性,在加入CAN 中繼器時,需從整體出發,從以下幾個因素綜合考慮系統可靠性與健壯性,如表3 所示。

表3 CAN 總線通信中繼影響表
隨著平流層無人飛行器技術的不斷發展,CAN總線技術已經應用得越來越普遍。本文提出的CAN總線通信中繼技術能夠有效地延長系統的通信距離,同時以犧牲最小質量的代價,顯著提高了系統的可靠性能,并對兩組應用CAN 總線通信技術的兩個產品型號進行深入介紹,最后給出了應用多個CAN總線中繼時,影響選取的條件和因素,從實際應用角度表明CAN 總線通信中繼的應用可行性。