焦震 樊茜 張震 劉海山 丁懷龍
(北京精密機電控制設備研究所 北京市 100076)
近幾年,機電伺服技術已經成為整個伺服技術的發展方向。機電伺服系統將電動機、減速器、滾珠絲杠、檢測裝置和控制器集成化、小型化,克服了傳統液壓系統固有的一些缺點。與此同時,機電伺服中越來越多的采用高速1553B 總線的設計方案,伺服控制驅動軟件用于實現伺服機構閉環控制及性能補償功能,傳輸速率大幅提高。這對于配置項測試而言也提出了巨大的挑戰。本文在測試技術上的創新,有效提高了軟件測試的有效性和測試的充分性,縮短了軟件開發的周期和成本,收到了很好的經濟效益和社會效益,并且對今后的軟件測試工作的開展具有良好的指導和借鑒作用。
根據某伺服控制驅動軟件及CPLD 軟件的特點,本文探究了一種全新的測試方法。某項目伺服控制驅動器采用的是4Mbps 1553B總線與BC 進行通信,原有的設備均不能進行4Mbps 1553B 總線的測試,因此首先搭建高速1553B 總線的測試環境。其次,對于軟件在較高速總線傳輸速率下的穩定性需要做出驗證,這就要求測試人員要根據協議,設計大量的測試用例,包括正常情況和異常情況軟件的處理是否正確,可靠性是否足夠高。采用故障注入技術,有效模擬了各軟件在彈上可能發生的各種突發異常情況,激發可能存在的故障模式,檢驗軟件對錯誤命令或非法數據輸入的檢測能力和對非常規操作、誤操作的適應能力。另一方面,依托1553B 測試板卡和上位機測試軟件,通過設置指令消息間不同的時間間隔和消息周期,進一步可以驗證4Mbps 的1553B 總線在傳輸的數據量大小不同的情況下,是否依然穩定可靠。
伺服控制驅動器通過4Mbps 1553B 總線與BC 連接,較之前常用的1Mbps 1553B 總線傳輸速度提高了4 倍。1553B 總線是一種時分制指令響應式多路傳輸數據總線,具有很高的可靠性和良好的實時性。1553B 總線由4 部分基本硬件組成:傳輸介質、總線控制器、遠程終端和總線監視器。1553B 總線采用異步、半雙工方式傳輸,1553B 總線BC 向某一終端發送一個接收/發送指令,RT 在規定的響應時間內發回一個狀態字并執行消息的接收/發送。1553B 采用雙冗余總線,有兩個傳輸通道,保證了良好的容錯性和故障隔離。
軟件搭載于處理能力更強的TMS320F28335 型DSP,作為運算核心,TMS320F28335 具有150MHz 的高速處理能力,具備32 位浮點處理單元。它內部資源豐富,存儲器容量大,接口豐富。由于機電伺服系統動態性能較高,伺服控制驅動軟件的閉環控制周期縮短到100us,相對于傳統伺服控制驅動軟件的1ms 的閉環周期縮短了90%。閉環周期縮短了,軟件的處理任務并未減少。另外使用工業級CPLD 作為伺服控制器的邏輯接口器件,完成復位邏輯、過流邏輯保護及恢復、雙極性PWM 產生和雙極性PWM 邏輯互鎖等工作。

