文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.183047
中文引用格式: 侯超,,鄭悅,姚惟琳,,等. 基于FPGA小型化數(shù)傳中繼天線驅(qū)動控制設(shè)計[J].電子技術(shù)應(yīng)用,,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.
0 引言
自“天鏈一號”中繼衛(wèi)星成功發(fā)射后,,可為對地觀測實時轉(zhuǎn)發(fā)遙測,、遙感數(shù)據(jù),極大提高了各類衛(wèi)星的使用效益和應(yīng)急能力,。之后的眾多衛(wèi)星都開始增加數(shù)傳中繼終端設(shè)備以通過中繼衛(wèi)星實現(xiàn)數(shù)據(jù)實時下傳,。數(shù)傳中繼天線作為衛(wèi)星有效載荷終端,在伺服控制下驅(qū)動二維天線機構(gòu)在一定角度范圍內(nèi)繞衛(wèi)星X,、Y軸轉(zhuǎn)動,,完成對目標(biāo)的捕獲跟蹤,。
由于整星對中繼天線在指向精度、速度穩(wěn)定度,、可靠性以及壽命等方面的要求,,中繼天線機構(gòu)驅(qū)動控制器一般為特殊定制產(chǎn)品[1],其功能,、性能的表現(xiàn)直接影響到整星任務(wù)執(zhí)行,。隨著整星任務(wù)多元化及運載能力限制,,衛(wèi)星所承載荷的種類,、數(shù)量致使有效終端的重量尺寸成為考核機構(gòu)驅(qū)動控制器設(shè)計的又一指標(biāo)。
目前在軌中繼天線機構(gòu)驅(qū)動控制器多采用“MCU+FPGA”的控制架構(gòu),,MCU負(fù)責(zé)通信和控制參數(shù)的分配,,F(xiàn)PGA負(fù)責(zé)信號采集和電機驅(qū)動?;诤教炱靼踩煽啃钥紤],,針對此架構(gòu),要單獨為MCU設(shè)計看門狗電路以防止程序跑飛,,另外,,MCU航天多采用80C32單片機,受其運算速度,、可用接口數(shù)量,、數(shù)據(jù)總線寬度、順序執(zhí)行以及內(nèi)部無ROM存儲空間的種種約束,,致使該驅(qū)動控制器硬件設(shè)計繁瑣拖沓,,而且7.2萬門的反熔絲FPGA資源利用率又不超過50%,資源利用不充分,。本文研究的目的是使用單片7.2萬門反熔絲FPGA實現(xiàn)串口指令控制二維數(shù)傳中繼天線步進電機的細(xì)分驅(qū)動,,并且在功能、性能,、安全可靠性上完全覆蓋并優(yōu)于傳統(tǒng)設(shè)計,。
1 系統(tǒng)架構(gòu)
如圖1所示,硬件系統(tǒng)采用一片F(xiàn)PGA作為核心控制器件,,AD7828用于電機A/B繞組電流采集,、主備控制線路各兩片LMD18200芯片用于X/Y維步進電機驅(qū)動、4片AD2S80芯片用于兩維旋轉(zhuǎn)變壓器角度信號解碼,,由FPGA實現(xiàn)串口通信,。
考慮到航天型號可靠性要求,F(xiàn)PGA選用7.2萬門Actel公司具有抗單粒子翻轉(zhuǎn)的反熔絲器件A54SX72A-CQ208B,,步進電機選用雙繞組兩相/四拍步進電機,,主備兩套驅(qū)動線路互為熱備份,,當(dāng)一路驅(qū)動線路故障時可以通過遙控指令使FPGA切換至另一路驅(qū)動線路。為防止雙繞組電機在主繞組工作時,,電機備繞組與備份驅(qū)動線路存在電流回路形成感應(yīng)電流,,導(dǎo)致電機轉(zhuǎn)動時產(chǎn)生抖動,所以FPGA在使用主份驅(qū)動線路時,,及時向備驅(qū)動線路的LMD18200輸出剎車信號,。
在中繼執(zhí)行對接任務(wù)時,要求二維天線的角位置分辨率為0.005 5°,,所以選擇雙通道旋轉(zhuǎn)變壓器加專用RDC芯片解碼電路進行角度位置高精度轉(zhuǎn)換[2],。在本文中對每軸機構(gòu)雙通道旋變輸出的正余弦信號分別采用2片AD2S80芯片進行粗、精通道RDC轉(zhuǎn)換,,F(xiàn)PGA采集并進行粗,、精通道數(shù)據(jù)組合糾錯后最終獲得當(dāng)前機構(gòu)角度位置。
2 FPGA設(shè)計結(jié)構(gòu)
FPGA由電平采集電路,、旋變數(shù)據(jù)處理電路,、電機驅(qū)動電路、異步串口通信電路,、AD轉(zhuǎn)換控制電路組成,,見圖2。其中串口通信功能作為整個FPGA控制流程的發(fā)起,,電機驅(qū)動則作為功能流程的最終實現(xiàn),。
采集模塊實現(xiàn)兩路電平遙控信號的采集和數(shù)字濾波,其結(jié)果輸出給串口通信控制模塊,,由該模塊收集并參與控制,。
旋變數(shù)據(jù)采集模塊主要實現(xiàn)二維機構(gòu)雙通道旋變數(shù)據(jù)的采集和耦合,由串口通信模塊發(fā)起角度采集請求,,本模塊實現(xiàn)角度采集,。
電流數(shù)據(jù)采集模塊實現(xiàn)X/Y軸步進電機A/B相繞組電流的采集,通過FPGA控制切換采集通道并發(fā)起AD轉(zhuǎn)換,,并根據(jù)AD時序獲得當(dāng)前繞組電流數(shù)據(jù),,由串口通信模塊發(fā)起采集請求和收集采集電流數(shù)據(jù)。
電機電流采集實現(xiàn)兩臺步進電機主備各8路繞組電流的AD轉(zhuǎn)換和采集,,由串口通信模塊發(fā)起電流采集請求,,本模塊實現(xiàn)AD轉(zhuǎn)換和采集控制。
串口通信控制模塊主要實現(xiàn)解串/串行器,,服務(wù)層拆/組幀及校驗,,應(yīng)用層數(shù)據(jù)判別/填充、采集模塊數(shù)據(jù)調(diào)度等功能。將指令中的速度擋與采集模塊收集的信息(位置,、主備繞組切換,、使能開關(guān)等信號)進行比較,最終獲得電機的執(zhí)行速度號,,輸出給電機驅(qū)動模塊,。
步進電機驅(qū)動模塊輸入為電機驅(qū)動的速度擋(含指令要求電機轉(zhuǎn)動方向),F(xiàn)PGA按照256細(xì)分正弦PWM斬波方式驅(qū)動兩相/四拍步進電機轉(zhuǎn)動,。
本文重點介紹旋變數(shù)據(jù)處理,、串口通信控制處理以及電機驅(qū)動功能的實現(xiàn),采集濾波功能,、AD轉(zhuǎn)換采集較為成熟,,這里不作介紹。
2.1 旋變數(shù)據(jù)處理
中繼天線兩維機構(gòu)均采用雙通道多級旋轉(zhuǎn)變壓器,,粗,、精機極對數(shù)比為1:N,。粗通道執(zhí)行0~360°的粗測量,,精通道則執(zhí)行0°~(360°/N)范圍內(nèi)的精測量,雙通道輸出數(shù)據(jù)實際上是將粗通道角度數(shù)據(jù)與精通道角度數(shù)據(jù)進行拼接獲得[3],。
粗通道AD2S80選取數(shù)據(jù)位數(shù)n是按照極對數(shù)N來確定的,,一般參照式(1)選擇:
通過這種方法選取的高n位粗通道數(shù)據(jù)比精通道AD2S80轉(zhuǎn)換輸出的數(shù)據(jù)權(quán)值高,在n之后的粗通道數(shù)據(jù)與精通道數(shù)據(jù)權(quán)值相同,。精通道AD2S80選取位數(shù)一般是和分辨率要求有關(guān),。
在粗、精組合中,,由于粗,、精機械軸之間齒輪間隙產(chǎn)生的傳動誤差、兩個旋轉(zhuǎn)變壓器安裝不同心等工藝因素,、電氣零位誤差以及RDC轉(zhuǎn)換誤差,,使得粗、精在直接組合時存在模糊區(qū)間,,該模糊區(qū)間發(fā)生在選取的粗通道讀數(shù)存在多“1”或少“1”的情況[2],,所以在直接輸出雙通道數(shù)據(jù)之前先要通過精通道來校準(zhǔn)粗通道。糾錯時,,將精通道高兩位jData與粗通道權(quán)值相同的兩位cData進行比較,,比較結(jié)果用于修改粗通道中權(quán)值比精通道權(quán)值高的數(shù)據(jù),對其進行加“1”,、減“1”或無操作[4],。代碼實現(xiàn)方法見圖4。
將糾錯后的粗通道數(shù)據(jù)與精通道數(shù)據(jù)進行拼接輸出即為雙通道旋轉(zhuǎn)變壓器轉(zhuǎn)換后的角度位置數(shù)據(jù),此角度位置數(shù)據(jù)為當(dāng)前機構(gòu)的絕對角位置,。
在實際使用中,,二維機構(gòu)安裝會引起機械零位和電氣零位偏差,即機構(gòu)處于零位時,,通過旋變輸出的電氣角度不為零,,此時需要FPGA對獲得的絕對角度位置進行零位偏差修正,從而獲得當(dāng)前機構(gòu)的相對角度位置,,輸出給串口通信控制模塊,,用于當(dāng)前指令狀態(tài)參數(shù)反饋以及對電機是否過界的判斷。
2.2 FPGA異步串口通信功能
串口通信控制模塊實現(xiàn)兩部分功能:一是實現(xiàn)異步串口指令接收和發(fā)送,,二是向電機控制模塊輸出電機控制參數(shù),。
FPGA實現(xiàn)串口接收狀態(tài)機,實時采樣串口接收總線rxd,,當(dāng)接收到起始位(低電平有效)時,,對起始位電平寬度計數(shù),當(dāng)滿足波特率要求時,,則認(rèn)為起始位正確,。狀態(tài)機跳轉(zhuǎn)到接收數(shù)據(jù)狀態(tài),對每一位均進行寬度校準(zhǔn),,在符合波特率定時條件下,,對每一位數(shù)據(jù)進行三次采樣,進行三取二獲得當(dāng)前采樣真實數(shù)據(jù),,并按照字節(jié)排序進行移位獲得字節(jié)數(shù)據(jù),。對采樣位數(shù)計數(shù),當(dāng)滿足協(xié)議要求的一次串行傳輸數(shù)據(jù)位數(shù)要求時,,狀態(tài)機則跳轉(zhuǎn)到接收校驗位狀態(tài),。相同于數(shù)據(jù)區(qū)采樣,對校驗位也進行三次采樣二次求同獲得校驗位數(shù)據(jù),,并在下一時鐘將數(shù)據(jù)位與接收到的校驗位進行比對,,獲得校驗正確標(biāo)志,此時狀態(tài)機跳轉(zhuǎn)到接收停止位狀態(tài),。對停止位寬進行判斷,,獲得停止位正確標(biāo)志,狀態(tài)機設(shè)置為IDLE,。當(dāng)停止位正確標(biāo)志有效且校驗正確標(biāo)志有效時,,此時才能將一次串行傳輸數(shù)據(jù)存放到FPGA內(nèi)部的字節(jié)接收緩沖區(qū)。圖5為綜合后字節(jié)接收狀態(tài)機,。按照通信協(xié)議要求,,對接收的字節(jié)按照幀格式拆幀、判斷合法性后方可獲得當(dāng)前串口指令數(shù)據(jù),執(zhí)行指令內(nèi)容,,并按照要求反饋狀態(tài)信息,。
通過對串口指令的解析,獲得指令要求的電機速度號,,F(xiàn)PGA內(nèi)部實現(xiàn)一個113擋速度號對應(yīng)的電機細(xì)分定時寄存器,、占空比、轉(zhuǎn)向信號和停轉(zhuǎn)標(biāo)志的表,,將查找結(jié)果輸出給電機驅(qū)動模塊,。這里的細(xì)分定時寄存器的值為對應(yīng)速度下步進電機運行一個脈沖周期(4步)進行256細(xì)分,每一個細(xì)分Δt的FPGA晶振周期計數(shù)值,。
例如FPGA晶振為24 MHz,,電機速度為100°/s下的細(xì)分定時寄存器n的計算方法:步進電機為兩相四拍電機,步距角為1.8°,,則電機速度為100 °/s時的一個脈沖周期為1.8°×4/100=0.072 s,,則一個脈沖周期需要FPGA晶振計數(shù)為N=0.072/FPGA晶振周期=1 728 000,那么一個細(xì)分Δt對應(yīng)的細(xì)分定時寄存器的值n=N/細(xì)分?jǐn)?shù)=1 728 000/256=6 750,。
2.3 電機驅(qū)動功能
電機驅(qū)動采用LMD18200-2D芯片,,內(nèi)部包含2個獨立背對背的H橋電路,可用于一臺兩相四拍步進電機A/B相繞組的驅(qū)動使用,。LMD18200芯片提供雙極性驅(qū)動方式和單極性驅(qū)動方式,,相較于雙極性的功率損耗大,、電流波動大以及在設(shè)計時必須添加死區(qū)防止開關(guān)管直通的問題,,本設(shè)計采用單極性驅(qū)動方式:FPGA輸出的極性信號決定電機AB繞組的換向(電機轉(zhuǎn)向),極性信號的周期決定電機轉(zhuǎn)動的速度,,輸出PWM信號的占空比決定電機的力矩,。為保證天線機構(gòu)穩(wěn)定驅(qū)動,F(xiàn)PGA采用256細(xì)分正弦PWM斬波輸出方式,。
根據(jù)串口通信模塊輸出的電機驅(qū)動控制參數(shù),,即細(xì)分定時寄存器、占空比,、轉(zhuǎn)向信號以及停轉(zhuǎn)標(biāo)志,,在電機驅(qū)動模塊中實現(xiàn):在每個細(xì)分時間Δt(細(xì)分定時寄存器的值)內(nèi),對應(yīng)細(xì)分點的面積與該細(xì)分時間內(nèi)多個PWM脈沖導(dǎo)通面積之和一致即為實現(xiàn)方式,。
具體為:FPGA內(nèi)部維護兩張256×8 bit的正/余弦細(xì)分表,,具體數(shù)值為正/余弦量化值。FPGA根據(jù)24 MHz晶振分頻獲得24 kHz的非對稱三角波信號,,通過在每個細(xì)分定時寄存器的計數(shù)范圍內(nèi),,與具體細(xì)分點量化值(通過占空比調(diào)制)進行比較,當(dāng)調(diào)制值大于三角波對應(yīng)時刻的計數(shù)值時,則輸出PWM斬波為導(dǎo)通,,否則關(guān)斷,。圖6為輸出PWM斬波示意圖。圖7為仿真實現(xiàn)波形,。
3 試驗結(jié)果
本設(shè)計采用Actel公司反熔絲FPGA,,工作頻率為24 MHz,開發(fā)環(huán)境為LiberoIDE,,仿真軟件為Modelsim,。整個設(shè)計邏輯資源使用為79.90%,實現(xiàn)最高頻率為39.607 MHz,。布局布線后,,將配置文件固化到目標(biāo)器件中,并連接二維數(shù)傳天線進行驅(qū)動指向控制測試,,控制系統(tǒng)功能,、性能指標(biāo)均滿足要求。圖8為實測FPGA輸出電機驅(qū)動信號,。通道1為A相極性信號,,通道2為A相PWM斬波信號,通道3為B相極性信號,,通道4為B相PWM斬波信號,。經(jīng)過LMD18200功率放大后,輸出到電機繞組上,,電機逆時針轉(zhuǎn),。
4 結(jié)論
本設(shè)計將串行器/解串器、通信協(xié)議處理,、AD轉(zhuǎn)換控制電路,、旋變采集電路以及步進電機斬波控制電路集成到FPGA內(nèi)部,具備二維天線各113擋速度驅(qū)動,,對步進電機實現(xiàn)高達256微步的細(xì)分,,提高天線運行平穩(wěn)度,指向精度優(yōu)于1.2′,。使用的反熔絲FPGA芯片,,一經(jīng)固化,上電復(fù)位后直接運行,,不需要對其進行看門狗監(jiān)控以及設(shè)置軟件陷阱,,同時可抗空間單粒子效應(yīng),本設(shè)計已在某空間飛行器伺服控制系統(tǒng)中得到應(yīng)用,,目前在軌工作正常,。另一方面,,使用單片F(xiàn)PGA取代傳統(tǒng)“MCU+FPGA”機構(gòu),最大化利用FPGA器件資源,,提高產(chǎn)品集成度,,減少單機體積,使驅(qū)動控制電路簡化約50%,,有利于航天器產(chǎn)品小型化設(shè)計,。
參考文獻
[1] 崔赪,王典軍.跟蹤與數(shù)據(jù)中繼衛(wèi)星星間鏈路天線驅(qū)動機構(gòu)計數(shù)綜述[J].空間控制技術(shù)與應(yīng)用,,2010,,36(5):32-37.
[2] 徐大林,廖良闖,,高文政,,等.雙通道多極旋轉(zhuǎn)變壓器—數(shù)字轉(zhuǎn)換器的設(shè)計與實現(xiàn)[J].微特電機,2010(1):27-29.
[3] 鄭立,,盧剛,,李聲晉.基于AD2S80的雙路RDC測角系統(tǒng)及接口設(shè)計[J].微特電機,2009(8):12-14.
[4] 劉超,,侯超,,葛悅,等.基于AD2S80A和FPGA的雙通道旋轉(zhuǎn)變壓器測角系統(tǒng)設(shè)計[C].2016年航天元器件專題論壇論文集,,2016:340-344.
作者信息:
侯 超,,鄭 悅,姚惟琳,,王 濤
(上海宇航系統(tǒng)工程研究所 上海市空間飛行器機構(gòu)重點實驗室,,上海201108)