文獻標(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)高達(dá)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)