劉博 李小磊 夏天泉 李欣欣
(上海航天電子技術研究所,上海, 201109)
隨著航天任務復雜度和需求度提升,對航天器上電源系統的要求也越來越高[1]。作為整個航天器電源系統管理的控制核心,電源控制器(Power Control Unit,PCU)根據 需要對 星上能量輸出進行相應調節、傳輸和變換,以保證星上各儀器能夠正常工作[2]。
目前,星上的電源系統控制方式多使用8051的CPU(中央處理器)系統,以及一系列的鎖存器、譯碼器等中小規模集成電路構成[3-4],此類架構外圍電路較為復雜,且對不同類型的接口兼容性不強。另外也有使用單個反熔絲FPGA(可編程陣列邏輯)來完成電源系統的遙測遙控功能[5-6],此類方式能減少器件的種類、簡化電路設計,但由于其做浮點運算的能力較弱,會消耗大量資源,因此在對蓄電池的自主管理方面會有所欠缺。
鑒于此,本文提出了一種適用于新型星載電源智能管理的設計方案,能夠實現電路的小型化,完成更復雜的數據傳輸與管理;同時適應多種接口和控制方式,有良好的通用性和可擴展性,可以穩定地對電源系統進行自主監控和管理。
電源管理方案的基本思路是:首先通過遙測采集模塊周期性采集電源分系統的工作參數,并在控制處理模塊的控制下將其轉化為數字量;響應星載主機周期性的輪詢命令,由1553通信模塊將存儲的遙測參數送至星上總線網絡;CPU將多輪采集的遙測參數進行運算處理,并與預設或星載主機上注的控制門限值相比較,自主發送不同類型控制指令調節當前能源管理的狀態,防止蓄電池過充過放,以提高蓄電池的充電效率,延長蓄電池壽命[7]。同時,增加了在系統編程的功能,可以根據不同蓄電池的K系數及控制策略變更進行實時的軟件修改,可有效縮減研制周期,增強設備的兼容性。
圖1給出了電源管理方案的原理框圖,由圖可知電源管理方案由二次電源變換、遙測采集模塊、A/D轉換、控制處理模塊、1553B接口電路、指令輸出接口、片選輸出、422接口等電路組成。考慮到空間應用的不可維修性,采用了雙機冷備份的設計。

圖1 電源管理方案原理框圖
數據采集的主要功能是在CPU的控制下,時序采集電源分系統的狀態參數,并將采集的電壓量轉換為數字量,由控制模塊讀取,存入數據存儲器。數據采集功能主要分為2部分,一部分為多選一的模擬通道,另一部分為AD轉換電路。數據采集功能框圖如圖2所示。

圖2 數據采集功能框圖
模擬通道電路主要由16選1的模擬門芯片構成,采用2級選通的方式實現多選一功能,該功能保證了AD轉換器在每一個采集時刻只采集一路信號,避免多路信號之間相互干擾的問題。
AD轉換電路由運算放大器OP77和AD轉換芯片AD574組成。在使用中,將OP77設置為射極跟隨器電路,以保證對輸入信號的高阻抗隔離及A/D轉換所要求的低輸入阻抗。AD574是AD公司生產的一種快速逐次比較型12位AD轉換器,轉換速度最大為35μs,轉換精度不大于0.05%,能夠滿足對蓄電池閾值門限控制的精度要求。
指令發送功能是由CPU經過判斷或計算后,依據發送通路,將對應的指令數據寫入FPGA中,FPGA根據數據所寫入的地址和指令內容來實施具體指令的發送。指令控制方式分為3類:①OC指令:FPGA輸出脈沖選通電平控制驅動芯片發送OC指令,使用了具有16路指令驅動芯片BM2711;②片選指令:FPGA輸出電平選通信號通過電平轉換芯片發送片選指令,電平轉換芯片使用了CC40109,能夠將5V電平轉換為適合電源系統充電曲線切換的電平后輸出;③串口指令:FPGA通過串口芯片輸出三線制時鐘、門控、數據進行同步串口指令的發送。
電源管理設備的控制處理核心為8051系列CPU系統和FPGA控制芯片,CPU系統包括CPU、PROM和SRAM芯片,PROM用于存放CPU處理軟件,SRAM用于存放遙測數據和控制參數,SRAM與FPGA相連后作為同步422接口的遙測數據緩存,FPGA完成系統的邏輯控制及輸入輸出信號的收發控制。CPU與FPGA之間以及控制處理模塊與外部各芯片的接口關系如圖3所示。

