《電子技術應用》
您所在的位置:胜负彩有什么规律 > 可編程邏輯 > 設計應用 > 基于FPGA小型化數傳中繼天線驅動控制設計
基于FPGA小型化數傳中繼天線驅動控制設計
2019年電子技術應用第5期
侯 超,鄭 悅,姚惟琳,王 濤
上海宇航系統工程研究所 上海市空間飛行器機構重點實驗室,上海201108
摘要: 為滿足航天器小型化設計需求,采用單片反熔絲FPGA作為中繼天線驅動控制主控芯片。為達到天線指向機構的高精度要求,采用雙通道旋轉變壓器配合AD2S80解碼獲得位置數據。為提高機構速度穩定度,采用步進電機256細分正弦斬波驅動方式。實現集通信、位置電流采集、故障報錯機制及步進電機驅動功能于一體,單機重量從5~6 kg降到2.5 kg,指向精度提高到0.005 5。實驗結果表明基于單片FPGA的數傳中繼天線驅動控制能有效提高單機集成度和運動過程平穩度,對于衛星綜合性能的提高具有重要意義與應用價值。
中圖分類號: TP272
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.183047
中文引用格式: 侯超,鄭悅,姚惟琳,等. 基于FPGA小型化數傳中繼天線驅動控制設計[J].電子技術應用,2019,45(5):81-84,88.
英文引用格式: Hou Chao,Zheng Yue,Yao Weilin,et al. Design of drive control for digital transmission relay antenna based on FPGA miniaturization[J]. Application of Electronic Technique,2019,45(5):81-84,88.
Design of drive control for digital transmission relay antenna based on FPGA miniaturization
Hou Chao,Zheng Yue,Yao Weilin,Wang Tao
Shanghai Key Laboratory of Spacecraft Mechanism,Shanghai 201108,China
Abstract: In order to meet the requirements of spacecraft miniaturization design, a single chip anti-fuse FPGA is used as main control chip for driving relay antenna. In order to meet the high precision requirements of antenna pointing, dual-channel rotary transformer with AD2S80 decoding is used to obtain position information data. In order to improve the speed stability of the mechanism, the stepper motor 256 subdivision sinusoidal PWM drive mode is adopted. Communication, position, current acquisition, fault error mechanism and stepper motor drive function are set in one, drive machine weight is reduced from 5~6 kg to 2.5 kg, and pointing accuracy increases to 5.5 degrees per thousand. The experimental results show that the drive control of digital relay antenna based on single chip FPGA can effectively improve the integration of machine and the smoothness of motion process, and also has great significance and application value to the improvement of satellite comprehensive performance.
Key words : relay antenna;dual-channel rotary transformers;subdivision drives;FPGA

0 引言

    自“天鏈一號”中繼衛星成功發射后,可為對地觀測實時轉發遙測、遙感數據,極大提高了各類衛星的使用效益和應急能力。之后的眾多衛星都開始增加數傳中繼終端設備以通過中繼衛星實現數據實時下傳。數傳中繼天線作為衛星有效載荷終端,在伺服控制下驅動二維天線機構在一定角度范圍內繞衛星X、Y軸轉動,完成對目標的捕獲跟蹤。

    由于整星對中繼天線在指向精度、速度穩定度、可靠性以及壽命等方面的要求,中繼天線機構驅動控制器一般為特殊定制產品[1],其功能、性能的表現直接影響到整星任務執行。隨著整星任務多元化及運載能力限制,衛星所承載荷的種類、數量致使有效終端的重量尺寸成為考核機構驅動控制器設計的又一指標。

    目前在軌中繼天線機構驅動控制器多采用“MCU+FPGA”的控制架構,MCU負責通信和控制參數的分配,FPGA負責信號采集和電機驅動?;諍教炱靼踩煽啃鑰悸?,針對此架構,要單獨為MCU設計看門狗電路以防止程序跑飛,另外,MCU航天多采用80C32單片機,受其運算速度、可用接口數量、數據總線寬度、順序執行以及內部無ROM存儲空間的種種約束,致使該驅動控制器硬件設計繁瑣拖沓,而且7.2萬門的反熔絲FPGA資源利用率又不超過50%,資源利用不充分。本文研究的目的是使用單片7.2萬門反熔絲FPGA實現串口指令控制二維數傳中繼天線步進電機的細分驅動,并且在功能、性能、安全可靠性上完全覆蓋并優于傳統設計。

