0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于基于多CPU 架構伺服驅動控制器的性能分析

貿澤電子 ? 來源:djl ? 作者:貿澤電子 ? 2019-08-20 09:26 ? 次閱讀

論述伺服驅動控制器的實現(xiàn)方法,通過對ARM+FPGA+DSP架構的多CPU控制器的具體分析將其原理和優(yōu)勢展現(xiàn)出來;這種架構控制器系統(tǒng)分工明確,提高了算法的實時性;提高了控制器對外接口EtherCAT的實時性;提高了系統(tǒng)的穩(wěn)定性。這種架構方案在天津電氣科學研究院有限公司的伺服驅動器產品中進行了實驗,現(xiàn)場的應用取得了良好的效果,體現(xiàn)出這種技術的現(xiàn)實意義。

1.引言

伺服驅動器是用來控制伺服電機的一種控制器,一般是通過位置、速度和力矩三種方式對電機進行控制,實現(xiàn)高精度的系統(tǒng)定位。

目前,伺服控制器CPU的架構主要有:

1、單CPU架構ARM(AcornRISCMachine)控制器;

2、單CPU架構DSP(DigitalSignalProcess)控制器;

3、ARM+FPGA+DSP架構的多CPU控制器。

方法3是目前最先進的架構,前兩種方法都有局限性。方法1和方法2這種單CPU架構的控制器,一個CPU集算法、采集控制、通訊、顯示功能于一體,當算法復雜度和實時性要求高時往往會顧此失彼。而方法3的架構中各個CPU的分工明確,ARM負責通信和顯示功能,DSP負責算法運算,F(xiàn)PGA負責采集和控制。方法3的技術瓶頸是滿足伺服控制器的實時性要求需要幾個CPU之間的高速數(shù)據(jù)通信,因此,如果能夠找到一個高速的通信方式完全可以發(fā)揮各個CPU的特性,就像一個多核CPU在工作一樣。

本研究基于ARM+FPGA+DSP架構,采用并口通信的方法用于幾個CPU之間的內部高速通信;此外伺服驅動器作為伺服系統(tǒng)的一部分還需要和主控器和編碼器進行高速通信,來滿足整個伺服系統(tǒng)的實時性要求,本架構采用EtherCAT和高速485接口用于控制器和其他設備進行高速通信,描述了系統(tǒng)的原理架構和軟件設計架構。

2.多CPU架構控制器原理分析

01

此架構的控制器中ARM負責通信和顯示功能,DSP負責算法運算,F(xiàn)PGA負責采集和控制,如圖1所示。FPGA采集相電壓、相電流等物理量通過并口傳給DSP;ARM通過EtherCAT接收主控制器命令,通過高速485采集碼盤的速度和位置等信息,通過并口傳給FPGA中轉下再傳到DSP;DSP中執(zhí)行伺服控制的算法,利用FPGA和ARM中采集的數(shù)據(jù)進行計算,把計算結果再通過并口傳給FPGA和ARM,由FPGA和ARM進行相關的控制操作。

關于基于多CPU 架構伺服驅動控制器的性能分析

圖1 多 CPU 架構控制器結構圖

2

此架構控制器中幾個CPU之間的雙口RAM通信:用雙口RAM中各位數(shù)據(jù)都是并行傳送的,它通常是以字節(jié)(8位)的整數(shù)倍為單位進行數(shù)據(jù)傳輸,能完成數(shù)據(jù)的輸入和輸出。用雙口RAM通信的原理如2所示。用雙口RAM通信具有各數(shù)據(jù)位同時傳輸,傳輸速度快、效率高的特點,多用在實時、快速的場合。

關于基于多CPU 架構伺服驅動控制器的性能分析

圖2 用雙口RAM通信原理圖

3

