<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于DSP的運動控制器的研究與開發(fā)

          基于DSP的運動控制器的研究與開發(fā)

          作者: 時間:2009-03-03 來源:網(wǎng)絡(luò) 收藏

          摘要: 由于將超強的高速實時處理能力和豐富的外設(shè)功能集于一身,目前,以為核心的嵌入式已經(jīng)成為開放式的發(fā)展主流,并獲得廣泛的應(yīng)用。本文通過 對基本功能的,在分析、消化已有的的運動控制器硬件資源基礎(chǔ)上,了運動控制器的軟件系統(tǒng),詳細介紹了運動控制器的軟件設(shè)計。

          本文引用地址:http://www.ex-cimer.com/article/163936.htm

          關(guān)鍵字: 軟件;DSP;運動控制

          1 運動控制器硬件結(jié)構(gòu)

          本運動控制器的硬件結(jié)構(gòu)主要分為如下幾個模塊:DSP+CPLD 主控模塊,包括 DSP 核心 模塊和 CPLD 驅(qū)動與擴展模塊;通信接口模塊,包括 PCI 總線、USB 總線和串口;I/O 輸入輸 出接口模塊以及外圍存儲器模塊,包括 SRAM 和 FLASH。本運動控制器的硬件結(jié)構(gòu)如圖 1 所示。

          圖 1 運動控制器硬件結(jié)構(gòu)圖

          1.1 DSP+CPLD 主控模塊

          本系統(tǒng)采用了 TI 公司的 TMS320F2812 DSP 為控制核心,這是工業(yè)界首批 32 位的控制 專用、內(nèi)含 FLASH 以及高達 150MHz 主頻的數(shù)字信號處理器,專門為工業(yè)自動化、光學(xué)網(wǎng)絡(luò)及自動化控制等應(yīng)用而設(shè)計的。TMS320F2812 采用哈佛總線結(jié)構(gòu),有獨立的程序和數(shù)據(jù)空間;具有很強的運算能力,能夠?qū)崟r地處理許多復(fù)雜的控制算法;片上內(nèi)存豐富,可支持45 個外設(shè)級中斷和 3 個外部中斷,提取中斷向量和保存現(xiàn)場只需 9 個時鐘周期,響應(yīng)迅速; 片上集成了多種先進的外設(shè),包括兩個事件管理器(EV)、12 位 A/D、兩個串行通信接口(SCI)、一個串行外圍接口(SPI)以及一個多通道緩沖串行接口(McBSP)等;其通用輸 入/輸出多路復(fù)用器(GPIO)擁有多達 56 個 I/O 口,在系統(tǒng)的軟件中正是利用了這些豐富的內(nèi)外設(shè)資源,才實現(xiàn)了系統(tǒng)要求的各種功能。

          本系統(tǒng)中選用的 CPLD 是 Altera 公司 MAX3000A 系列的 EPM3128,這是一款高性能、 低功耗的 EEPROM 的 PLD。由于本系統(tǒng)的控制對象是步進電機,所以設(shè)計中主要利用TMS320F2812 的 GPIO 口進行電機控制接口與 I/O 接口的輸入輸出,但是由于 TMS320F2812

          是低功耗處理器,其 GPIO 引腳的輸出驅(qū)動能力有限,而且由于 DSP 是主控核心,負(fù)載比 較多,所以將所有輸出信號都經(jīng)過 CPLD 驅(qū)動后輸出,提高信號的驅(qū)動能力。此外,CPLD還用于系統(tǒng)電路的譯碼,增加系統(tǒng)設(shè)計的靈活性和可擴展性。

          1.2 通信接口模塊

          本系統(tǒng)在用作插卡式運動控制時利用 PCI 總線實現(xiàn) DSP 與 PC 的通信。PCI(PeripheralComponent Interconnect 外圍部件互聯(lián))總線是 Intel 公司聯(lián)合其他 100 多家公司于 1992 年推 出的新一代處理器的一種局部總線,是一種高性能 32/64 位數(shù)據(jù)/地址復(fù)用總線,能為 CPU 及外設(shè)提供高性能數(shù)據(jù)。PCI 總線具有嚴(yán)格的規(guī)范,目前已經(jīng)發(fā)布了 PCI V1.0 和 V2.1規(guī)范,保證了其良好的兼容性;PCI 總線與 CPU 無關(guān),與時鐘頻率也無關(guān),可適用于各種平臺,支持多處理器和并發(fā)工作;PCI 總線可以提供極高的數(shù)據(jù)傳輸速率,還具有良好的擴 展性。因此,PCI 總線在基于計算機總線的運動控制系統(tǒng),即“PC+運動控制器”的結(jié)構(gòu)中應(yīng)用十分廣泛。

          本系統(tǒng)選用 CYPRESS 公司的 CY7C68001 芯片實現(xiàn) PC 機和 DSP 之間的 USB 通信。CY7C68001 是通用 USB2.0 接口控制器,它是基于應(yīng)用層編程的接口器件,相對于其它基于 鏈路層編程的接口器件,使用和開發(fā)都很方便。本系統(tǒng)采用 DSP 片上的 SCI 串行通信模塊以及 MAX232 芯片轉(zhuǎn)換成標(biāo)準(zhǔn) RS-232 的通 信信號,實現(xiàn)正常的串口通信。

          1.3 I/O 輸入輸出接口模塊

          本系統(tǒng)的輸入/輸出是通過 CPLD 的邏輯控制來實現(xiàn)的,以提高系統(tǒng)的工作可靠性和設(shè) 計柔性??紤]到運動控制器的可擴展性以及 DSP 的 GPIO 引腳的數(shù)量,共設(shè)計了 16 路數(shù)字量輸出通道和 16 路數(shù)字量輸入通道。數(shù)字量輸出通道主要用于各軸方向、脈沖信號的輸出以及一些外部設(shè)備的啟??刂疲缰鬏S及冷卻液的開關(guān)控制等;數(shù)字量輸入通道可根據(jù)用戶 具體要求來定義其用途,如作為傳感器接口,用于零點、限位信號的輸入等。為提高系統(tǒng)應(yīng)用的靈活性,系統(tǒng)輸出采用了普通輸出和差分輸出兩種方式,具體使用可由用戶自行設(shè)定。

          1.4 外圍存儲器模塊

          TMS320F2812 芯片內(nèi)部包括 128KB 的 FLASH 和 18KB 的 SARAM,其中 128KB 的

          FLASH 用來存儲系統(tǒng)軟件程序已經(jīng)足夠,但是在實際使用中,考慮到運動控制指令和加工程序需要通過 USB 總線或 PCI 總線下載到運動控制器中,且 DSP 在工作過程中需要處理大 量的數(shù)據(jù),僅依靠 DSP 芯片內(nèi)部的存儲空間遠遠不夠,所以考慮外擴一片 FLASH 和一片SRAM 作為用戶加工程序存儲器和系統(tǒng)的工作存儲器,它們通過 CPLD 完成與 DSP 之間的讀寫操作。

          本系統(tǒng)選用了 Intel 公司的 E28F128 FLASH 和 ISSI 公司的 IS61LV51216SRAM。E28F128 是一種采用 CMOS 工藝制成的 8MB 的 FLASH,其讀寫訪問時間為 150ns,此讀寫周期已經(jīng) 大于 DSP 對外部端口的讀寫周期,為了能夠和 DSP 的讀寫周期進行匹配,在對 FLASH 進 行讀寫操作過程中必須插入等待周期。IS61LV51216 是一種高速異步靜態(tài) 512KB 的 SRAM, 其讀寫周期為 10ns,與 DSP 之間可以無需插入等待周期便可以進行讀寫操作,并可以直接映射到 DSP 外部存儲接口的 Zone2 或者 Zone6 區(qū)域。

          2 運動控制器軟件結(jié)構(gòu)


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();