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