此架構控制器的對外接口有EtherCAT和高速485。碼盤的接口一般采用485接口,所以本控制器也采用485的接口,用DMA來實現(xiàn);伺服控制器與主控制之間的接口有EtherCAT和PROFINET等協(xié)議,本控制器采用應用比較廣的EtherCAT接口。實時以太網EtherCAT是由倍福開發(fā)的一種工業(yè)以太網技術。它以高速率、高有效數(shù)據(jù)利用率、完全符合以太網標準、刷新周期短、同步性能好等優(yōu)勢,在伺服通訊領域中得到越來越多的應用。其原理如圖3所示。

關于基于多CPU 架構伺服驅動控制器的性能分析

圖3 EtherCAT報文

3.多CPU架構控制器硬件設計

3.1控制器ARM的設計

主控制器ARM通過STM32F407芯片完成上節(jié)介紹的與FPGA的并口通信、EtherCAT通信、485通信。STM32F407屬于高端的32位ARM微控制器,該系列芯片是意法半導體(ST)公司出品,其內核是Cortex-M4。本次設計充分利用其資源,實現(xiàn)了并口通信、therCAT通信、485通信。

關于基于多CPU 架構伺服驅動控制器的性能分析

圖4 FSMC框圖

并口通信:STM32F407具有FSMC功能,靈活的靜態(tài)存儲器控制器(FSMC)是內置大容量的外部存儲器控制器,使用這個控制器,STM32可以與FPGA或者存儲器進行并口通信。FSMC產生所有驅動這些存儲器(把FPGA當做存儲器來操作)的信號時序:16個數(shù)據(jù)線和16個地址線,原理如圖4所示。

關于基于多CPU 架構伺服驅動控制器的性能分析

圖5 數(shù)據(jù)總線XINTF連接框圖

EtherCAT通信和485通信:EtherCAT通信通過芯片ET1100來實現(xiàn),ET1100是一款強大的EtherCAT從站控制器ESC專用芯片,ET1100與ARM的接口采用SPI的方式;485通信速度為2.5Mbps,采用DMA的方式來實現(xiàn),DMA的具體實現(xiàn)方法在下章軟件設計中詳述。

關于基于多CPU 架構伺服驅動控制器的性能分析

圖6讀操作時序

3.2控制器FPGA和DSP的并口通信設計

FPGA采用Altera的CycloneIV系列FPGA,具有低成本、低功耗的特點,高達532個用戶I/O,支持高達200MHz的DDR2SDRAM接口;DSP采用TMS320C28346,通過XINTF連接FPGA,實現(xiàn)雙向并口通信。DSP的輸入和輸出采用中斷控制,當FPGA準備好數(shù)據(jù)后,向DSP發(fā)送中斷,DSP響應中斷后讀取相應地址的數(shù)據(jù)并向另外一段地址寫入數(shù)據(jù),F(xiàn)PGA等待60μs開始讀數(shù)據(jù)。這樣就能夠完成兩個芯片的并行通信。TMS320C28346型DSP芯片有16位XINTF數(shù)據(jù)總線,做為系統(tǒng)外部接口,它可以與各種外部存儲器或者CPU實現(xiàn)無縫連接,如圖5所示。在此系統(tǒng)中,將它與FPGA的16個用戶可定義I/O管腳相連,用于實現(xiàn)16位并行數(shù)據(jù)的通信。TMS320C28346芯片可編程通用輸入/輸出引腳,任選一個和FPGA的用戶I/O管腳相連,作為DSP的讀寫中斷。

4.多CPU架構控制器軟件設計

4.1控制器ARM的軟件設計

控制器中ARM與FPGA的并口通信用FSMC來實現(xiàn),采用非總線復用的異步NOR閃存的方式來驅動,讀時序如圖6所示,寫時序如圖7所示。

關于基于多CPU 架構伺服驅動控制器的性能分析

圖7寫操作時序

并口通信的地址選擇使用了FSMC的BANK1的子板塊2,具體程序代碼如下:

