幾年前,為實時應(yīng)用構(gòu)建一個數(shù)字控制系統(tǒng)還是比較容易的。你可以先選定一款自己最熟悉的實時操作系統(tǒng)(RTOS)和一款微控制器。這款微控制器必須支持你采用的RTOS,此外在價格、性能、輸入/輸出特性和儲存能力方面也能夠滿足應(yīng)用要求。然后,你就可以編寫應(yīng)用軟件了。軟件要能夠利用到RTOS的特性,從而保證你的控制器可以在指定的時刻完成指定的工作。
實時操作系統(tǒng)的基本使命是處理中斷。當一個中斷出現(xiàn),RTOS必須先把當前程序的相關(guān)數(shù)據(jù)保存好,
然后切換到一個獨立的中斷服務(wù)流程來處理這個中斷事件。處理完中斷事件之后,RTOS
先恢復(fù)先前儲存的數(shù)據(jù),再繼續(xù)運行先前的程序。
如今,構(gòu)建這樣一個數(shù)字控制系統(tǒng)已經(jīng)不那么容易了。從某種意義上說,多核微控制器和軟件虛擬化技術(shù)的問世,使得嵌入式系統(tǒng)設(shè)計師與運動控制工程師的工作更加復(fù)雜了。然而在許多方面,這些技術(shù)又為他們的工作帶來了便利。要弄明白這個看似矛盾的說法,你需要掌握一些RTOS、多核和軟件虛擬化技術(shù)的基礎(chǔ)知識。下面,讓我們從RTOS基本技
讓實時性深入每一刻
維基百科中寫道: “實時操作系統(tǒng)(RTOS;通常被讀作‘阿-陶思’)是一種專為實時應(yīng)用而設(shè)計的多任務(wù)操作系統(tǒng)。RTOS為實時系統(tǒng)設(shè)計提供了便利,但它并不能夠保證最終的結(jié)果是實時的;要做到這一點還需要正確開發(fā)相應(yīng)的軟件。RTOS的價值并不體現(xiàn)在數(shù)據(jù)處理能力方面,而是主要在于對特定事件的響應(yīng)速度與預(yù)見性方面。因此最小中斷響應(yīng)延遲和最小線程切換延遲是衡量一款RTOS的重要參數(shù)。”
RTOS具備了在多任務(wù)環(huán)境下對任務(wù)關(guān)鍵性進行編排的能力。在單任務(wù)系統(tǒng)中,由于不會出現(xiàn)多個任務(wù)同時競爭計算資源的情況,每個任務(wù)都是實時運行的。這種情況下,當任何一個事件發(fā)生并對CPU發(fā)出請求時,CPU就會立刻對它作出響應(yīng)。這是因為CPU在同一時刻不會執(zhí)行其他操作,也不會被其他事件所阻礙。
在多任務(wù)環(huán)境下,CPU需要在多個任務(wù)之間進行切換,這時,實時性的價值才能得到體現(xiàn)。當一個事件出現(xiàn)并對CPU發(fā)出請求時,CPU很可能正忙于處理其他事件,因而不能立即對該請求做出響應(yīng)。它必須以某種方式把正在處理的任務(wù)擱置起來,便于CPU在處理完中斷事件之后重新回到之前的任務(wù)上,然后,CPU才會響應(yīng)中斷事件。最后,它必須在處理完中斷事件后重新回到之前的任務(wù)線程上。
一款工業(yè)級實時操作系統(tǒng)的使命就是處理中斷標志事件。中斷是由外部電路發(fā)出的信號。外部電路把CPU的中斷管腳拉到高電平(對絕大多數(shù)CPU是這樣的)并長期保持該信號,直到CPU識別出該中斷信號。CPU一般會在一段確定的時間內(nèi)對中斷信號做出響應(yīng),這是強制規(guī)定的。
虛擬世界
操作系統(tǒng)(OS)作為一種軟件,最根本的任務(wù)是對位組合進行操作。對于軟件而言,硬件只是一連串代表它們在地址空間內(nèi)位置的位組合以及臨時與這些位置有關(guān)的數(shù)據(jù)字。
虛擬化技術(shù)正是依賴于這樣一個事實:軟件不知道也不必去關(guān)心這些位組合的來龍去脈,它只需要在位組合出現(xiàn)時對其進行處理。
假設(shè)你擁有一臺運行速度飛快的計算機,但是你需要的卻是兩臺對速度要求不高的計算機。也許你想在其中一臺上運行Microsift的Vista操作系統(tǒng)(當然你缺少這臺電腦),而在另一臺上運行WindRiver的VxWorks RTOS。Vista 可以提供人機界面(HMI)并且能夠通過因特網(wǎng)自動把數(shù)據(jù)上傳到位于巴基斯坦的服務(wù)器里,與此同時VxWorks會對流程進行實時控制。
管理程序的地位介于硬件與操作系統(tǒng)實例之間。它對操作系統(tǒng)進行劃分,
以虛擬形式把不同硬件分別呈現(xiàn)給不同的操作系統(tǒng)。
你可以應(yīng)用軟件虛擬化技術(shù)“克隆”你所擁有的這個高速處理器,并把它分身為兩個相同的虛擬處理器。當然,這兩個虛擬處理器的運行速度會減慢。其中一個處理器可以運行Vista,另一個運行VxWorks。
用來實現(xiàn)上述技術(shù)的虛擬化軟件被稱為“管理程序”。管理程序在計算機結(jié)構(gòu)中的位置介于硬件與各個操作系統(tǒng)實例之間。從硬件層面看,管理程序永遠只是一個普通的操作系統(tǒng)。從操作系統(tǒng)層面看,管理程序就像是一種硬件。
管理程序有三大功能:
■ 它為各種OS提供了訪問硬件的途徑。這些硬件包括處理器、內(nèi)存以及輸入/輸出接口。它能確保相互不兼容的操作系統(tǒng)在一起融洽地工作。管理程序在設(shè)計上滿足實時操作性要求。也就是說,為了維持RTOS的決策,管理軟件會對所有硬件資源進行分配。
■ 它提供了不同OS之間的隔離機制,包括數(shù)據(jù)和系統(tǒng)
■ 它提供了OS之間安全的數(shù)據(jù)共享機制。
想要真正理解虛擬化,那么你必須記住下面這個關(guān)鍵詞——“實例”,同一款OS可能擁有多個實例。例如,你可以建立多個RTOS實例,每個實例服務(wù)于一條獨立的控制回路。你還可以擁有兩個(非實時)桌面操作系統(tǒng)實例,一個連接到因特網(wǎng),另一個用來在安全機制下運行辦公軟件。如果有黑客入侵到連接因特網(wǎng)的那個實例,那么只有與該實例直接相關(guān)的數(shù)據(jù)文件才可能受到牽連。
管理軟件通過防火墻來保護共享文件。用戶只需要簡單地刪除受到病毒感染的實例就可以清除OS實例內(nèi)的惡意軟件,與另一個實例共享的數(shù)據(jù)則安然無恙。如果用戶要想重新連接到互聯(lián)網(wǎng),只需要啟用一個新的連接互聯(lián)網(wǎng)的實例即可。
最后,管理程序?qū)崿F(xiàn)了實時OS和非實時OS的共存。這種情況之下,管理程序為了維持RTOS的決策,可能會降低非
多核硬件
多核微控制器是一種多處理架構(gòu)的整合形式。多處理器硬件由多個共享同一片儲存空
間的CPU構(gòu)成。多年來,該技術(shù)已經(jīng)在板級多核互連以及I/O通道、內(nèi)存資源共享方面得到了廣泛應(yīng)用。
非對稱多處理器系統(tǒng)包含了多個不同的CPU內(nèi)核。
非對稱多處理器系統(tǒng)包含了多個不同的CPU內(nèi)核。
在過去幾年里,半導(dǎo)體制造商開發(fā)的產(chǎn)品在復(fù)雜度上有了極大的提高,以至于能夠把多個CPU內(nèi)核做在一片晶元上。這項技術(shù)大大提高了電路集成度以及數(shù)據(jù)傳輸速度。這類高密度集成硬件被稱作“多核”。
多處理器構(gòu)架分為兩類:對稱多處理器(SMP)和非對稱多處理器(AMP) 。SMP由多個相同的(或?qū)ΨQ的)CPU構(gòu)成,而構(gòu)成AMP的CPU則不盡相同。
大多數(shù)商業(yè)化的多核設(shè)備都使用對稱多處理器架構(gòu)。非對稱多處理架構(gòu)主要針對一些特殊的應(yīng)用,所以它很難實現(xiàn)批量生產(chǎn),單片價格居高不下。
如今,在一片IC上整合了兩枚相同CPU內(nèi)核的雙核對稱多處理器雖然還沒有完全普及,但是已經(jīng)能購買到了。整合了四枚相同CPU內(nèi)核的四核對稱多處理器也已經(jīng)在幾年前面世。最近,飛思卡爾半導(dǎo)體公司推出了一款面向通信領(lǐng)域的8核微處理器。其他一些半導(dǎo)體公司也紛紛宣布他們的處理器產(chǎn)品將采用更多(甚至是超多)的CPU內(nèi)核。
也許,集成多核技術(shù)帶來的最明顯好處是大幅降低了能耗。如果一片晶元上集成了N個CPU,那么在不增加時鐘頻率的情況下,芯片的整體處理速度就會呈現(xiàn)成倍的增長(大約增長0.8N倍)。
德州儀器的系統(tǒng)架構(gòu)高級開發(fā)經(jīng)理Ray Simar為我們介紹了一款三核處理器。該處理器每個內(nèi)核的時鐘頻率都是1GHz,而運算性能等同于一個時鐘頻率為3GHz的單核處理器。他還指出,另一塊包含六個內(nèi)核,每個內(nèi)核時鐘頻率為500MHz的芯片也能夠提供同樣的運算性能,但功耗只是單核處理器的一小部分。
有了多核技術(shù),我們可以把計算任務(wù)拆分為多個部分。這種方案在一些控制系統(tǒng)特殊應(yīng)用中有用武之地。 例如,多核處理器的一個內(nèi)核可以專門用來對某個回路作實時控制,其余內(nèi)核則可以解放出來,共同完成一些實時性要求不高,但計算量非常繁重的任務(wù)。要是我們沒有專門分配一個內(nèi)核作回路控制,那么回路控制程序就不得不與其他任務(wù)競爭CPU資源了。
全面整合
2008年6月飛思卡爾公司推出了QorIQ P4080多核處理器。這款8核對稱架構(gòu)處理器為我們展示了多種將RTOS、虛擬化技術(shù)和多核技術(shù)結(jié)合的方案,為控制工程師設(shè)計系統(tǒng)架構(gòu)提供了新的選擇。該產(chǎn)品一經(jīng)推出,幾乎在同一時期,多家嵌入式系統(tǒng)軟件公司都做出了響應(yīng)。
Green Hills軟件公司展示了他們的Multi集成開發(fā)環(huán)境(IDE)是如何在Virtutech Simics系統(tǒng)仿真器中對Freescale 8核處理器進行調(diào)試的。該公司還同時展示了他們的Green Hills Integrity RTOS。該系統(tǒng)包含了Padded Cell主機管理程序和客戶端操作系統(tǒng)。
Virtutech公司宣布,他們的產(chǎn)品具備了混合仿真功能,能夠在Simics仿真環(huán)境下支持多層次抽象模型的仿真。
風河系統(tǒng)公司發(fā)布了他們?yōu)閂xWorks和Linux 操作系統(tǒng)在多核設(shè)備上的運行提供前期支持的軟件開發(fā)方案。此外,該公司還展示了他們基于Eclipse架構(gòu)的Workbench開發(fā)套件。這套開發(fā)工具可以在Virtutech Simics仿真器中運行。
在這種趨勢下,控制工程師不必再因為硬件或軟件的限制,對應(yīng)用程序作裁減。如今,他們能夠隨意創(chuàng)造出滿足性能、特點要求的虛擬系統(tǒng)。
然而自由總是與責任并存的。你擁有更多的選擇也就意味著你必須做出更多的選擇。控制工程師只有掌握了新的技術(shù)和知識,才能夠做出正確的選擇。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計算機應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎(chǔ)培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計案例教程中文版AutoCAD 建筑設(shè)計案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機械A(chǔ)utoCAD 項目教程 第3版 [繆希偉 主編] 2012年P(guān)DF