徐巧格
(陜西能源職業技術學院陜西咸陽712000)
對CORTEX-A8處理器的嵌入式數控系統實時平臺的設計研究
徐巧格
(陜西能源職業技術學院陜西咸陽712000)
本文對實時系統和嵌入式實時系統進行了介紹,冰對這兩種系統的實現方法進行了分析,重點介紹了基于CORTEX-A8處理器的嵌入式數控系統硬件平臺的設計,對該系統的計算能力進行了實驗測試,提出了基于CORTEX-A8處理器的嵌入式能夠滿足數控系統的要求,運行該系統可以實現實時加工,能夠提高低端數控系統的計算能力。
CORTEX-A8處理器;嵌入式數控系統;實時;設計
數控系統是根據設計要求,利用計算機來對產品的加工進行數字化的處理及控制。本文根據數控系統對操作系統的實時性的要求,通過對現有的Linux的方案的分析,結合高性能的OMAP3530,來實現基于OMAP3530處理器的嵌入式實時系統,然后在此基礎上完成基于實時嵌入式的數控系統的設計。
標準的Linux內核當中,中斷處理機制會加設一定的延遲程序,從而使得系統無法達到實施響應的要求。通過對標準的Linux系統進行改造,在中斷響應以及調度抖動降低到微秒級,這樣就可以更好的響應外部事物,達到了實時性的要求。對Linux系統進行實時改造的方法有四種包括:使用微內核實現實時、利用可搶占的內核實現實時、采用ADEOS技術以及修改內核的辦法。所謂的改善為內核的方式實現實時,則是在Linux系統內核與硬件平臺間插入微內核,其中插入的微內核獨立于Linux內核運行,插入的微內核通過中斷的接管,達到了最小的延遲效果,從而實現了實時的特性。Linux系統內核當中2.6版本以后的系統加設了可搶占機制,所謂可搶占機制,則是低優先級的任務可以被高優先級的任務掛起,而且高優先級可以獲取更多資源,所以可以通過給實時任務分配一個高的優先級,從而使得在切換任務時不斷地搶占低優先級,從而實現任務的實時特性[1-3]。ADEOS技術則是提供一種達到工業級實時性的實施框架。通過修改內核的時鐘系統、共享內存等來達到實時Linux的目的,再加入微秒級的時鐘精度就可以滿足實時性比較嚴格的場合。
嵌入式的實時系統是通過硬件平臺以及操作系統共同作用實現實時特性的。Omap3530處理器是以ARMcortex-a8處理器作為核心技術的嵌入式處理器,此項處理器的處理性能是傳統ARM9的4倍,并且整個實時系統由操作系統決定實時性。在Linux系統實現實時改造的4種方法當中只有ADEOS技術綜合各方面更為適合于嵌入式系統。將ADEOS引入嵌入式領域實現實時的結構是,在OMAP3530的處理器上構建Linux/Xenomai構架的嵌入式實時操作系統,這樣就給數控系統建立了從用戶空間再到內核空間的實施平臺,以ADEOS技術實時擴展的XENOMAI是Linux內核的一個實施開發框架,此框架完全運行于ADEOS之上[4-6]。
1)對嵌入式數控系統的結構分析。數控機床是全機電一體化的技術產品,包含機床本體、數控裝置、伺服驅動裝置、PLC單元。數控機床控制數控系統,主要包含硬件和軟件兩部分。硬件部分及設備驅動是整個數控系統的基礎支撐,軟件部分是由設計者設計的表達,兩者共同組合才可構成整個數控系統。數控系統的軟硬件的具體組成如表1所示。

表1 數控系統的軟硬件結構組成
2)對Cortex-A8處理器的具體介紹。目前Cortex-A8處理器是在RISC基礎上建立起來的微處理器。處理器本身是采用32位的設計,不過有具備16位的所有指令,不僅和同等價位的節省了代碼,而且還持有32位系統所有的優勢。是一款在ARMv7之上的應用處理器,具有高性能、高效率的處理器。處理器內核的選擇也極為重要,它決定的處理器的使用效率好壞。本次設計選取AM335X來作為數控系統硬件平臺的核心處理器,其具備高頻使用等特點。選取EP4CE10F17I8N來作為本次設計的協助處理器,其豐富的邏輯資源以及超低功耗等為數控系統實時設計的實現提供了基礎。
3)基于Cortex-A8的數控系統硬件結構設計。Cortex-A8+FPGA的雙處理器的構架,根據Cortex-A8核心處理器完成任務的調度等功能,以及FPGA的靈活性等特點,將其作為協助處理器,如圖1所示的數控系統硬件平臺結構的示意圖。