圖3 控制處理模塊接口關系
CPU作為主控芯片完成1553B總線通信、遙測組幀、指令包解析、電源系統各參數的處理,FPGA作為從芯片,配合CPU完成地址端口的映射、地址的邏輯譯碼、模擬量的采集與緩存、各類指令發送、對外的同步或異步串口通信以及看門狗功能等。
在物理層,FPGA與CPU數據交換通過八位并行總線實現。FPGA內部主要由CPU通信模塊完成與CPU的通信控制。CPU通信模塊根據CPU的讀寫信號和ALE信號,按照時序與CPU進行通信,通過CPU給出的地址進行地址譯碼,實現外部各芯片的選通和讀寫控制。根據接收到的不同指令請求內容分發指令碼至相應功能模塊。與緩存管理模塊交互,完成計算參數、遙測數據的緩存和轉發。
為了便于系統和整星測試時的軟件更改,設計了在系統編程功能。在系統編程的實現是通過增加一個RS232芯片,將CPU的TXD、RXD引出,同時將標準RS232串口中的DTR信號送FPGA芯片,采用在系統編程軟件實現用戶應用軟件的燒錄。由于FPGA設計中設計了看門狗控制功能,軟件加載時,首先會禁止看門狗輸出,此時CPU將自動識別到ISP端口,進行程序加載,整個加載過程CPU處于不工作模式,不會輸出任何數據。
充電保護控制目的:CPU通過自主調節蓄電池組充電限壓曲線,保證蓄電池組所有單體電壓不大于單體電壓上限保護值,避免蓄電池單體過充。當需要進行充電保護控制流程時,星務軟件會通過1553B總線發送一條“蓄電池單體保護充電控制使能”指令,CPU接收并解析該條指令后,便可在充電過程中對蓄電池單體進行自主控制,控制的周期為2s。在充電過程中,FPGA周期性地通過串口從均衡器接收蓄電池的各電壓值,同時從AD處采集放電電流、蓄電池組電壓等模擬量,CPU根據FPGA收集到的遙測電壓數據判斷,當滿足任意一組蓄電池組的充電電流I<4A且持續28s,充電開始,CPU進入充電控制流程:先篩選出單體電壓在3.5V~4.5V范圍的電池單體,并連續檢測蓄電池單體電壓變化情況;當檢測到單體電壓達到單體電壓上限保護值時,CPU控制FPGA發送充電限壓曲線切換指令,輸出片選信號切換蓄電池組充電限壓曲線至低一檔的位置,實現對蓄電池單體的保護,同時更新健康字,記錄當前電池單體保護充電自主控制狀態。單體電壓的上限保護值可通過參數注入進行修改,以適應電池不同模式的使用方式。
目前星上越來越多地使用了鋰離子電池組,其由多節單體鋰離子電池所組成,為了提高鋰離子蓄電池單體之間的均衡性,使單體電壓偏差保持在預期范圍內[4],應提供對鋰離子蓄電池單體均衡管理的功能,這里以7節單體組成的電池組為例。
FPGA從串口接收均衡器采集的當前蓄電池組所有單體電壓、從外部采集 “太陽電池陣電流” “平臺太陽電池陣電流1” “平臺太陽電池陣電流2”衛星光照陰影狀態信號,并存儲在數據緩存芯片中;星務軟件發指令將均衡控制使能狀態切換至“均衡控制使能允許”。隨后CPU對單體電壓進行處理:CPU在7個當前蓄電池單體電壓中剔除超出范圍的值,然后將未剔除的電壓值取平均值,每個電壓與平均值比較,將與平均值誤差≥0.2V的單體電壓剔出;求取未剔除單體電壓中最小單體電壓Umin。
CPU需預先判斷蓄電池各單體的均衡狀態,若均為“0”,則退出此次均衡判斷,若至少有一單體均衡狀態為“1”,則進行以下操作:①FPGA通過串口發送給均衡器均衡關指令;②CPU置平臺蓄電池組A單體1~7均衡狀態遙測為“0”;③CPU將均衡時間、均衡計時位置零。
若均衡功能狀態為“1”時,CPU判斷衛星光照陰影狀態。如果陰影狀態,CPU繼續判斷均衡時間是否大于2h,如果大于2h,則進行以下操作:①FPGA通過串口發送給均衡器均衡關指令;②CPU置平臺蓄電池組A單體1~7均衡狀態遙測為“0”;③CPU將均衡時間、均衡計時位置零;退出本次均衡判斷。
如果均衡時間≤2h,以2個均衡控制運行周期內是否滿足以下2個條件中的任意一個為均衡接通判斷條件:①在2個均衡控制運行周期內滿足Ui-Umin≥U平臺均衡(均衡閾值可以通過1553B總線注數修改,初始值為80mV,Ui為同一單體);②在2個均衡控制運行周期內滿足Ui≥U單體設定(Ui為同一單體)。
若該單體滿足均衡接通條件,則進行以下操作:①FPGA通過串口發送該單體均衡開指令至均衡器;②CPU將該單體均衡遙測狀態位置1,均衡計時位置1;③CPU進行均衡時間累加判斷操作。
如果該單體不滿足均衡接通條件,則對下一單體進行均衡接通判斷,對所有在正常電壓范圍內的單體判斷完成后,進行操作均衡時間累加判斷。對均衡計時位判斷,如果為“1”則均衡時間累加,退出本次均衡控制程序;如果均衡計時位為“0”,直接退出本次均衡控制程序。
根據本文設計的電源管理構架,在原先單CPU的基礎上增加了FPGA作為CPU的擴展,可以方便地通過硬件描述語言(HDL)實現組合邏輯與時序邏輯,IO接口豐富,可大大提高產品的集成度。CPU通過對相應地址、數據的操作,控制FPGA進行功能實現。
在Modelsim中對FPGA功能進行仿真,如圖4~圖7所示。

