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

中文引用格式: 楊劍波,趙東標,劉念. 基于OMAP3530數控系統的雙核通信設計[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在人機交互、網絡通信、多任務處理上有著很大的優勢,但是其計算能力有所不足;DSP有著強大的計算和數據處理能力,但是在任務分配上難度較大。因此,充分利用兩個處理器各自的優勢,把ARM和DSP結合起來使用能夠大大提升數控系統的性能。本數控系統使用ARM+FPGA上下位機控制[2],上位機由ARM Cortex-A8控制核心和DSP運算核心組成,完成譯碼、粗插補、加減速控制、圖形界面顯示等任務;下位機由FPGA電機控制子系統和CPLD輔助控制子系統組成,完成精插補、系統I/O輸入輸出、位置控制等任務。為了能夠使ARM核和DSP核更好地協調配合,共同完成實時多任務的數控系統軟件體系,本文使用DSPLINK進行雙核之間的通信,設計了一種地址指針傳遞的雙核通信方式,大大提升數控系統的性能。

1 數控系統硬件平臺設計

  1.1 上位機系統設計


001.jpg

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

  1.2 下位機系統設計


002.jpg


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

2 雙核握手機制的設計


003.jpg

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

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

004.jpg

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

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

  struct message

  {

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

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

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

  允許ARM使用芯片內部總線

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

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

  使用內部總線,避免沖突

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

  指針變量

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

  指針變量

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

  指針變量

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

  指針變量

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

  指針變量

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

  指針變量

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

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

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

  用于刷新LCD顯示數據

  }message1;

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

3 雙核通信整體框架設計

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

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

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

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

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

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

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

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

4 結束語

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

  參考文獻

  [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] 張金霞,趙東標.數控系統中精插補芯片FPGA的配置[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] 陳蔚芳,王宏濤,薛建彬,等.機床數控技術及應用[M].北京:科學出版社,2006.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久国产精品毛片| 国产精品久久久久久av下载红粉| 亚洲图片在线观看| 亚洲人在线视频| 亚洲国产福利在线| 欧美一区二区三区在线| 亚洲欧美中文另类| 亚洲欧美亚洲| 亚洲欧美日韩精品久久久| 国产精品99久久久久久久vr| 亚洲毛片av| 日韩一级裸体免费视频| 亚洲精品在线视频| 亚洲美洲欧洲综合国产一区| 亚洲国产色一区| 亚洲精品久久视频| 日韩一级在线| 国产精品99久久久久久久女警| 一区二区三区久久精品| 中日韩高清电影网| 亚洲一区二区三区涩| 亚洲欧美日韩一区二区| 先锋a资源在线看亚洲| 香蕉精品999视频一区二区| 午夜久久久久久| 性欧美暴力猛交69hd| 欧美影院在线| 亚洲国产精品久久久| 亚洲精品一区在线| 一区二区三区日韩| 亚洲欧美日韩系列| 欧美综合国产精品久久丁香| 久久国内精品视频| 男男成人高潮片免费网站| 欧美激情在线狂野欧美精品| 欧美日韩精品一区二区| 国产精品xvideos88| 国产乱码精品一区二区三区忘忧草 | 欧美国产日本| 国产精品jvid在线观看蜜臀| 国产区精品在线观看| 曰本成人黄色| 亚洲看片网站| 亚洲综合丁香| 亚洲国产成人在线视频| 99国产精品久久久久久久| 亚洲一区中文字幕在线观看| 欧美专区福利在线| 久久亚洲图片| 欧美涩涩网站| 国产综合香蕉五月婷在线| 亚洲人体一区| 欧美一级片久久久久久久| 亚洲精品国产精品乱码不99| 亚洲新中文字幕| 久久在线91| 欧美性jizz18性欧美| 国产一区二区三区网站| 亚洲精品乱码视频| 欧美一级淫片播放口| av不卡在线| 久久久精品国产一区二区三区| 欧美黄在线观看| 国产日韩欧美精品在线| 最新国产の精品合集bt伙计| 亚洲欧美精品一区| 亚洲免费高清视频| 久久国产成人| 欧美日韩免费一区| 韩国在线视频一区| 亚洲图片欧美午夜| 日韩亚洲欧美一区| 久久亚洲春色中文字幕| 国产精品国产三级国产aⅴ浪潮| 激情久久久久久| 亚洲视频一区二区| 亚洲欧洲一区二区三区| 欧美一区二区三区在线看| 欧美另类极品videosbest最新版本| 国产精品一二三四区| 亚洲免费播放| 亚洲人成77777在线观看网| 欧美一区二区在线免费播放| 欧美日韩精品国产| 一区二区在线观看视频| 亚洲欧美三级伦理| 一区二区三区蜜桃网| 久热精品视频在线观看一区| 国产精品美女黄网| 日韩视频免费观看| 91久久精品日日躁夜夜躁欧美| 久久国产精品久久久久久| 国产精品va在线播放| 亚洲精品在线视频| 亚洲国产精品日韩| 久久精品人人做人人爽电影蜜月| 国产精品久久精品日日| 亚洲毛片播放| 亚洲另类黄色| 蜜桃久久av一区| 国产一区美女| 欧美一区二区三区啪啪 | 亚洲少妇诱惑| 欧美电影在线观看| 在线观看中文字幕亚洲| 久久精品动漫| 久久三级福利| 国产一区二区丝袜高跟鞋图片| 亚洲综合日本| 欧美一级视频精品观看| 国产精品高潮呻吟视频| 午夜免费日韩视频| 久久精品亚洲乱码伦伦中文| 欧美日韩午夜剧场| 亚洲激情影视| 亚洲美女视频在线观看| 欧美激情在线免费观看| 亚洲黄色片网站| 99国产一区二区三精品乱码| 欧美高清在线视频| 亚洲欧洲视频| 日韩亚洲欧美成人| 欧美女人交a| 99国产精品久久久久久久| 一区二区三区**美女毛片| 欧美日韩国产精品一卡| 亚洲精一区二区三区| 一本色道综合亚洲| 欧美视频在线一区二区三区| 一本到高清视频免费精品| 亚洲无线视频| 欧美日韩精品一区二区三区四区 | 亚洲一区在线免费| 国产精品第一页第二页第三页| 亚洲视频在线一区| 欧美一区二区| 国色天香一区二区| 91久久精品国产91久久性色tv| 欧美第一黄网免费网站| 亚洲精一区二区三区| 亚洲永久免费视频| 国产日韩综合| 亚洲国产精品va| 欧美韩日一区二区三区| 日韩视频一区二区在线观看| 亚洲欧美日韩国产成人| 国产精品综合视频| 亚洲第一页中文字幕| 欧美福利一区二区三区| av成人免费在线| 午夜精品影院| 国内精品久久久久久| 亚洲日本中文字幕区| 欧美日韩国产一区二区三区| 亚洲一区二区三区国产| 久久久久久尹人网香蕉| 亚洲狠狠婷婷| 亚洲欧美日本伦理| 一色屋精品视频免费看| aa亚洲婷婷| 国产日韩欧美在线一区| 亚洲伦伦在线| 国产精品网站在线| 亚洲欧洲精品一区二区| 欧美日韩一区二区三区高清| 午夜精品久久久久久99热| 欧美成人一区二区在线| 亚洲香蕉网站| 免费观看不卡av| 一区二区三区三区在线| 久久久午夜精品| 日韩一区二区精品葵司在线| 久久国产精品高清| 亚洲精品久久久久中文字幕欢迎你| 亚洲欧美日韩高清| 亚洲丰满在线| 午夜视频精品| 亚洲激情影视| 久久国产精品99精品国产| 亚洲欧洲一区二区在线观看| 性欧美长视频| 亚洲高清资源| 久久成人一区| 日韩视频中文| 久热精品在线| 亚洲欧美国产高清va在线播| 欧美电影免费网站| 午夜精品久久| 欧美视频一区二区三区四区| 久久狠狠婷婷| 国产精品视频免费观看| 亚洲另类自拍| 国产在线播放一区二区三区| 亚洲一区二区久久| 亚洲国产精品久久91精品| 久久av资源网站| 一区二区三欧美| 欧美精品一区在线发布| 亚洲国产高清aⅴ视频| 国产精品手机在线|