新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用Spartan-6設(shè)計(jì)智能驅(qū)動(dòng)控制系統(tǒng)

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

作者: 時(shí)間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

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

本文引用地址:http://m.butianyuan.cn/article/201706/349176.htm

賽靈思設(shè)計(jì)服務(wù)部(XDS)已經(jīng)為ISM領(lǐng)域的一家主要廠商開發(fā)出了一款基于FPGA、支持CANopen和EtherCAT接口的原型來解決這些問題。賽靈思設(shè)計(jì)服務(wù)部的工作是設(shè)計(jì)并實(shí)現(xiàn)一個(gè)功能齊備的模塊化系統(tǒng),以便在客戶的新一代智能驅(qū)動(dòng)器中重用。通過在模塊化系統(tǒng)架構(gòu)中集成賽靈思Spartan-6 FPGA SP605基礎(chǔ)目標(biāo)設(shè)計(jì)平臺(tái)以及,提供先進(jìn)的電機(jī)控制算法和工業(yè)網(wǎng)絡(luò)支持,實(shí)現(xiàn)了一款高效、可擴(kuò)展的設(shè)計(jì)方案。

選擇FPGA的原因

客戶現(xiàn)有的基于微控制器的解決方案不能提供客戶最迫切需要的:一種可擴(kuò)展平臺(tái)?;赟partan-6 FPGA的智能驅(qū)動(dòng)控制系統(tǒng)在單芯片上集成了所有必要的可擴(kuò)展性、邏輯和計(jì)算功能,在降低成本的同時(shí)還能避免過時(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ò)集成。簡言之,Spartan-6 FPGA能夠滿足工業(yè)領(lǐng)域所有的嚴(yán)格要求。

賽靈思目標(biāo)設(shè)計(jì)平臺(tái)提供了一套開箱即用的高健碩性、高集成度、業(yè)經(jīng)測(cè)試的元件,對(duì)就像我們的客戶這樣的FPGA系統(tǒng)設(shè)計(jì)新手來說,是一個(gè)理想的起點(diǎn)。您可以通過向基礎(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ì)與開發(fā),從而縮短學(xué)習(xí)時(shí)間。

我們的解決方案完美組合了Spartan-6 SP605和第三方解決方案,其中包括QdeSys公司提供的NetMot FMC板,以及德國博世公司 (Bosch)和倍福公司(Beckhoff)提供的工業(yè)網(wǎng)絡(luò)IP核。這樣不僅目標(biāo)系統(tǒng)所有的基礎(chǔ)構(gòu)建塊一開始就可以到位,而且我們無需定制FPGA開發(fā)板就可以進(jìn)行原型開發(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ì)開發(fā)周期,從規(guī)范創(chuàng)建到編碼、驗(yàn)證、時(shí)序收斂和系統(tǒng)集成。集多年嵌入式處理器系統(tǒng)和軟件應(yīng)用設(shè)計(jì)經(jīng)驗(yàn)之大成,加上集成的能力、優(yōu)秀的項(xiàng)目管理實(shí)踐和全面認(rèn)證的ISO9001開發(fā)流程,賽靈思設(shè)計(jì)服務(wù)部能夠在客戶的產(chǎn)品開發(fā)周期早期交付智能驅(qū)動(dòng)控制系統(tǒng)原型。在此基礎(chǔ)上開發(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來處理該系統(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)和停止),通過分析收到的響應(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)橛糜贑AN的雙線串行接口,或?yàn)橛糜贓therCAT的標(biāo)準(zhǔn)RJ45 100Base-TX以太網(wǎng)連接。

電機(jī)控制PCB板一般是智能驅(qū)動(dòng)器中眾多PCB板之一,專門用于根據(jù)來自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)面向未來的智能驅(qū)動(dòng)器。

