《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于OMAP3530數(shù)控系統(tǒng)的雙核通信設計
基于OMAP3530數(shù)控系統(tǒng)的雙核通信設計
2015年電子技術應用第9期
楊劍波,趙東標,劉 念
(南京航空航天大學 機電學院,江蘇 南京210016)
摘要: OMAP3530是TI公司針對開放式多媒體應用平臺推出的一款高性能嵌入式微處理器。基于DSP/BIOSTM LINK的軟件構架對ARM和DSP進行一種新型通信方式的設計。其中ARM端運行嵌入式Linux系統(tǒng),完成譯碼、人機交互、數(shù)據(jù)管理等任務;DSP端運行DSP/BIOS實時系統(tǒng),完成粗插補、刀具補償和邏輯控制等任務。通過任務中斷服務和時間片輪詢法來實現(xiàn)數(shù)控系統(tǒng)多任務的準并行運行。使用雙核通信完成ARM和DSP在數(shù)控信息上的溝通、協(xié)調。系統(tǒng)采用上下位機模式,大大提升數(shù)控系統(tǒng)實時性和插補性能。
中圖分類號: TP273
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.09.008

中文引用格式: 楊劍波,趙東標,劉念. 基于OMAP3530數(shù)控系統(tǒng)的雙核通信設計[J].電子技術應用,2015,41(9):33-35,38.
英文引用格式: Yang Jianbo,Zhao Dongbiao,Liu Nian. Design of dual core communication based on OMAP3530 CNC system[J].Application of Electronic Technique,2015,41(9):33-35,38.
Design of dual core communication based on OMAP3530 CNC system
Yang Jianbo,Zhao Dongbiao,Liu Nian
College of Mechanical and Electronic Engineering,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China
Abstract: OMAP3530 is a high-performance embedded microprocessor designed by TI company for open multimedia application platform. A new type communication method is designed between the ARM and DSP based on DSP/BIOSTM LINK software framework. Particularly, Linux operating system is embedded on ARM side, to implement decoding, human-computer interaction and data management tasks. DSP/BIOS real-time operating system is embedded on DSP side, to execute rough interpolation, cutter compensation and logic control tasks. The system can realize quasi parallel operation of multi task through task interrupt service and time slice round-robin method and complete communication between ARM and DSP through dual-core communication. The system uses master-slave computer control mode, which greatly enhances the real-time performance and the interpolation of CNC system.
Key words : OMAP3530;dual-core communication;DSPLINK;time slice round-robin method

  

0 引言

  OMAP3530是TI公司推出的一款高性能移動應用處理器[1]。OMAP3530在單一芯片上無縫集成一個600 MHz ARM Cortex-A8內核和一個具有卓越運算能力和超低功耗的430 MHz TMS320C64x+ DSP內核,單個ARM在人機交互、網(wǎng)絡通信、多任務處理上有著很大的優(yōu)勢,但是其計算能力有所不足;DSP有著強大的計算和數(shù)據(jù)處理能力,但是在任務分配上難度較大。因此,充分利用兩個處理器各自的優(yōu)勢,把ARM和DSP結合起來使用能夠大大提升數(shù)控系統(tǒng)的性能。本數(shù)控系統(tǒng)使用ARM+FPGA上下位機控制[2],上位機由ARM Cortex-A8控制核心和DSP運算核心組成,完成譯碼、粗插補、加減速控制、圖形界面顯示等任務;下位機由FPGA電機控制子系統(tǒng)和CPLD輔助控制子系統(tǒng)組成,完成精插補、系統(tǒng)I/O輸入輸出、位置控制等任務。為了能夠使ARM核和DSP核更好地協(xié)調配合,共同完成實時多任務的數(shù)控系統(tǒng)軟件體系,本文使用DSPLINK進行雙核之間的通信,設計了一種地址指針傳遞的雙核通信方式,大大提升數(shù)控系統(tǒng)的性能。

1 數(shù)控系統(tǒng)硬件平臺設計

  1.1 上位機系統(tǒng)設計


