智能驅(qū)動" title="智能驅(qū)動">智能驅(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" title="Spartan-6">Spartan-6 FPGA SP605 評估套件基礎(chǔ)目標設(shè)計平臺以及第三方 IP 核,提供先進的電機控制算法和工業(yè)網(wǎng)絡(luò)支持,實現(xiàn)了一款高效、可擴展的設(shè)計方案。
選擇 FPGA 的原因
客戶現(xiàn)有的基于微控制器的解決方案不能提供客戶最迫切需要的:一種可擴展平臺?;赟partan-6 FPGA 的智能驅(qū)動控制系統(tǒng)" title="控制系統(tǒng)">控制系統(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ù)的功能。
圖 1 該智能驅(qū)動控制系統(tǒng)原型的主要組件的詳細情況
可編程邏輯控制器 (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è)計選擇。
圖 2:基于 Spartan-6 FPGA 的電機控制板原型
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)。可以把電機直接與圖 2 所示的輸入/輸出端相連。NetMot FMC 還通過添加兩個 CAN 接口和兩個以太網(wǎng)物理層接口,擴展了 SP605 的工業(yè)網(wǎng)絡(luò)連接功能。它們通過 FMC 接插件和 PLC,通過標準接口訪問FPGA。
測試用 PC 機一方面用作 PLC 軟件的主機,另一方面通過 UART 和 JTAG 接口,用作 FPGA編程/調(diào)試平臺。此外,我們還在這臺測試用 PC 機上用賽靈思 ISE®12.1 設(shè)計套件為 SP605的 LX45T PFGA 開發(fā) MicroBlazeTM 嵌入式處理器系統(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)
另一方面,網(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核 (www.beckhoff.com)。兩種 IP 核在 XPS 工具的 IP 目錄標簽上都有提供,使設(shè)計的集成和配置工作異常簡單明了。在本案例中,我們沒有使用簡單的驅(qū)動程序來提供對網(wǎng)絡(luò) IP 核的訪問,我們使用了Port 公司 (www.port.de) 提供的 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:接口抽象層
為了為接口抽象層確定一組通用信息和命令,我們研究了工業(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)工程師