該電機(jī)控制板的設(shè)計(jì)無需從頭開始,賽靈思設(shè)計(jì)服務(wù)部采用目標(biāo)設(shè)計(jì)平臺(tái)概念,通過把賽靈思Spartan-6 SP605、NetMot FMC板和工業(yè)網(wǎng)絡(luò)和電機(jī)控制IP核結(jié)合在一起,集成了客戶想要的所有元件,這樣在客戶完成新PCB板之前就交付了這款概念驗(yàn)證原型。圖2顯示了如何把各個(gè)組件結(jié)合在一起,實(shí)現(xiàn)原型開發(fā)平臺(tái)。最終,客戶的集成工作大為簡化,無需對(duì)最終設(shè)計(jì)進(jìn)行重新工程設(shè)計(jì),就能夠探求最佳的設(shè)計(jì)選擇。

圖2:基于Spartan-6 FPGA的電機(jī)控制板原型

圖2中文字:

SP605基礎(chǔ)目標(biāo)設(shè)計(jì)平臺(tái)是一種通用FPGA平臺(tái),在業(yè)經(jīng)驗(yàn)證的設(shè)計(jì)實(shí)現(xiàn)中集成了一個(gè)Spartan-6 LX45T和許多常用外設(shè),比如DDR3 RAM、程序/比特流存儲(chǔ)用閃存、調(diào)試用UART以及 FPGA編程用JTAG。SP605及所有最新賽靈思開發(fā)板的另一個(gè)關(guān)鍵元件是FPGA夾層卡(FMC)接插件,它可以讓設(shè)計(jì)人員使用定制的功能和接口擴(kuò)展基礎(chǔ)開發(fā)板。

SP605的這種特性使我們能夠使用 QDeSys NetMot FMC(www.qdesys.com)的功能來擴(kuò)展這個(gè)基本平臺(tái)。QDeSys NetMot FMC具有電機(jī)控制所需要的電力電子元件,比如電壓逆變器,以及用于采集傳感器數(shù)據(jù)的模數(shù)轉(zhuǎn)換器(ADC)??梢园央姍C(jī)直接與圖2所示的輸入/輸出端相連。NetMot FMC還通過添加兩個(gè)CAN接口和兩個(gè)以太網(wǎng)物理層接口,擴(kuò)展了SP605的工業(yè)網(wǎng)絡(luò)連接功能。它們通過FMC接插件和PLC,通過標(biāo)準(zhǔn)接口訪問FPGA。

測(cè)試用PC機(jī)一方面用作PLC軟件的主機(jī),另一方面通過UART和JTAG接口,用作FPGA編程/調(diào)試平臺(tái)。此外,我們還在這臺(tái)測(cè)試用PC機(jī)上用賽靈思ISE12.1設(shè)計(jì)套件為SP605的LX45T PFGA開發(fā)MicroBlaze嵌入式處理器系統(tǒng)。該嵌入式系統(tǒng)負(fù)責(zé)處理來自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)之間的切換盡量簡化,從而保證客戶能夠在將來把相同的方法重復(fù)用于諸如Profinet更先進(jìn)的工業(yè)網(wǎng)絡(luò)類型以及新型電機(jī)中。

實(shí)現(xiàn)細(xì)則

讓我們來詳細(xì)查看Spartan-6嵌入式系統(tǒng)的各個(gè)組成部分。如圖3所示,我們使用的電機(jī)控制IP模塊——賽靈思電機(jī)控制庫(XMCLIB)在兩個(gè)設(shè)計(jì)版本中是完全相同的。這個(gè)定制IP核可以直接插在賽靈思嵌入式開發(fā)套件(SDK)上,讓FPGA控制NetMot FMC的電機(jī)電力電子系統(tǒng)。這樣我們就可以把IP核添加到Xilinx Platform Studio (XPS)項(xiàng)目的嵌入式設(shè)計(jì)中,并對(duì)其進(jìn)行配置,使之適用于通過FMC接插件連接到FPGA的電機(jī)。XMCLIB軟件驅(qū)動(dòng)程序是一套底層功能,使電機(jī)控制應(yīng)用能夠訪問XMCLIB寄存器接口。