001.jpg

  上位機由集成了控制核心ARM和運算核心DSP的OMAP3530處理器組成,如圖1所示,ARM、 DSP、存儲器以及各種通信接口均連接在片內L3總線上,其中ARM用于數(shù)控系統(tǒng)的控制和資源管理,完成NC代碼譯碼、MST控制、數(shù)控圖形界面管理以及人機交互等任務;DSP用于數(shù)控系統(tǒng)的高密度的計算,完成數(shù)控系統(tǒng)粗插補、刀具補償以及加減速控制等需要大量運算的任務,為數(shù)控系統(tǒng)的實時性提供有力的保障。上位機提供豐富的外設資源,外接的256 MB LPDDR為數(shù)控系統(tǒng)軟件提供大量的內存空間,256 MB NAND Flash用于存儲數(shù)控系統(tǒng)文件和一些運行相關的參數(shù)文件;外接的LCD顯示器用于數(shù)控系統(tǒng)圖形界面的顯示;MMC/SD以及USB接口用于數(shù)控系統(tǒng)加工程序代碼的輸入以及數(shù)控系統(tǒng)的升級等;標準RS232接口用于與PC進行遠程通信;此外片上還集成以太網(wǎng)的接口,用于遠程通信、診斷和操作功能的實現(xiàn)。上位機通過GPMC(系統(tǒng)外部總線)與下位機進行通信;向下位機發(fā)送粗插補和速度控制的信息,為下位機進行精插補做準備,并接收下位機傳輸?shù)臄?shù)控系統(tǒng)按鍵信息、I/O輸入和位置控制信息并及時作出響應。

  1.2 下位機系統(tǒng)設計


002.jpg


  下位機由大規(guī)模可編程邏輯控制器FPGA和CPLD構成,電機控制子系統(tǒng)FPGA采用Altera公司ACEX系列的EP1K100QC208,片上有豐富的邏輯資源和I/O端口資源,可以為數(shù)控系統(tǒng)提供大量的脈沖發(fā)生、脈沖計數(shù)和I/O控制能力。采用FPGA作為電機控制子系統(tǒng)大大簡化了硬件電路,具有高速、并行處理、穩(wěn)定性高、抗干擾性強等特點。輔助控制子系統(tǒng)CPLD選用Altera公司EPM1270芯片,完成FPGA的配置、矩陣鍵盤的控制以及外擴系統(tǒng)I/O端口的控制功能。本文使用一種改進的串行配置策略對FPGA進行配置[3],如圖2所示,CPU把存放在NAND Flash中的配置數(shù)據(jù)通過外部系統(tǒng)總線發(fā)送到CPLD,然后CPLD產生配置時序和串行化數(shù)據(jù)并將配置數(shù)據(jù)傳輸給FPGA。采用這種改進的串行配置方式,可以大大降低硬件電路的配置成本。另外,CPLD芯片具有編程加密位,使CPLD內部的電路邏輯無法被讀出,所以同時提高了數(shù)控系統(tǒng)的保密性。

2 雙核握手機制的設計


003.jpg

  數(shù)控系統(tǒng)多任務是由兩個處理器(ARM和DSP)共同完成的,雙核之間的任務分配和通信在共同完成數(shù)控系統(tǒng)任務要求時尤為重要。本文使用DSPLINK對雙核的通信進行設計和開發(fā)[4]。其原理框圖如圖3所示,它把ARM與DSP之間的物理電路連接特性抽象化為通用的API,這樣開發(fā)者無需從電路底層做起,而可以更專注于應用程序的設計。

  DSPLINK集成了很多供雙核通信使用的組件,常用的有PROC、POOL、MSGQ、MPCS等,本文對雙核通信的設計是基于MSGQ組件開發(fā)的。通過DSPLINK進行雙核通信的機理是雙核通過對共享內存區(qū)域的數(shù)據(jù)分別進行讀寫,達到雙核數(shù)據(jù)信息共享的目的。本文將集成在片內的64 KB片內RAM作為共享內存區(qū)域,使用片內的RAM進行數(shù)據(jù)的傳輸可以增加數(shù)據(jù)傳輸?shù)男什⑶液喕瘮?shù)據(jù)傳輸?shù)能浖Y構。MSGQ[5](message queue)主要負責ARM端和DSP端可變長度短消息的交互,更為重要的是其支持高頻率的處理器之間信息的交互,這在實時多任務的數(shù)控系統(tǒng)中十分重要,為數(shù)控系統(tǒng)的實時性提供有力的保障,該組件會把要發(fā)送的數(shù)據(jù)包裝成一個message,雙核之間以message的形式進行通信。本設計的基于MSGQ的雙核通信框圖如圖4所示,ARM和DSP可以通過指令MSGQ_put()和MSGQ_get()向消息隊列中寫入和讀取數(shù)據(jù),通過ARM和DSP高頻率地對共享內存區(qū)域的讀寫,達到雙核通信的目的。