p.FSMC_AccessMode=FSMC_AccessMode_A;

FSMC_NORSRAMInitStructure.FSMC_Bank=FSMC_Bank1_NORSRAM2;

FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM2,ENABLE);

ARM與FPGA通信觸發(fā)由外部中斷來觸發(fā),當FPGA準備好數(shù)據(jù)后給ARM一個中斷,中斷周期為120μs,其中前60μs用于ARM從并口地址讀取數(shù)據(jù)并且把要傳給FPGA的數(shù)據(jù)寫入相應地址,后60μs用于FPGA從并口地址讀取數(shù)據(jù),程序代碼如下:

pBuf=(s16*)EXT_SRAM_ADDR+31;

for(i=31;i<91;i++)//read

{FPGA_TO_ARM[i]=*pBuf++;}

pBuf=(s16*)EXT_SRAM_ADDR+41;

for(i=41;i<61;i++)//write

{*pBuf++=(FPGA_TO_ARM[i]+1);}

ARM與碼盤通信通過485來實現(xiàn),通信速度為2.5Mbps,由于速度快采用一般的中斷方式很難滿足需求,本系統(tǒng)采用DMA來實現(xiàn),程序代碼如下:

DMA_InitStructure.DMA_PeripheralBaseAddr=(uint32_t)(&(USART3->DR));//串口3接收DMA

DMA_InitStructure.DMA_Memory0BaseAddr=(uint32_t)UART3_DMA_RxBuffer;

DMA_InitStructure.DMA_PeripheralBaseAddr=(uint32_t)(&(USART3->DR));//串口3發(fā)送DMA

DMA_InitStructure.DMA_Memory0BaseAddr=(uint32_t)UART3_DMA_TxBuffer;

4.2控制器FPGA的軟件設計

FPGA與DSP并行總線通訊模塊用于FPGA與DSP之間的并行總線數(shù)據(jù)交換,其中包含兩段獨立的地址空間,一個空間用于DSP讀FPGA內部數(shù)據(jù)通道,另一個空間用于DSP向FPGA寫數(shù)據(jù)通道。程序使用ALTERA提供的雙口RAM的IP核。程序模塊圖如圖8所示。

關于基于多CPU 架構伺服驅動控制器的性能分析

圖8 FPGA程序模塊圖

FPGA與DSP并行總線通訊模塊主時鐘CLK的頻率應是DSP總線讀寫頻率的4倍以上,一般選取120M,這個時鐘由FPGA內部的PLL鎖相環(huán)生成。由于DSP的地址總線一般為16位以上,ADDR_DSP連接DSP地址總線的低位。RD_DSP連接DSP讀使能,WR_DSP連接DSP寫使能,如果有片選信號,DSP讀寫使能信號需要與片選信號取或后再與WR_DSP和RD_DSP連接。

4.3控制器DSP的軟件設計

DSP28346芯片通過外部接口(XINTF)來讀寫外擴存儲單元,本系統(tǒng)中即為FPGA的雙口RAM空間。DSP28346的XINTF是一個非復用的異步總線。在配置XINTF時,應該檢測內部XTIMCLK所需要的與SYSCLKOUT有關的比例。通過寫XINTFCNF2寄存器的XTIMCLK位,可以將TIMCLK配置成與SYSCLKOUT相等或者等于SYSCLKOUT/2。XINTF的所有訪問從XCLKOUT的上升沿開始,而外部邏輯受到XCLKOUT時鐘的控制。通過寫XINTFCNF2寄存器的CLKMODE位,可將XCLKOUT配置成與內部XINTF時鐘XTIMCLK成比例的頻率。程序代碼如下:

XintfRegs.XINTCNF2.bit.XTIMCLK=0;

XintfRegs.XINTCNF2.bit.WRBUFF=3;

XintfRegs.XINTCNF2.bit.CLKOFF=0;

XintfRegs.XINTCNF2.bit.CLKMODE=0;

