龐權(quán)崗, 胡放榮, 張文濤, 石公含
(1.桂林電子科技大學(xué) 電子工程與自動(dòng)化學(xué)院,廣西 桂林 541004; 2.上海微電子裝備(集團(tuán))股份有限公司,上海 201213)
光刻機(jī)在集成半導(dǎo)體行業(yè)中起著至關(guān)重要的作用,運(yùn)動(dòng)臺(tái)的控制很大程度影響整個(gè)光刻機(jī)的套刻精度,所以改進(jìn)運(yùn)動(dòng)臺(tái)電機(jī)驅(qū)動(dòng)控制系統(tǒng)是提升整個(gè)光刻機(jī)精度的重要環(huán)節(jié)。
現(xiàn)有的光刻機(jī)工件臺(tái)電機(jī)控制系統(tǒng)基于DSP處理器,若遇到多任務(wù)競(jìng)爭(zhēng),則一片單核DSP將無(wú)法勝任。Nios II作為軟核控制處理器在近幾年迅速發(fā)展,這是因?yàn)槠渚哂袃?yōu)良的特性,可以靈活地設(shè)置內(nèi)核處理器數(shù)量,實(shí)現(xiàn)核內(nèi)多任務(wù)并行處理模式[1]。Nios II應(yīng)用于光刻機(jī)系統(tǒng)可以滿足部分控制系統(tǒng)需求,減小控制器的體積和質(zhì)量。軟核開發(fā)工具具有簡(jiǎn)單、易推廣,開發(fā)周期短,移植和維護(hù)成本低,可實(shí)時(shí)更新的優(yōu)勢(shì)[1]。
鑒于此,提出一種基于Nios II的運(yùn)動(dòng)臺(tái)電機(jī)驅(qū)動(dòng)控制系統(tǒng),該系統(tǒng)采用多個(gè)內(nèi)核處理器并行處理[2]。運(yùn)用 Qsys平臺(tái)定制NiosⅡ軟核處理器及驅(qū)動(dòng)、接口等相關(guān)的外圍功能軟硬件模塊,實(shí)現(xiàn)運(yùn)動(dòng)臺(tái)電機(jī)運(yùn)動(dòng)控制的設(shè)計(jì)[1]。與目前光刻機(jī)運(yùn)動(dòng)系統(tǒng)不同的是,該控制系統(tǒng)減少了運(yùn)動(dòng)控制板卡中DSP芯片的數(shù)量,將所有運(yùn)算處理均集成到內(nèi)嵌的多核處理器中,以達(dá)到并行處理的目的,提升運(yùn)動(dòng)臺(tái)板卡集成度和穩(wěn)定性。
目前光刻機(jī)運(yùn)動(dòng)臺(tái)控制架構(gòu)主要通過(guò)MCB(運(yùn)動(dòng)控制板卡DSP+FPGA)板卡對(duì)電機(jī)驅(qū)動(dòng)調(diào)節(jié)控制[11],但不能同時(shí)處理多任務(wù)。要想解決這一問(wèn)題,無(wú)論是提升DSP的運(yùn)算能力,還是擴(kuò)寬數(shù)據(jù)傳輸總線的寬度,或者是提高時(shí)鐘頻率,都很難保證其穩(wěn)定性和可靠性。圖1為運(yùn)動(dòng)臺(tái)控制架構(gòu)。
圖1 運(yùn)動(dòng)臺(tái)控制架構(gòu)
服務(wù)器與各模塊之間采用以太網(wǎng)通信,PowerPC 板卡嵌入VxWorks操作系統(tǒng)和控制軟件。PowerPC 板卡與MCB板卡之間通過(guò) VME 總線協(xié)議數(shù)據(jù)傳輸,數(shù)據(jù)轉(zhuǎn)發(fā)板卡(DTB)作為數(shù)據(jù)中轉(zhuǎn)站,將來(lái)自PowerPC板卡的信號(hào)通過(guò)光纖發(fā)送給功率放大器控制板卡(PAB),也將接收來(lái)自SB(Sensor Board)板卡的傳感器數(shù)據(jù)信號(hào)反饋給PowerPC板卡。DTB板卡與 PPC板卡通過(guò)MDB總線協(xié)議傳輸,DTB板卡與PAB板卡以及SB板卡通過(guò)光纖傳輸數(shù)據(jù)。
IP軟核設(shè)計(jì)不同與傳統(tǒng)嵌入式設(shè)計(jì),它的開發(fā)主要由軟件和硬件兩部分組成,硬件開發(fā)包含用戶自定義接口功能設(shè)計(jì);軟件設(shè)計(jì)類似于傳統(tǒng)設(shè)計(jì),利用C語(yǔ)言編寫控制電機(jī)運(yùn)動(dòng)的PID算法[3]。
NiosII硬件開發(fā)流程:
1)定義CPU軟核外設(shè)接口,利用上述Qsys和QuartusⅡ17.1環(huán)境,自定義Nios II CPU的多種特性和指令;
2)設(shè)置Nios II軟核外設(shè)模塊的屬性、內(nèi)存及系統(tǒng)中的地址分配等;
3)運(yùn)行Qsys平臺(tái),生成用于綜合各模塊的硬件描述語(yǔ)言;
4)生成的IP核中嵌入軟件流程,啟動(dòng)QuartusⅡ軟件,對(duì)生成的Nios II系統(tǒng)描述文件進(jìn)行綜合、適配和下載[5]。
Nios II硬件設(shè)計(jì)流程如圖2所示。
圖2 硬件設(shè)計(jì)流程圖
采用如下Nios II軟件設(shè)計(jì)流程。
1)軟件開發(fā)工具包獲取:獲取軟件開發(fā)包中的庫(kù)文件,為軟件編程節(jié)約時(shí)間;
(2)林業(yè)技術(shù)推廣的人力、物力、財(cái)力比較欠缺。林業(yè)推廣技術(shù)這項(xiàng)工作的工作周期非常的長(zhǎng),并且具有系統(tǒng)性的特點(diǎn),短期的投入并不能達(dá)到很好的效果。但是,在林業(yè)推廣的實(shí)際工作過(guò)程中我們不難發(fā)現(xiàn),林業(yè)部門所涉及到的工作內(nèi)容有很多,但是資金卻很有限,有限的資金很難投入到如此多的工作之中,但是在林業(yè)技術(shù)的推廣上所能用到的資金就很少了。除此之外,林業(yè)部門的工作人員不多,并且在對(duì)林業(yè)技術(shù)的推廣工作落實(shí)上并不到位,所以,林業(yè)技術(shù)推廣工作所取得的成效一直不大。
2)工程創(chuàng)建和編譯:Nios II開發(fā)包編程支持C、Verilog語(yǔ)言源程序,利用Nios II-Build平臺(tái)處理命令進(jìn)行編譯。
3)下載并調(diào)試代碼[5]。
軟件設(shè)計(jì)流程如圖3所示。
2.3.1 電機(jī)驅(qū)動(dòng)控制系統(tǒng)的整體設(shè)計(jì)
工件臺(tái)運(yùn)動(dòng)控制架構(gòu)是基于目前光刻機(jī)運(yùn)動(dòng)
圖3 軟件設(shè)計(jì)流程圖
控制平臺(tái)架構(gòu)經(jīng)優(yōu)化處理后設(shè)計(jì)得到,主要由Altera公司Arria 10開發(fā)板、功率放大控制板卡(PAB)、PA板卡和自帶編碼器功能的伺服直流無(wú)刷電機(jī)共同組成。
該設(shè)計(jì)采用Elmo公司生產(chǎn)的G-TWI 6/200EE型PA板卡,輸入輸出接口采用RS-232標(biāo)準(zhǔn)通信,電機(jī)采用具有編碼器的直流有刷旋轉(zhuǎn)電機(jī)MAXON EC-MAX30。圖4為Nios II CPU軟核電機(jī)控制架構(gòu)。
圖4 Nios II CPU軟核電機(jī)控制架構(gòu)
2.3.2 系統(tǒng)硬件組成
FPGA采用Altera公司生產(chǎn)的GX系列10AX115S2F45I1SGE3芯片,開發(fā)板外圍接口主要有SFP+光纖接口、SFP、USB 2.0接口、PCIe接口等。PAB板卡主要是將電壓按固定比例轉(zhuǎn)化為電流并發(fā)送給PA(功率放大器),PA將電流傳給電機(jī)來(lái)控制電機(jī)運(yùn)動(dòng)。PAB板卡中主要有編碼器模塊、AD/DA轉(zhuǎn)化模塊、光纖信號(hào)收發(fā)模塊等。
2.3.3 系統(tǒng)硬件設(shè)計(jì)
IP軟核系統(tǒng)設(shè)計(jì)結(jié)構(gòu)和SOPC Builder硬件平臺(tái)設(shè)置如圖 5所示。
Nios II是一種32位、哈佛結(jié)構(gòu)、RISC嵌入式處理器,具有可編程性、可擴(kuò)展性等特點(diǎn)。該設(shè)計(jì)主要針對(duì)FPGA外部接口管腳分配或根據(jù)實(shí)際所用FPGA芯片的管腳進(jìn)行相應(yīng)的設(shè)置[9]。IP核結(jié)構(gòu)設(shè)計(jì)主要分為Avalon總線接口模塊和CPU處理模塊2個(gè)模塊,Avalon總線接口模塊主要提供與內(nèi)核處理器信息交換的接口,CPU模塊主要用來(lái)數(shù)據(jù)處理。如有多個(gè)信號(hào)指令同時(shí)進(jìn)入,則可設(shè)置多個(gè)內(nèi)嵌CPU,每個(gè)CPU占據(jù)自己特定的FIFO以存儲(chǔ)數(shù)據(jù),各個(gè)CPU模塊之間相互獨(dú)立,實(shí)現(xiàn)數(shù)據(jù)并行接收和處理[10]。
圖5 IP軟核系統(tǒng)設(shè)計(jì)框圖
FPGA芯片內(nèi)包括Nios Ⅱ處理器以及通過(guò)Avalon總線與處理器相連的外設(shè)接口,主要有 JTAG-UART、光纖數(shù)據(jù)傳輸接口、數(shù)據(jù)收發(fā)控制指令,其他接口如時(shí)鐘接口clk、復(fù)位reset等控制接口也應(yīng)在IP軟核設(shè)計(jì)中體現(xiàn)[4]。
2.3.4 外部接口設(shè)計(jì)
IP軟核設(shè)計(jì)完成后,按照上述設(shè)計(jì)流程在Quartus Ⅱ中創(chuàng)建一個(gè)新工程,將生成的軟核添加到新建的.bdf文件[6],添加外部接口和鎖相環(huán),接口添加時(shí)要根據(jù) FPGA的輸入輸出方向來(lái)設(shè)定。由于光纖模塊與Nios Ⅱ的通信是雙向的,外部接口要設(shè)置為Bidir類型;外部鎖相環(huán)PLL設(shè)置多個(gè)時(shí)鐘信號(hào),一個(gè)輸出至FPGA,一個(gè)輸出至光纖。圖6為PLL鎖相環(huán)和IP軟核外部接口控制設(shè)計(jì)模塊。
圖6 PLL鎖相環(huán)和IP軟核外部接口控制模塊
2.3.5 硬件平臺(tái)搭建
搭建硬件平臺(tái),驗(yàn)證基于Nios II的運(yùn)動(dòng)臺(tái)電機(jī)驅(qū)動(dòng)控制系統(tǒng)設(shè)計(jì)能夠穩(wěn)定控制電機(jī)運(yùn)轉(zhuǎn)達(dá)到預(yù)期的驅(qū)動(dòng)的效果。測(cè)試平臺(tái)如圖7所示。
圖7 硬件測(cè)試平臺(tái)
為了防止超調(diào),降低電機(jī)實(shí)際轉(zhuǎn)速與系統(tǒng)設(shè)置速度的偏差影響,電機(jī)控制系統(tǒng)引入限幅“比例、積分、微分”的控制方式,對(duì)PID控制器輸出uK進(jìn)行幅度限制,以Umax為上線,Umin為下線,以此作為直流有刷旋轉(zhuǎn)電機(jī)轉(zhuǎn)動(dòng)速度范圍,當(dāng)uK大于上線速度Umax時(shí),取uK=Umax,并取消積分作用;當(dāng)uK小于下線速度Umin時(shí),取uK=Umin,并取消積分作用;當(dāng)Umin≤uK≤Umax時(shí),執(zhí)行PID運(yùn)算控制電機(jī)驅(qū)動(dòng)[8]。PID控制器的表達(dá)式為
其中:kp為比例系數(shù);ki為積分系數(shù);kd為微分系數(shù);eK為第K次設(shè)定值與編碼器采樣反饋值之間的偏差量[7]。PID模塊在FPGA中只需通過(guò)比較相加迭代的方式實(shí)現(xiàn)。
電機(jī)驅(qū)動(dòng)控制系統(tǒng)IP核采用并行寫入的方式進(jìn)行數(shù)據(jù)和指令傳輸,在Nios II中用寫操作產(chǎn)生Avalon總線時(shí)序。系統(tǒng)上電后首先對(duì)UART、IO接口和定時(shí)器進(jìn)行初始化,進(jìn)入主程序后讀取PID算法設(shè)置的加速度和速度值,同時(shí)接受編碼器返回的位置數(shù)據(jù),再經(jīng)CPU計(jì)算和處理進(jìn)行負(fù)反饋調(diào)節(jié),得到糾正的PID控制參數(shù)并輸出相應(yīng)的信號(hào),以實(shí)現(xiàn)電機(jī)的閉環(huán)PID調(diào)速控制[9]。圖8為軟件開發(fā)流程。
圖8 軟件開發(fā)流程
板卡上電后,將QuartusⅡ17.1生成的.sof文件通過(guò)JTAG-UART接口下載到FPGA的Flash中,在NiosⅡ IDE環(huán)境下運(yùn)行對(duì)應(yīng)的software文件程序。通過(guò)Qt軟件編寫上位機(jī)指令控制電機(jī)轉(zhuǎn)動(dòng),通過(guò)改變PID算法參數(shù)控制電機(jī)轉(zhuǎn)速,改變速度和加速度指令,用Quartus Ⅱ17.1軟件中的SignalTap II Logic Analyzer進(jìn)行光纖數(shù)據(jù)和數(shù)模轉(zhuǎn)換信號(hào)抓取。圖9為邏輯序列。從圖9可看出,光纖和AD芯片可正常工作。
圖9 SignalTap II Logic Analyzer時(shí)序
Nios II模塊的IO接口輸出PID運(yùn)算結(jié)果,將其數(shù)據(jù)保存在比較寄存器中,光纖模塊主要為數(shù)據(jù)發(fā)送和接收模塊,同樣有相應(yīng)數(shù)據(jù)存儲(chǔ)器。電機(jī)轉(zhuǎn)動(dòng)編碼器進(jìn)行位置信號(hào)實(shí)時(shí)反饋,通過(guò)光纖模塊發(fā)送至CPU相應(yīng)寄存器與比較寄存器中運(yùn)算數(shù)據(jù)進(jìn)行對(duì)比,按照算法調(diào)整數(shù)據(jù)輸出大小。圖10為電機(jī)數(shù)據(jù)采集波形,其中Va為實(shí)際電機(jī)運(yùn)行編碼尺反饋速度,Vc為預(yù)設(shè)電機(jī)速度。
從圖10可看出,基于Nios II的運(yùn)動(dòng)臺(tái)電機(jī)驅(qū)動(dòng)控制設(shè)計(jì)能夠控制電機(jī)正常運(yùn)行,實(shí)際電機(jī)轉(zhuǎn)速圍繞預(yù)設(shè)置速度小幅度波動(dòng),且能夠控制電機(jī)轉(zhuǎn)速在0.2 s后趨于相對(duì)穩(wěn)定狀態(tài)。
圖10 電機(jī)速度曲線
圖11為電流實(shí)際輸出波形與指令控制電流大小對(duì)比,其中Ia為實(shí)際電流輸出,Ic為電流環(huán)設(shè)置電流輸出[10]。從圖11可看出,由于電流產(chǎn)生力矩提供加速度,電流輸出在0.2 s后穩(wěn)定,無(wú)較大尖峰電流,電機(jī)轉(zhuǎn)速也不會(huì)產(chǎn)生較大波動(dòng)。
圖11 電流對(duì)比
圖12 電機(jī)位置對(duì)比
圖12為電機(jī)位置對(duì)比。從圖12可看出,目標(biāo)位置與電機(jī)實(shí)際位置實(shí)時(shí)偏差在亞微米級(jí)別,位置精度較高。
該設(shè)計(jì)方法能夠有效控制電機(jī)運(yùn)動(dòng),且通過(guò)不同波形對(duì)比可以看出電機(jī)運(yùn)動(dòng)狀態(tài)相對(duì)穩(wěn)定無(wú)較大脈沖和毛刺信號(hào)的產(chǎn)生,控制信號(hào)與實(shí)際信號(hào)波形相對(duì)比較吻合,電機(jī)運(yùn)動(dòng)進(jìn)入穩(wěn)定狀態(tài)電流環(huán)控制正弦信號(hào)輸出比較平穩(wěn),控制精度較高滿足控制要求[11]。
設(shè)計(jì)了基于Nios II的光刻機(jī)運(yùn)動(dòng)臺(tái)電機(jī)驅(qū)動(dòng)控制系統(tǒng),并進(jìn)行了實(shí)驗(yàn)驗(yàn)證[12]。實(shí)驗(yàn)結(jié)果表明,采用Nios II軟核設(shè)計(jì)工件臺(tái)電機(jī)驅(qū)動(dòng)控制系統(tǒng)能夠有效控制電機(jī)運(yùn)動(dòng)并且有較高的位置精度,內(nèi)嵌Nios-CPU可以創(chuàng)建多個(gè)內(nèi)核,并行處理多條指令[13]。如果將這一套系統(tǒng)架構(gòu)移植在光刻機(jī)運(yùn)動(dòng)控制系統(tǒng)中,只需要軟核和CPU的程序進(jìn)行修改即可,這樣大大提高了系統(tǒng)的可靠性和軟件設(shè)計(jì)的靈活性[14-15]。這種內(nèi)嵌CPU的FPGA可以減少光刻機(jī)運(yùn)動(dòng)控制系統(tǒng)中DSP芯片的采購(gòu)和硬件電路設(shè)計(jì),提高板卡集成度[16]。