《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 利用Spartan-6設(shè)計智能驅(qū)動控制系統(tǒng)

利用Spartan-6設(shè)計智能驅(qū)動控制系統(tǒng)

2011-08-18
作者:Kasper Feurer 賽靈思(愛爾蘭)嵌入式系統(tǒng)工程師
關(guān)鍵詞: FPGA Spartan-6 驅(qū)動控制 PLC

    智能驅(qū)動器以及許多汽車和ISM廠商正面臨著滿足新的市場需求和不斷發(fā)展的標準要求所帶來的重重挑戰(zhàn),。在現(xiàn)代工業(yè)和汽車應(yīng)用中,,電機必須具有高效,、低噪聲,、速度范圍寬、可靠性高,、成本合理等特性,。在當今工廠里,電機驅(qū)動型設(shè)備占總耗電量的三分之二,,因此開發(fā)能效更高的系統(tǒng)勢在必行,。由于在許多情況下驅(qū)動器只是大規(guī)模工藝的一個組件,因此互操作性也是一項關(guān)鍵的設(shè)計要求,。而影響這種要求的關(guān)鍵因素是工業(yè)網(wǎng)絡(luò)協(xié)議的寬度(即現(xiàn)場總線)和相關(guān)器件特性,,因為它們用來標準化驅(qū)動器在網(wǎng)絡(luò)中的表達。現(xiàn)場總線(比如CAN和 Profibus)自身千差萬別,,雖然都屬于現(xiàn)場總線,,但是實際上并不具有互換性。為了降低成本和改善工業(yè)控制器之間的通信,,現(xiàn)場總線提供商已經(jīng)開發(fā)出了基于以太網(wǎng)的工業(yè)網(wǎng)絡(luò)解決方案和數(shù)種新的協(xié)議,,比如EtherCAT和Profinet等。除此之外,,EtherNET I/P也在近年來開始大行其道,。不過,這些都是自成體系的技術(shù),,迫使制造商不得不支持所有的提供商,。

     賽靈思設(shè)計服務(wù)部(XDS)已經(jīng)為ISM領(lǐng)域的一家主要廠商開發(fā)出了一款基于FPGA、支持CANopen和EtherCAT接口的電機控制平臺原型來解決這些問題,。賽靈思設(shè)計服務(wù)部的工作是設(shè)計并實現(xiàn)一個功能齊備的模塊化系統(tǒng),,以便在客戶的新一代智能驅(qū)動器中重用。通過在模塊化系統(tǒng)架構(gòu)中集成賽靈思Spartan-6 FPGA SP605評估套件基礎(chǔ)目標設(shè)計平臺以及第三方IP核,,提供先進的電機控制算法和工業(yè)網(wǎng)絡(luò)支持,,實現(xiàn)了一款高效、可擴展的設(shè)計方案,。
 
選擇FPGA的原因
 
     客戶現(xiàn)有的基于微控制器的解決方案不能提供客戶最迫切需要的:一種可擴展平臺,。基于Spartan-6 FPGA的智能驅(qū)動控制系統(tǒng)在單芯片上集成了所有必要的可擴展性,、邏輯和計算功能,,在降低成本的同時還能避免過時,。該平臺可以進行多年的升級,以滿足最新工業(yè)網(wǎng)絡(luò)標準的要求并使用最高效的電機控制算法,。此外,,由于FPGA的可重編程特性,因此可以根據(jù)客戶的特定要求對單個基礎(chǔ)電機控制系統(tǒng)進行定制,,從而輕松地與現(xiàn)有工業(yè)網(wǎng)絡(luò)集成,。簡言之,Spartan-6 FPGA能夠滿足工業(yè)領(lǐng)域所有的嚴格要求,。
 
    賽靈思目標設(shè)計平臺提供了一套開箱即用的高健碩性,、高集成度、業(yè)經(jīng)測試的元件,,對就像我們的客戶這樣的FPGA系統(tǒng)設(shè)計新手來說,,是一個理想的起點,。您可以通過向基礎(chǔ)平臺添加領(lǐng)域?qū)S煤褪袌鰧S闷脚_解決方案,,讓最終設(shè)計在更大程度上實現(xiàn)自動化。這些目標參考設(shè)計演示了真實世界FPGA實現(xiàn)的構(gòu)想,,讓客戶集成精力進行最終產(chǎn)品差異化特性的設(shè)計與開發(fā),,從而縮短學習時間。
 
     我們的解決方案完美組合了Spartan-6 SP605評估套件和第三方解決方案,,其中包括QdeSys公司提供的NetMot FMC板,,以及德國博世公司 (Bosch)和倍福公司(Beckhoff)提供的工業(yè)網(wǎng)絡(luò)IP核。這樣不僅目標系統(tǒng)所有的基礎(chǔ)構(gòu)建塊一開始就可以到位,,而且我們無需定制FPGA開發(fā)板就可以進行原型開發(fā),,從而讓客戶以最低的成本驗證該新平臺的可行性。為了進一步加快產(chǎn)品上市進程,,減少初次FPGA系統(tǒng)設(shè)計的風險,,客戶要求我們不僅要交付原型,還要為在其新一代智能驅(qū)動器中使用FPGA提供支持,。
 
    最終,,客戶的工程師和管理人員都從該方案受益匪淺。工程師在賽靈思設(shè)計服務(wù)部精選的最佳實踐方式的基礎(chǔ)上,,更快地掌握了基于FPGA的設(shè)計,,而管理人員則縮短了產(chǎn)品交付時間,并降低了業(yè)務(wù)風險,。
 
