徐巧格
(陜西能源職業(yè)技術(shù)學(xué)院陜西咸陽712000)
對CORTEX-A8處理器的嵌入式數(shù)控系統(tǒng)實時平臺的設(shè)計研究
徐巧格
(陜西能源職業(yè)技術(shù)學(xué)院陜西咸陽712000)
本文對實時系統(tǒng)和嵌入式實時系統(tǒng)進行了介紹,冰對這兩種系統(tǒng)的實現(xiàn)方法進行了分析,重點介紹了基于CORTEX-A8處理器的嵌入式數(shù)控系統(tǒng)硬件平臺的設(shè)計,對該系統(tǒng)的計算能力進行了實驗測試,提出了基于CORTEX-A8處理器的嵌入式能夠滿足數(shù)控系統(tǒng)的要求,運行該系統(tǒng)可以實現(xiàn)實時加工,能夠提高低端數(shù)控系統(tǒng)的計算能力。
CORTEX-A8處理器;嵌入式數(shù)控系統(tǒng);實時;設(shè)計
數(shù)控系統(tǒng)是根據(jù)設(shè)計要求,利用計算機來對產(chǎn)品的加工進行數(shù)字化的處理及控制。本文根據(jù)數(shù)控系統(tǒng)對操作系統(tǒng)的實時性的要求,通過對現(xiàn)有的Linux的方案的分析,結(jié)合高性能的OMAP3530,來實現(xiàn)基于OMAP3530處理器的嵌入式實時系統(tǒng),然后在此基礎(chǔ)上完成基于實時嵌入式的數(shù)控系統(tǒng)的設(shè)計。
標(biāo)準(zhǔn)的Linux內(nèi)核當(dāng)中,中斷處理機制會加設(shè)一定的延遲程序,從而使得系統(tǒng)無法達(dá)到實施響應(yīng)的要求。通過對標(biāo)準(zhǔn)的Linux系統(tǒng)進行改造,在中斷響應(yīng)以及調(diào)度抖動降低到微秒級,這樣就可以更好的響應(yīng)外部事物,達(dá)到了實時性的要求。對Linux系統(tǒng)進行實時改造的方法有四種包括:使用微內(nèi)核實現(xiàn)實時、利用可搶占的內(nèi)核實現(xiàn)實時、采用ADEOS技術(shù)以及修改內(nèi)核的辦法。所謂的改善為內(nèi)核的方式實現(xiàn)實時,則是在Linux系統(tǒng)內(nèi)核與硬件平臺間插入微內(nèi)核,其中插入的微內(nèi)核獨立于Linux內(nèi)核運行,插入的微內(nèi)核通過中斷的接管,達(dá)到了最小的延遲效果,從而實現(xiàn)了實時的特性。Linux系統(tǒng)內(nèi)核當(dāng)中2.6版本以后的系統(tǒng)加設(shè)了可搶占機制,所謂可搶占機制,則是低優(yōu)先級的任務(wù)可以被高優(yōu)先級的任務(wù)掛起,而且高優(yōu)先級可以獲取更多資源,所以可以通過給實時任務(wù)分配一個高的優(yōu)先級,從而使得在切換任務(wù)時不斷地?fù)屨嫉蛢?yōu)先級,從而實現(xiàn)任務(wù)的實時特性[1-3]。ADEOS技術(shù)則是提供一種達(dá)到工業(yè)級實時性的實施框架。通過修改內(nèi)核的時鐘系統(tǒng)、共享內(nèi)存等來達(dá)到實時Linux的目的,再加入微秒級的時鐘精度就可以滿足實時性比較嚴(yán)格的場合。
嵌入式的實時系統(tǒng)是通過硬件平臺以及操作系統(tǒng)共同作用實現(xiàn)實時特性的。Omap3530處理器是以ARMcortex-a8處理器作為核心技術(shù)的嵌入式處理器,此項處理器的處理性能是傳統(tǒng)ARM9的4倍,并且整個實時系統(tǒng)由操作系統(tǒng)決定實時性。在Linux系統(tǒng)實現(xiàn)實時改造的4種方法當(dāng)中只有ADEOS技術(shù)綜合各方面更為適合于嵌入式系統(tǒng)。將ADEOS引入嵌入式領(lǐng)域?qū)崿F(xiàn)實時的結(jié)構(gòu)是,在OMAP3530的處理器上構(gòu)建Linux/Xenomai構(gòu)架的嵌入式實時操作系統(tǒng),這樣就給數(shù)控系統(tǒng)建立了從用戶空間再到內(nèi)核空間的實施平臺,以ADEOS技術(shù)實時擴展的XENOMAI是Linux內(nèi)核的一個實施開發(fā)框架,此框架完全運行于ADEOS之上[4-6]。
1)對嵌入式數(shù)控系統(tǒng)的結(jié)構(gòu)分析。數(shù)控機床是全機電一體化的技術(shù)產(chǎn)品,包含機床本體、數(shù)控裝置、伺服驅(qū)動裝置、PLC單元。數(shù)控機床控制數(shù)控系統(tǒng),主要包含硬件和軟件兩部分。硬件部分及設(shè)備驅(qū)動是整個數(shù)控系統(tǒng)的基礎(chǔ)支撐,軟件部分是由設(shè)計者設(shè)計的表達(dá),兩者共同組合才可構(gòu)成整個數(shù)控系統(tǒng)。數(shù)控系統(tǒng)的軟硬件的具體組成如表1所示。
表1 數(shù)控系統(tǒng)的軟硬件結(jié)構(gòu)組成
2)對Cortex-A8處理器的具體介紹。目前Cortex-A8處理器是在RISC基礎(chǔ)上建立起來的微處理器。處理器本身是采用32位的設(shè)計,不過有具備16位的所有指令,不僅和同等價位的節(jié)省了代碼,而且還持有32位系統(tǒng)所有的優(yōu)勢。是一款在ARMv7之上的應(yīng)用處理器,具有高性能、高效率的處理器。處理器內(nèi)核的選擇也極為重要,它決定的處理器的使用效率好壞。本次設(shè)計選取AM335X來作為數(shù)控系統(tǒng)硬件平臺的核心處理器,其具備高頻使用等特點。選取EP4CE10F17I8N來作為本次設(shè)計的協(xié)助處理器,其豐富的邏輯資源以及超低功耗等為數(shù)控系統(tǒng)實時設(shè)計的實現(xiàn)提供了基礎(chǔ)。
3)基于Cortex-A8的數(shù)控系統(tǒng)硬件結(jié)構(gòu)設(shè)計。Cortex-A8+FPGA的雙處理器的構(gòu)架,根據(jù)Cortex-A8核心處理器完成任務(wù)的調(diào)度等功能,以及FPGA的靈活性等特點,將其作為協(xié)助處理器,如圖1所示的數(shù)控系統(tǒng)硬件平臺結(jié)構(gòu)的示意圖。
圖1 數(shù)控系統(tǒng)統(tǒng)硬件平臺結(jié)構(gòu)圖
1)Cortex-A8采用最小系統(tǒng)的硬件電路。AM335X處理器使用的是目前最新系統(tǒng)的電路設(shè)計,內(nèi)嵌176 K位的只讀存儲器,并且程序只能存儲在片外的芯片當(dāng)中,所以還需在設(shè)置讀寫的存儲器以及顯示系統(tǒng),從而可以確保系統(tǒng)的正常運行,達(dá)到實時的目的。
2)Cortex-A8外部接口以及FPGA外部接口的內(nèi)容。AM335X外部接口主要有LCD液晶顯示接口、Ethernet、串行設(shè)計以及USB OTG 4個接口。只有做好Cortex-A8外圍硬件的4個接口的完好設(shè)計才算完成外圍硬件接口電路的設(shè)計[7-8]。其次是FPGA部分,其外圍的電路設(shè)計分為3個部分,包括Cortex-A8-FPGA雙處理器的通信電路、主軸控制電路和反饋電路以及基本的輸入輸出電路的設(shè)計與實現(xiàn)。
3)最后是對基于Cortex-A8嵌入式數(shù)控系統(tǒng)的硬件平臺的板卡進行優(yōu)化。首先就是對其表面的布局進行優(yōu)化設(shè)計,使其更加清晰明了;其次是設(shè)計平臺的可靠性以及穩(wěn)定性。使得平臺更具有使用價值。
FPGA固件程序的模塊設(shè)計。這是硬件設(shè)計的關(guān)鍵環(huán)節(jié),此次設(shè)計采用從上到下的設(shè)計原則,盡量做到高內(nèi)聚、低耦合。其內(nèi)容簡單分為4個模塊的設(shè)計分別為:FPGA與AM335X處理器間的通信接口模塊設(shè)計、FPGA時鐘使能管理模塊、多軸硬件精插補器模塊以及接口功能模塊,分別對這4個模塊進行設(shè)計。其中插補技術(shù)是硬件部分設(shè)計的核心,其工作實質(zhì)是利用有限的信息來完成數(shù)據(jù)密化的工作。接口功能模塊的設(shè)計包括:精準(zhǔn)脈寬脈沖模塊設(shè)計、NC面板及MCP面板掃描模塊等[9-11]。
對時間數(shù)據(jù)的采集是對該系統(tǒng)進行評估的關(guān)鍵,直接影響著評估測量結(jié)果的精確性[12-13]。在CORTEX-A8處理器的內(nèi)核中包含一個64位的硬件計數(shù)器,該計數(shù)器的作用是對處理器從上電到測量是的時鐘周期數(shù)進行記錄,并且外界因素不能對該計數(shù)器的值產(chǎn)生影響,故而通過讀取該計時器的值就可以獲得精確的時間,利用硬件計數(shù)器對程序執(zhí)行時間進行測量的方法如圖2所示。
圖2 時間測量方法示意圖
如圖2所示,首先在時間測量的起始點A,連續(xù)兩次讀取硬件計數(shù)器的值得到t00-count和t01-count,在時間測量的結(jié)束點B讀取硬件計數(shù)器的時間t1-count0,根據(jù)以下公式計算出執(zhí)行時間T。
分別對9中周期不同的實時任務(wù)的調(diào)度延遲進行測量,并且每組數(shù)據(jù)總共要進行20 000次采樣,數(shù)據(jù)分布如圖3所示,其中橫坐標(biāo)代表任務(wù)周期,每組數(shù)據(jù)左邊的柱高表示的調(diào)度延遲的最小值,中間柱高表示的是調(diào)度延遲的平均值,右邊的柱高表示的調(diào)度延遲的最大值。由圖3可知,調(diào)度延遲的最小值和平均值均大于 15 μs,調(diào)度延遲的最大值小于 35 μs,這就說明該系統(tǒng)在用戶和內(nèi)核空間都具有體現(xiàn)出了較好的實時性,能夠很好的滿足實際生產(chǎn)加工的需要[14-15]。
圖3 內(nèi)核空間任務(wù)的調(diào)度延遲
通過對嵌入式實時系統(tǒng)實現(xiàn)方法的了解,文中設(shè)計了基于CORTEX-A8處理器的嵌入式數(shù)控系統(tǒng)的實時平臺,最后通過實驗與分析對設(shè)計進行性能檢測,結(jié)果表明本次設(shè)計的嵌入式實時系統(tǒng)具有很好地實時特性,基本可以達(dá)到工業(yè)要求。
[1]數(shù)控技術(shù).[EB/OL].http://baike.baidu.com/view/87747.htm,2013.
[2]侯鳳媛.數(shù)控技術(shù)的研究現(xiàn)狀與發(fā)展方向[J].機電技術(shù),2012(3):167-168.
[3]宋春華.數(shù)控技術(shù)的現(xiàn)狀及發(fā)展趨勢[J].裝備制造技術(shù),2011(3):114-117.
[4]曹玉華,游有鵬.基于Xenomai的嵌入式數(shù)控系統(tǒng)實時性研究[J].制造技術(shù)與機床,2011(6):51-55.
[5]王延偉.基于Xenomai的實時Linux嵌入式機器人控制平臺設(shè)計[D].山東:山東大學(xué),2011.
[6]趙俊勛,唐厚君,鐘溢原.基于Cortex-A8的倉庫管理移動終端設(shè)計[J].微型電腦應(yīng)用,2011(10):15-18.
[7]EDA先鋒工作室.Altera FPGA/CPLD設(shè)計(基礎(chǔ)篇)[M].2版.北京:人民郵電出版社,2011.
[8]EDA先鋒工作室.Altera FPGA/CPLD設(shè)計(基礎(chǔ)篇)[M].2版.北京:人民郵電出版社,2011.
[9]庹云鳳,江先陽.基于ARM Cortex-A8平臺的警務(wù)終端硬件設(shè)計[J].工業(yè)技術(shù),2011(17):170-171.
[10]姜寧,劉華平.基于Cortex—A8多媒體編解碼優(yōu)化[J].工業(yè)技術(shù),2012(13):162-163.
[11]孫延嶺,趙雪飛,張紅芳,等.基于ARM嵌入式系統(tǒng)的微型智能可編程控制器[J].電力系統(tǒng)自動化,2010(10):101-104.
[12]楊鑄,唐攀.深入淺出嵌入式底層軟件開發(fā)[M].北京:北京航空航天大學(xué)出版社,2011.
[13]華清遠(yuǎn)見嵌入式學(xué)院.從實踐中學(xué)嵌入式Linux應(yīng)用程序開發(fā)[M].北京:電子工業(yè)出版社,2012.
[14]華清遠(yuǎn)見嵌入式學(xué)院.從實踐中學(xué)嵌入式LinuxC編程[M].北京:電子工業(yè)出版社,2012.
[15]韓守謙,裴海龍,王清陽.基于XENOMAI的實時嵌入式Linux操作系統(tǒng)的構(gòu)建[J].計算機工程與設(shè)計,2011,32(1):96-98,102.
Design and research on CORTEX?A8 processor,real?time embedded CNC system platform
XU Qiao?ge
(Shaanxi Energy Institute,Xi’an712000,China)
In this paper,real?time systems and embedded real?time systems were introduced,these ice implementation of both systems is analyzed,focusing on the numerical control system based on embedded hardware platform CORTEX-A8 processor design,the computing capability of the system conducted experiments to test proposed CORTEX-A8 processor?based embedded numerical control system to meet the requirements to run the system can achieve real?time processing,computing power can be improved low?end CNC system.
CORTEX-A8 processor;embedded CNC system;real-time;design
TN99
A
1674-6236(2017)22-0136-03
2016-01-21稿件編號:201601178
徐巧格(1970—),女,陜西楊陵人,講師。研究方向:計算機應(yīng)用。