004.jpg

  在數(shù)控程序運行過程中,ARM和DSP通過共享內存區(qū)域傳遞互相所需要的數(shù)據(jù),但是數(shù)控程序一般較為復雜,message存放在片內64 KB RAM中,故一次性傳遞的數(shù)據(jù)大小受到很大限制,而且傳遞數(shù)據(jù)所花費的時間也會大大增加,這樣對實時性要求很高的數(shù)控系統(tǒng)來說是十分不利的。本文對message消息的內容進行了優(yōu)化,將傳遞數(shù)控相關數(shù)據(jù)改為傳遞相關指針變量,這樣不僅節(jié)省了message消息隊列的空間大小,很好地利用了片內RAM的有效空間,并且很大程度上提升了雙核通信的效率,從大量繁瑣的數(shù)控程序的傳遞到數(shù)控程序和數(shù)據(jù)所在地址的傳遞,傳遞的內容得到了優(yōu)化并且軟件框架也得到了大大的減化[6]。

  本文將一個包含許多指針變量的struct變量包裝成一個message,ARM和DSP通過對struct變量中相關成員參數(shù)進行修改,達到雙核協(xié)調合作共同完成數(shù)控系統(tǒng)軟件工作的要求。設計的struct變量如下:

  struct message

  {

  (Uint32) MGSQ_ID;//消息隊列的ID號,

  用來標識制定的message進行通信

  (Uint32) arm_enable;//ARM使能標志位,

  允許ARM使用芯片內部總線

  (Uint32) dsp_enable;//DSP使能標志位,與ARM使能

  標志位相反,使同一時刻只有一個處理器

  使用內部總線,避免沖突

  (Uint32) *arm_start_read;//ARM待讀取數(shù)據(jù)起始地址的

  指針變量

  (Uint32) *arm_start_write;//ARM待寫入數(shù)據(jù)的起始地址的

  指針變量

  (Uint32) *arm_end_read;//ARM讀取數(shù)據(jù)截止地址的

  指針變量

  (Uint32) *arm_end_write;//ARM寫入數(shù)據(jù)截止地址的

  指針變量

  (Uint32) *dsp_start_read;//DSP待讀取數(shù)據(jù)起始地址的

  指針變量

  (Uint32) *dsp_start_write;//DSP待寫入數(shù)據(jù)的起始地址的

  指針變量

  (Uint32) *dsp_end_read;//DSP讀取數(shù)據(jù)截止地址的指針變量

  (Uint32) *dsp_end_write;//DSP寫入數(shù)據(jù)截止地址的指針變量

  (Uint32) armcacheover;//ARM 256 KB一級緩存區(qū)滿標志位,

  用于刷新LCD顯示數(shù)據(jù)

  }message1;

  數(shù)控程序運行時通過引用特定的消息隊列號來進行雙核通信,通過設置ARM和DSP使能標志位使得在同一時間只有一個處理器使用內部總線,避免了數(shù)據(jù)傳輸沖突;數(shù)控軟件運行時會有許多子任務,產生很多中斷,每當產生中斷時就相應修改對應的指針變量,ARM和DSP通過指針變量傳遞相應的地址信息達到雙核通信的目的,這相比通過message進行數(shù)控數(shù)據(jù)的傳輸簡化了很多的工作量,使程序更精簡,運行效率更高。

3 雙核通信整體框架設計

  數(shù)控系統(tǒng)是典型的多任務實時控制系統(tǒng)[7],針對多任務特性選用中斷服務程序進行多任務之間的切換;針對實時特性選用時間片輪轉法設定相應時間片大小,限定各個子任務的運行時間,從而在宏觀上達到各個子任務的并行運行。此外,下位機接收矩陣鍵盤、系統(tǒng)I/O輸入、手輪和編碼器的反饋后向上位機通過系統(tǒng)外部總線發(fā)出中斷,上位機響應中斷后對插補程序作相應的調整,后再把數(shù)據(jù)傳遞給下位機使其完成精插補。數(shù)控系統(tǒng)整體軟件框架圖如圖5和圖6所示,具體的工作步驟如下:

  (1)ARM端首先啟動,在運行Linux系統(tǒng)后向DSP加載DSP啟動所需要的執(zhí)行程序,等待啟動DSP。

  (2)在多任務運行時,ARM和DSP需要分時共用內部總線,因此通過設置arm_enable和dsp_enable來確定內總線的使用權。

  (3)ARM端需要執(zhí)行譯碼、MST控制和人機界面的顯示任務,選用時間片輪轉法進行控制,設定每個時間片為1 ms,循環(huán)執(zhí)行這3個子程序,其中人機界面的顯示任務實時性要求不高,每次執(zhí)行的數(shù)據(jù)暫時存放在256 KB一級緩存區(qū)中,等待armcacheover置位后再刷新LCD顯示屏;在一個加工程序段中最多只能有一個M、S、T功能,通過設置相應標志位,在程序段未結束時取消MST控制的時間片。

  (4)DSP以1 ms粗插補周期為中斷周期接收ARM譯碼后的數(shù)據(jù),進行粗插補、刀具補償和加減速控制的任務。

  (5)FPGA同樣以1 ms的周期產生中斷信號,接收DSP傳送的精插補所需的數(shù)據(jù),進行精插補的工作。

  (6)為了數(shù)控程序能夠順序執(zhí)行,在每個數(shù)控程序子任務執(zhí)行完后必須相應地更改struct成員的信息。

  (7)數(shù)控程序執(zhí)行完畢后,首先會關閉message通信通道,ARM與DSP斷開連接。

