工業(yè)驅(qū)動(dòng)控制SoC與MCU+FPGA架構(gòu)淺析
作者/ Brian Fortman TI公司
本文引用地址:http://butianyuan.cn/article/201610/311924.htm摘要:本文分析了將一個(gè)FPGA引入到驅(qū)動(dòng)架構(gòu)時(shí)所面臨的挑戰(zhàn),以及這些架構(gòu)的發(fā)展歷史和工業(yè)驅(qū)動(dòng)控制SoC(COTS MCU)的新功能如何改變?cè)诠I(yè)驅(qū)動(dòng)中使用FPGA的成本效益模式。
很多工業(yè)用逆變器和伺服驅(qū)動(dòng)器廠商一直依賴(lài)現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或ASIC技術(shù)來(lái)實(shí)現(xiàn)例如32位微控制器(MCU)等商用及現(xiàn)存(COTS)產(chǎn)品無(wú)法支持的功能。然而,為了支持位置傳感器反饋或Σ-Δ濾波,將FPGA和ASIC添加到軟件可編程控制器中往往會(huì)增加系統(tǒng)的成本和復(fù)雜度。因此,我們不禁會(huì)問(wèn):被放置在FPGA中的功能真的能夠?yàn)轵?qū)動(dòng)產(chǎn)品帶來(lái)差異性嗎?用戶(hù)是否有必要為FPGA中的功能支付額外的費(fèi)用,以及包含這些功能是否已經(jīng)成為每個(gè)驅(qū)動(dòng)廠商的標(biāo)準(zhǔn)常規(guī)?換句話說(shuō),它們是否僅僅是工業(yè)驅(qū)動(dòng)行業(yè)中的一個(gè)籌碼?
FPGA存在的弊端
雖然FPGA支持可重新編程,并且被認(rèn)為有可能提供系統(tǒng)適應(yīng)性和更佳的系統(tǒng)性能,但是相對(duì)于目前MCU為工業(yè)驅(qū)動(dòng)應(yīng)用帶來(lái)的新機(jī)遇,F(xiàn)PGA也有一些弊端。開(kāi)發(fā)人員應(yīng)該在所需專(zhuān)業(yè)工程技能、總體項(xiàng)目工作量以及系統(tǒng)總成本的影響之間做出權(quán)衡。
很多驅(qū)動(dòng)系統(tǒng)在開(kāi)發(fā)中都保留了一個(gè)COTS可編程微控制器或配備FPGA的微處理器。這個(gè)處理器的C語(yǔ)言代碼生成和調(diào)試開(kāi)發(fā)環(huán)境是眾所周知且必須的。目前,將一個(gè)FPGA引入到系統(tǒng)中需要一個(gè)額外的開(kāi)發(fā)流程和一整套工具。盡管這些工具在易用性方面取得了一些進(jìn)步,通常情況下,開(kāi)發(fā)MCU C語(yǔ)言代碼以及FPGA VHDL代碼的并不是同一名工程技術(shù)人員。VHDL編碼風(fēng)格和開(kāi)發(fā)流程與MCU軟件開(kāi)發(fā)大相徑庭,并且需要專(zhuān)門(mén)的工程設(shè)計(jì)資源。此外,F(xiàn)PGA開(kāi)發(fā)人員還必須成為針對(duì)他們所執(zhí)行硬件IP的低級(jí)和系統(tǒng)級(jí)專(zhuān)家。例如,他們不但需要知道如何為一個(gè)BiSS主控實(shí)現(xiàn)VHDL,還需要掌握BiSS協(xié)議,這是因?yàn)樗麄冃枰?yàn)證設(shè)計(jì)的FPGA實(shí)現(xiàn)方式符合BiSS傳感器的要求。這個(gè)專(zhuān)業(yè)化的工程設(shè)計(jì)技能組合也許并不是每一個(gè)運(yùn)動(dòng)控制或逆變器廠商都能夠?yàn)槠鋯T工提供的,而且它也必然會(huì)為實(shí)現(xiàn)運(yùn)動(dòng)和電機(jī)控制性能等差別化特性帶來(lái)額外的工作量。那么,只使用一個(gè)本身就支持BiSS編碼器的微控制器是不是相對(duì)更簡(jiǎn)單一些呢?
從開(kāi)發(fā)角度來(lái)看,產(chǎn)品經(jīng)理實(shí)際上需要將FPGA的生成視為一個(gè)定制開(kāi)發(fā)。對(duì)于通過(guò)FPGA為市場(chǎng)提供的產(chǎn)品特性,他們的開(kāi)發(fā)團(tuán)隊(duì)擁有額外的所有權(quán),同時(shí)要承擔(dān)更大的責(zé)任。如果VHDL的編碼不正確,他們不能求助于FPGA供應(yīng)商,只能自己查找問(wèn)題的根源,同時(shí)尋求補(bǔ)救所需的資源。當(dāng)把這種情況與使用COTS MCU的模式相比較時(shí),與FPGA開(kāi)發(fā)相關(guān)的定制責(zé)任遠(yuǎn)遠(yuǎn)超過(guò)了在FPGA設(shè)計(jì)的邏輯門(mén)。印刷電路板 (PCB)、MCU邏輯門(mén)級(jí)接口和寄存器接口、軟件抽象與總體系統(tǒng)集成工作全都是非標(biāo)準(zhǔn)的,也就是說(shuō),全都不是現(xiàn)成可用的解決方案(如圖1)。除了開(kāi)發(fā),這個(gè)模式會(huì)隨著全新對(duì)接組件的推出或修改而在用戶(hù)支持、產(chǎn)品維護(hù)更新和長(zhǎng)期合規(guī)方面增加額外的工程設(shè)計(jì)復(fù)雜性。所以,使用一個(gè)具有這些特性的標(biāo)準(zhǔn)MCU,并且讓供應(yīng)商對(duì)整個(gè)產(chǎn)品解決方案的硬件、軟件、工具與設(shè)計(jì)負(fù)責(zé),使問(wèn)題變得更簡(jiǎn)單。
接下來(lái),最明顯的一點(diǎn)可能就是額外組件對(duì)于物料清單的影響。FPGA成本不僅會(huì)影響單價(jià),F(xiàn)PGA器件將需要額外的PCB面積以及用于MCU對(duì)接和電源的引腳。這些成本在使用FPGA時(shí)是無(wú)法避免的。不過(guò),當(dāng)這些功能已經(jīng)存在于驅(qū)動(dòng)SoC MCU之上時(shí),也就不需要這些成本開(kāi)銷(xiāo)了。通過(guò)數(shù)個(gè)實(shí)例的比較,我們發(fā)現(xiàn),與驅(qū)動(dòng)SoC器件相比,使用FPGA需要額外且更加復(fù)雜的電源電路。此外,執(zhí)行FPGA會(huì)在系統(tǒng)中引入沒(méi)有必要的邏輯門(mén),比如連接MCU的寄存器接口以及連接實(shí)現(xiàn)相位電流和電壓感測(cè)的外部模數(shù)轉(zhuǎn)換器(ADC)接口。一個(gè)SoC驅(qū)動(dòng)包括一個(gè)針對(duì)驅(qū)動(dòng)應(yīng)用的高性能ADC,并且不需要這個(gè)額外的邏輯電路。所以,相對(duì)于基于FPGA架構(gòu)的MCU,使用單個(gè)COTS驅(qū)動(dòng)SoC可以有更多機(jī)會(huì)減少總體系統(tǒng)成本。
COTS MCU解決方案
那么,F(xiàn)PGA是如何成為逆變器驅(qū)動(dòng)架構(gòu)中的常見(jiàn)作法的呢?當(dāng)使用COTS MCU無(wú)法實(shí)現(xiàn)全新的系統(tǒng)功能時(shí),很多開(kāi)發(fā)人員必須執(zhí)行他們特定的PWM/IGBT保護(hù)機(jī)制,比如在MCU以外進(jìn)行處理。另外一些開(kāi)發(fā)人員可能覺(jué)得他們當(dāng)前的定時(shí)回路太短,無(wú)法由一個(gè)可編程MCU進(jìn)行處理,必須在邏輯門(mén)內(nèi)完成。一旦在系統(tǒng)中使用了FPGA,它自然而然地就成為了集成對(duì)持續(xù)發(fā)展市場(chǎng)中全新技術(shù)支持的器件。例如,F(xiàn)PGA集成了順時(shí)針/逆時(shí)針(CW/CCW)和脈沖串輸出(PTO)端口,以實(shí)現(xiàn)與PLC和運(yùn)動(dòng)控制器的通信。接下來(lái),F(xiàn)PGA開(kāi)始支持新出現(xiàn)的標(biāo)準(zhǔn)以及諸如EnDat和BiSS等專(zhuān)有位置傳感器。進(jìn)而,針對(duì)隔離式Σ-Δ ADC中已調(diào)制輸出的濾波電路也被集成在FPGA器件內(nèi)。此外,有少數(shù)幾個(gè)工業(yè)以太網(wǎng)標(biāo)準(zhǔn)的MAC控制器也支持FPGA邏輯門(mén)。
雖然某些驅(qū)動(dòng)功能的擴(kuò)展正在變成FPGA的一部分,但也出現(xiàn)了一個(gè)有趣的新情況。一些COTS控制器開(kāi)始在片上提供這些功能,并且能夠?yàn)槿魏悟?qū)動(dòng)開(kāi)發(fā)人員創(chuàng)造出現(xiàn)成可用的功能。這里面的差異是很顯著的:片上功能可以立即提供給開(kāi)發(fā)人員,換言之,只要購(gòu)買(mǎi)產(chǎn)品組合中的一個(gè)MCU,就無(wú)需通過(guò)FPGA來(lái)自己構(gòu)建這些解決方案。正因如此,開(kāi)發(fā)人員現(xiàn)在可以避免以上提及的大多數(shù)弊端。
具有DesignDRIVE技術(shù)的C2000TM MCU就是一款COTS MCU,能夠提供這個(gè)更高級(jí)別的驅(qū)動(dòng)系統(tǒng)集成。整個(gè)產(chǎn)品的設(shè)計(jì)目的在于通過(guò)降低對(duì)專(zhuān)門(mén)工程設(shè)計(jì)人才的需要、節(jié)省開(kāi)發(fā)時(shí)間以及簡(jiǎn)化系統(tǒng)成本,幫助驅(qū)動(dòng)開(kāi)發(fā)人員從中受益。
目前,C2000 DelfinoTM MCU工業(yè)驅(qū)動(dòng)片上系統(tǒng)(SoC)能夠處理以下任務(wù),而這些任務(wù)之前一直在FPGA中完成,例如,快速轉(zhuǎn)矩環(huán)路計(jì)算、Σ-Δ ADC信號(hào)過(guò)濾、高性能PWM、PWM保護(hù)以及與高性能位置傳感器的對(duì)接。Delfino MCU產(chǎn)品組合能夠?qū)崿F(xiàn)低于3微秒的浮點(diǎn)轉(zhuǎn)矩環(huán)路計(jì)算,并且包含高度靈活的150ps高分辨率PWM。這個(gè)CLA實(shí)時(shí)協(xié)處理器負(fù)責(zé)處理這些算法,以最大限度地減少采樣與下一個(gè)PWM命令之間的間隔。此外,片上還有多達(dá)8通道的集成Σ-Δ濾波器,同時(shí),在同一條通道上還具有平行范圍比較器。片上比較器子系統(tǒng)和PWM區(qū)間功能可以在50ns內(nèi)調(diào)用至安全的PWM狀態(tài)(例如關(guān)閉)。Delfino MCU在為觸發(fā)區(qū)間事件而生成片上條件時(shí)非常靈活。很多不同類(lèi)型的PWM保護(hù)概念可以使用這些片上資源實(shí)現(xiàn),并且因此也就無(wú)需將電路放置在外部的FPGA中。驅(qū)動(dòng)系統(tǒng)概覽如圖2。
此外,這款全新的Delfino TMS320F28379S和TMS320F28379D MCU以及DesignDRIVE位置管理器技術(shù)是Delfino MCU系列的最新成員。通過(guò)將DesignDRIVE位置管理器軟件與全新的Delfino F28379 MCU組合在一起,上述所提到的片上功能得到了擴(kuò)展,用于實(shí)現(xiàn)與EnDat2.2和BiSS-C絕對(duì)位置傳感器的輕松、直接連接,這都是之前需要FPGA才能實(shí)現(xiàn)的功能。不僅如此,通過(guò)使用某些精密片上模擬電路,同樣是這些器件,它們能夠解碼解算器信號(hào)以及來(lái)自SIN/COS換能器的角度。
這款解決方案能夠提供寬泛的位置傳感器支持、靈活性、可擴(kuò)展性和穩(wěn)健耐用性,幫助開(kāi)發(fā)人員通過(guò)減少FPGA或ASIC電路板面積來(lái)降低系統(tǒng)成本。
C2000 DesignDRIVE技術(shù)為工業(yè)驅(qū)動(dòng)提供了片上解決方案,集成在COTS實(shí)時(shí)MCU內(nèi)部。DesignDRIVE解決方案簡(jiǎn)化了系統(tǒng)、節(jié)省了電路板空間和開(kāi)發(fā)工作量,這使得開(kāi)發(fā)人員不用在業(yè)內(nèi)非差別化特性方面做出沒(méi)有必要的投入。反之,開(kāi)發(fā)人員可以將注意力放在產(chǎn)品差別化以及核心競(jìng)爭(zhēng)力方面,比如說(shuō)電機(jī)控制和運(yùn)動(dòng)控制,無(wú)需搭建FPGA或編寫(xiě)那些完成非差別化任務(wù)所需的復(fù)雜代碼。
本文來(lái)源于中國(guó)科技期刊《電子產(chǎn)品世界》2016年第10期第31頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。
評(píng)論