1 系統架構

    如圖1所示,硬件系統采用一片FPGA作為核心控制器件,AD7828用于電機A/B繞組電流采集、主備控制線路各兩片LMD18200芯片用于X/Y維步進電機驅動、4片AD2S80芯片用于兩維旋轉變壓器角度信號解碼,由FPGA實現串口通信。

qrs1-t1.gif

    考慮到航天型號可靠性要求,FPGA選用7.2萬門Actel公司具有抗單粒子翻轉的反熔絲器件A54SX72A-CQ208B,步進電機選用雙繞組兩相/四拍步進電機,主備兩套驅動線路互為熱備份,當一路驅動線路故障時可以通過??刂噶釷笷PGA切換至另一路驅動線路。為防止雙繞組電機在主繞組工作時,電機備繞組與備份驅動線路存在電流回路形成感應電流,導致電機轉動時產生抖動,所以FPGA在使用主份驅動線路時,及時向備驅動線路的LMD18200輸出剎車信號。

    在中繼執行對接任務時,要求二維天線的角位置分辨率為0.005 5°,所以選擇雙通道旋轉變壓器加專用RDC芯片解碼電路進行角度位置高精度轉換[2]。在本文中對每軸機構雙通道旋變輸出的正余弦信號分別采用2片AD2S80芯片進行粗、精通道RDC轉換,FPGA采集并進行粗、精通道數據組合糾錯后最終獲得當前機構角度位置。

2 FPGA設計結構

    FPGA由電平采集電路、旋變數據處理電路、電機驅動電路、異步串口通信電路、AD轉換控制電路組成,見圖2。其中串口通信功能作為整個FPGA控制流程的發起,電機驅動則作為功能流程的最終實現。

qrs1-t2.gif

    采集??槭迪至鉸返縉揭?匭藕諾牟杉褪致瞬?,其結果輸出給串口通信控制???,由該??槭占⒉斡肟刂?。

    旋變數據采集??櫓饕迪侄顧ǖ佬涫蕕牟杉婉詈?,由串口通信??櫸⑵鸞嵌炔杉肭?,本??槭迪紙嵌炔杉?。

    電流數據采集??槭迪諼/Y軸步進電機A/B相繞組電流的采集,通過FPGA控制切換采集通道并發起AD轉換,并根據AD時序獲得當前繞組電流數據,由串口通信??櫸⑵鴆杉肭蠛褪占杉緦魘?。

    電機電流采集實現兩臺步進電機主備各8路繞組電流的AD轉換和采集,由串口通信??櫸⑵鸕緦韃杉肭?,本??槭迪諥D轉換和采集控制。

    串口通信控制??櫓饕迪紙獯?串行器,服務層拆/組幀及校驗,應用層數據判別/填充、采集??槭蕕鞫鵲裙δ?。將指令中的速度擋與采集??槭占男畔ⅲㄎ恢?、主備繞組切換、使能開關等信號)進行比較,最終獲得電機的執行速度號,輸出給電機驅動???。

    步進電機驅動??槭淙胛緇乃俁鵲玻ê噶鉅蟮緇較潁?,FPGA按照256細分正弦PWM斬波方式驅動兩相/四拍步進電機轉動。

    本文重點介紹旋變數據處理、串口通信控制處理以及電機驅動功能的實現,采集濾波功能、AD轉換采集較為成熟,這里不作介紹。

2.1 旋變數據處理

qrs1-2.1-x1.gif

qrs1-2.1-x2.gif