圖4 指令選通發送仿真波形

圖7 均衡器遙測接收功能仿真
圖4中,CPU向地址“0x2001” (OC指令發送地址)寫入對應的通道號,FPGA判斷解析后,將對應的指令驅動芯片輸入管腳置高。圖4中寫入的通道號為“0x00”,則驅動芯片第一路的行、列選通置高,且持續80ms后再次置低。
圖5中,CPU向地址“0x2002” (均衡器指令發送地址)寫入對應的通道號,FPGA進行判斷解析,jh_cmd_en為均衡器指令發送使能,啟動后同時輸出對應的4kbps時鐘,門控和指令數據。仿真實例中CPU寫入的指令碼為“0x01”,其對應輸出的A組均衡器指令數據為“0x8003”,實現了均衡指令發送功能。

圖5 均衡器指令發送功能仿真波形
圖6中,CPU向地址“0x2003” (電平選通指令地址)寫入對應的通道號,FPGA進行判斷解析,輸出對應選通電平。仿真實例中CPU寫入的指令碼為“0x06”,其對應輸出的A組充電電流3檔指令數據為“011”,共3組輸出,實現了電平選通功能。

圖6 電平選通功能仿真波形
圖7仿 真 實 例 中,CPU向 地 址 “0x2000”(均衡器遙測請求地址)寫入對應的數據“0xaa”,隨后FPGA會產生均衡器遙測請求標識(yc_req_jh),FPGA輸出 門控 和4kbps的時鐘 送往均衡器,并按位接收均衡器傳來的遙測數據。FPGA對2臺均衡器的遙測數據時序接收,以保證數據的完整性。
為滿足星載電源系統內資源不斷增多和控制流程日益復雜化、多樣化的需求,降低研制周期,減少產品的器件種類,本文提出了一種星載電源系統管理的設計方案,該方案基于CPU+FPGA的系統架構,進一步提高了設計的通用性和可移植性,具有集成度高、研制周期短、通用性強、可擴展、易于維護等優點,實現了對星載電源系統的自主控制,降低了對外部系統的依賴,可滿足電源系統內不同蓄電池的管理需求,確保了對星載蓄電池有效、靈活的管理與保護。