4 結束語

  本設計采用ARM+DSP雙核完成上位機任務,CPLD+FPGA完成下位機任務的模式,在提升了數(shù)控系統(tǒng)的加工質量和效率的同時,也提升了數(shù)控系統(tǒng)的實時性和保密性;設計了一種新的雙核通信方式,大大提高了雙核通信的效率,為數(shù)控系統(tǒng)雙核任務分配提供軟件基礎;通過合理進行數(shù)控任務的分配,可以做到譯碼與粗插補和精插補的并行運行,使得連續(xù)小線段的譯碼速度大于加工速度,實現(xiàn)精插補脈沖序列無間斷輸出,大大改善零件表面光潔度和加工精度,為高精度、高性能數(shù)控系統(tǒng)的發(fā)展提供一定參考。

  參考文獻

  [1] Instruments T.OMAP35x applications processor:Technical reference manual(Literature No. SPRUF98O)[Z].Dallas,Texas,2010.

  [2] WANG L,SU B,DONG S,et al.Double CPU open CNC system based on programmable multi-axis controller[J].Computer Integrated Manufacturing Systems Beijing,2002,8(1):69-72.

  [3] 張金霞,趙東標.數(shù)控系統(tǒng)中精插補芯片F(xiàn)PGA的配置[J].機械與電子,2007(3):30-32.

  [4] Instruments T.DSP/BIOS LINK user guide-version 1.65.00.02[Z].Reference:LNK,58,2010.

  [5] LUAN X F.Debugging method based on OMAPL138 dual- core system[J].Microcontrollers & Embedded Systems,2012,12(1):9.

  [6] 林淦,劉建群,許東偉,等.OMAPL138的雙核通信設計[J].機床與液壓,2014(22);056.

  [7] 陳蔚芳,王宏濤,薛建彬,等.機床數(shù)控技術及應用[M].北京:科學出版社,2006.