qrs1-t3.gif

    中繼天線兩維機構均采用雙通道多級旋轉變壓器,粗、精機極對數比為1:N。粗通道執行0~360°的粗測量,精通道則執行0°~(360°/N)范圍內的精測量,雙通道輸出數據實際上是將粗通道角度數據與精通道角度數據進行拼接獲得[3]。

    粗通道AD2S80選取數據位數n是按照極對數N來確定的,一般參照式(1)選擇:

    qrs1-gs1.gif

    通過這種方法選取的高n位粗通道數據比精通道AD2S80轉換輸出的數據權值高,在n之后的粗通道數據與精通道數據權值相同。精通道AD2S80選取位數一般是和分辨率要求有關。

    在粗、精組合中,由于粗、精機械軸之間齒輪間隙產生的傳動誤差、兩個旋轉變壓器安裝不同心等工藝因素、電氣零位誤差以及RDC轉換誤差,使得粗、精在直接組合時存在模糊區間,該模糊區間發生在選取的粗通道讀數存在多“1”或少“1”的情況[2],所以在直接輸出雙通道數據之前先要通過精通道來校準粗通道。糾錯時,將精通道高兩位jData與粗通道權值相同的兩位cData進行比較,比較結果用于修改粗通道中權值比精通道權值高的數據,對其進行加“1”、減“1”或無操作[4]。代碼實現方法見圖4。

qrs1-t4.gif

    將糾錯后的粗通道數據與精通道數據進行拼接輸出即為雙通道旋轉變壓器轉換后的角度位置數據,此角度位置數據為當前機構的絕對角位置。

    在實際使用中,二維機構安裝會引起機械零位和電氣零位偏差,即機構處于零位時,通過旋變輸出的電氣角度不為零,此時需要FPGA對獲得的絕對角度位置進行零位偏差修正,從而獲得當前機構的相對角度位置,輸出給串口通信控制???,用于當前指令狀態參數反饋以及對電機是否過界的判斷。

2.2 FPGA異步串口通信功能

    串口通信控制??槭迪至講糠止δ埽閡皇鞘迪忠觳醬謚噶罱郵蘸頭⑺?,二是向電機控制??槭涑齙緇刂撇問?。

    FPGA實現串口接收狀態機,實時采樣串口接收總線rxd,當接收到起始位(低電平有效)時,對起始位電平寬度計數,當滿足波特率要求時,則認為起始位正確。狀態機跳轉到接收數據狀態,對每一位均進行寬度校準,在符合波特率定時條件下,對每一位數據進行三次采樣,進行三取二獲得當前采樣真實數據,并按照字節排序進行移位獲得字節數據。對采樣位數計數,當滿足協議要求的一次串行傳輸數據位數要求時,狀態機則跳轉到接收校驗位狀態。相同于數據區采樣,對校驗位也進行三次采樣二次求同獲得校驗位數據,并在下一時鐘將數據位與接收到的校驗位進行比對,獲得校驗正確標志,此時狀態機跳轉到接收停止位狀態。對停止位寬進行判斷,獲得停止位正確標志,狀態機設置為IDLE。當停止位正確標志有效且校驗正確標志有效時,此時才能將一次串行傳輸數據存放到FPGA內部的字節接收緩沖區。圖5為綜合后字節接收狀態機。按照通信協議要求,對接收的字節按照幀格式拆幀、判斷合法性后方可獲得當前串口指令數據,執行指令內容,并按照要求反饋狀態信息。

qrs1-t5.gif

    通過對串口指令的解析,獲得指令要求的電機速度號,FPGA內部實現一個113擋速度號對應的電機細分定時寄存器、占空比、轉向信號和停轉標志的表,將查找結果輸出給電機驅動???。這里的細分定時寄存器的值為對應速度下步進電機運行一個脈沖周期(4步)進行256細分,每一個細分Δt的FPGA晶振周期計數值。

    例如FPGA晶振為24 MHz,電機速度為100°/s下的細分定時寄存器n的計算方法:步進電機為兩相四拍電機,步距角為1.8°,則電機速度為100 °/s時的一個脈沖周期為1.8°×4/100=0.072 s,則一個脈沖周期需要FPGA晶振計數為N=0.072/FPGA晶振周期=1 728 000,那么一個細分Δt對應的細分定時寄存器的值n=N/細分數=1 728 000/256=6 750。