智能驅(qū)動控制系統(tǒng)原型
 
     賽靈思設(shè)計服務(wù)部的產(chǎn)品組合覆蓋了整個FPGA設(shè)計開發(fā)周期,,從規(guī)范創(chuàng)建到編碼、驗證,、時序收斂和系統(tǒng)集成,。集多年嵌入式處理器系統(tǒng)和軟件應(yīng)用設(shè)計經(jīng)驗之大成,,加上集成第三方IP核的能力、優(yōu)秀的項目管理實踐和全面認證的ISO9001開發(fā)流程,,賽靈思設(shè)計服務(wù)部能夠在客戶的產(chǎn)品開發(fā)周期早期交付智能驅(qū)動控制系統(tǒng)原型,。在此基礎(chǔ)上開發(fā)出的定制目標設(shè)計平臺能夠讓客戶的工程師熟知FPGA設(shè)計流程,在新一代產(chǎn)品中優(yōu)化該技術(shù)的功能,。
 
     該智能驅(qū)動控制系統(tǒng)原型的主要組件的詳細情況,,請參看圖1。
 
 
     可編程邏輯控制器(PLC)負責運行智能驅(qū)動器,,實時連接至工業(yè)網(wǎng)絡(luò),。為實現(xiàn)該原型,我們使用兩個基于PC的PLC來處理該系統(tǒng)支持的兩個工業(yè)網(wǎng)絡(luò)標準:用于控制器區(qū)域網(wǎng)絡(luò)的 miControl mPLC和用于EtherCAT工業(yè)以太網(wǎng)現(xiàn)場總線系統(tǒng)的 TwinCAT,。PLC負責生成預定義的命令信息(例如啟動和停止),,通過分析收到的響應(yīng)(當前速度、溫度,、電壓等)驗證電機的運行是否正常,。
 
      根據(jù)PLC 的組合以及智能驅(qū)動器的類型(CAN或EtherCAT),工業(yè)網(wǎng)絡(luò)或為串行總線,,或為標準的100Mb以太網(wǎng)接口,。對這兩種解決方案,該原型在PLC和電機之間均使用直接連接,,或為用于CAN的雙線串行接口,,或為用于EtherCAT的標準RJ45 100Base-TX以太網(wǎng)連接。
 
     電機控制PCB板一般是智能驅(qū)動器中眾多PCB板之一,,專門用于根據(jù)來自PLC的命令對電機進行控制,。該電機控制PCB板可以讓FPGA充分發(fā)揮其靈活性。與常規(guī)ASIC/微處理器方案中采用的單接口,、單電機控制算法解決方案不同,,Spartan-6 FPGA可以用專用網(wǎng)絡(luò)和電機控制IP模塊和控制軟件重新編程,以滿足客戶的特定需要,。采用這種方式,,一塊FPGA PCB板就可以實現(xiàn)多塊ASIC板才能實現(xiàn)的功能。同時,,它還提供了可以根據(jù)最新標準更新IP核的機制,,實現(xiàn)面向未來的智能驅(qū)動器。
 
       該電機控制板的設(shè)計無需從頭開始,,賽靈思設(shè)計服務(wù)部采用目標設(shè)計平臺概念,,通過把賽靈思Spartan-6 SP605評估套件、NetMot FMC板和工業(yè)網(wǎng)絡(luò)和電機控制IP核結(jié)合在一起,,集成了客戶想要的所有元件,,這樣在客戶完成新PCB板之前就交付了這款概念驗證原型,。圖2顯示了如何把各個組件結(jié)合在一起,實現(xiàn)原型開發(fā)平臺,。最終,,客戶的集成工作大為簡化,無需對最終設(shè)計進行重新工程設(shè)計,,就能夠探求最佳的設(shè)計選擇,。
 
