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