引言
隨著微電子技術(shù)和半導(dǎo)體工業(yè)的不斷創(chuàng)新和發(fā)展,集成電路的集成度和生產(chǎn)工藝技術(shù)水平得到不斷提高,從而使得在一個(gè)半導(dǎo)體芯片上完成系統(tǒng)級(jí)的集成已成為可能?,F(xiàn)代數(shù)字技術(shù)已進(jìn)入電子設(shè)計(jì)自動(dòng)化EDA(Electronic Design Automation)時(shí)代,這大大改變了現(xiàn)代電子系統(tǒng)設(shè)計(jì)的理念,極大地提高了大規(guī)模系統(tǒng)電子設(shè)計(jì)的自動(dòng)化程度。EDA設(shè)計(jì)方法學(xué)在各種電子系統(tǒng)設(shè)計(jì)中有著極大的影響和廣闊的應(yīng)用前景,當(dāng)然在電機(jī)控制領(lǐng)域也不例外。
1 現(xiàn)代EDA設(shè)計(jì)方法
可編程邏輯器件是從20世紀(jì)80年代開始迅速發(fā)展起來(lái)的,現(xiàn)在已經(jīng)成為ASIC(Application Specific Integrated Circuit)的一個(gè)重要分支,在計(jì)算機(jī)應(yīng)用、通信、智能儀表、醫(yī)用設(shè)備、軍事、民用電器等各個(gè)領(lǐng)域都得到了廣泛的應(yīng)用,并受到越來(lái)越多的關(guān)注。它允許用戶按照自己的設(shè)計(jì)思想對(duì)其進(jìn)行重新編程或重構(gòu),因此屬于可編程ASIC一類,并可進(jìn)一步轉(zhuǎn)化為掩模(mask)ASIC。
現(xiàn)代可編程邏輯器件主要指CPLD(Complex Programmable Logic Device,復(fù)雜可編程邏輯器件)和FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)兩種大容量的可編程邏輯器件,采用深亞微米工藝,能應(yīng)用在不同的高科技研發(fā)領(lǐng)域,如數(shù)字電路設(shè)計(jì)、微處理器系統(tǒng)、DSP、電信、可重構(gòu)計(jì)算機(jī)及ASIC設(shè)計(jì)等。由于以EEPROM、SRAM或FLASH為基礎(chǔ),用戶可以通過(guò)計(jì)算機(jī)對(duì)芯片進(jìn)行在系統(tǒng)編程(ISP)或在線重配置(ICR),不需要做掩模版圖設(shè)計(jì),因而大大降低了成本,縮短了開發(fā)時(shí)間。
現(xiàn)代EDA設(shè)計(jì)方法是伴隨著大規(guī)模可編程邏輯器件CPLD/FPGA的出現(xiàn)而誕生的,它改變了以卡諾圖化簡(jiǎn)、小規(guī)模的TTL芯片的堆砌技術(shù)等為代表的傳統(tǒng)數(shù)字電路設(shè)計(jì)模式,而是利用軟件來(lái)設(shè)計(jì)硬件,軟件的改變相應(yīng)地改變了硬件電路結(jié)構(gòu),甚至在系統(tǒng)運(yùn)行時(shí)改變系統(tǒng)的硬件結(jié)構(gòu),而不必重新布置器件管腳和設(shè)計(jì)系統(tǒng)電路,這用傳統(tǒng)設(shè)計(jì)方法是無(wú)法實(shí)現(xiàn)的,它的出現(xiàn)打破了硬件電路和軟件設(shè)計(jì)的傳統(tǒng)界限。EDA是以計(jì)算機(jī)為工具,在EDA軟件平臺(tái)上,對(duì)以硬件描述語(yǔ)言HDL為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件自動(dòng)地完成邏輯編譯、邏輯化簡(jiǎn)、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA最大的特征就是強(qiáng)大的邏輯設(shè)計(jì)仿真測(cè)試技術(shù)。EDA仿真測(cè)試技術(shù)只需通過(guò)計(jì)算機(jī)就能對(duì)所設(shè)計(jì)的電子系統(tǒng)從各種不同層次的系統(tǒng)性能特點(diǎn)完成一系列準(zhǔn)確的測(cè)試與仿真操作,在完成實(shí)際系統(tǒng)的安裝后還能對(duì)系統(tǒng)上的目標(biāo)器件進(jìn)行所謂邊界掃描測(cè)試。這一切都極大地提高了大規(guī)模系統(tǒng)電子設(shè)計(jì)的自動(dòng)化程度。
采用EDA方法和可編程器件,設(shè)計(jì)者的工作就僅限于利用軟件的方式,即利用硬件描述語(yǔ)言來(lái)完成對(duì)系統(tǒng)硬件功能的描述,在EDA工具的幫助下就可以得到最后的設(shè)計(jì)結(jié)果。盡管目標(biāo)系統(tǒng)是硬件,但整個(gè)設(shè)計(jì)和修改過(guò)程如同完成軟件設(shè)計(jì)一樣方便和高效。
傳統(tǒng)的電路設(shè)計(jì)方法都是自底向上的,即首先確定可用的元器件,然后根據(jù)這些器件進(jìn)行邏輯設(shè)計(jì),完成各模塊后進(jìn)行連接,最后形成系統(tǒng)?;贓DA技術(shù)的所謂自頂向下的設(shè)計(jì)方法正好相反,其步驟就是采用可完全獨(dú)立于目標(biāo)器件芯片物理結(jié)構(gòu)的硬件描述語(yǔ)言,在系統(tǒng)的基本功能或行為級(jí)上對(duì)設(shè)計(jì)的產(chǎn)品進(jìn)行描述和定義,結(jié)合多層次的仿真技術(shù),在確保設(shè)計(jì)的可行性與正確性的前提下,完成功能確認(rèn);然后利用EDA工具的邏輯綜合功能,把功能描述轉(zhuǎn)換成某一具體芯片的網(wǎng)表文件,輸出給該器件廠商的布局布線適配器,進(jìn)行邏輯映射及布局布線,再利用產(chǎn)生的仿真文件進(jìn)行包括功能和時(shí)序的驗(yàn)證,以確保實(shí)際系統(tǒng)的性能。這種把系統(tǒng)的結(jié)構(gòu)構(gòu)成方式與系統(tǒng)的行為或算法方式相混合的描述方式稱為混合層次描述,設(shè)計(jì)者可以在抽象度相當(dāng)高的層次上描述系統(tǒng)的基本結(jié)構(gòu)。
自頂向下的設(shè)計(jì)方法由于頂層的功能描述可以完全獨(dú)立于目標(biāo)器件的結(jié)構(gòu),在設(shè)計(jì)的最初階段,設(shè)計(jì)人員可不受芯片結(jié)構(gòu)的約束,集中精力對(duì)產(chǎn)品進(jìn)行最適應(yīng)市場(chǎng)需求的設(shè)計(jì),從而避免了傳統(tǒng)設(shè)計(jì)方法中的再設(shè)計(jì)風(fēng)險(xiǎn),縮短了產(chǎn)品的上市周期,而且設(shè)計(jì)成果可以重復(fù)利用,可移植性強(qiáng)?,F(xiàn)代的電子應(yīng)用系統(tǒng)以及電子產(chǎn)品的開發(fā)與生產(chǎn)正向模塊化發(fā)展,或者說(shuō)向軟硬核組合的方向發(fā)展。對(duì)于以往成功的設(shè)計(jì)成果稍作修改或組合就能投入再利用,從而產(chǎn)生全新的或派生的設(shè)計(jì)模塊,同時(shí)還可以以一種IP核(Intelligence Property Core,知識(shí)產(chǎn)權(quán)芯核,一種已注冊(cè)產(chǎn)權(quán)的電路設(shè)計(jì))的方式進(jìn)行存檔。
在實(shí)際設(shè)計(jì)工作中,這兩種方法往往是結(jié)合在一起使用的,在清楚了所要設(shè)計(jì)系統(tǒng)的整體功能后,把整個(gè)功能劃分為若干功能模塊,如果需要的話,再繼續(xù)劃分為更小的或更容易實(shí)現(xiàn)的子模塊,直到這些小模塊能很容易地用硬件語(yǔ)言進(jìn)行描述或直接利用現(xiàn)成的IP模塊。等所有分散的功能子模塊都設(shè)計(jì)完成后,再把這些子模塊按一定的方式組合起來(lái),最后形成所要求的系統(tǒng)功能,仿真正確后設(shè)計(jì)任務(wù)也就基本完成了。由于采用的是結(jié)構(gòu)化的設(shè)計(jì)開發(fā)手段,一旦主系統(tǒng)基本功能結(jié)構(gòu)得到確認(rèn),即可實(shí)現(xiàn)多人多任務(wù)的并行工作方式,使系統(tǒng)的設(shè)計(jì)規(guī)模和效率大幅度提高。
2 EDA技術(shù)在電機(jī)控制器集成化研究領(lǐng)域的應(yīng)用現(xiàn)狀和趨勢(shì)
2.1 EDA設(shè)計(jì)思想對(duì)電機(jī)控制方面的影響
硬件電路設(shè)計(jì)的軟件化是EDA設(shè)計(jì)方法學(xué)的基本思想,也是電路設(shè)計(jì)的發(fā)展趨勢(shì),用硬件描述語(yǔ)言來(lái)描述模擬數(shù)字電路系統(tǒng)是這一趨勢(shì)的重要組成部分。由于開發(fā)工具的通用性、設(shè)計(jì)語(yǔ)言的標(biāo)準(zhǔn)化以及設(shè)計(jì)過(guò)程幾乎與所用的CPLD/FPGA器件的硬件結(jié)構(gòu)沒(méi)有關(guān)系,所以設(shè)計(jì)成功的各類邏輯功能塊軟件有很好的兼容性和可移植性,它幾乎可用于任何型號(hào)的CPLD/FPGA中,由此還可以以知識(shí)產(chǎn)權(quán)的方式得到確認(rèn),并被注冊(cè)成為所謂的IP芯核,從而使得片上系統(tǒng)的產(chǎn)品設(shè)計(jì)效率大幅度提高。由于相應(yīng)的EDA軟件功能完善而強(qiáng)大,仿真方式便捷而實(shí)時(shí),開發(fā)過(guò)程形象而直觀,硬件因素涉及甚少,因此可以在很短時(shí)間內(nèi)完成十分復(fù)雜的系統(tǒng)設(shè)計(jì),這正是產(chǎn)品快速進(jìn)入市場(chǎng)的最寶貴的特征。
采用FPGA和CPLD不僅是電子技術(shù)發(fā)展的必然趨勢(shì),而且也是衡量產(chǎn)品技術(shù)先進(jìn)性和競(jìng)爭(zhēng)力的一個(gè)重要標(biāo)志。基于EDA的CPLD/FPGA的應(yīng)用和技術(shù)推廣將是我國(guó)未來(lái)電子設(shè)計(jì)技術(shù)發(fā)展的主流。這些新型器件的出現(xiàn),為我們進(jìn)行電機(jī)集成控制器的研究提供了物質(zhì)基礎(chǔ)和技術(shù)手段,大大地拓廣了我們的設(shè)計(jì)思路,使得諸如電機(jī)控制器等的片上系統(tǒng)集成有了可能。片上系統(tǒng)的出現(xiàn),對(duì)大幅度降低功耗、提高抗干擾性、增加技術(shù)保密性以及減少電路板面積等都提供了良好的解決方案;在系統(tǒng)可編程(ISP)技術(shù)又使得設(shè)計(jì)者可以隨時(shí)通過(guò)軟件對(duì)器件編程,從而達(dá)到改變硬件結(jié)構(gòu)的目的。隨著EDA技術(shù)的發(fā)展和CPLD/FPGA在深亞微米領(lǐng)域的進(jìn)軍,它們與.MCU、MPU、DSP、A/D、D/A、RAM和ROM等獨(dú)立器件間的物理與功能界限已日趨模糊。特別是軟/固IP芯核產(chǎn)業(yè)的迅猛發(fā)展,嵌入處理器IP核的FPGA器件的出現(xiàn),片上系統(tǒng)(SOC)已近在咫尺。CPLD/FPGA以其不可替代的地位及伴隨而來(lái)的極具知識(shí)經(jīng)濟(jì)特征的IP芯核產(chǎn)業(yè)的崛起,正越來(lái)越受到業(yè)內(nèi)人士的密切關(guān)注。EDA技術(shù)打破了軟硬件之間最后的屏障,使軟硬件工程師們有了真正的共同語(yǔ)言,使目前一切仍處于計(jì)算機(jī)輔助性設(shè)計(jì)和規(guī)劃的電子設(shè)計(jì)活動(dòng)產(chǎn)生了實(shí)實(shí)在在的設(shè)計(jì)實(shí)體。可以這么說(shuō),基于EDA的IP芯核產(chǎn)業(yè)的推動(dòng)應(yīng)是我國(guó)在下一世紀(jì)知識(shí)經(jīng)濟(jì)發(fā)展的重要切人點(diǎn)之一。單片機(jī)時(shí)代已經(jīng)結(jié)束,未來(lái)將是EDA的時(shí)代,這是極具深刻洞察力的明世之言。
2.2 電機(jī)控制器的研究現(xiàn)狀和發(fā)展趨勢(shì)
現(xiàn)代電機(jī)控制的發(fā)展,一方面要求提高性能、降低損耗、減少成本,另一方面又不斷地有技術(shù)指標(biāo)極其苛刻的特殊應(yīng)用的系統(tǒng)需求??煽啃愿摺?shí)時(shí)性好是對(duì)電機(jī)控制系統(tǒng)的基本要求。微電子技術(shù)和計(jì)算機(jī)技術(shù)的飛速發(fā)展以及控制理論的完善、仿真工具的日漸成熟,給電機(jī)控制行業(yè)帶來(lái)了很多發(fā)展的機(jī)遇;同時(shí)現(xiàn)代電力電子技術(shù)的發(fā)展,使得功率器件的開關(guān)頻率越來(lái)越高,各項(xiàng)性能也越來(lái)越好。而傳統(tǒng)的基于單片機(jī)軟件運(yùn)算的控制系統(tǒng),由于速度慢、開發(fā)周期長(zhǎng)等弱點(diǎn),已越來(lái)越不適應(yīng)現(xiàn)代高性能伺服系統(tǒng)的要求以及時(shí)代發(fā)展的需要。
在數(shù)據(jù)處理量大且實(shí)時(shí)性和精度要求又高的場(chǎng)合,例如矢量變換控制系統(tǒng),單片機(jī)MCU已不再能滿足要求,因此人們自然而然地又想到了數(shù)字信號(hào)處理器(DSP)。近年來(lái),越來(lái)越多的單片機(jī)用戶開始選用DSP器件來(lái)提高產(chǎn)品性能,DSP器件取代高檔單片機(jī)的時(shí)機(jī)已經(jīng)成熟。采用基于DSP的電機(jī)專用集成電路,通過(guò)復(fù)雜的算法達(dá)到同樣的控制性能,既降低成本,可靠性又高,并且有利于專利技術(shù)的保密,還可以降低對(duì)傳感器等外圍器件的要求。有時(shí),系統(tǒng)要求的人機(jī)交互、打印等控制較多,一個(gè)DSP不能勝任,這時(shí)可采用一個(gè)單片機(jī)來(lái)處理事務(wù)、一個(gè)DSP來(lái)處理運(yùn)算的多處理器系統(tǒng)。但這樣做既增加了兩個(gè)處理器之間同步和通信的負(fù)擔(dān),又使系統(tǒng)實(shí)時(shí)性變壞,延長(zhǎng)系統(tǒng)開發(fā)時(shí)間。在這種情況下,如果把微處理器、微控制器和數(shù)字信號(hào)處理器的能力再加上外部各種分立元器件實(shí)現(xiàn)的邏輯功能集中于一塊芯片上,那么不但能解決上面的各種問(wèn)題,還大大減少了控制器的體積和損耗,相應(yīng)地可靠性也得到了提高。這就是電機(jī)控制器的集成化研究,需要自己開發(fā)類似的芯片。
同MCU和DSP相比較,基于EDA技術(shù)的CPLD/FPGA器件的開發(fā)應(yīng)用可以從根本上解決所遇到的問(wèn)題。最近十幾年中,大規(guī)模/超大規(guī)??删幊踢壿嬈骷约艾F(xiàn)代EDA技術(shù)的發(fā)展已經(jīng)使得幾乎不具備微電子學(xué)和半導(dǎo)體工藝專業(yè)知識(shí)的一般設(shè)計(jì)人員在實(shí)驗(yàn)室研究集成化的控制器成為可能,也能夠進(jìn)行專用集成電路的開發(fā),而且只需要一臺(tái)計(jì)算機(jī)、一條編程下載電纜就可以完成ASIC的基本開發(fā),如邏輯設(shè)計(jì)、時(shí)序仿真等,其開發(fā)語(yǔ)言比較簡(jiǎn)單,也不必了解很多芯片設(shè)計(jì)方面的細(xì)節(jié),只需從行為上描述就可以了。正因?yàn)檫@些手段的應(yīng)用,使得電機(jī)專用集成電路的研究方興未艾。
不可否認(rèn),在一些系統(tǒng)中MCU或DSP與CPLD/FPGA有很強(qiáng)的功能互補(bǔ)性。但從長(zhǎng)遠(yuǎn)看,隨著EDA技術(shù)的發(fā)展、CPLD/FPGA集成水平的進(jìn)一步提高和IP芯核產(chǎn)業(yè)的進(jìn)一步擴(kuò)大,可以預(yù)言,在大部分的電子設(shè)計(jì)領(lǐng)域,MCU、MPU、DSP或A/D、D/A和RAM等必將以各種軟/固/硬IP芯核的形式大統(tǒng)一于CPLD/FPGA,實(shí)現(xiàn)真正的單片系統(tǒng)。
最近國(guó)外已公開發(fā)表了很多關(guān)于電機(jī)控制器集成方面的文章,而且還相應(yīng)地提出了一些便于用EDA方法及CPLD/FPGA器件實(shí)現(xiàn)的電機(jī)控制理論,如電壓空間矢量PWM等。目前國(guó)外在電機(jī)控制器的集成研究方面已經(jīng)比較先進(jìn),從公開發(fā)表的文獻(xiàn)上看,諸如基于矢量控制、直接轉(zhuǎn)矩控制的控制器已經(jīng)可以用單片F(xiàn)PGA或CPLD實(shí)現(xiàn),省卻了MCU、DSP,其功能都由硬件來(lái)實(shí)現(xiàn),從而大大提高了運(yùn)算速度,解決了軟件運(yùn)行速度慢的瓶頸,提高了運(yùn)行性能,并且可移植能力強(qiáng);最近幾年,更新穎的控制手段如模糊控制、神經(jīng)網(wǎng)絡(luò)控制、自適應(yīng)控制、專家控制等智能控制也已經(jīng)有人實(shí)現(xiàn)了模塊化,做成了ASIC。從最新市場(chǎng)情況看,目前一些國(guó)外廠家做成了能自動(dòng)檢測(cè)電機(jī)類型的智能型的集成控制器,具有多種控制模式。隨著技術(shù)的進(jìn)一步發(fā)展,未來(lái)幾年內(nèi)有可能把模擬電路或模數(shù)混合電路也很方便地由用戶做成符合自己要求的ASIC。
而在國(guó)內(nèi),從各種刊物上看,進(jìn)行同類研究的文章中達(dá)到了一定水平的寥寥可數(shù),而且大部分進(jìn)行的只是控制器的某一功能的模塊化研究,其它的多數(shù)也只是在理論上探討了一些,但不深入,進(jìn)行實(shí)質(zhì)性的開發(fā)的并不多。市場(chǎng)上也未見(jiàn)國(guó)內(nèi)廠家自主開發(fā)生產(chǎn)的高水平產(chǎn)品。應(yīng)該可以看到,電機(jī)控制器的單片集成化研究已經(jīng)成為電機(jī)控制領(lǐng)域的一個(gè)新的發(fā)展方向,也是技術(shù)發(fā)展的必然趨勢(shì)。
3 基于EDA技術(shù)的電機(jī)控制器集成化設(shè)計(jì)方法
具備了可編程邏輯器件以及相應(yīng)的EDA開發(fā)工具,就可以利用某一種或某幾種硬件描述語(yǔ)言實(shí)現(xiàn)電機(jī)控制器的集成化設(shè)計(jì)?;贓DA的電機(jī)控制器的集成,應(yīng)包括算法研究、軟件編程以及硬件實(shí)現(xiàn),需要開發(fā)出諸如脈寬調(diào)制模塊、坐標(biāo)變換模塊、電流調(diào)節(jié)模塊、速度調(diào)節(jié)模塊、存儲(chǔ)模塊及一般邏輯處理模塊等基本模塊。以這些基本模塊為基礎(chǔ),就可以繼續(xù)研究更大的模塊,如矢量控制模塊、直接轉(zhuǎn)矩控制模塊及智能控制模塊等,最后組合成實(shí)用的控制系統(tǒng)。
根據(jù)現(xiàn)代EDA設(shè)計(jì)方法,電機(jī)控制器的集成設(shè)計(jì)可以分為以下幾個(gè)步驟:
(1)系統(tǒng)規(guī)劃
根據(jù)控制任務(wù)規(guī)劃整個(gè)系統(tǒng),明確控制對(duì)象、控制目的、控制方法等,大致劃分功能模塊,并確定哪些功能可以利用可編程器件實(shí)現(xiàn),哪些不宜于使用可編程器件。
(2)算法研究
包括新算法的研究或傳統(tǒng)軟件算法的改進(jìn),以適于用硬件描述語(yǔ)言進(jìn)行設(shè)計(jì)。
(3)系統(tǒng)或子系統(tǒng)的模塊化
根據(jù)系統(tǒng)的規(guī)劃,將可以使用可編程器件的功能進(jìn)一步細(xì)化,形成一些小的可以直接用硬件描述語(yǔ)言或現(xiàn)成的IP模塊實(shí)現(xiàn)的子模塊,并確定各個(gè)子模塊的接口即輸入輸出。各個(gè)子模塊就是靠這些接口構(gòu)成更大的模塊或功能的。
(4)模塊功能設(shè)計(jì)
將劃分好的子模塊的功能按照一定的算法分別用硬件描述語(yǔ)言設(shè)計(jì),可以采用行為級(jí)描述,也可以采用RTL級(jí)或門級(jí)描述,或者是混合使用各種描述方法;程序完成后在EDA平臺(tái)上分別進(jìn)行編譯及功能仿真。
(5)集成與仿真
根據(jù)系統(tǒng)的要求,將設(shè)計(jì)好的各模塊進(jìn)行組合,形成一個(gè)或多個(gè)大的集成功能模塊,并對(duì)這些大的模塊進(jìn)行功能仿真與時(shí)序仿真。
(6)控制器的硬件實(shí)現(xiàn)
將仿真過(guò)的模塊通過(guò)編程電纜下載到目標(biāo)器件上,然后對(duì)整個(gè)系統(tǒng)電路進(jìn)行硬件調(diào)試,不合要求的地方可以隨時(shí)調(diào)整設(shè)計(jì)軟件來(lái)改變硬件結(jié)構(gòu),亦即在系統(tǒng)編程。
4 結(jié)語(yǔ)
基于現(xiàn)代EDA技術(shù)和CPLD/FPGA器件,運(yùn)用現(xiàn)代電機(jī)控制理論,進(jìn)行電機(jī)控制器的集成化研究將是未來(lái)電機(jī)控制領(lǐng)域的一個(gè)重要發(fā)展方向,它不僅具有理論意義,而且具有重要的經(jīng)濟(jì)意義和戰(zhàn)略意義,在軍事、民用等領(lǐng)域都會(huì)有廣闊的用途。
? ? ? ?責(zé)任編輯:tzh
評(píng)論