基于Spartan-6 FPGA的電機控制板原型
圖2:基于Spartan-6 FPGA的電機控制板原型
圖2中文字:
 
    SP605基礎(chǔ)目標設(shè)計平臺是一種通用FPGA平臺,在業(yè)經(jīng)驗證的設(shè)計實現(xiàn)中集成了一個Spartan-6 LX45T和許多常用外設(shè),,比如DDR3 RAM,、程序/比特流存儲用閃存、調(diào)試用UART以及 FPGA編程用JTAG,。SP605及所有最新賽靈思開發(fā)板的另一個關(guān)鍵元件是FPGA夾層卡(FMC)接插件,,它可以讓設(shè)計人員使用定制的功能和接口擴展基礎(chǔ)開發(fā)板。
 
    SP605的這種特性使我們能夠使用 QDeSys NetMot FMC(www.qdesys.com)的功能來擴展這個基本平臺,。QDeSys NetMot FMC具有電機控制所需要的電力電子元件,,比如電壓逆變器,以及用于采集傳感器數(shù)據(jù)的模數(shù)轉(zhuǎn)換器(ADC),??梢园央姍C直接與圖2所示的輸入/輸出端相連,。NetMot FMC還通過添加兩個CAN接口和兩個以太網(wǎng)物理層接口,,擴展了SP605的工業(yè)網(wǎng)絡(luò)連接功能。它們通過FMC接插件和PLC,,通過標準接口訪問FPGA,。
 
    測試用PC機一方面用作PLC軟件的主機,另一方面通過UART和JTAG接口,,用作FPGA編程/調(diào)試平臺,。此外,我們還在這臺測試用PC機上用賽靈思ISE12.1設(shè)計套件為SP605的LX45T PFGA開發(fā)MicroBlaze嵌入式處理器系統(tǒng),。該嵌入式系統(tǒng)負責處理來自PLC的命令并相應(yīng)地對電機進行控制,。
 
     圖2所示的MicroBlaze軟件應(yīng)用、網(wǎng)絡(luò)和電機控制IP模塊代表隨接口(EtherCAT 或 CATopne)和選擇的電機類型會發(fā)生變化的設(shè)計模塊,。賽靈思設(shè)計服務(wù)部面臨的主要挑戰(zhàn)之一是要確保這些選項之間的切換盡量簡化,,從而保證客戶能夠在將來把相同的方法重復用于諸如Profinet更先進的工業(yè)網(wǎng)絡(luò)類型以及新型電機中。
 
實現(xiàn)細則
 
     讓我們來詳細查看Spartan-6嵌入式系統(tǒng)的各個組成部分,。如圖3所示,,我們使用的電機控制IP模塊——賽靈思電機控制庫(XMCLIB)在兩個設(shè)計版本中是完全相同的。這個定制IP核可以直接插在賽靈思嵌入式開發(fā)套件(SDK)上,,讓FPGA控制NetMot FMC的電機電力電子系統(tǒng),。這樣我們就可以把IP核添加到Xilinx Platform Studio (XPS)項目的嵌入式設(shè)計中,,并對其進行配置,使之適用于通過FMC接插件連接到FPGA的電機,。XMCLIB軟件驅(qū)動程序是一套底層功能,,使電機控制應(yīng)用能夠訪問XMCLIB寄存器接口。
 