此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区自拍| 久久九九免费视频| 亚洲欧洲av一区二区三区久久| 国产午夜精品麻豆| 欧美日韩www| 欧美在线影院| 亚洲一级黄色av| 亚洲人成7777| 欧美一区二区三区视频在线观看 | 激情综合中文娱乐网| 国产精品久久久久久久久| 欧美黄色片免费观看| 亚洲免费中文字幕| 一区二区激情视频| 亚洲国产午夜| 性欧美长视频| 亚洲午夜视频在线| 日韩视频永久免费观看| 影音先锋久久精品| 国产精品午夜电影| 国产精品ⅴa在线观看h| 欧美极品影院| 欧美成人免费在线观看| 久久综合久久久| 久久久精品动漫| 欧美专区亚洲专区| 午夜久久久久| 亚洲欧美激情一区二区| 亚洲一区二区三区国产| 亚洲私拍自拍| 这里只有精品在线播放| 日韩视频在线永久播放| 亚洲人成网站777色婷婷| 久久精品一级爱片| 性亚洲最疯狂xxxx高清| 亚洲欧美日本国产有色| 亚洲伊人一本大道中文字幕| 亚洲视频在线一区观看| 一区二区三区不卡视频在线观看 | 久久se精品一区二区| 欧美伊人久久久久久午夜久久久久| 亚洲视频一区| 一区二区三区欧美激情| 一区二区高清在线观看| 夜夜嗨av一区二区三区网站四季av | 亚洲精品在线观看免费| 亚洲日本中文字幕| 亚洲另类黄色| 亚洲最快最全在线视频| 亚洲视频碰碰| 欧美一级片在线播放| 欧美一级片一区| 久久gogo国模裸体人体| 久久久久久久波多野高潮日日| 久久久精品日韩| 另类专区欧美制服同性| 免费日韩成人| 欧美日本中文字幕| 欧美先锋影音| 国产免费成人在线视频| 国产一区在线播放| 亚洲第一精品电影| 亚洲日本欧美| 亚洲天天影视| 午夜精品久久久久久久蜜桃app | 亚洲第一黄网| 亚洲精品裸体| 99精品国产热久久91蜜凸| 18成人免费观看视频| 亚洲另类黄色| 亚洲欧美日韩综合| 亚洲激情校园春色| 亚洲一品av免费观看| 欧美一区观看| 欧美成人免费小视频| 欧美三级第一页| 国精品一区二区三区| 亚洲激情视频在线播放| 亚洲午夜一级| 久久精品亚洲一区二区| 一区二区三区四区五区在线| 午夜视频在线观看一区二区| 久久九九电影| 欧美日韩高清在线播放| 国产精品欧美精品| …久久精品99久久香蕉国产| 亚洲第一网站| 亚洲女ⅴideoshd黑人| 久久精品论坛| 在线视频你懂得一区| 欧美在线视频一区二区三区| 欧美精品aa| 国产色爱av资源综合区| 亚洲经典视频在线观看| 亚洲主播在线播放| 亚洲精品护士| 久久aⅴ乱码一区二区三区| 欧美二区不卡| 国产欧美一区二区三区久久| 亚洲电影免费在线观看| 在线一区观看| 亚洲欧洲综合另类在线| 香蕉久久国产| 欧美激情第二页| 国产视频久久久久| 一本色道久久综合狠狠躁的推荐| 欧美专区一区二区三区| 一区二区三区四区国产| 久久综合色8888| 国产精品视频午夜| 91久久在线播放| 午夜伦理片一区| 一区二区三区 在线观看视| 久久精品一区二区| 欧美午夜女人视频在线| 亚洲国产清纯| 久久精品一级爱片| 欧美一级大片在线观看| 欧美日韩午夜激情| 亚洲国产欧美日韩精品| 欧美一区二区播放| 亚洲图片欧美午夜| 欧美.日韩.国产.一区.二区| 国产欧美一区二区精品忘忧草| 日韩亚洲在线| 亚洲国产欧美日韩精品| 久久久欧美一区二区| 国产一区高清视频| 久久精品国产亚洲精品| 乱码第一页成人| 91久久久久| 亚洲无线观看| 国产精品永久免费在线| 久久成人久久爱| 欧美成人激情视频| 亚洲精品日韩一| 亚洲自拍偷拍网址| 国产精品尤物| 久久精品视频网| 欧美激情一区二区| 99视频精品| 欧美一区二区高清在线观看| 韩国女主播一区| 亚洲精品一二| 欧美午夜电影在线| 亚洲欧美日韩一区二区三区在线观看| 久久精品国产亚洲高清剧情介绍| 狠色狠色综合久久| av成人老司机| 国产精品久久97| 欧美中日韩免费视频| 欧美成人小视频| 中文在线一区| 久久婷婷国产麻豆91天堂| 在线精品观看| 亚洲天堂黄色| 国内精品免费在线观看| 日韩一区二区电影网| 国产精品日韩高清| 亚洲国产美女| 国产精品国产三级国产aⅴ无密码| 亚洲欧美偷拍卡通变态| 老司机精品导航| 一本色道久久88亚洲综合88| 久久久久国产精品一区二区| 在线日韩欧美| 亚洲欧美国产不卡| 激情成人av| 亚洲小说春色综合另类电影| 国产日韩欧美电影在线观看| 亚洲精品日日夜夜| 国产精品久久久久免费a∨| 久久精品久久综合| 欧美三级欧美一级| 久久精品国产久精国产思思| 欧美视频一区| 亚洲国产91| 国产精品久久久久婷婷| 91久久精品日日躁夜夜躁国产| 国产精品白丝av嫩草影院| 亚洲激情小视频| 国产欧美欧洲在线观看| 亚洲毛片在线观看.| 国产日韩欧美另类| 中文日韩在线视频| 黄色一区二区三区| 亚洲一区二区三区四区在线观看 | 国内精品久久久久久久影视蜜臀| 一区二区精品在线观看| 国产主播一区二区| 亚洲欧美不卡| 亚洲激情网址| 久久久另类综合| 亚洲一区二区三区四区视频| 欧美高清视频在线| 久久精品123| 国产精品日韩一区二区三区| 亚洲区一区二| 国产主播一区二区| 亚洲欧美在线免费|