孟 娟,林希佳
(中國航天科工集團伺服技術研究所,南京 210006)
高動態電動伺服機構1553B總線通信的設計與實現
孟 娟,林希佳
(中國航天科工集團伺服技術研究所,南京 210006)
目前1553B總線通信在航空航天領域應用廣泛,電動伺服機構作為導彈控制系統的重要組成部分,大量采用1553B進行總線通信。高動態要求下電動伺服機構控制優先級一般高于1553B通信處理的優先級,主要介紹基于BU-61581S6總線接口協議芯片RT端軟件接收數據的時序處理方法,保證高動態條件下提高1553B的通信速率和可靠性以及電動伺服機構的高動態響應。
1553B;高速率;高可靠性;接收數據; 時序設置
電動伺服機構是導彈控制系統中必不可少的組成部分。近年來,電動伺服因在生產制造以及使用維護等方面的優勢在航天產品上的應用越來越普遍,且伴隨著技術進步,電動伺服向大功率、高動態場合拓展[1]。控制軟件作為電動伺服機構的“大腦”,除了要完成快速、高精度的閉環控制,還要與硬件電路共同實現與飛控計算機間的雙向1553B數據通信[2]。
1553B總線方案具有可靠性高、實時性好、開放性和容錯性強等優點,選用1553B數據總線作電動伺服機構與彈上及地面綜合測試系統的聯網手段,能夠有效地簡化系統結構,提高系統可靠性和工作效率,從而提升系統的整體性能。所有符合1553B協議的芯片都遵守指令/響應型通信協議,有3種工作模式:總線控制器(BC)、總線監視器(BM)和遠程終端(RT)[3-5]。
本文以DSPTMS320F2812芯片[6]、BU-61581S6接口芯片[7]為例,介紹電動伺服機構1553B總線通信接收數據的時序設置方法。1553B中斷選用外部中斷XINT1,電動伺服機構閉環控制中斷選用CPU定時器TIMER0,對于2812芯片而言外部中斷XINT1優先級高于定時器TIMER0。由于電動伺服機構本身要實現高動態,要求軟件控制周期在微秒級,在控制過程中需要優先考慮電動伺服機構的閉環控制功能。程序初始化完成后進入循環等待中斷,為避免1553B通信長時間占用XINT1中斷而影響電動伺服機構的閉環控制功能,在進入1553B中斷進行標志位置位后立刻退出中斷,等待周期定時器處理完成后,在循環等待中查詢標志位進行通信協議的處理[8-9]。軟件中斷處理流程如圖1所示。

圖1 軟件中斷處理流程圖Fig.1 Interrupt processing flow chart
2.1 RT模式下BU-61581S6芯片處理消息方式
1553B協議芯片BU-61581S6需要寫入數據時首先更新堆棧指針,然后進行數據寫入操作,數據寫入完成后觸發1553B中斷。通信過程中對于每一個被處理的消息在堆棧中都有一個4字長的塊描述符。塊描述符包括塊狀態字、時間標記字、數據塊起始指針以及一個16位的接收命令字。RT命令堆棧指針在處理每一條消息開始自動加4。在接收到一個消息以后,主機CPU將讀取堆棧中消息塊描述符的塊狀態字、時間標記、數據塊開始地址和接收命令字,如果接收的消息合法,則可以從指定的數據塊中讀取接收數據[10]。本文將重點介紹兩種RT模式下處理消息的方法:
1)通過中斷;
2)通過查詢當前活動區域的堆棧指針的內存位置。
2.2 1553B數據讀取時序設計
依據BU-61581S6芯片特點RT端1553B協議程序處理方法和讀取數據時機直接決定了1553B消息能否完整、可靠的讀取。為滿足電動伺服的高動態特性,會遇到兩條消息間間隔較小的工況。在兩條消息間間隔較小的情況下,DSP在查詢到前一條消息的1553B中斷標志置1后轉去處理電動伺服控制程序,當控制程序結束后進入1553B協議處理函數讀取堆棧A指針,通過堆棧指針判斷的結果為有兩條新的消息未處理,但此時第二條消息數據尚未保存完畢,并沒有觸發中斷。如圖2所示,紅色信號為DSP讀數據信號,綠色信號為1553B中斷信號,藍色信號為1553B數據波形,由于DSP讀數據信號出現在中斷信號之前,此時的消息數據字尚未保存完畢,DSP讀取數據就會出現數據出錯現象。基于以上特殊情況結合2.1節,詳細介紹該兩種處理消息的方法。