XintfRegs.XINTCNF2.bit.BY4CLKMODE=1;

XintfRegs.XTIMING6.bit.XWRLEAD=3;

XintfRegs.XTIMING6.bit.XWRACTIVE=5;

XintfRegs.XTIMING6.bit.XWRTRAIL=2;

XintfRegs.XTIMING6.bit.XRDLEAD=3;

XintfRegs.XTIMING6.bit.XRDACTIVE=5;

XintfRegs.XTIMING6.bit.XRDTRAIL=2;

XintfRegs.XTIMING6.bit.X2TIMING=0;

XintfRegs.XTIMING6.bit.USEREADY=1;

XintfRegs.XTIMING6.bit.READYMODE=1;

5.結論

市面上的伺服驅動器CPU的架構主要有單ARM控制器和單DSP控制器。單ARM控制器方案在通信和控制方面存在優(yōu)勢,但是復雜算法在實現(xiàn)的時候往往會因為運算耗時而降低整個系統(tǒng)實時性;單DSP控制器方案中在算法中存下優(yōu)勢,但是在對外通信和控制方面往往會實現(xiàn)起來比較復雜。采用ARM+FPGA+DSP架構的多CPU控制器方案完全解決了上述兩種方法的弊端,充分發(fā)揮了各個CPU的優(yōu)勢。本文論述的架構在本公司的伺服驅動器產品中進行試驗和應用,證明了“ARM+FPGA+DSP架構的多CPU控制器架構”的可行性和技術優(yōu)勢。

關于基于多CPU 架構伺服驅動控制器的性能分析

圖9 CPU算法在線仿真

如圖9中的紅色標記框圖所示,整個伺服驅動器系統(tǒng)的CPU使用率在75.22%(A:空跑時優(yōu)先級最低的計數(shù)器個數(shù);B滿算法運行時優(yōu)先級最低計數(shù)器的個數(shù);CPU使用率=(A-B)/A*100),此CPU架構達到了控制CPU使用率和提高系統(tǒng)效率的目標。

關于基于多CPU 架構伺服驅動控制器的性能分析

圖10

如圖10中的離線慣量辨識2s周期(0.5轉速)PI不變時跟隨情況,通道1是轉速給定,通道2是電磁轉矩,通道3是實際轉速,通道4是實際A相電流。速度采集首先通過ARM的高速485采集碼盤數(shù)據(jù),并通過并口傳給DSP和FPGA,經過算法處理再把數(shù)據(jù)下發(fā)給碼盤,整個閉環(huán)過程通過并口傳輸,滿足了伺服驅動器的算法實時性要求,此CPU架構達到了提高整個系統(tǒng)實時性的目標。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 驅動器
    +關注

    關注

    52

    文章

    8107

    瀏覽量

    145841
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10810

    瀏覽量

    210878
  • 伺服
    +關注

    關注

    16

    文章

    644

    瀏覽量

    40857
