基于1553b總線的數(shù)字伺服控制器參數(shù)在線裝訂方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種軟件基于1553B總線的參數(shù)在線裝訂方法,用于航天伺服產(chǎn)品的 研制過程中,伺服機構(gòu)相關(guān)的參數(shù)實現(xiàn)在線調(diào)整,滿足不同產(chǎn)品的最優(yōu)參數(shù)配置和特性指 標。
【背景技術(shù)】
[0002] 基于1553B總線的伺服控制器在新型號中被廣泛使用。以1553B總線作為數(shù)字通 信鏈路的各型號伺服控制器軟件參數(shù)更改需要對軟件進行升級,軟件受控管理、軟件固化 等一系列復(fù)雜的過程,這些過程降低了伺服產(chǎn)品的生產(chǎn)效率,也無法滿足產(chǎn)品的適應(yīng)性需 求。
[0003] 傳統(tǒng)的軟件參數(shù)更改需要進行軟件版本升級,軟件受控管理、軟件回歸測試、軟件 固化四個步驟。傳統(tǒng)的伺服控制軟件更改一次參數(shù)大約需要16小時。
[0004] 目前國內(nèi)外解決該問題的方式為將軟件需要變更的參數(shù)使用宏定義的方式單獨 定義,通過更改宏定義中的參數(shù)可以實現(xiàn)比較快速的參數(shù)更改。該方法可以比較快速的實 現(xiàn)參數(shù)的更改,適用于參數(shù)更改不頻繁的伺服控制軟件。但是該方法仍然需要版本升級,軟 件受控管理、軟件回歸測試、軟件固化四個步驟,對于參數(shù)變化頻繁的參數(shù),未能從根本上 解決基于1553B總線的伺服控制器的參數(shù)更改問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的技術(shù)解決問題是:克服現(xiàn)有技術(shù)的不足,提供了一種基于1553B總線的 數(shù)字伺服控制器參數(shù)在線裝訂方法。
[0006] 本發(fā)明的技術(shù)解決方案是:基于1553B總線的數(shù)字伺服控制器參數(shù)在線裝訂方 法,包括如下步驟:
[0007] (1)制定參數(shù)在線裝訂通信協(xié)議:約定1553B總線消息接收子地址為RxSAlLn個 數(shù)據(jù)字;1553B總線數(shù)據(jù)應(yīng)答子地址定為TxSAlLn個數(shù)據(jù)字,η取值范圍3~32 ;約定上位 機BC與伺服控制器RT之間發(fā)送消息及正常應(yīng)答消息協(xié)議如下:
[0008] I. 1)與控制器握手,并使能參數(shù)裝訂
[0010] 1.2)發(fā)送參數(shù)數(shù)據(jù)
[0011]
[0012] I. 3)將參數(shù)寫入到Flash,
[0014] (2)上位機BC將需要裝訂的參數(shù)按照步驟I. 2)中BC->RT的消息格式進行編碼;
[0015] (3)生成消息鏈:上位機BC首先按照步驟I. 1)中的約定向RxSAll的第一個數(shù)據(jù) 字中寫入握手標志0xAA66;然后按照順序?qū)⒉襟E(2)編碼后的參數(shù)寫入RxSAll,最后按照 步驟1. 3)中格式發(fā)送寫入Flash的命令;
[0016] (4)上位機BC向伺服控制器RT依次發(fā)送消息鏈中的消息,按照預(yù)先設(shè)置的時間間 隔通過中斷或者查詢方式接收TxSAll中的應(yīng)答消息并解析,判斷接收到的應(yīng)答消息是否 正確,若正確,則發(fā)送完消息鏈中的所有消息,否則停止發(fā)送消息,裝訂失?。?br>[0017] (5)伺服控制器RT在接收到消息后,向TxSAll中寫入第一個數(shù)據(jù)字,并從RxSAll 中讀取數(shù)據(jù),判斷第一個數(shù)據(jù)字是否為握手標志0xAA66,若為握手標志,則初始化存儲變 量,向TxSAll中返回握手成功標志0xBB66并置總線標志為0xAA66,將RxSAll中數(shù)據(jù)字2-n 返回給TxSAll ;否則轉(zhuǎn)步驟(6);
[0018] (6)判斷第一個數(shù)據(jù)字是否為0xAA77且第二個數(shù)據(jù)字小于允許裝訂的最大參數(shù) 條數(shù),若是,轉(zhuǎn)步驟(7);否則判斷第一個數(shù)據(jù)字是否為0xAA88,若為0xAA88,則轉(zhuǎn)步驟(8), 不為0xAA88,則將RxSAll中數(shù)據(jù)字2-n返回給TxSAll ;
[0019] (7)判斷總線標志是否為0xAA66或者0xAA77,若是,則計算本條消息對應(yīng)的參數(shù) 下標,將消息中的參數(shù)數(shù)據(jù)保存到參數(shù)數(shù)組中,向TxSAll中返回0xBB77并置總線標志為 0xAA77,將RxSAll中數(shù)據(jù)字2-n返回給TxSAll ;否則說明消息下載順序錯誤,不執(zhí)行任何 處理;
[0020] (8)若總線標志為0XAA77,則關(guān)閉看門狗,將參數(shù)數(shù)組寫入到Flash中,之后打開 開門狗,向TxSAll中返回0xBB88,將RxSAll中數(shù)據(jù)字2-n返回給TxSAll ;否則說明消息下 載順序錯誤,不執(zhí)行任何處理。
[0021] 所述步驟(1)中還約定讀取伺服控制器內(nèi)參數(shù)的協(xié)議,上位機按照協(xié)議從伺服控 制器中讀取參數(shù)進行校驗;具體約定格式如下:
[0023] 本發(fā)明與現(xiàn)有技術(shù)相比有益效果為:
[0024] (1)本發(fā)明研究了一種參數(shù)在線裝訂方法,對于參數(shù)更改,無需進行軟件升級和配 置管理既可以完成,提高了軟件生產(chǎn)效率,增強了軟件的適應(yīng)性。本發(fā)明描述了一種新型的 基于1553B總線的參數(shù)在線裝訂方法,可以提高軟件產(chǎn)品的適應(yīng)性,降低軟件維護工作量, 提高可靠性,為伺服產(chǎn)品的批產(chǎn)解決了實際問題。該方法已經(jīng)在多個重要型號中應(yīng)用,大大 推動了數(shù)字伺服控制器的發(fā)展。
[0025] (2)本發(fā)明使用了讀取伺服控制器內(nèi)參數(shù)的方法對在線裝訂的參數(shù)區(qū)進行了校 驗。在參數(shù)裝訂完成后,通過在線回讀機制將伺服控制器中的參數(shù)全部回讀到上位機,上位 機軟件將回讀的參數(shù)編碼與下載的參數(shù)編碼進行數(shù)據(jù)字比對,全部一致表示本次在線裝訂 正確,不一致表示在線裝訂錯誤。該操作可以避免在線裝訂參數(shù)中1553B數(shù)據(jù)傳輸、DSP存 儲參數(shù)、DSP讀取參數(shù)等各個環(huán)節(jié)產(chǎn)生的錯誤,提高了在線裝訂參數(shù)的可靠性,保證了伺服 控制器RT中參數(shù)的正確性。
[0026] (3)本發(fā)明伺服控制器RT使用總線標志的方式保證在線裝訂參數(shù)的機制的正確 性。伺服控制器RT在接收到握手后置總線標志為0xAA66,在接收到參數(shù)數(shù)據(jù)后判斷總線標 志的是否為0xAA66,在接收到寫入Flash命令后判斷總線標志的是否為0xAA77,如果總線 標志錯誤伺服控制器RT均不執(zhí)行相應(yīng)操作。該措施可以保證伺服控制器RT接收參數(shù)裝訂 順序的正確性,提高參數(shù)在線裝訂方法的可靠性。
[0027] (4)本發(fā)明伺服控制器RT使用返回特殊標識的方式保證在線裝訂參數(shù)的機制的 正確性。伺服控制器RT在接收到BC->RxSAll的消息后,首先向TxSAll中寫入第一個數(shù)據(jù) 字,該數(shù)據(jù)字標識伺服控制器正在對當前的消息正在處理消息然后讀取RxSAll中的消息 數(shù)據(jù)并進行相應(yīng)的處理,處理完成后將向TxSAll中寫入第2~η個數(shù)據(jù)字,該返回結(jié)果標 識伺服控制器已經(jīng)處理完成。此措施可以在伺服控制器RT未操作完成時上位機BC能獲取 伺服控制器RT的狀態(tài),提高了可靠性。
【附圖說明】
[0028] 圖1為本發(fā)明上位機參數(shù)在線裝訂流程圖;
[0029] 圖2為本發(fā)明伺服控制器中DSP軟件參數(shù)在線裝訂處理流程圖。
【具體實施方式】
[0030] 下面結(jié)合具體的實例對本發(fā)明做詳細說明,本發(fā)明基于1553Β總線的數(shù)字伺服控 制器參數(shù)在線裝訂方法,如圖1、2所示,步驟如下:
[0031] (1)制定參數(shù)在線裝訂通信協(xié)議:約定1553Β總線消息接收子地址為RxSAll,30 個數(shù)據(jù)字;1553B總線數(shù)據(jù)應(yīng)答子地址定為TxSAl 1,30個數(shù)據(jù)字,約定上位機BC與伺服控 制器RT之間發(fā)送消息及正常應(yīng)答消息協(xié)議如下:
[0032] I. 1)與伺服控制器握手,并使能參數(shù)裝訂,上位機5ms后回讀消息。
[0033]
[0034] I. 2)發(fā)送參數(shù)數(shù)據(jù),每條消息之間的間隔為5ms,最多允許裝訂9條參數(shù)消息,數(shù) 據(jù)字2的范圍為0~8,未使用的參數(shù)區(qū)數(shù)據(jù)字默認為0
[0036] 1. 3)將參數(shù)寫入到Flash,上位機