FPGA 是如何引入工業(yè)驅(qū)動架構(gòu)的?
在這個系列的第一篇博文中,我們了解到FPGA是如何被引入到驅(qū)動架構(gòu)中的?,F(xiàn)在,我們來看一看在一個工業(yè)驅(qū)動/伺服機(jī)架構(gòu)中使用FPGA時遇到的一些挑戰(zhàn),以及以COTS MCU形式運(yùn)轉(zhuǎn)的控制片上系統(tǒng) (SoC) 的全新功能如何用FPGA來改變針對工業(yè)驅(qū)動的成本有效模型。
很多工業(yè)逆變器和伺服機(jī)廠商在很長一段時間內(nèi)依靠現(xiàn)場可編程門陣列 (FPGA) 或ASIC技術(shù)來完成32位微控制器 (MCU) 等商用現(xiàn)貨 (COTS) 產(chǎn)品所不支持的功能。然而,為了支持位置傳感器反饋或增量-累加濾波,在軟件可編程控制器中添加的FPGA和ASIC將增加系統(tǒng)成本和開發(fā)復(fù)雜度。
難道我們就不該問一問:正在被置入到FPGA中的功能是不是能為驅(qū)動產(chǎn)品帶來真正的改變?將這些功能包括在內(nèi)是不是已經(jīng)成為每一個驅(qū)動設(shè)備廠商的標(biāo)準(zhǔn)做法?簡言之,這些被用來實現(xiàn)所需功能、價格虛高的FPGA門是不是已經(jīng)成為在工業(yè)驅(qū)動行業(yè)里生存的籌碼?
雖然FPGA是重新可編程的,并且被認(rèn)為有可能提供系統(tǒng)適應(yīng)性和更佳的系統(tǒng)性能,相對于目前用于工業(yè)驅(qū)動應(yīng)用的MCU,它們也有某些缺點(diǎn)。開發(fā)人員應(yīng)該衡量所需專業(yè)化工程技能、總體項目工作量和系統(tǒng)總成本。
很多正在被開發(fā)的驅(qū)動系統(tǒng)保持了與FPGA組合在一起的C語言可編程微控制器或微處理器。這個處理器的C代碼生成和調(diào)試開發(fā)環(huán)境被人所熟知,并且是必須的?,F(xiàn)在,將一個FPGA引入到這個系統(tǒng)需要額外的開發(fā)流程和工具集。盡管在對外宣傳時,這些工具在易用性方面取得了一定的進(jìn)步,不過通常情況下開發(fā)MCU C代碼和開發(fā)FPGA VHDL代碼的不是同一批工程人員。VHDL編碼風(fēng)格與開發(fā)流程與MCU軟件開發(fā)大不相同,并且需要特別的工程資源。此外,恰恰是FPGA開發(fā)人員必須成為他們所執(zhí)行的硬件IP方面的低級和系統(tǒng)級專家。例如,他們不但需要知道如何為一個BiSS主機(jī)執(zhí)行VHDL,他們需要了解BiSS協(xié)議,這是因為他們需要驗證他們的FPGA器具是否符合BiSS傳感器的要求。這項專業(yè)化工程技能不是每個運(yùn)動控制或逆變器廠商都能夠為員工提供的,并且這當(dāng)然也不能發(fā)揮他們在運(yùn)動和電機(jī)控制性能方面所起到的獨(dú)特作用。只使用一個本身就支持BiSS編碼器的微控制器是不是更簡單一些呢?
從開發(fā)角度講,管理人員需要將FPGA創(chuàng)建視為一個定制開發(fā)。他們的開發(fā)團(tuán)隊對于上市銷售的FPGA的產(chǎn)品特性具有額外的所有權(quán),并且對這些產(chǎn)品特性負(fù)責(zé)。如果VHDL未被正確編碼,他們不能求助于FPGA供應(yīng)商;他們只能自己尋找問題的原因,并且找到解決問題的補(bǔ)救方法。當(dāng)你把VHDL與使用COTS MCU的模型相比較的時候,與FPGA開發(fā)相關(guān)的定制責(zé)任遠(yuǎn)遠(yuǎn)超過了FPGA內(nèi)部的門設(shè)計工作。印刷電路板 (PCB) 影響、MCU門級/寄存器接口、軟件抽象和總體系統(tǒng)集成工作量全都是非標(biāo)準(zhǔn)的,也就是說,它們不是現(xiàn)成可用的解決方案。詳細(xì)信息請見圖1。除了開發(fā)之外,隨著全新連接組件的發(fā)布或修改,這個模型在用戶支持、產(chǎn)品維護(hù)版本和長期品質(zhì)一致性方面具有額外的工程設(shè)計復(fù)雜度。使用具有這些特性的標(biāo)準(zhǔn)MCU,并且供應(yīng)商對整個產(chǎn)品解決方案負(fù)責(zé)(硬件、軟件、工具和設(shè)計)的話,會不會更加簡單?
圖1:FPGA與驅(qū)動SoC的EnDat開發(fā)比較
此外,也許最明顯的一點(diǎn)就是額外組件對物料清單的影響。FPGA的成本絕不僅僅限于對單價的影響。FPGA器件將需要額外的PCB面積,以及MCU對接和電源所需要的引腳。當(dāng)與FPGA一同運(yùn)行時,這些成本是不可避免的,不過,當(dāng)這些功能已經(jīng)存在于驅(qū)動SoC MCU上時,這些開銷是沒有必要的。在幾種情況下,我們觀察到,相對于驅(qū)動SoC器件,F(xiàn)PGA本身需要額外的、且更加復(fù)雜的電源電路。此外,執(zhí)行FPGA將多余的門引入到系統(tǒng)中,諸如到MCU的寄存器接口,以及實現(xiàn)相位電流和電壓感測的外部模數(shù)轉(zhuǎn)換器 (ADC) 接口。一個驅(qū)動SoC包括一個針對驅(qū)動應(yīng)用的內(nèi)置高性能ADC,并且無需這個額外的邏輯電路。因此,相對于附加FPGA架構(gòu)的MCU,使用一個單個COTS驅(qū)動SoC可以有很多機(jī)會降低總體系統(tǒng)成本。
支持DesignDRIVE技術(shù)的2000™ MCU是COTS MCU;它用整體產(chǎn)品理念提供更高級別的驅(qū)動系統(tǒng)集成,通過降低對專業(yè)工程技術(shù)人才的需要、節(jié)省開發(fā)時間并簡化系統(tǒng)成本來使驅(qū)動開發(fā)人員受益。
在這個博客系列的下一篇關(guān)于驅(qū)動控制架構(gòu)的文章中,我將著重介紹現(xiàn)貨C2000 Delfino™ MCU工業(yè)驅(qū)動SoC如何處理那些傳統(tǒng)上已經(jīng)由一個FPGA完成的功能:快速轉(zhuǎn)矩環(huán)路計算、已調(diào)制增量-累加ADC信號的過濾、高性能PWM、PWM保護(hù),以及與高性能位置傳感器的對接。