圖1:測試實物環境
相較于液壓項目的伺服控制驅動軟件,機電項目的伺服控制驅動軟件代碼量大,大多處于中等規模的水平。除此之外,軟件與外部的接口采用4M 帶寬的1553B 總線,總線數據傳輸速率更快;另一方面,伺服電機的控制采用三環控制算法,即位置環、速度環和電流環,相比于液壓項目的算法更加復雜,數據處理量也隨之增大,總而言之,機電項目軟件復雜度的提高對于軟件測試者說需要更強的邏輯思維能力,測試的難度隨之提高。
測試的首要工作就是搭建面向4Mbps 1553B 高速總線的測試環境,測試環境的搭建采用4Mbps 1553B 總線板卡,1553B 總線板卡實現了 1553B 數據總線仿真功能和總線節點模擬功能,滿足實驗仿真需求。主機接口為 PCI 總線接口,板卡可以設置為BC、RT 和BM 三種模式。本測試環境板卡設置為BC 模式,支持單條消息的定時發送,分辨率為1ms,并且消息間隔時間可設,分辨率為0.25us。上位機軟件采用板卡配套的總線測試軟件。半實物仿真測試環境使用CCS3.3 應用開發平臺,目標機為伺服控制驅動器,用來運行伺服控制驅動軟件;在進行功能測試時,上位機通過總線測試軟件向目標機發送1553B 總線指令, 目標機則通過1553B 總線板卡將消息轉發給上位機,上位機通過總線測試軟件讀取1553B 總線消息。
測試環境搭建中,終端電阻是必不可少的。它的主要作用是匹配信號源和傳輸線之間的阻抗,減少反射,避免振蕩。不同于帶寬是1M 的1553B 總線,4Mbps 1553B 高速總線的數據傳輸速率較高,易發生信號的反射,導致通信不成功或不穩定,所以搭建測試環境時務必添加終端電阻。此外,示波器和RTInsight 作為測試環境中不可缺少的設備,在性能測試和覆蓋率測試中都發揮著重要作用。測試實物環境如圖1 所示。
壓力測試也稱強度測試,是在強負載(大數據量、大量并發用戶等)下的測試。通過查看軟件在峰值使用情況下的操作行為,發現軟件的某項功能隱患、軟件是否具有良好的容錯能力和可恢復能力。在實際的飛行狀態下,伺服控制驅動軟件實時接收控制系統指令,并及時解碼、保存當前控制指令,用于伺服系統閉環控制,控制指令消息周期性定時發送,消息內容為伺服系統的俯仰、偏航角度命令值。本次測試采用的高速1553B 總線板卡,支持單條消息的定時發送,分辨率為1ms。測試時將消息配置為控制指令消息,并且定時發送周期設置為5ms,此時軟件可以實時接收上位機發送的控制指令,進行閉環控制計算,測試人員可以通過設計測試用例,考察軟件在這種狀態下是否工作穩定和可靠。為了進一步考核軟件在強負載下的工作狀態,我們將上位機發送控制指令的周期縮短到1ms,此時軟件單位時間內接收到的數據量明顯增加,在此狀態下,測試人員通過PWM 接口的輸出、變量監控等方法,查看軟件是否具有某些隱患,也就是考核了軟件的抗壓能力。
測試環境的特征一是環境的真實性,另一個是環境的可控性。可控性是指測試環境是否便于測試數據的注入和測試結果的獲取,也就是說測試人員是否能夠方便的注入數據。這里用到最多的就是故障注入技術。故障注入技術是一種相對特殊的方法,它最大的特點是高度靈活性,它可以對軟件的容錯性、可靠性、安全性進行測試。本測試技術所搭建的測試環境,伺服控制驅動軟件的輸入信息主要包括三種:BC 通過1553B 總線發送的指令信息、伺服機構其它模擬量信息、電機旋變位置信息。通過以上三個接口,測試人員可以通過設計測試用例,向軟件注入各種故障,在上位機的總線測試軟件中獲得想要的測試數據,與此同時,通過JTAG口的在線仿真,測試人員也可方便的注入測試數據和獲取結果。另一方面,測試環境更加真實,本測試技術所搭建的半實物仿真環境,能夠逼真地模擬被測軟件運行所需的真實物理環境的輸入和輸出,實時接收上位機發送的控制指令,并且能夠組織被測軟件的輸入,來驅動被測軟件運行,同時接收被測軟件的輸出結果。
測試人員搭建了全新的4Mbps 1553B 高速總線測試環境,較之前采取的測試環境,該環境添加了1553B 總線終端電阻,消除了高速1553B 數據傳輸的信號反射,使控制器與上位機間的通信更加穩定可靠。此外測試環境所采用的測試板卡支持消息的周期性發送和周期設置,更貼近于BC 在飛行狀態下定時發送控制指令的狀態,有效降低了測試環境對軟件測試結果產生的不利影響,提高了軟件測試的精度。
在實際的飛行狀態下,伺服控制驅動軟件實時接收控制系統指令,并及時解碼、保存當前控制指令,用于伺服系統閉環控制,控制指令消息周期性定時發送,消息內容為伺服系統的俯仰、偏航角度命令值。本測試技術不僅僅模擬了BC 周期性定時發送控制指令的狀態,還將發送的周期逐步減小,考核軟件在強負載條件下的工作是否依然穩定、可靠,檢驗了軟件的抗壓能力。
本測試技術所搭建的半實物仿真環境,能夠逼真地模擬被測軟件運行所需的真實物理環境的輸入和輸出,測試環境更加真實有效。環境的可控性是除了真實性之外另一個測試環境的特征。4Mbps 1553B 高速總線測試環境的搭建,更便于測試數據的注入和測試結果的獲取。與此同時,故障注入技術在系統級測試環境中得到了更好的應用,我們可以在從軟件中輸入邊界值、故障數據,通過軟件給控制系統的回令分析故障所造成的結果,幫助測試人員找到軟件缺陷,發現潛在的問題。
在某項目的開發方測試過程中,本文所描述的測試技術得到了很好的應用,測試人員通過搭建4Mbps 1553B 高速總線測試環境,運用故障注入技術設計多種失效模式,同時利用壓力測試,考察了軟件在大負載狀態下的工作狀態,用例覆蓋全面,同時也發現了若干軟件缺陷,為提高軟件的質量提供了有力的保證;該測試技術的應用極大提高了工作效率及發現問題數目,為第三方配置項測試節省了工作量和時間,為開發方節省了資金,保證軟件開發質量的同時縮短了開發的周期。