段志國,趙 巖,李 軍,周劍波
(1.南京理工大學 自動化學院,南京 210094; 2.人民解放軍92941部隊94分隊, 遼寧 葫蘆島 125001)
基于嵌入式的伺服綜合測控平臺的設計
段志國1,趙 巖2,李 軍1,周劍波1
(1.南京理工大學 自動化學院,南京 210094; 2.人民解放軍92941部隊94分隊, 遼寧 葫蘆島 125001)
基于嵌入式技術,設計了一套集控制、測試和分析于一體的伺服綜合測控平臺;該平臺采用集散式結構,在硬件上提供了多種通信與測控接口,軟件上以Linux嵌入式操作系統(tǒng)和Windows系統(tǒng)為基礎,提供了友好的人機交互界面;可以根據(jù)現(xiàn)場狀況工作在便攜的單機模式或者功能完備的聯(lián)機模式;平臺同時為網(wǎng)絡型伺服系統(tǒng)預留了網(wǎng)絡接口,有很好的通用性和可擴展性等優(yōu)點;經(jīng)測試,該平臺操作便捷,運行穩(wěn)定,可用于多種類伺服系統(tǒng)的測控分析。
嵌入式;伺服測控系統(tǒng);集散式結構;通用性
伺服技術即高精度的跟蹤與定位技術,隨著伺服技術的不斷發(fā)展和現(xiàn)代化生產(chǎn)規(guī)模的不斷擴大,各行業(yè)對伺服系統(tǒng)的需求日益增大,并對其性能提出了更高的要求。在大力發(fā)展新的伺服產(chǎn)品研制和改進生產(chǎn)工藝的同時,加強伺服系統(tǒng)測試技術的研究和檢測平臺的建設尤為重要[1]。針對這一現(xiàn)狀,運用嵌入式技術,研制出一套適用于多種類伺服系統(tǒng)測控分析的伺服綜合測控平臺。平臺具有模塊化、便攜式、通用性等特點,為伺服系統(tǒng)的動態(tài)、靜態(tài)性能分析和參數(shù)測試提供了完整的檢測手段和測控方案。
1.1 需求分析
1)對工作方式可切換的功能需求:考慮到在場外對伺服系統(tǒng)進行測控分析的情況,為了最大化的發(fā)揮平臺便攜的特性,設計了一種單機模式:將工控機從系統(tǒng)中去除,將原來工控機中實現(xiàn)的功能進行“裁剪”放到下位機嵌入式系統(tǒng)中實現(xiàn),這樣,功能上的削弱換來了便攜性的提高和更高穩(wěn)定可靠的信號發(fā)送與數(shù)據(jù)采集。而具有完備性功能的完整平臺運行時即被稱為聯(lián)機模式。
2)對典型信號發(fā)生器的功能需求:對伺服系統(tǒng)進行測試的目的,就是為了得到伺服系統(tǒng)的關鍵性能指標,包括系統(tǒng)的當前誤差、穩(wěn)態(tài)誤差和動態(tài)性能,這些指標能夠從各個方面反應伺服系統(tǒng)的性能。為了得到這些指標,平臺需要產(chǎn)生幾種典型信號,用于激勵伺服系統(tǒng),即階躍信號、等速信號和正弦信號這3種典型信號。
3)對數(shù)據(jù)分析功能的需求:平臺的最終目的是分析伺服系統(tǒng)的性能,因此對采集的數(shù)據(jù)進行分析是一項核心功能。數(shù)據(jù)分析需要在兩個階段體現(xiàn),實時測試階段的分析功能以及測試結束之后靜態(tài)分析的分析功能。
4)對人機交互的功能需求:除了必備的測試分析數(shù)據(jù)這一核心功能,平臺還需要具備良好的人機交互功能。所謂人機交互,也就是方便的數(shù)據(jù)輸入途徑和友好的界面顯示。
5)可拓展性需求:本平臺作為一個綜合測控平臺,在實現(xiàn)了多測試信號的前提下,還需要適用于多種伺服系統(tǒng)。為此,在硬件上提供了多種測試接口;在上位機軟件上為網(wǎng)絡型伺服系統(tǒng)預留了測控和分析功能。
1.2 總框架設計
根據(jù)需求分析,將要研制的是一臺具有聯(lián)機通信功能、人機交互友好,并且能夠顯示、處理、記錄和分析數(shù)據(jù)的伺服系統(tǒng)測控平臺。綜合考慮,平臺采用“上位機-下位機”的分布式結構設計方案,將具有豐富、靈活的測試控制資源的嵌入式系統(tǒng)作為下位機,將具有強大數(shù)據(jù)處理能力的工控機作為上位機[2]。下位機主要實現(xiàn)指令信號的轉(zhuǎn)換,采集伺服系統(tǒng)的架位信息并與上位機通信。而上位機用于信號發(fā)生,實時曲線顯示,參數(shù)計算以及數(shù)據(jù)分析,平臺總框架設計如圖1所示。
圖1 平臺總框架設計
平臺的硬件設計主要為伺服測控下位機的設計,下位機共有3個測控箱,包括一個方位伺服測控箱、一個俯仰伺服測控箱和一個邏輯采集箱。方位伺服測控箱和俯仰伺服測控箱是兩個完全相同的箱子,只是針對常見的兩種具有方位軸和俯仰軸的伺服系統(tǒng)。而邏輯采集箱主要用來采集伺服系統(tǒng)中的模擬傳感器信號和邏輯傳感器信號。
2.1 主控板的設計與選型
主控板作為伺服測控箱的核心,需要同時具有數(shù)據(jù)采集,數(shù)據(jù)存儲,通訊,提供人機交互界面等功能,這些功能都由主控板上的CPU控制實現(xiàn),因此,主控板需要用一款功能強大的處理器來設計。
S3C6410是基于ARM11版本內(nèi)核的低成本、低功耗、高性能微處理器,廣泛用于工控產(chǎn)品,移動設備及其他便攜式應用。且S3C6410的片上資源非常豐富、具有MMU單元以運行嵌入式操作系統(tǒng)且能夠支持較大的運行內(nèi)存和外部存儲空間,非常適合作為下位機測控箱主控板的控制器。
2.2 從板的設計與選型
平臺的方位與俯仰測控箱各有5塊從板,分別為數(shù)字IO收發(fā)板、數(shù)字轉(zhuǎn)自整角機發(fā)送板、自整角機轉(zhuǎn)數(shù)字采集板、旋變轉(zhuǎn)數(shù)字采集板以及角差量信號采集板;邏輯采集箱有2塊從板,分別為AD采集板和IO采集板。其中伺服測控箱的數(shù)字收發(fā)IO板和邏輯采集箱的IO采集板對于數(shù)據(jù)的處理沒有太過復雜的需求,因此不需要CPU控制。而其他從板均需要對數(shù)據(jù)進行數(shù)字量和模擬量之間的轉(zhuǎn)換、粗精組合等較多的運算處理,需要獨立工作的CPU輔助主控板工作。這樣可以增強整個系統(tǒng)的性能,且降低板與板之間的依賴關系,方便開發(fā)調(diào)試。
MSP430F149是TI公司推出的一款主打低功耗的16位RISC微處理器。其操作簡單,在低功耗的同時,也具有強大的運算性能,其內(nèi)部集成了16位多功能硬件乘法器,相較于傳統(tǒng)的51單片機運算能力有很大的優(yōu)勢,能夠滿足從板的功能需求。
隨著測控系統(tǒng)所要完成的工作越來越復雜,程序越來越龐大,需要管理的外設越來越多,只有擁有嵌入式多任務操作系統(tǒng),擁有穩(wěn)定工作的硬件基礎、開發(fā)重點才能由原來硬件的調(diào)試、軟件的DEBUG轉(zhuǎn)變?yōu)閷τ趯嶋H應用系統(tǒng)性能的提高、智能化軟件的編寫。此外,只有在一個完整的、具有統(tǒng)一編程規(guī)范的操作系統(tǒng)基礎上,使用高級語言開發(fā)出來的應用程序,才可能具有良好的可移植性,才可能被重復利用。嵌入式多任務操作系統(tǒng)正是實現(xiàn)現(xiàn)代實時測控系統(tǒng)開發(fā)平臺的唯一途徑[3]。
目前絕大多數(shù)商用嵌入式系統(tǒng)出于商業(yè)利益的考慮,都是要收費的且不開放源碼,而Linux作為一款免費的開源操作系統(tǒng),具有以下優(yōu)點:①可以獲取并修改Linux的源代碼,開發(fā)自己的產(chǎn)品;②Linux容易建立嵌入式系統(tǒng)開發(fā)環(huán)境和交叉運行環(huán)境;③內(nèi)核完全開放,可以設計和開發(fā)出真正的硬實時系統(tǒng);對于軟實時系統(tǒng),在Linux中也容易得到實現(xiàn);④可移植性好[4]。
嵌入式Linux操作系統(tǒng)的開發(fā)是具有一定的層次性,如圖2所示,應按其結構自下而上逐層進行[5]。
圖2 嵌入式系統(tǒng)的體系結構圖
3.1 Linux系統(tǒng)的移植
嵌入式Linux操作系統(tǒng),簡單的說,就是將Linux內(nèi)核里在ARM架構下用不上的功能或驅(qū)動去掉,使操作系統(tǒng)占用內(nèi)存更小,啟動速度更快,提高Linux系統(tǒng)的實時性,使之變成一個實時系統(tǒng)。裁剪完成后,將之移植到ARM11核中即可。
3.2 應用軟件開發(fā)環(huán)境的搭建
搭建好了嵌入式操作系統(tǒng),下面就要進行依托于操作系統(tǒng)的應用程序開發(fā)。Qt是一個跨平臺應用程序和UI框架,它包括跨平臺類庫、集成開發(fā)工具和跨平臺IDE。使用Qt只需一次性開發(fā)應用程序,無須重新編寫源代碼,便可在不同桌面和嵌入式操作系統(tǒng)部署這些應用程序。它提供了豐富的窗口部件集。具有面向?qū)ο?、易于擴展、真正的組件編程等特點[6]。在本系統(tǒng)中,采用Qt4.8.5的版本進行應用程序的開發(fā)。
3.3 驅(qū)動程序設計
驅(qū)動程序是介于操作系統(tǒng)和硬件電路之間的一類程序,Linux系統(tǒng)規(guī)定了一系列的系統(tǒng)接口,驅(qū)動程序就是為特定的硬件提供這些系統(tǒng)接口的具體底層實現(xiàn)。因此,驅(qū)動程序也是最終應用軟件得以運行的基礎。
在本系統(tǒng)中,用到的大多數(shù)設備的驅(qū)動都已經(jīng)在內(nèi)核中提供,只需要在內(nèi)核配置過程中添加即可使用。但是并行數(shù)據(jù)總線是本設計專有的硬件電路,需要自行設計驅(qū)動程序。另外,內(nèi)核中自帶的觸摸屏驅(qū)動在本系統(tǒng)上的使用效果并不是特別好,本設計在原驅(qū)動的基礎上重新做了設計。
由于本系統(tǒng)兼有測試和控制的功能,且伺服系統(tǒng)控制精度要求高,各項性能復雜,測試指標繁多,故需要一個完備的軟件系統(tǒng)進行管理和調(diào)度,且該軟件系統(tǒng)需要一個可操作性強的人機交互界面以便適應不同的操作人群。
前文已述,本系統(tǒng)有聯(lián)機和單機兩種工作模式,對應兩套不同的硬件架構,相應的也對應著兩套不同的軟件架構,但是就主要功能的實現(xiàn)而言,它們是大同小異的,軟件架構如圖3所示。
4.1 下位機軟件設計
下位機軟件設計包括以S3C6410為CPU的ARM主控板軟件設計以及各從板子功能程序設計。伺服測控平臺的硬件基礎為模塊化結構,所以在進行軟件設計的時候也是按照模塊化的方式一步一步的構建軟件系統(tǒng)。
4.1.1 主控板軟件設計
Linux系統(tǒng)的移植、應用程序開發(fā)環(huán)境的搭建和驅(qū)動程序的編寫完成后,下面就是要進行依托于這些環(huán)境的應用程序的開發(fā),完成系統(tǒng)的功能。根據(jù)前文對平臺的需求分析,可以確定主控板的軟件功能如下:
1)可以選擇工作模式為聯(lián)機模式或單機模式;
2)可以選擇測試儀需要測試的伺服系統(tǒng)接口類型;
3)3種典型測試波形可選,且參數(shù)可調(diào);
4)輸入?yún)?shù)及顯示數(shù)據(jù)的計量單位可以選擇;
5)實時顯示測試曲線及相關參數(shù),且測試結束后可以對數(shù)據(jù)進行回看分析。
總的來說,可以分為人機交互模塊軟件設計、數(shù)據(jù)處理模塊軟件設計以及通信模塊軟件設計,軟件的總體流程圖如圖4所示。
圖4 主控板軟件流程圖
在主控板的軟件設計過程中,實時性是一個關鍵技術點。實時任務一般可以分為軟實時和硬實時兩種類型。硬實時任務對系統(tǒng)要求可確定性強,具有明確的實時約束,在某個限定的時刻之前不能完成任務將造成災難性的后果;而軟實時任務對時間敏感, 但偶爾發(fā)生不能滿足嚴格實時要求的情況也是允許的[7]。顯然,對伺服系統(tǒng)的控制是一個嚴格的硬實時任務。標準Linux是一個多任務多用戶的分時操作系統(tǒng),盡管系統(tǒng)通過為實時任務賦予較高的優(yōu)先級使得系統(tǒng)具有一定的實時性,但對于大多數(shù)時限要求較高的實時任務來說,遠遠達不到其對于時間約束的要求。在本系統(tǒng)中,已經(jīng)對標準Linux進行了裁剪提高了其實時性,但考慮到本系統(tǒng)對信號發(fā)送與數(shù)據(jù)采集的要求最小要達到1 ms的周期,為了進一步提高操作系統(tǒng)的實時性,采用了如下措施:
1)雖然Linux不是硬實時操作系統(tǒng),但是其調(diào)度策略提供了一種軟實時的進程調(diào)度方法??梢灾付ㄟM程為實時進程并設置高優(yōu)先級,這樣內(nèi)核就會盡力調(diào)度該進程,使得實時進程相比于普通進程更快的被調(diào)度,在本系統(tǒng)中,對伺服系統(tǒng)進行收發(fā)數(shù)據(jù)的進程應被置于最高的優(yōu)先級。
2)細化時鐘粒度(時間片):Linux的調(diào)度策略簡單講就是優(yōu)先級加上時間片,Linux系統(tǒng)的默認時間片為10 ms,這顯然是不能滿足系統(tǒng)實時調(diào)度的要求,因此需要細化時間片提高精度,具體方法是修改Linux中Hz宏,將默認的100改成100 000,這樣,時間片的精度就可以達到10 μs。
4.1.2 從板軟件設計
各從板卡是系統(tǒng)開發(fā)最底層的部分,向下直接通過接口與伺服系統(tǒng)進行對接,向上通過數(shù)據(jù)總線和控制總線與主控板相連,主要的功能就是實現(xiàn)數(shù)據(jù)的收發(fā)與轉(zhuǎn)換。除了伺服測控箱的數(shù)字IO板和邏輯采集箱的IO采集板,其他的板卡均有自己獨立的CPU,用于控制板卡獨立的工作邏輯。
從板卡可以分為兩類:發(fā)送板卡和接收板卡,它們的程序?qū)崿F(xiàn)不一,但是從功能上來說,他們是有共性的,對于數(shù)字型伺服系統(tǒng),發(fā)送板卡直接將系統(tǒng)的數(shù)字信號發(fā)給伺服系統(tǒng),接收板卡直接采集伺服系統(tǒng)的數(shù)字信號進行處理;對于模擬型伺服系統(tǒng),發(fā)送板卡是將系統(tǒng)的數(shù)字信號轉(zhuǎn)換成作用于伺服系統(tǒng)的模擬信號,而接收板卡是將從伺服系統(tǒng)采集到的模擬信號轉(zhuǎn)換成系統(tǒng)可以處理的數(shù)字信號,只不過數(shù)字量會因為精度不同而導致位數(shù)不同,而模擬量會因為控制對象不同而導致形式、大小不同。所以說,從功能角度出發(fā),各發(fā)送板卡的軟件框架是相同的,各接收板卡軟件框架也是相同的。而基于框架的軟件設計思想不僅思路明確,減少出錯的概率,也會大大提高其后期維護的便捷性。發(fā)送板卡與接收板卡的軟件流程圖如圖5所示。
圖5 從板軟件流程圖
在各從板的軟件設計過程中,特別要注意的一個問題就是轉(zhuǎn)換速度問題。因為整個系統(tǒng)的最小采樣周期最小要達到1 ms,所以說從板卡的功能實現(xiàn)一定要快,如果某塊從板的子功能實現(xiàn)需要2 ms,那么1 ms的采樣周期也就無從談起了。所以,在進行從板軟件設計的時候,對于發(fā)送板卡,我們在進行數(shù)據(jù)轉(zhuǎn)換的過程中,盡量避免運用除法運算,因為根據(jù)測試,430對于除法的運算是相當耗時的,對于不可避免的除法運算,采取的措施是用“查表法”代替。而對于接收板卡,設計思路是:不管本板有沒有被選中,都要進行獨立的數(shù)據(jù)采集與數(shù)據(jù)保存,時刻將數(shù)據(jù)準備好,這樣,一旦從控制總線傳來了片選信號,即產(chǎn)生外部中斷,數(shù)據(jù)立刻送上數(shù)據(jù)總線,這樣就大大提高了傳輸效率。
4.2 上位機軟件設計
4.2.1 伺服測控上位機
工控機具有以下幾個方面的優(yōu)點:可靠性好、實時性好、環(huán)境適應能力強、輸入和輸出模塊配套好、通信功能強[8],另外還具有強大的數(shù)據(jù)處理能力,故在其上開發(fā)基于Windows系統(tǒng)和MFC庫的上位機綜合測控軟件。綜合測控軟件的是對兩臺伺服測控箱和邏輯采集箱進行通信與控制,使用戶可以通過一臺設備就能夠給多個伺服系統(tǒng)發(fā)送數(shù)據(jù)并觀測它們的測試數(shù)據(jù)以及運行狀態(tài)。上位機軟件同樣采用模塊模塊化設計,主要包括參數(shù)配置模塊、通信模塊、數(shù)據(jù)處理模塊、UI顯示模塊、通信監(jiān)測模塊、數(shù)據(jù)分析模塊、數(shù)據(jù)存儲模塊和打印模塊7個模塊,通過這些模塊的配合,對伺服進行測試與分析。
另外,為了提高本系統(tǒng)的“適應力”,軟件對網(wǎng)絡型伺服系統(tǒng)預留了網(wǎng)絡接口,即將網(wǎng)絡型伺服系統(tǒng)接入本系統(tǒng)的伺服測控專用網(wǎng)絡與綜合測控上位機對接,即可實現(xiàn)本系統(tǒng)對網(wǎng)絡型伺服系統(tǒng)的測控分析。
4.2.2 通信
為了兼顧下位機與上位機之間的通信距離以及通信速率,兩者之間采用CAN總線通信方式。CAN即控制器局域網(wǎng)絡,是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡。CAN總線采用了多主競爭式總線結構,具有多主站運行和分散仲裁的串行總線以及廣播通信的特點[9]。本平臺上位工控機采用研華PCI-1680板卡的九針通信口,其傳輸速率達到1 Mbps,完全滿足系統(tǒng)數(shù)據(jù)通信速率的要求。
在網(wǎng)絡通信中,和TCP相比,UDP沒有頻繁的確認、重傳機制,在傳輸過程中不關注網(wǎng)絡狀態(tài),節(jié)省了大量的網(wǎng)絡資源,能有效的提高網(wǎng)絡的傳輸效率,滿足綜合測控系統(tǒng)的實時性要求,故選用UDP作為綜合測控上位機與網(wǎng)絡型伺服系統(tǒng)之間的通信方式。
經(jīng)過對整個平臺的聯(lián)合調(diào)試與測試,單機模式和聯(lián)機模式下均能正常工作。平臺的控制精度達到0.1 mrad,模擬測試精度達到0.1 mrad,數(shù)字測試精度達到0.05 mrad,滿足絕大多數(shù)伺服系統(tǒng)的測控要求。到目前為止,平臺共拷機260個小時,穩(wěn)定無故障。
試驗結果表明,該平臺的多種組合方式均能夠完成相應的測控任務,具有較高的測控精度和穩(wěn)定性。
利用嵌入式的軟硬件技術設計了一套完備的伺服測控系統(tǒng),討論了系統(tǒng)的設計方案和一些難點問題,并提出了解決方案,同時也介紹了與一般的伺服測控系統(tǒng)不同的設計特色。集散式結構設計便于集中管理和分散控制。單機模式能夠滿足場外便攜性的需求,聯(lián)機模式能夠?qū)?shù)據(jù)分析的能力提高到最大。同時系統(tǒng)在軟硬件上的拓展接口使本平臺真正的成為一個綜合測控平臺。
[1] 李茂森,李思遠. 伺服分析與檢測平臺的設計與應用[J].伺服控制,2010(3):91-96.
[2] 程治新,廖學兵,黃林昊,等. 基于ARM7的自行火炮火控系統(tǒng)測控平臺研究[J].計算機測量與控制,2009,17(12):2464-2467.
[3] 崔 龍,周啟明,江文瑞. 基于ARM的實時測控系統(tǒng)開發(fā)平臺[J].單片機與嵌入式系統(tǒng)應用,2003(1):206-209.
[4] 高雙喜. 基于Qt/Embedded的伺服測試平臺軟件的研究與設計[J].軟件導刊,2012,11(9):55-57.
[5] 王曉寧,王振臣,張少兵,等. Linux操作系統(tǒng)在ARM9處理器上的移植[J].化工自動化及儀表,2010,37(2):67-69,77.
[6] 李 麟,葉春生. 基于Qt/ARM的伺服電機控制系統(tǒng)[J].儀表技術與傳感器,2013(6):62-65.
[7] 張立輝,趙云忠,王建生. 基于嵌入式Linux的實時性分析[J].微電子學與計算機,2007,24(6):100-103.
[8] 馬 超,萬 里,盧新友,等. 基于工控機的多向抽氣高真空壓鑄技術的開發(fā)[J].特種鑄造及有色合金,2014,34(1):42-45.
[9] 涂曉曼,鄒俊忠,張 見. 基于CAN總線的電子套結機運動控制系統(tǒng)[J].微特電機, 2014,42(8):93-95.
Design of Integrated Testing and Control Platform for Servo System Based on Embedded Technology
Duan Zhiguo1, Zhao Yan2, Li Jun1, Zhou Jianbo1
(1.School of Automation, Nanjing University of Science and Technology, Nanjing 210094,China;2.Unit 92941 of PLA,Huludao 125001,China)
Based on the embedded technology,a set of integrated testing and control platform which includes the functions of control,test and analysis is designed for servo system.The platform is designed with the distributed structure.In terms of hardware,it provides multiple communication and testing ports. In terms of software, it based on the Linux embedded operating system and Windows system,providing friendly human-computer interaction interface.The platform can work in the stand-alone mode which is portable or work in the combined mode which has the complete functions according to the different environment.The platform also provides the network interface for the network servo system.So,the platform has the advantages of good versatility and expansibility.According to the test,the platform can be operated conveniently and running stably,and it can be used for the analysis and control of many kinds of servo systems.
embedded; servo system; distributed structure; versatility
2017-01-18;
2017-02-21。
段志國(1992-),男,江蘇句容人,碩士研究生,主要從事嵌入式伺服系統(tǒng)方向的研究。
李 軍(1970-),男,博士,教授,主要從事伺服系統(tǒng)及其相關測控技術方向的研究。
1671-4598(2017)07-0051-04
10.16526/j.cnki.11-4762/tp.2017.07.013
TP206.1
A