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