收藏 人收藏

    評論

    相關推薦

    論述伺服驅動控制器的實現(xiàn)方法

    論述伺服驅動控制器的實現(xiàn)方法,通過對ARM+FPGA+DSP架構CPU
    發(fā)表于 09-20 15:34 ?2188次閱讀

    高價回收 CPU模塊 西門子伺服 驅動器 收購plc控制器

    高價回收 CPU模塊 西門子伺服 驅動器 收購plc控制器西門子:S7-200 , S7-300 , S7-400系列 PLC 模塊 CPU
    發(fā)表于 10-10 17:15

    基于CPU架構伺服驅動控制器的研究

    伺服驅動器是用來控制伺服電機的一種控制器,一般是通過位置、速度和力矩3種方式對電機進行控制,實現(xiàn)
    發(fā)表于 01-29 16:33 ?1次下載
    基于<b class='flag-5'>多</b><b class='flag-5'>CPU</b><b class='flag-5'>架構伺服</b><b class='flag-5'>驅動</b><b class='flag-5'>控制器</b>的研究

    伺服定位控制在PLC中實現(xiàn)和在伺服控制器中實現(xiàn)解答

    伺服定位控制可以在PLC中實現(xiàn),也可以在伺服控制器中實現(xiàn)。用PLC實現(xiàn),可選用317-T的工藝型CPU,內置定位
    的頭像 發(fā)表于 02-01 15:17 ?1.1w次閱讀

    Machinekit的控制器軟件架構

    ,對實時Linux操作系統(tǒng)的選取原因進行了闡述,對控制器的結構、實時性和穩(wěn)定性進行了分析,在保證控制器實時性和穩(wěn)定性的前提下,提出了
    發(fā)表于 03-12 14:48 ?6次下載
    Machinekit的<b class='flag-5'>多</b>軸<b class='flag-5'>控制器</b>軟件<b class='flag-5'>架構</b>

    關于伺服電機、驅動器控制器的一些原理詳解

    伺服的結構是怎樣的?一個最簡易的伺服控制單元,就是一個伺服電機加伺服控制器,今天就來解析下
    的頭像 發(fā)表于 07-04 10:52 ?4.3w次閱讀

    CPU架構控制器軟件設計

    伺服驅動器是用來控制伺服電機的一種控制器,一般是通過位置、速度和力矩三種方式對電機進行控制,實現(xiàn)
    發(fā)表于 12-23 10:57 ?614次閱讀

    伺服控制器是什么_伺服控制器用途

    系統(tǒng)中。   伺服控制器通過接收控制信號(通常是脈沖信號或模擬信號),對伺服電機進行精準的控制,以實現(xiàn)所需的運動和位置
    發(fā)表于 03-12 11:12 ?5114次閱讀

    伺服控制器怎么調_伺服控制器伺服驅動器的區(qū)別

    伺服控制器的調試需要根據(jù)具體應用場景和控制器型號進行具體設置和調整。一般來說,伺服控制器的調試包括以下幾個方面:   電氣參數(shù)調整:包
    發(fā)表于 03-12 11:31 ?2970次閱讀

    伺服控制器編碼反饋數(shù)值為負數(shù)怎么回事

    的問題及解決方案。 伺服控制器和編碼的基本概念 伺服控制器是一種高性能的電機
    的頭像 發(fā)表于 06-05 15:00 ?1939次閱讀

    伺服驅動器伺服控制器的區(qū)別

    在工業(yè)自動化和精密控制領域中,伺服驅動器伺服控制器是兩個至關重要的組件,它們各自在伺服系統(tǒng)中扮
    的頭像 發(fā)表于 06-05 15:24 ?1820次閱讀

    伺服電機控制器怎么調參數(shù)

    的基本原理 1. 伺服電機控制器概述 伺服電機控制器是一種高精度、高性能的電機驅動器,它能夠根據(jù)
    的頭像 發(fā)表于 06-05 15:47 ?1558次閱讀

    伺服控制器的工作原理和基本結構

    伺服控制器,作為工業(yè)自動化和精密控制領域的核心部件,其工作原理和基本結構對于理解和應用伺服系統(tǒng)至關重要。本文將詳細闡述伺服
    的頭像 發(fā)表于 06-13 16:31 ?1314次閱讀

    伺服驅動器伺服電機的控制要求

    伺服驅動器伺服電機的控制要求是一個復雜而深入的話題。以下是關于伺服
    的頭像 發(fā)表于 06-14 15:24 ?695次閱讀

    伺服驅動器控制方式分析

    1. 引言 伺服驅動器作為連接電機與控制系統(tǒng)的橋梁,其性能直接影響到整個系統(tǒng)的響應速度、穩(wěn)定性和精度。隨著控制理論的發(fā)展和電子技術的革新,
    的頭像 發(fā)表于 11-04 15:30 ?246次閱讀