新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM+FPGA的運動控制器設(shè)計與實現(xiàn)

基于ARM+FPGA的運動控制器設(shè)計與實現(xiàn)

作者: 時間:2013-01-04 來源:網(wǎng)絡(luò) 收藏

  1 引言

  工業(yè)CT 機運動控制系統(tǒng)往往需要對多個軸的運動進(jìn)行精確、實時控制,在以往的系統(tǒng)中多采用工控機+多塊板卡的結(jié)構(gòu)進(jìn)行的設(shè)計。隨著工業(yè)CT 機整體功能日趨復(fù)雜,整體系統(tǒng)對運動控制系統(tǒng)的體積、成本、功耗等方面的要求越來越苛刻。另一方面,運動控制系統(tǒng)控制的軸數(shù)越來越多、控制精度要求越來越高、控制對象的實時性要求越來越強。

  現(xiàn)有的工控機+多塊板卡組成的控制系統(tǒng)逐漸呈現(xiàn)出運動控制方面的劣勢。+ 的硬件方案,將工控機從現(xiàn)有的運動控制系統(tǒng)中解放出來,取而代之的是體積小、功耗低、功能強的 處理器。強大的嵌入式Linux 操作系統(tǒng)保證 處理器的功能可以發(fā)揮到最佳。

  2 硬件系統(tǒng)關(guān)鍵技術(shù)設(shè)計與實現(xiàn)

  本系統(tǒng)采用ARM+的結(jié)構(gòu)進(jìn)行運動控制系統(tǒng)的設(shè)計,與目前應(yīng)用中常見的IPC(IndustrialPersonal Computer)+板卡的運動控制系統(tǒng)相比具有以下優(yōu)點[1,2]:

  (1) 采用 完成運動控制細(xì)節(jié)任務(wù),實現(xiàn)硬件軟化的設(shè)計思想。即具有軟件可編程、可重構(gòu)的特性,又有硬件高性能、高可靠、高一致性的優(yōu)點。

 ?。?) 采用嵌入式應(yīng)用方案與現(xiàn)有IPC+板卡結(jié)構(gòu)相比無論從體積、成本、還是性能方面相比都具有較大的優(yōu)越性。

 ?。?) FPGA 具有高速并行的執(zhí)行能力,系統(tǒng)的實時性能得到較大的提高。

 ?。?) 將ARM 中操作底層硬件的驅(qū)動程序進(jìn)行打包,方便應(yīng)用程序調(diào)用,可以較快完成用戶的二次開發(fā)。

  2.1 硬件系統(tǒng)總體設(shè)計

  工業(yè)CT 運動控制系統(tǒng)結(jié)構(gòu)如圖1 所示。該系統(tǒng)以Atmel 公司一款A(yù)RM9 核處理器AT91RM9200和Altera 公司的Cyclone 系列芯片EP1C6Q240C8 為核心。ARM9 作為主控芯片負(fù)責(zé)整個系統(tǒng)的控制,通過AHB[3]總線協(xié)調(diào)與FPGA 之間的數(shù)據(jù)交換,并將接收到的數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到工業(yè)控制計算機進(jìn)行圖像的處理與重建。FPGA 則負(fù)責(zé)接收數(shù)據(jù)采集系統(tǒng)的串行數(shù)據(jù),并把其轉(zhuǎn)化成并行數(shù)據(jù)存入FPGA 的RAM 中,同時對ARM 發(fā)出中斷請求響應(yīng),通知ARM9 讀取。AT91RM9200、SDRAM、FLASH 以及電源等基本外圍電路構(gòu)成嵌入式Linux 運行的最小系統(tǒng),而FPGA 最小系統(tǒng)則由EPlC6Q240C8、時鐘電路、配置接口等組成。然后兩者通過高速AHB 總線進(jìn)行連接,實現(xiàn)數(shù)據(jù)的快速傳輸。

基于ARM+FPGA的運動控制器設(shè)計與實現(xiàn)

圖1 工業(yè)CT 運動控制系統(tǒng)結(jié)構(gòu)圖

  2.2 ARM 與FPGA 接口設(shè)計

  在系統(tǒng)中ARM 作為通用處理器,用來實現(xiàn)系統(tǒng)任務(wù)的觸發(fā)、系統(tǒng)命令的發(fā)送和任務(wù)的調(diào)度等功能。

  FPGA 作為ARM 的外設(shè),用來對ARM 經(jīng)地址數(shù)據(jù)總線傳送過來的命令進(jìn)行解析,并最終按照ARM 命令的要求,完成脈沖發(fā)送和脈沖計數(shù)的功能及具體的運動控制細(xì)節(jié)任務(wù)。

  兩塊FPGA通過各自的地址/數(shù)據(jù)總線與ARM的地址/數(shù)據(jù)總線連接起來,雙方可以進(jìn)行雙向的數(shù)據(jù)交換。

  ARM 與FPGA 通過地址選通信號線連接起來,兩塊FPGA 各自作為ARM 的外設(shè)芯片,運行在獨立的地址空間,地址選通信號結(jié)合地址總線實現(xiàn)ARM對 FPGA 內(nèi)部寄存器的尋址。

  3 軟件系統(tǒng)關(guān)鍵技術(shù)設(shè)計與實現(xiàn)

  系統(tǒng)軟件總體采用分層思想進(jìn)行設(shè)計。整個系統(tǒng)軟件主要由宿主機操作系統(tǒng)、宿主機開發(fā)軟件、目標(biāo)板操作系統(tǒng)、目標(biāo)板底層硬件驅(qū)動程序、目標(biāo)板應(yīng)用程序、HDL 硬件描述語言組成。宿主機操作系統(tǒng)選擇REDHAT-LINUX9.0 版本;宿主機開發(fā)軟件主要由一些交叉編譯環(huán)境、匯編和鏈接工具組成;目標(biāo)板操作系統(tǒng)選用ARM-LINUX 操作系統(tǒng);目標(biāo)板應(yīng)用程序使用C 代碼進(jìn)行編寫;HDL 語言用于對FPGA 的功能進(jìn)行描述。

  軟件系統(tǒng)分層示意圖如圖2 所示。在宿主機中,交叉編譯將要在目標(biāo)板平臺上運行的應(yīng)用程序代碼和底層硬件驅(qū)動程序代碼展開,然后通過宿主機與目標(biāo)板之間的硬件接口傳遞到目標(biāo)板中,目標(biāo)板通過底層硬件驅(qū)動程序控制FPGA 模塊中配置的各功能寄存器,從而完成具體的控制任務(wù)。本文重點介紹FPGA內(nèi)部功能模塊的設(shè)計及驅(qū)動程序接口設(shè)計。

基于ARM+FPGA的運動控制器設(shè)計與實現(xiàn)

圖2 軟件系統(tǒng)分層示意圖

pid控制器相關(guān)文章:pid控制器原理



上一頁 1 2 3 下一頁

關(guān)鍵詞: ARM FPGA 運動控制器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