工業(yè)系統(tǒng)FPGA可編程平臺(tái)提供設(shè)計(jì)靈活性
工業(yè)系統(tǒng)一般都以升級(jí)的設(shè)計(jì)方案為基礎(chǔ),這些設(shè)計(jì)方案在大都采用ASIC或者ASSP,有時(shí)也需要依靠更傳統(tǒng)的電子設(shè)備如微控制器或微處理器、離散數(shù)字和模擬設(shè)備以及內(nèi)存芯片等。但每一次無(wú)論是推出新品還是對(duì)產(chǎn)品進(jìn)行升級(jí),一旦需要新的特征、功能或者改進(jìn),設(shè)計(jì)人員都必須從零做起。 ASIC和ASSP設(shè)計(jì)方法為工業(yè)產(chǎn)品設(shè)計(jì)提供了固定平臺(tái),但是其成本昂貴,開(kāi)發(fā)時(shí)間長(zhǎng),而且很難實(shí)現(xiàn)產(chǎn)品差異化。如果使用傳統(tǒng)的離散器件,在目前整個(gè)工程設(shè)計(jì)領(lǐng)域都在呼吁更大的設(shè)計(jì)靈活性、產(chǎn)品差異化和更低設(shè)計(jì)成本的情況下,顯然不具備任何設(shè)計(jì)優(yōu)勢(shì)。 ASIC、ASSP和傳統(tǒng)的芯片式設(shè)計(jì)無(wú)法滿足新一代工業(yè)系統(tǒng)的需求。新的工業(yè)應(yīng)用需要可靈活定制的硬件和軟件平臺(tái)、性能更高的數(shù)字信號(hào)處理(DSP)、更短的產(chǎn)品開(kāi)發(fā)周期、更低的設(shè)計(jì)成本和更快的上市速度。 FPGA曾被歸類到膠合邏輯,但目前具備了高端和高集成功能,能提供很多設(shè)計(jì)上的優(yōu)勢(shì)。 基于FPGA的可編程平臺(tái)給工業(yè)系統(tǒng)設(shè)計(jì)者們提供了快速低成本產(chǎn)品創(chuàng)新和進(jìn)化的基礎(chǔ)。FPGA的靈活性帶來(lái)了一個(gè)獨(dú)特方法,讓設(shè)計(jì)者可以創(chuàng)建一個(gè)硬件設(shè)計(jì)方案作為多種不同產(chǎn)品的基礎(chǔ),從而降低設(shè)計(jì)和制造成本。這一點(diǎn)是完全可能的,因?yàn)槭褂肍PGA的可編程平臺(tái)讓他們可以通過(guò)設(shè)計(jì)重編程來(lái)快速開(kāi)發(fā)新的特征或功能。 設(shè)計(jì)者們還能以最小的工程量來(lái)設(shè)計(jì)新功能或者進(jìn)行設(shè)計(jì)升級(jí),以面對(duì)不斷改變的市場(chǎng)需求和標(biāo)準(zhǔn)。另外,即便是已在工廠車(chē)間使用的工業(yè)產(chǎn)品,都能借助FPGA進(jìn)行升級(jí)。 另外,這樣的一個(gè)平臺(tái)設(shè)計(jì)策略可以實(shí)現(xiàn)更大的產(chǎn)品差異化,并可能提高利潤(rùn)。它讓工業(yè)系統(tǒng)能攜新特征更快上市,同時(shí)又在用戶面前保住了品牌,并進(jìn)一步降低了某個(gè)產(chǎn)品設(shè)計(jì)被廢棄的風(fēng)險(xiǎn)。 產(chǎn)品廢棄會(huì)給工業(yè)系統(tǒng)OEM產(chǎn)生極高的硬件成本,有時(shí)甚至高達(dá)數(shù)百萬(wàn)美元。據(jù)估計(jì)工業(yè)系統(tǒng)OEM平均要花費(fèi)15%-20%的工程時(shí)間來(lái)重新設(shè)計(jì)系統(tǒng)的功能并更新文件。 FPGA就能幫助OEM減輕這一沉重負(fù)擔(dān)。FPGA設(shè)備可以完美適用于各種工業(yè)應(yīng)用領(lǐng)域,包括安保系統(tǒng)、工業(yè)自動(dòng)化、控制系統(tǒng)、現(xiàn)場(chǎng)測(cè)量、開(kāi)關(guān)和控制裝置、環(huán)境和樓宇控制、馬達(dá)控制等。無(wú)論是在性能還是在價(jià)格方面,它們都能夠滿足這些以及其它成本敏感型工業(yè)應(yīng)用的要求。FPGA能集成各種工業(yè)現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),例如Profinet, Sercos III, Cip Synch, Ethernet-PowerLink, Ethernet IP和EtherCat等,這充分顯示出它給設(shè)計(jì)者帶來(lái)的非凡的靈活性。這些不同的標(biāo)準(zhǔn)原本需要大量不同的適配卡,每張卡都專用于某個(gè)標(biāo)準(zhǔn)。而且生產(chǎn)這些適配卡要耗費(fèi)很大的工作量,并需要很多離散元件。 在這種情況下,就可以使用一個(gè)FPGA設(shè)備來(lái)集成各種不同的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),從而不需要開(kāi)發(fā)如此多的適配卡,自然也就節(jié)省了成本。它只需要物理接收器來(lái)使電器特征和專用現(xiàn)場(chǎng)總線相匹配。 FPGA可以在系統(tǒng)生產(chǎn)的過(guò)程中進(jìn)行編程,為某個(gè)特定的現(xiàn)場(chǎng)總線提供量身定做的電子設(shè)備。另外,F(xiàn)PGA也可以通過(guò)現(xiàn)場(chǎng)重編程來(lái)輕松執(zhí)行某個(gè)標(biāo)準(zhǔn)的新規(guī)范。FPGA還能用于過(guò)程控制和工廠自動(dòng)化。在這些工業(yè)設(shè)計(jì)中,F(xiàn)PGA結(jié)合IP內(nèi)核,可以降低開(kāi)發(fā)成本、提高設(shè)計(jì)靈活性并縮短開(kāi)發(fā)周期。 像Cyclone II等FPGA,都帶有一個(gè)32位的Nios II嵌入式處理器,能給工業(yè)設(shè)計(jì)者帶來(lái)高效和靈活性,以添加應(yīng)用外圍設(shè)備并實(shí)現(xiàn)所需的內(nèi)核性能。設(shè)計(jì)者可以對(duì)成本和性能作出權(quán)衡,既可以設(shè)計(jì)一個(gè)低端低成本的從系統(tǒng),也可以設(shè)計(jì)一個(gè)處理器內(nèi)核與速度及所需外圍設(shè)備完美匹配的高端高性能的系統(tǒng)。 過(guò)程控制系統(tǒng)對(duì)制造環(huán)境進(jìn)行監(jiān)控,并依據(jù)用戶設(shè)定的限制對(duì)過(guò)程和制造流程進(jìn)行控制。典型的過(guò)程控制系統(tǒng)都會(huì)使用一個(gè)像激光二極管這樣的測(cè)量裝置來(lái)檢測(cè)工業(yè)環(huán)境中的氣體或者液體成分。某種氣體或液體的頻率信號(hào)頻率信號(hào)被發(fā)送到接收器,接收器將之轉(zhuǎn)化成數(shù)字信號(hào),接著由處理器進(jìn)行鑒定。下一步,主控制器和自動(dòng)化系統(tǒng)會(huì)利用該鑒定信息來(lái)執(zhí)行系統(tǒng)任務(wù)。如圖1,F(xiàn)PGA中的嵌入式處理器控制系統(tǒng),而能匹配IP內(nèi)核的FPGA則執(zhí)行Ethernet媒體訪問(wèn)控制(MAC)功能、一個(gè)控制控制器局域網(wǎng)(CAN)的控制器接口、UART和內(nèi)部集成電路總線控制器接口。
工廠自動(dòng)化系統(tǒng)控制制造和工業(yè)環(huán)境中的生產(chǎn)流程。這些自動(dòng)化系統(tǒng)不斷從生產(chǎn)線的傳感器上(一般是電荷耦合數(shù)碼相機(jī))接收數(shù)據(jù)并將之過(guò)濾,接著通過(guò)工業(yè)系統(tǒng)廠商的專用圖像識(shí)別算法對(duì)數(shù)據(jù)進(jìn)行處理。 圖像識(shí)別模塊讓自動(dòng)化系統(tǒng)可以識(shí)別生產(chǎn)流程中的各種狀態(tài),比如產(chǎn)品的缺失或者缺陷。該信息接著被傳輸?shù)街飨到y(tǒng),主系統(tǒng)參考該信息來(lái)加速或減慢生產(chǎn)線,或啟動(dòng)對(duì)生產(chǎn)線上某個(gè)部件的拒收程序。 FPGA可用來(lái)在一般的工廠自動(dòng)化系統(tǒng)中執(zhí)行各種不同的任務(wù)。Nios嵌入式處理器可作為組件控制器,減輕主控制器執(zhí)行系統(tǒng)任務(wù)的負(fù)擔(dān)。 FPGA可借助IP內(nèi)核來(lái)執(zhí)行10/100 Ethernet MAC和CAN,從而進(jìn)一步加快設(shè)計(jì)時(shí)間。圖2展示了FPGA的RAM區(qū)塊中執(zhí)行的緩沖功能,以及FPGA為開(kāi)發(fā)一個(gè)完整的工廠自動(dòng)化方案而利用IP內(nèi)核來(lái)執(zhí)行的FIR濾波器和UART功能。 設(shè)計(jì)者可以利用IP內(nèi)核結(jié)合一個(gè)嵌入式處理器來(lái)加快設(shè)計(jì)速度,從而將更多精力集中于系統(tǒng)設(shè)計(jì)的其它方面。另外,各種離散器件的功能被集成到一個(gè)FPGA中,減少了板上的離散元件數(shù)量,壓縮了設(shè)計(jì)成本和時(shí)間,從而極大地降低了成本。
協(xié)處理器FPGA通用性很高,能用在高帶寬工業(yè)DSP領(lǐng)域作為強(qiáng)大的協(xié)處理器。在這些設(shè)計(jì)中,連續(xù)輸入數(shù)據(jù)樣本之間逐步完成的計(jì)算會(huì)限制DSP指令帶寬。在一些傳統(tǒng)的DSP芯片中,可以通過(guò)多個(gè)處理單元來(lái)使帶寬限制最小化。 但如果要?jiǎng)?chuàng)建專用管道代碼來(lái)利用這些處理單元,就必須對(duì)匯編語(yǔ)言程序進(jìn)行手動(dòng)編碼。這類代碼的維護(hù)、復(fù)用性和執(zhí)行會(huì)很麻煩,而且成本很高。另外,同步執(zhí)行的程度也相對(duì)較低。 一個(gè)能代替高帶寬計(jì)算的更好方法就是用一個(gè)FPGA作為協(xié)處理器。這種方法將反復(fù)高速算法綜合到了FPGA中。借助于一個(gè)FPGA和面向DSP應(yīng)用的自動(dòng)化設(shè)計(jì)軟件,工程師能以傳統(tǒng)數(shù)字信號(hào)處理器無(wú)法實(shí)現(xiàn)的方式優(yōu)化系統(tǒng)性能。 利用FPGA也可以提高超聲波探傷的效率。在這種應(yīng)用中,傳感器傳出數(shù)據(jù)的速率能遠(yuǎn)高于音速,甚至可高達(dá)20 MSamples/sec。 在其它工業(yè)應(yīng)用中,傳感器數(shù)據(jù)率可能小得多(比如只有100 kSamples/sec),但可能會(huì)有多個(gè)傳感器。雖然這可以讓有效數(shù)據(jù)率達(dá)到射頻水平,但如果處理鏈太復(fù)雜,DSP就無(wú)法具有實(shí)現(xiàn)實(shí)時(shí)的帶寬,而數(shù)據(jù)處理就必須離線執(zhí)行。 DSP的問(wèn)題在于它是串行處理,每次只能處理信號(hào)鏈中的一個(gè)元件。有些高端DSP可以同時(shí)處理少量的指令,以實(shí)現(xiàn)一定程度的并行。但是,使用這些DSP的成本會(huì)比非并行方法的成本高9倍。雖然在很多應(yīng)用中都能使用多個(gè)DSP來(lái)實(shí)現(xiàn)真正的并行處理,但是其硬件成本也會(huì)迅速增加,而用于這些系統(tǒng)的軟件也很復(fù)雜而昂貴。 另外,這個(gè)方法還需要一個(gè)實(shí)時(shí)操作系統(tǒng)(RTOS)或者復(fù)雜的處理器互通信方案。并且其真正并行的程度相對(duì)較低,還會(huì)耗費(fèi)過(guò)多的設(shè)計(jì)時(shí)間,帶來(lái)高成本,并極大減緩上市速度。而如果使用FPGA,則可以將一系列操作轉(zhuǎn)化成以數(shù)個(gè)200+MHz時(shí)鐘周期運(yùn)行的并行結(jié)構(gòu)。可以通過(guò)使過(guò)程真正并行來(lái)加速算法,這是使用FPGA的一個(gè)主要優(yōu)勢(shì)。 在DSP方案中,設(shè)計(jì)者除了編寫(xiě)管道匯編語(yǔ)言(如果其DSP處理器能支持),能夠提高性能的方法不多。另一個(gè)方法就是采用一個(gè)頻率更高的數(shù)字信號(hào)處理器。有了FPGA,硬件和軟件可以同時(shí)優(yōu)化。因此,有了靈活的FPGA設(shè)計(jì)軟件,設(shè)計(jì)者們就擁有了三重選擇(如圖3),而從前他們只有代碼優(yōu)化和處理器速度兩個(gè)選擇。
由于各種性能高的硬件處理器價(jià)格也高,設(shè)計(jì)者只剩下一個(gè)選擇:代碼優(yōu)化。但資深的工業(yè)設(shè)計(jì)人員就非常清楚,代碼優(yōu)化這個(gè)方法并不能屢試不爽。 從前由于產(chǎn)品設(shè)計(jì)時(shí)間和成本因素,或者因?yàn)閭鹘y(tǒng)DSP不能處理大量計(jì)算而無(wú)法設(shè)計(jì)的工業(yè)系統(tǒng),現(xiàn)在借助于FPGA的高度靈活性都能實(shí)現(xiàn)了。有了FPGA,設(shè)計(jì)者還實(shí)現(xiàn)了硬件加速,并獲得了更寬的設(shè)計(jì)空間。FPGA使并行處理程度高于DSP的并行處理,并讓算法大量并行,從而實(shí)現(xiàn)了這樣的硬件加速。 |