圖1 數控系統統硬件平臺結構圖
1)Cortex-A8采用最小系統的硬件電路。AM335X處理器使用的是目前最新系統的電路設計,內嵌176 K位的只讀存儲器,并且程序只能存儲在片外的芯片當中,所以還需在設置讀寫的存儲器以及顯示系統,從而可以確保系統的正常運行,達到實時的目的。
2)Cortex-A8外部接口以及FPGA外部接口的內容。AM335X外部接口主要有LCD液晶顯示接口、Ethernet、串行設計以及USB OTG 4個接口。只有做好Cortex-A8外圍硬件的4個接口的完好設計才算完成外圍硬件接口電路的設計[7-8]。其次是FPGA部分,其外圍的電路設計分為3個部分,包括Cortex-A8-FPGA雙處理器的通信電路、主軸控制電路和反饋電路以及基本的輸入輸出電路的設計與實現。
3)最后是對基于Cortex-A8嵌入式數控系統的硬件平臺的板卡進行優化。首先就是對其表面的布局進行優化設計,使其更加清晰明了;其次是設計平臺的可靠性以及穩定性。使得平臺更具有使用價值。
FPGA固件程序的模塊設計。這是硬件設計的關鍵環節,此次設計采用從上到下的設計原則,盡量做到高內聚、低耦合。其內容簡單分為4個模塊的設計分別為:FPGA與AM335X處理器間的通信接口模塊設計、FPGA時鐘使能管理模塊、多軸硬件精插補器模塊以及接口功能模塊,分別對這4個模塊進行設計。其中插補技術是硬件部分設計的核心,其工作實質是利用有限的信息來完成數據密化的工作。接口功能模塊的設計包括:精準脈寬脈沖模塊設計、NC面板及MCP面板掃描模塊等[9-11]。
對時間數據的采集是對該系統進行評估的關鍵,直接影響著評估測量結果的精確性[12-13]。在CORTEX-A8處理器的內核中包含一個64位的硬件計數器,該計數器的作用是對處理器從上電到測量是的時鐘周期數進行記錄,并且外界因素不能對該計數器的值產生影響,故而通過讀取該計時器的值就可以獲得精確的時間,利用硬件計數器對程序執行時間進行測量的方法如圖2所示。

圖2 時間測量方法示意圖
如圖2所示,首先在時間測量的起始點A,連續兩次讀取硬件計數器的值得到t00-count和t01-count,在時間測量的結束點B讀取硬件計數器的時間t1-count0,根據以下公式計算出執行時間T。

分別對9中周期不同的實時任務的調度延遲進行測量,并且每組數據總共要進行20 000次采樣,數據分布如圖3所示,其中橫坐標代表任務周期,每組數據左邊的柱高表示的調度延遲的最小值,中間柱高表示的是調度延遲的平均值,右邊的柱高表示的調度延遲的最大值。由圖3可知,調度延遲的最小值和平均值均大于 15 μs,調度延遲的最大值小于 35 μs,這就說明該系統在用戶和內核空間都具有體現出了較好的實時性,能夠很好的滿足實際生產加工的需要[14-15]。

圖3 內核空間任務的調度延遲
通過對嵌入式實時系統實現方法的了解,文中設計了基于CORTEX-A8處理器的嵌入式數控系統的實時平臺,最后通過實驗與分析對設計進行性能檢測,結果表明本次設計的嵌入式實時系統具有很好地實時特性,基本可以達到工業要求。
[1]數控技術.[EB/OL].http://baike.baidu.com/view/87747.htm,2013.
[2]侯鳳媛.數控技術的研究現狀與發展方向[J].機電技術,2012(3):167-168.
[3]宋春華.數控技術的現狀及發展趨勢[J].裝備制造技術,2011(3):114-117.
[4]曹玉華,游有鵬.基于Xenomai的嵌入式數控系統實時性研究[J].制造技術與機床,2011(6):51-55.
[5]王延偉.基于Xenomai的實時Linux嵌入式機器人控制平臺設計[D].山東:山東大學,2011.
[6]趙俊勛,唐厚君,鐘溢原.基于Cortex-A8的倉庫管理移動終端設計[J].微型電腦應用,2011(10):15-18.
[7]EDA先鋒工作室.Altera FPGA/CPLD設計(基礎篇)[M].2版.北京:人民郵電出版社,2011.
[8]EDA先鋒工作室.Altera FPGA/CPLD設計(基礎篇)[M].2版.北京:人民郵電出版社,2011.
[9]庹云鳳,江先陽.基于ARM Cortex-A8平臺的警務終端硬件設計[J].工業技術,2011(17):170-171.
[10]姜寧,劉華平.基于Cortex—A8多媒體編解碼優化[J].工業技術,2012(13):162-163.
[11]孫延嶺,趙雪飛,張紅芳,等.基于ARM嵌入式系統的微型智能可編程控制器[J].電力系統自動化,2010(10):101-104.
[12]楊鑄,唐攀.深入淺出嵌入式底層軟件開發[M].北京:北京航空航天大學出版社,2011.
[13]華清遠見嵌入式學院.從實踐中學嵌入式Linux應用程序開發[M].北京:電子工業出版社,2012.
[14]華清遠見嵌入式學院.從實踐中學嵌入式LinuxC編程[M].北京:電子工業出版社,2012.
[15]韓守謙,裴海龍,王清陽.基于XENOMAI的實時嵌入式Linux操作系統的構建[J].計算機工程與設計,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—),女,陜西楊陵人,講師。研究方向:計算機應用。