圖2 1553B中斷信號及DSP讀數據信號時序Fig.2 1553B interrupt and DSP data-reading sequence chart
1)BU-61581S6芯片會在數據接收完成后觸發外部中斷XINT1,在1553B中斷服務程序中處理1553B協議,可以保證讀回的每一幀數據的完整性。但彈上控制軟件不建議將大量代碼置于中斷函數中,圖1中斷處理流程就是為避免長期占用1553B中斷而影響電動伺服機構控制。但這種方法在消息間間隔較小。第二條消息進行了堆棧指針更新,但沒有數據寫入完全、沒有觸發中斷情況下,第二條消息被誤讀。為解決此問題可以在1553B中斷服務程序中設置計數器,在處理1553B消息之前先判斷計數器是否更新,保證處理的每一條數據都是寫入完成,并且已經觸發中斷。代碼如下:
while(Interrupt _Cut!= Interrupt_Cur _Cut) /*判斷當前1553B中斷計數器值位置與上一次的1553B中斷計數值是否一致,如果不一致則表明有新的消息未處理*/
{
bsw = pCurCmdDes->BLOCK_STATUS_WORD;
/*讀取堆棧中消息塊描述符中讀取塊狀態字*/
新政府致力于推動國內農業生產,為津巴布韋種植種子供應商和農業化學品制造商帶來了新商機。埃默森·姆南加古瓦總統還要求國家財政部與農業部合作,改組和精簡總統投入計劃。奇納馬薩說,津巴布韋新政府將“加強農業投入控制和分配系統管理、供應和分配鏈每個階段的規劃監測,以填補漏洞”。這個系統的改進涉及到政府補貼計劃下的農業投入,不僅用于玉米,還用于其他食品和經濟作物。
if( (bsw & 0x177f )==0x0000 )
/*對消息合法進行了判斷,包含判斷消息是否接收完成*/
{
……
}
}
此方法在中斷計數器進行防溢出清零動作時,要注意避免中斷計數器翻轉時丟消息。
if(pCmdDes != NULL )
{
pCmdDes = (struct CMD_DESCRIPTOR *) (BASE_RAM+Bus1553Ram.STACK_A_PTR);
/* 讀取當前活動區域的堆棧指針的內存位置*/
}
while(pCurCmdDes != pCmdDes)
/*判斷當前活動區域的堆棧指針的內存位置與上一次的指針位置是否一致,如果不一致則表明有新的消息未處理*/
{
bsw = pCurCmdDes->BLOCK_STATUS_WORD;
/*讀取堆棧中消息塊描述符中讀取塊狀態字*/
if( (bsw & 0x977f )==0x8000)
/*對消息合法進行了判斷,包含判斷消息是否接收完成*/
{
……
}
}
上述介紹的兩種方法均可保證消息接收完成后進入數據讀取,1553B讀取數據時序如圖3所示。

圖3 1553B讀取數據時序圖Fig.3 1553B data-reading sequence chart
在高動態電動伺服機構下應用1553B總線,為避免前后兩條消息時間過短而導致數據接收錯誤或丟失數據,可以在通信中斷產生后,在1553B中斷服務程序中設置中斷計數器,分析此計數器是否有更新來判斷新消息是否接收完成,或是通過判斷堆棧指針A是否有更新的方式來判斷是否有新消息到來。同時對RT塊狀態字中消息接收完成(bit15)進行判斷,當確保數據寫入完整后再進行協議程序處理,有效地保證了1553B通信的快速性和可靠性。
[1] 馬長軍.快速響應電動伺服系統[D].哈爾濱工業大學,2007:1-6.
[2] 張琛.直流無刷電動機原理與應用[M].北京:機械工業出版社,1996.
[3] 高志強,苗克堅,張雯璐.彈載計算機1553B總線測試模塊設計[J].計算機測量與控制,2008,16(9):1280-1283.
[4] 陳永奇,馬迎建,石多.1553B總線應用[J].電子測量技術,2006,29(5):211-212.
[5] 陳丹,趙文靜.基于1553B總線控制器軟件的設計[J].現代電子技術,2007,30(2):41-43.
[6] 陳是知,姜蕊輝.TMS320F2812原理與開發實踐[M].北京:中國電力出版社,2010.
[7] BU-61581S6芯片使用手冊.航天科技九院772所.
[8] 于雅麗,陳錦莉.1553B通信研究及其在導彈測試系統中的應用[J].計算機測量與控制,2009,17(2):360-362.
[9] 謝拴勤,宋捷,宋懷達.基于FPGA+DSP的1553B總線通用接口設計與實現[J].計算機測量與控制,2009,17(1):183-186.
[10] MIL-STD-1553 Protocol Tutorial[S].Condor Enigeering Inc,2004:30-32.
[11] 胡月,林寶軍,張善從.1553B總線控制器軟件設計[J].電子測量技術,2006,29(1):77-78.
Design and Implementation of 1553B Bus Communication for High Dynamic Electronic Servo Actuators
MENG Juan, LIN Xi-jia
(Servo Technology Institute of China Aerospace Science & Industry Corp,Nanjing 210006,China)
1553B bus communication technology is widely used in the field of aeronautics and astronautics.It is also widely used in the field of electronic servo actuator, which is an important part of missile control system. Usually, for high dynamic and high response electronic sorvo actuators, the control of electronic servo actuator is prior to 1553B bus communication. To ensure that 1553B bus has higher communication speed and reliability in the condition of high dynamic condition and high response of electronic servo actuators, based on the BU-61581S6 bus interface protocol chip for receiving data in RT (remote terminal) software,the working time sequencing and data processing method are mainly introducd.
1553B; High rate; High reliability; Receive data; Sequence settings
10.19306/j.cnki.2095-8110.2016.06.013
2016-02-26;
2016-03-29。
孟娟(1983 - ),女,碩士,工程師,主要從事嵌入式軟件方面的研究。E-mail: mengjuan.521@163.com
TP336
A
2095-8110(2016)06-0067-03