2.3 電機驅動功能

    電機驅動采用LMD18200-2D芯片,內部包含2個獨立背對背的H橋電路,可用于一臺兩相四拍步進電機A/B相繞組的驅動使用。LMD18200芯片提供雙極性驅動方式和單極性驅動方式,相較于雙極性的功率損耗大、電流波動大以及在設計時必須添加死區防止開關管直通的問題,本設計采用單極性驅動方式:FPGA輸出的極性信號決定電機AB繞組的換向(電機轉向),極性信號的周期決定電機轉動的速度,輸出PWM信號的占空比決定電機的力矩。為保證天線機構穩定驅動,FPGA采用256細分正弦PWM斬波輸出方式。

    根據串口通信??槭涑齙牡緇刂撇問?,即細分定時寄存器、占空比、轉向信號以及停轉標志,在電機驅動??櫓惺迪鄭涸諉扛魷阜質奔洇(細分定時寄存器的值)內,對應細分點的面積與該細分時間內多個PWM脈沖導通面積之和一致即為實現方式。

    具體為:FPGA內部維護兩張256×8 bit的正/余弦細分表,具體數值為正/余弦量化值。FPGA根據24 MHz晶振分頻獲得24 kHz的非對稱三角波信號,通過在每個細分定時寄存器的計數范圍內,與具體細分點量化值(通過占空比調制)進行比較,當調制值大于三角波對應時刻的計數值時,則輸出PWM斬波為導通,否則關斷。圖6為輸出PWM斬波示意圖。圖7為仿真實現波形。

qrs1-t6.gif

qrs1-t7.gif

3 試驗結果

    本設計采用Actel公司反熔絲FPGA,工作頻率為24 MHz,開發環境為LiberoIDE,仿真軟件為Modelsim。整個設計邏輯資源使用為79.90%,實現最高頻率為39.607 MHz。布局布線后,將配置文件固化到目標器件中,并連接二維數傳天線進行驅動指向控制測試,控制系統功能、性能指標均滿足要求。圖8為實測FPGA輸出電機驅動信號。通道1為A相極性信號,通道2為A相PWM斬波信號,通道3為B相極性信號,通道4為B相PWM斬波信號。經過LMD18200功率放大后,輸出到電機繞組上,電機逆時針轉。

qrs1-t8.gif

4 結論

    本設計將串行器/解串器、通信協議處理、AD轉換控制電路、旋變采集電路以及步進電機斬波控制電路集成到FPGA內部,具備二維天線各113擋速度驅動,對步進電機實現高達256微步的細分,提高天線運行平穩度,指向精度優于1.2′。使用的反熔絲FPGA芯片,一經固化,上電復位后直接運行,不需要對其進行看門狗監控以及設置軟件陷阱,同時可抗空間單粒子效應,本設計已在某空間飛行器伺服控制系統中得到應用,目前在軌工作正常。另一方面,使用單片FPGA取代傳統“MCU+FPGA”機構,最大化利用FPGA器件資源,提高產品集成度,減少單機體積,使驅動控制電路簡化約50%,有利于航天器產品小型化設計。

參考文獻

[1] 崔赪,王典軍.跟蹤與數據中繼衛星星間鏈路天線驅動機構計數綜述[J].空間控制技術與應用,2010,36(5):32-37.

[2] 徐大林,廖良闖,高文政,等.雙通道多極旋轉變壓器—數字轉換器的設計與實現[J].微特電機,2010(1):27-29.

[3] 鄭立,盧剛,李聲晉.基于AD2S80的雙路RDC測角系統及接口設計[J].微特電機,2009(8):12-14.

[4] 劉超,侯超,葛悅,等.基于AD2S80A和FPGA的雙通道旋轉變壓器測角系統設計[C].2016年航天元器件專題論壇論文集,2016:340-344.




作者信息:

侯  超,鄭  悅,姚惟琳,王  濤

(上海宇航系統工程研究所 上海市空間飛行器機構重點實驗室,上海201108)