圖 3:CAN/EtherCAT嵌入式系統(tǒng)
圖3中文字:
 
    另一方面,,網(wǎng)絡(luò)IP核也是兩個系統(tǒng)版本的不同之處,。對于CAN版設(shè)計,我們選擇標準的 LogiCORETM IP XPS控制器區(qū)域網(wǎng)絡(luò),,該網(wǎng)絡(luò)隨同ISE 12.1設(shè)計套件提供,,并由博世公司許可。對于EtherCAT版設(shè)計,,我們使用倍福公司針對賽靈思FPGA開發(fā)的EtherCAT從控制器IP核 ,。兩種IP核在XPS工具的IP目錄標簽上都有提供,使設(shè)計的集成和配置工作異常簡單明了,。在本案例中,,我們沒有使用簡單的驅(qū)動程序來提供對網(wǎng)絡(luò)IP核的訪問,我們使用了Port公司提供的CANopen和EtherCAT協(xié)議棧解決方案,。該解決方案提供了功能齊全的開箱即用型協(xié)議實施方案,。
 
     最終,我們設(shè)計出了一種定制嵌入式軟件應(yīng)用,,可以在運行于MicroBlaze處理器系統(tǒng)的 Micrium(www.micrium.com)μC/OS-II上運行,。μC/OS-II是一種嵌入式操作系統(tǒng),可增強原型系統(tǒng)的實時功能,,并提供多任務(wù),、消息隊列和信號量等功能。
 
     我們還意識到,,應(yīng)該讓應(yīng)用的結(jié)構(gòu)能夠適用于多種不同的網(wǎng)絡(luò)接口,。為此,我們設(shè)計了一個接口抽象層,,可以讓我們封裝通信和軟件的電機控制組件,。
 
     在這個接口的一側(cè)(圖 4),我們實現(xiàn)了一個網(wǎng)絡(luò)模塊(Port公司的CANopen或EtherCAT),,用以管理系統(tǒng)中可用網(wǎng)絡(luò)IP核的通信,。這些模塊可以無縫地插入我們的接口抽象層上。在這些協(xié)議棧的頂層,,我們把通信和控制數(shù)據(jù)(比如 PDO,、SDO和NMT狀態(tài)交易)傳輸?shù)匠橄髮又校缓蟪橄髮訉?shù)據(jù)進行轉(zhuǎn)譯并以諸如啟動/停止、以特定速率旋轉(zhuǎn)或旋轉(zhuǎn)到特定位置之類的命令提交給電機控制應(yīng)用,。
 
 
圖4:接口抽象層
 
圖4中文字:
 
    為了為接口抽象層確定一組通用信息和命令,,我們研究了工業(yè)網(wǎng)絡(luò)領(lǐng)域現(xiàn)有的專著,研讀了IEC 61800-7標準,。對現(xiàn)有的現(xiàn)場總線技術(shù),,有幾種用于標準化與驅(qū)動設(shè)備通信的方案(比如 CANopen 使用的 CiA-402、Profinet 使用的 PROFIdrive),。IEC 68000-7標準提出了驅(qū)動器的通用表達,,并計劃提供這種通用表達與現(xiàn)有驅(qū)動器特性之間的一組映射。
 
    IEC 68000-7標準提出的概念為我們開發(fā)接口抽象層奠定了基礎(chǔ),,使我們能夠?qū)ο到y(tǒng)的網(wǎng)絡(luò)組件進行封裝,。我們因此可以更改系統(tǒng)中的網(wǎng)絡(luò)接口,而這只需要對軟件稍加定制修改,,就可以讓其與現(xiàn)有的電機控制應(yīng)用兼容,。
 
展望未來
 
     這款智能驅(qū)動控制系統(tǒng)原型的成功交付清晰地展現(xiàn)了FPGA在工業(yè)以太網(wǎng)網(wǎng)絡(luò)、現(xiàn)場總線和電機控制領(lǐng)域的發(fā)展?jié)摿?。雖然要開發(fā)出功能齊全的產(chǎn)品還有一些工作要做,,但賽靈思設(shè)計服務(wù)部已為客戶量身定制了一款目標設(shè)計平臺,并通過性能增強,,打造出了一款能夠顯著降低最終工程產(chǎn)品的開發(fā)工作量與風險的定制解決方案,。下一步賽靈思設(shè)計服務(wù)部將考慮擴展該目標設(shè)計平臺,以支持Profinet IP核和協(xié)議棧,,向客戶展現(xiàn)賽靈思設(shè)計服務(wù)部采用的模塊方案和設(shè)計實踐的效果,。
 
作者:Kasper Feurer
 
賽靈思(愛爾蘭)嵌入式系統(tǒng)工程師
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。