圖 3:CAN/EtherCAT嵌入式系統(tǒng)

圖3中文字:

另一方面,網(wǎng)絡(luò)IP核也是兩個(gè)系統(tǒng)版本的不同之處。對(duì)于CAN版設(shè)計(jì),我們選擇標(biāo)準(zhǔn)的 LogiCORETM IP XPS控制器區(qū)域網(wǎng)絡(luò),該網(wǎng)絡(luò)隨同ISE 12.1設(shè)計(jì)套件提供,并由博世公司許可。對(duì)于EtherCAT版設(shè)計(jì),我們使用倍福公司針對(duì)賽靈思FPGA開發(fā)的EtherCAT從控制器IP核 。兩種IP核在XPS工具的IP目錄標(biāo)簽上都有提供,使設(shè)計(jì)的集成和配置工作異常簡單明了。在本案例中,我們沒有使用簡單的驅(qū)動(dòng)程序來提供對(duì)網(wǎng)絡(luò)IP核的訪問,我們使用了Port公司提供的CANopen和EtherCAT協(xié)議棧解決方案。該解決方案提供了功能齊全的開箱即用型協(xié)議實(shí)施方案。

最終,我們?cè)O(shè)計(jì)出了一種定制嵌入式軟件應(yīng)用,可以在運(yùn)行于MicroBlaze處理器系統(tǒng)的 Micrium(www.micrium.com)μC/OS-II上運(yùn)行。μC/OS-II是一種嵌入式操作系統(tǒng),可增強(qiáng)原型系統(tǒng)的實(shí)時(shí)功能,并提供多任務(wù)、消息隊(duì)列和信號(hào)量等功能。

我們還意識(shí)到,應(yīng)該讓應(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核的通信。這些模塊可以無縫地插入我們的接口抽象層上。在這些協(xié)議棧的頂層,我們把通信和控制數(shù)據(jù)(比如 PDO、SDO和NMT狀態(tài)交易)傳輸?shù)匠橄髮又?,然后抽象層將?shù)據(jù)進(jìn)行轉(zhuǎn)譯并以諸如啟動(dòng)/停止、以特定速率旋轉(zhuǎn)或旋轉(zhuǎn)到特定位置之類的命令提交給電機(jī)控制應(yīng)用。

為了為接口抽象層確定一組通用信息和命令,我們研究了工業(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)提出的概念為我們開發(fā)接口抽象層奠定了基礎(chǔ),使我們能夠?qū)ο到y(tǒng)的網(wǎng)絡(luò)組件進(jìn)行封裝。我們因此可以更改系統(tǒng)中的網(wǎng)絡(luò)接口,而這只需要對(duì)軟件稍加定制修改,就可以讓其與現(xiàn)有的電機(jī)控制應(yīng)用兼容。

展望未來

這款智能驅(qū)動(dòng)控制系統(tǒng)原型的成功交付清晰地展現(xiàn)了FPGA在工業(yè)以太網(wǎng)網(wǎng)絡(luò)、現(xiàn)場(chǎng)總線和電機(jī)控制領(lǐng)域的發(fā)展?jié)摿?。雖然要開發(fā)出功能齊全的產(chǎn)品還有一些工作要做,但賽靈思設(shè)計(jì)服務(wù)部已為客戶量身定制了一款目標(biāo)設(shè)計(jì)平臺(tái),并通過性能增強(qiáng),打造出了一款能夠顯著降低最終工程產(chǎn)品的開發(fā)工作量與風(fēng)險(xiǎn)的定制解決方案。下一步賽靈思設(shè)計(jì)服務(wù)部將考慮擴(kuò)展該目標(biāo)設(shè)計(jì)平臺(tái),以支持Profinet IP核和協(xié)議棧,向客戶展現(xiàn)賽靈思設(shè)計(jì)服務(wù)部采用的模塊方案和設(shè)計(jì)實(shí)踐的效果。



評(píng)論


相關(guān)推薦

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

關(guān)閉